@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&family=JetBrains+Mono:wght@500;600;700&display=swap";html,body,#root{height:100%;margin:0}body{background:var(--zd-bg, #F6F9FC);color:var(--zd-ink, #0A2540);font-family:Inter,Noto Sans SC,PingFang SC,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.brand-block{padding:22px 22px 16px;color:#fff}.brand-block .b1{font-weight:800;letter-spacing:.3px;font-size:26px}.brand-block .b1 .dot{color:#8b85ff}.brand-block .b2{color:#9fb0c6;font-size:14px;font-weight:600;margin-top:6px;letter-spacing:1px}.page-title{font-size:22px;font-weight:700;color:var(--zd-ink);letter-spacing:-.01em}.page-sub{color:var(--zd-text2);font-size:13px;margin-top:4px}.kpi-card .num{font-size:30px;font-weight:700;color:var(--zd-ink);line-height:1.1;letter-spacing:-.02em}.kpi-card .delta-up{color:var(--zd-pos);font-size:13px}.kpi-card .delta-down{color:var(--zd-neg);font-size:13px}.kpi-card .label{color:var(--zd-text2);font-size:13px;margin-bottom:6px}.chart-card-title{font-weight:700;font-size:15px;color:var(--zd-ink)}.chart-card-sub{color:var(--zd-text2);font-size:12px;margin-top:2px}html[data-zd-tags] .zd-num,html[data-zd-tags] .kpi-card .num{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;letter-spacing:-.03em;font-weight:600}.kpi-card .num,.ant-table,.ant-statistic-content{font-variant-numeric:tabular-nums}html[data-zd-calm] .ant-tag{border-color:var(--zd-line);background:var(--zd-surface2);color:var(--zd-text2)}html[data-zd-calm] .ant-tag-green,html[data-zd-calm] .ant-tag-lime,html[data-zd-calm] .ant-tag-success{color:var(--zd-pos);background:var(--zd-posBg);border-color:transparent}html[data-zd-calm] .ant-tag-red,html[data-zd-calm] .ant-tag-volcano,html[data-zd-calm] .ant-tag-magenta,html[data-zd-calm] .ant-tag-pink,html[data-zd-calm] .ant-tag-error{color:var(--zd-negDeep);background:var(--zd-negBg);border-color:transparent}html[data-zd-calm] .ant-tag-orange,html[data-zd-calm] .ant-tag-gold,html[data-zd-calm] .ant-tag-yellow,html[data-zd-calm] .ant-tag-warning{color:var(--zd-warnDeep);background:var(--zd-warnBg);border-color:transparent}html[data-zd-calm] .ant-tag-blue,html[data-zd-calm] .ant-tag-geekblue,html[data-zd-calm] .ant-tag-cyan,html[data-zd-calm] .ant-tag-purple,html[data-zd-calm] .ant-tag-processing{color:var(--zd-accent);background:var(--zd-accentBg);border-color:transparent}html[data-zd-calm] .ant-card{box-shadow:none;border-color:var(--zd-line)}html[data-zd-calm] .ant-card-head{border-bottom-color:var(--zd-line)}html[data-zd-calm] .ant-alert{border-radius:var(--zd-radius)}html[data-zd-calm] .ant-alert-info .ant-alert-icon{color:var(--zd-text3)}@media (max-width: 768px){.ant-layout-content{padding:12px!important}.page-title{font-size:18px}.ant-table-wrapper{overflow-x:auto}.ant-table{min-width:560px}.header-user-email{display:none}.ant-card-body{padding:12px!important}}@keyframes reviewTitleIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.review-view-title{animation:reviewTitleIn .25s ease}.login-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:linear-gradient(135deg,#0a2540,#163a5f 60%,#635bff)}.login-wrap{display:flex;align-items:stretch;gap:48px;width:100%;max-width:1080px}.login-brand{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:8px 8px 8px 24px;color:#fff;min-width:0}.login-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at 40% 45%,black 25%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 40% 45%,black 25%,transparent 75%)}.login-pulse{position:absolute;border-radius:50%;pointer-events:none;box-shadow:0 0 14px 4px #8b85ff8c;width:8px;height:8px;background:#8b85ff;animation:loginFloat 6s ease-in-out infinite}@keyframes loginFloat{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-14px);opacity:1}}.login-panel{flex:0 0 400px;display:flex;align-items:center;justify-content:center}.login-card{width:400px;max-width:100%;background:#fff;border-radius:16px;padding:36px 32px;box-shadow:0 24px 80px -16px #0a254080}@media (max-width: 960px){.login-brand{display:none}.login-wrap{justify-content:center;gap:0}.login-panel{flex:0 0 auto}}@media (prefers-reduced-motion: reduce){.login-pulse{animation:none}}
