:root{font-family:Inter,"Microsoft YaHei",PingFang SC,system-ui,sans-serif;color:#152543;background:#f3f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}.shell{width:min(1320px,calc(100% - 48px));margin:auto}.topbar{background:#111f3c;color:white;border-bottom:1px solid #ffffff19}.topbar-inner{height:70px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:900;letter-spacing:.01em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#5c7cff;color:white;font-size:20px}.brand small{font-size:13px;font-weight:600;color:#aebddd;margin-left:6px}.private-tag{border:1px solid #ffffff29;padding:7px 11px;border-radius:999px;font-size:12px;color:#b9c8e3}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:38px 0 27px}.eyebrow{margin:0 0 7px;color:#486bdd;font-size:12px;font-weight:900;letter-spacing:.17em}h1{margin:0;font-size:35px;letter-spacing:-.04em}.sub{margin:8px 0 0;color:#72839d;font-size:14px}.filters{display:flex;gap:10px;align-items:end}.filters label{display:grid;gap:6px;color:#697a96;font-size:12px;font-weight:750}.filters input{height:40px;padding:0 11px;border:1px solid #dbe3ef;border-radius:8px;background:white;color:#1c2c48;outline:none}.filters input:focus{border-color:#6481e9;box-shadow:0 0 0 3px #5475e81d}.filters button{height:40px;padding:0 20px;border:0;border-radius:8px;background:#315edf;color:#fff;font-size:13px;font-weight:800;cursor:pointer}.filters button:hover{background:#224ecb}.notice{margin-bottom:18px;padding:12px 15px;border:1px solid #dbe4f7;border-radius:9px;background:#edf3ff;color:#45619b;font-size:13px}.notice.error{border-color:#f0d6d7;background:#fff1f1;color:#a73d45}.notice.success{border-color:#d7ebdf;background:#eaf8ef;color:#23704c}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi,.card{border:1px solid #e1e8f2;border-radius:14px;background:#fff;box-shadow:0 9px 25px #203d6b08}.kpi{min-height:144px;padding:21px 23px;display:flex;flex-direction:column;align-items:flex-start}.kpi span{font-size:13px;font-weight:750;color:#71829d}.kpi strong{font-size:29px;letter-spacing:-.04em;margin:10px 0 4px;font-variant-numeric:tabular-nums}.kpi small{color:#9aa8ba;font-size:11px}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:16px;margin-top:16px}.bottom-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.9fr)}.card{min-width:0;padding:23px}.card-head{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:20px}.card-head h2{margin:0;font-size:17px;letter-spacing:-.02em}.card-head p{margin:5px 0 0;color:#94a0b3;font-size:12px}.card-head span{font-size:12px;color:#8796aa}.chart{height:255px;display:flex;align-items:flex-end;gap:5px;padding:16px 4px 25px;border-bottom:1px solid #e6ecf4;overflow:auto}.bar{min-width:7px;flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#5678f6,#b6c7fa);position:relative}.bar:hover{background:linear-gradient(180deg,#274eda,#7292e9)}.bar:focus-visible{outline:3px solid #1f4bd4}.chart-empty,.empty{display:grid;place-items:center;width:100%;height:100%;min-height:80px;color:#99a5b8;font-size:13px;text-align:center}.status-list{display:grid;gap:14px}.status-row{display:grid;grid-template-columns:78px 1fr 28px;align-items:center;gap:12px;color:#63748f;font-size:12px}.status-row b{color:#1b2c49;text-align:right;font-size:13px}.track{height:8px;background:#edf1f7;border-radius:99px;overflow:hidden}.track i{display:block;height:100%;border-radius:99px;background:#6883e9}.product-list{display:grid;gap:14px}.product{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:11px;align-items:center;font-size:13px}.product .rank{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#eff3ff;color:#5270d7;font-weight:800}.product .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#344765}.product strong{font-variant-numeric:tabular-nums}.table-wrap{overflow:auto;min-height:180px}table{border-collapse:collapse;width:100%;min-width:550px;text-align:left;font-size:12px}th{padding:0 10px 13px;color:#9aa7b9;font-weight:750}td{padding:12px 10px;border-top:1px solid #eff2f7;color:#52627c;white-space:nowrap}td:first-child{font-weight:750;color:#263b60}.status-pill{display:inline-block;border-radius:99px;padding:4px 8px;background:#eff3ff;color:#5570ac}.status-pill.paid{background:#e7f7ee;color:#188350}.status-pill.refund{background:#fff1e8;color:#b46a35}footer{text-align:center;margin:25px 0 40px;color:#9aa8bc;font-size:12px}@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}.grid,.bottom-grid{grid-template-columns:1fr}}@media(max-width:680px){.shell{width:calc(100% - 24px)}.topbar-inner{height:58px}.page-head{display:block;padding-top:25px}h1{font-size:28px}.filters{margin-top:18px;display:grid;grid-template-columns:1fr 1fr auto}.filters input{min-width:0;width:100%}.kpis{gap:9px}.kpi{min-height:120px;padding:15px}.kpi strong{font-size:23px}.kpi small{font-size:10px}.card{padding:17px}.chart{height:210px}}

.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#dfe8ff 0,transparent 34%),radial-gradient(circle at 90% 90%,#e4f4f7 0,transparent 32%),#f3f6fb}.login-card{width:min(100%,420px);padding:38px;border:1px solid #e1e8f2;border-radius:22px;background:white;box-shadow:0 24px 70px #203d6b18}.login-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:25px;border-radius:14px;background:#315edf;color:white;font-size:28px;font-weight:900}.login-card h1{font-size:30px}.login-intro{margin:10px 0 29px;color:#71829d;font-size:14px}.login-form{display:grid;gap:9px}.login-form label{font-size:13px;font-weight:750;color:#526583}.login-form input{width:100%;height:47px;margin-bottom:12px;padding:0 14px;border:1px solid #d8e1ed;border-radius:10px;outline:none;background:#fff;color:#152543}.login-form input:focus{border-color:#5477e9;box-shadow:0 0 0 3px #5475e81d}.login-form button{height:48px;margin-top:7px;border:0;border-radius:10px;background:#315edf;color:white;font-weight:800;cursor:pointer}.login-form button:hover{background:#224ecb}.login-error{padding:11px 13px;border-radius:9px;background:#fff1f1;color:#a73d45;font-size:13px}.login-error[hidden]{display:none}.login-foot{margin:26px 0 0;text-align:center;color:#a1aec0;font-size:12px}@media(max-width:480px){.login-card{padding:28px 24px}}

.chart{position:relative;padding:40px 4px 25px 72px}.chart-axis{position:absolute;left:2px;top:31px;bottom:25px;width:61px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;color:#8b9ab0;font-size:10px;font-variant-numeric:tabular-nums;pointer-events:none}.bar-value{position:absolute;left:50%;top:-25px;transform:translateX(-50%);white-space:nowrap;color:#3153a0;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.bar:focus-visible .bar-value,.bar:hover .bar-value{color:#173d9f}@media(max-width:680px){.chart{padding-left:67px}.chart-axis{width:57px}}
.bar:last-child .bar-value{left:auto;right:0;transform:none}.bar:nth-child(2) .bar-value{left:0;transform:none}
.kpis{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{min-height:145px;padding:23px 24px;background:#f7f8fa;border-color:transparent;box-shadow:none}.kpi span{font-size:16px;color:#344765;font-weight:500}.kpi-figure{display:flex;align-items:baseline;gap:14px;max-width:100%;flex-wrap:wrap}.kpi strong{margin:12px 0 0;font-size:clamp(20px,2vw,30px);letter-spacing:-.035em;white-space:nowrap}.kpi .kpi-count{color:#52627c;font-size:14px;font-weight:750;white-space:nowrap}@media(max-width:680px){.kpi{min-height:115px;padding:16px}.kpi span{font-size:14px}.kpi strong{font-size:clamp(18px,5.1vw,24px)}.kpi .kpi-count{font-size:12px}}
.date-controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.presets{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.preset{min-height:40px;padding:0 14px;border:1px solid #dbe3ef;border-radius:9px;background:#fff;color:#526583;font-size:13px;font-weight:750;cursor:pointer}.preset:hover{border-color:#8fa8ed;color:#315edf}.preset.active{border-color:#315edf;background:#315edf;color:#fff}.filters[hidden]{display:none}@media(max-width:680px){.date-controls{align-items:stretch;width:100%;margin-top:18px}.presets{justify-content:flex-start}.preset{min-height:38px;padding:0 12px}.filters{margin-top:0}}
.chart.single-day{justify-content:center}.chart.single-day .bar{flex:0 0 54px}
.chart-legend{display:flex;gap:17px;flex-wrap:wrap;margin:-7px 0 11px;color:#6e7f98;font-size:12px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend span::before,.tooltip-row i{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--series-color)}.legend-revenue,.tooltip-row.revenue{--series-color:#16b85f}.legend-profit,.tooltip-row.profit{--series-color:#3269ef}.legend-refund,.tooltip-row.refund{--series-color:#fa8a1c}.chart{height:300px;display:block;padding:0;overflow:auto;border:0;position:relative}.line-chart{display:block;max-width:none}.grid-line{stroke:#dfe7f2;stroke-width:1;stroke-dasharray:4 4}.axis-label{fill:#8190a5;font-size:11px;font-family:Inter,'Microsoft YaHei',sans-serif}.series-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.series-line.revenue{stroke:#16b85f}.series-line.profit{stroke:#3269ef}.series-line.refund{stroke:#fa8a1c}.series-dot.revenue{fill:#16b85f}.series-dot.profit{fill:#3269ef}.series-dot.refund{fill:#fa8a1c}.hover-guide{stroke:#9eacc0;stroke-width:1;stroke-dasharray:4 4}.chart-hit{fill:transparent;cursor:crosshair}.chart-hit:focus-visible{outline:none;fill:#d9e5ff26}.chart-tooltip{position:absolute;top:34px;width:168px;padding:11px 12px;border:1px solid #e1e8f2;border-radius:10px;background:#fff;box-shadow:0 10px 24px #17294a25;color:#243853;z-index:2;pointer-events:none;font-size:12px}.chart-tooltip[hidden]{display:none}.chart-tooltip strong{display:block;margin-bottom:7px;font-size:12px}.tooltip-row{display:flex;align-items:center;gap:6px;margin:4px 0;color:#62718a}.tooltip-row i{flex:none}.tooltip-row b{margin-left:auto;color:#233652;font-variant-numeric:tabular-nums}@media(max-width:680px){.chart{height:275px}.chart-legend{gap:12px}}
