:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#263b58;background:#f5f7fb;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{cursor:pointer}button{border:0;background:transparent;color:inherit}a{color:inherit;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid #386dec;outline-offset:4px}input:focus,select:focus{outline:2px solid #c5d7fd;border-color:#416feb}input,select{border:1px solid #dbe3f0;border-radius:7px;background:#fff;padding:11px 13px;color:#526887}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.primary{background:#315fe4;color:#fff;padding:12px 19px;border-radius:8px;font-weight:500}.primary:hover{background:#244fcc}.subtle{font-size:13px;color:#7990b1;padding:10px 4px}.eyebrow{font-size:11px;color:#8c9cb4;letter-spacing:2px}.boot{height:100vh;display:grid;place-items:center;color:#7790b4}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:white}.login-art{background:#15378b;color:#fff;min-height:100vh;padding:50px 8vw;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.wordmark{font-size:22px;font-weight:600;letter-spacing:2px;white-space:nowrap}.wordmark span{font-weight:300;color:#91afea;padding:0 10px}.login-art .eyebrow{color:#91ade0;letter-spacing:2px}.login-art h1{font-size:46px;line-height:1.45;font-weight:500;letter-spacing:-1.5px;margin:25px 0}.login-art p{font-size:14px;line-height:1.9;color:#9bb8ed}.login-art>small{color:#7294cd;font-size:12px}.orbits{height:200px;position:relative;margin-top:35px;width:320px}.orbits i{border:1px solid #5373b94d;border-radius:50%;width:320px;height:160px;position:absolute;transform:rotate(-18deg);left:0;top:20px}.orbits i:nth-child(2){transform:rotate(45deg)}.orbits i:nth-child(3){transform:rotate(100deg)}.orbits b{position:absolute;font-size:10px;color:#c2d5fd;background:#315ba9;border:1px solid #6588c9;border-radius:20px;padding:7px 12px;letter-spacing:1px;left:0;top:65px}.orbits b:nth-of-type(2){left:220px;top:20px}.orbits b:nth-of-type(3){left:200px;top:140px}.orbits b:nth-of-type(4){left:65px;top:160px}.login-side{display:flex;align-items:center;justify-content:center;position:relative;padding:70px 35px}.login-side form{width:350px}.login-side h2{font-size:28px;font-weight:550;margin:17px 0 10px}.login-side form>p{font-size:13px;color:#8c9ab0;line-height:1.8}.login-side label{display:flex;flex-direction:column;gap:10px;font-size:13px;color:#7287a3;margin-top:26px}.login-side input{height:46px}.login-side .primary{width:100%;height:47px;display:flex;justify-content:space-between;margin-top:16px}.login-side form>small{display:block;text-align:center;font-size:12px;color:#a1aec1;margin-top:23px}.login-side .error{color:#bf6b56;min-height:20px;margin-top:15px}.icp{position:absolute;bottom:25px;font-size:12px;color:#95a3b8}header{height:83px;background:white;border-bottom:1px solid #e1e8f2;display:flex;align-items:center;padding:0 4vw;gap:50px}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:600}.brand-icon{display:grid;place-items:center;width:38px;height:38px;background:#315fe4;border-radius:10px;color:white;font-size:25px;font-weight:500}.brand small{display:block;font-size:9px;letter-spacing:1.4px;font-weight:400;color:#9bacbf;margin-top:5px}nav{display:flex;gap:30px;font-size:13px;color:#98a5ba;height:100%;align-items:center}nav span{display:flex;align-items:center;height:100%;border-bottom:2px solid transparent}nav .active{color:#416fec;border-color:#416fec}.user{margin-left:auto;display:flex;gap:15px;align-items:center;font-size:12px;color:#8194b1}.user>span{background:#f1f5fc;padding:7px 10px;border-radius:5px}.user button{color:#9aa9bd;font-size:12px}main{max-width:1470px;margin:auto;padding:35px 4vw 22px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.intro h1{font-size:32px;letter-spacing:-.8px;font-weight:550;margin:12px 0}.intro p{font-size:13px;color:#8597b0}.month-display{text-align:right}.month-display small{font-size:10px;color:#98a9c1;letter-spacing:1.5px}.month-display b{display:block;font-size:35px;font-weight:400;color:#58759f;margin-top:5px}.month-display span{color:#becbdc;font-weight:300;margin:0 5px}.regions{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.regions button{position:relative;text-align:left;background:#fff;border:1px solid #e0e7f3;border-radius:10px;padding:19px 21px}.regions small{display:block;font-size:9px;color:#99aac2;letter-spacing:1.2px;margin-bottom:9px}.regions b{font-size:18px;font-weight:500;color:#6b83a4}.regions span{position:absolute;right:20px;bottom:20px;color:#c1cde0;font-size:13px}.regions .selected{background:#315fe4;border-color:#315fe4;box-shadow:0 5px 15px #315fe416}.regions .selected small,.regions .selected span{color:#b6ccff}.regions .selected b{color:white}.filters{display:flex;align-items:flex-end;gap:18px;padding:20px;background:#fff;border:1px solid #e0e7f2;border-radius:11px}.filters label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#8b9eb8}.filters input,.filters select{height:38px;padding:7px 12px;font-size:13px;min-width:150px}.filter-actions{margin-left:auto;display:flex;align-items:center;gap:18px}.filter-actions .primary{font-size:13px;white-space:nowrap}.status{font-size:12px;color:#8398b8;padding:15px 2px;min-height:48px;line-height:1.8}.status.error{color:#ad644f}.section-line{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8ca0bd;margin:7px 0 15px}.section-line>span:first-child{color:#5a759b;font-weight:500}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.kpi{background:#fff;padding:22px;border:1px solid #e0e7f2;border-radius:12px}.kpi>span{font-size:13px;color:#7c91b0}.kpi strong{display:block;font-size:33px;letter-spacing:-1px;font-weight:550;margin:16px 0;font-variant-numeric:tabular-nums}.kpi small{color:#92a3bb;font-size:12px}.kpi:first-child{background:#eaf0ff;border-color:#dbe5fc}.kpi:first-child strong{color:#3566de}.coverage{display:flex;gap:25px;flex-wrap:wrap;padding:16px 2px;font-size:12px;color:#8da0ba}.coverage b{font-weight:500;color:#6581a8}.insights{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid #e0e7f2;border-bottom:1px solid #e0e7f2;padding:24px 0;margin:8px 0 30px}.insight small{font-size:12px;color:#8a9fbc}.insight h3{font-size:24px;font-weight:450;color:#5d7aaa;margin:10px 0}.insight p{font-size:13px;line-height:1.85;color:#8195b2}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:30px 0 20px}.section-title small{font-size:10px;color:#99abc4;letter-spacing:1.7px}.section-title h2{font-size:22px;font-weight:550;margin-top:7px}.section-title label{font-size:12px;color:#8d9fb9;display:flex;gap:10px;align-items:center}.section-title select{font-size:12px;padding:8px 12px}.section-title>span{font-size:12px;color:#99aac1}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#fff;border:1px solid #e0e7f2;padding:24px;border-radius:12px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px;gap:15px}.panel h3{font-size:16px;color:#536d93;font-weight:550}.panel-head p{font-size:12px;color:#98a9c1;margin-top:7px}.chip{font-size:10px;background:#f1f5fc;color:#8a9fc0;padding:5px 8px;border-radius:4px;white-space:nowrap}.bar-row{margin:19px 0}.bar-label{display:flex;justify-content:space-between;font-size:12px;color:#768fac;margin-bottom:8px}.bar-label b{font-weight:500;color:#4f719f;font-variant-numeric:tabular-nums}.bar-track{height:7px;background:#f0f3f9;border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:#6489ea;border-radius:6px}.bar-row:nth-child(2n) .bar-fill{background:#98b1eb}#trend-chart{height:245px;display:flex;align-items:center}#trend-chart svg{width:100%;height:100%}.detail-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:20px}.tabs{display:flex;gap:26px}.tabs button{padding:8px 0 12px;font-size:14px;color:#99abc3;border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:#416fec;border-color:#416fec}.detail-controls input{font-size:12px;width:240px;height:36px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap}th{font-weight:400;background:#f7f9fd;color:#90a3be;padding:13px 12px}td{border-bottom:1px solid #edf2f8;padding:15px 12px;color:#7990af}td:first-child{color:#58789f}td.title{white-space:normal;min-width:200px;max-width:290px;overflow-wrap:anywhere;line-height:1.7}td a{color:#668fcb}td.negative{color:#bb7c65}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:19px;color:#98a9c1;font-size:12px}.table-footer>div{display:flex;align-items:center;gap:16px}.table-footer button{border:1px solid #e1e8f3;width:30px;height:30px;border-radius:5px}.method{padding:22px;background:#edf2fa;border:1px solid #dfe7f3;border-radius:11px;margin-top:23px}.method>b{color:#728daf;font-size:13px;font-weight:500}.method p{font-size:12px;color:#859bb8;line-height:1.9;margin-top:9px}footer{margin-top:30px;padding-top:22px;border-top:1px solid #e0e7f2;display:flex;justify-content:space-between;font-size:11px;color:#99abc2;gap:16px}.empty{background:#fff;border:1px solid #e0e7f2;border-radius:12px;text-align:center;padding:70px 25px}.empty>div{font-size:45px;color:#abc0e2;margin-bottom:20px}.empty h2{font-size:22px;font-weight:500;color:#6d87ad}.empty p{font-size:14px;color:#91a4be;line-height:1.9;margin-top:15px}
@media(max-width:1150px){header{gap:25px}nav{gap:20px}.filters{flex-wrap:wrap;gap:14px}.filter-actions{margin-left:auto}.filters input,.filters select{min-width:140px}.kpi{padding:18px}.kpi strong{font-size:29px}.login-art{padding:40px 6vw}.login-art h1{font-size:39px}}
@media(max-width:800px){header{padding:18px 22px;height:auto;gap:15px}nav{display:none}main{padding:25px 20px}.intro h1{font-size:28px}.intro p{font-size:12px;line-height:1.8}.regions{gap:10px}.regions button{padding:16px}.regions small{font-size:8px;letter-spacing:.4px}.regions span{display:none}.regions b{font-size:17px}.kpis{grid-template-columns:1fr 1fr;gap:13px}.chart-grid{grid-template-columns:1fr}.insights{gap:18px}.insight p{font-size:12px}.section-line{flex-wrap:wrap;gap:9px}.filter-actions{width:100%;justify-content:flex-end}.filters{padding:16px}.filters label{flex:1}.filters input,.filters select{min-width:120px;width:100%}.month-display b{font-size:27px}.month-display small{font-size:8px}.login-art{display:none}.login-shell{grid-template-columns:1fr}.login-side{min-height:100vh}.section-title>span{max-width:170px;text-align:right;line-height:1.8}.coverage{gap:10px 20px}.panel{padding:20px}}
@media(max-width:480px){header{padding:16px}.brand{font-size:14px}.brand small{font-size:8px}.user>span{display:none}.intro .month-display{display:none}main{padding:23px 15px}.regions{grid-template-columns:1fr 1fr}.regions small{font-size:9px;letter-spacing:1px}.regions button{padding:16px 19px}.regions span{display:block;bottom:18px}.intro h1{font-size:27px}.kpi strong{font-size:27px}.kpi{padding:16px}.kpi small{font-size:11px}.insights{grid-template-columns:1fr;padding:20px 0;gap:19px}.insight h3{font-size:22px;margin:7px 0}.insight p{font-size:13px}.filters .subtle{font-size:12px}.filters>.subtle{padding-bottom:12px}.filter-actions{gap:12px}.filter-actions .primary{font-size:12px}.section-title h2{font-size:20px}.section-title>span{font-size:11px;max-width:120px}.section-title label{flex-direction:column;align-items:flex-end;gap:5px}.detail-controls{flex-wrap:wrap}.detail-controls input{width:100%}.panel{padding:17px}footer{flex-direction:column;line-height:1.8}.method{padding:18px}.login-side{padding:55px 27px}.login-side h2{font-size:26px}.login-side form{width:100%}}
/* Phone layouts preserve every metric while replacing wide tables with cards. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}main,.intro>div,.filters>*,.kpis>*,.regions>*,.chart-grid>*{min-width:0}.login-side{min-height:100svh}button,input,select,a{touch-action:manipulation}.table-scroll{overscroll-behavior-x:contain}
@media(max-width:640px){
 header{padding:12px max(16px,env(safe-area-inset-left));gap:10px;min-height:70px}.brand{font-size:14px;min-width:0;gap:9px}.brand-icon{width:34px;height:34px;flex-shrink:0}.brand small{font-size:8px;letter-spacing:.7px}.user{flex-shrink:0;gap:0}.user>span{display:none}.user button{min-height:44px;padding:8px;font-size:13px;color:#6b82a1}
 main{padding:24px max(15px,env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom))}.intro{margin-bottom:23px}.intro h1{font-size:27px}.intro p{font-size:14px;line-height:1.8}.intro .month-display{display:none}.eyebrow{font-size:10px;letter-spacing:1.3px}
 .regions{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.regions button{padding:16px;min-height:88px}.regions small{font-size:10px;letter-spacing:.5px;line-height:1.5;min-height:15px}.regions b{font-size:18px}.regions span{display:block;right:15px;bottom:18px;font-size:12px}.regions button[aria-pressed=true]{border-color:#315fe4}
 .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:16px}.filters label{font-size:13px;min-width:0;gap:9px}.filters input,.filters select{font-size:16px;min-width:0;max-width:100%;width:100%;height:46px;padding:10px 8px;box-sizing:border-box}.filters>.subtle{min-height:46px;font-size:14px;border:1px solid #dbe5f3;border-radius:7px;padding:10px}.filter-actions{grid-column:1/-1;width:100%;display:flex;flex-direction:column-reverse;align-items:stretch;gap:6px;margin:0}.filter-actions .primary{width:100%;min-height:48px;font-size:15px}.filter-actions>a{text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:13px}
 .status{font-size:13px;line-height:1.85;overflow-wrap:anywhere;padding:15px 0}.section-line{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.6}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.kpi{padding:16px 13px}.kpi>span{font-size:13px}.kpi strong{font-size:clamp(23px,6.7vw,32px);letter-spacing:-1px;margin:13px 0}.kpi small{font-size:12px;line-height:1.7;display:block}.coverage{gap:10px 16px;line-height:1.8;font-size:13px}
 .insights{grid-template-columns:1fr;gap:20px;padding:22px 0}.insight small{font-size:13px}.insight h3{font-size:24px;margin:8px 0}.insight p{font-size:14px;line-height:1.85;color:#647d9d}.chart-grid{grid-template-columns:minmax(0,1fr);gap:15px}.panel{padding:18px 15px}.panel-head{gap:10px;margin-bottom:20px}.panel-head p{font-size:13px;line-height:1.7}.panel h3{font-size:16px}.bar-label{font-size:14px;gap:12px}.bar-track{height:9px}#trend-chart{height:240px}.section-title{gap:12px;margin-top:26px;align-items:flex-start}.section-title h2{font-size:20px;line-height:1.5}.section-title>span{font-size:12px;line-height:1.7;max-width:118px}.section-title label{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:12px}.section-title select{font-size:16px;min-height:44px;max-width:150px;padding:8px}
 .detail-controls{flex-wrap:wrap;gap:15px}.tabs{width:100%;gap:24px}.tabs button{min-height:46px;font-size:15px}.detail-controls input{width:100%;max-width:100%;min-height:46px;font-size:16px}.table-scroll{overflow:visible}table{display:block;white-space:normal;width:100%}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}tbody{display:grid;gap:14px}tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;border:1px solid #e1e8f3;border-radius:10px;padding:16px;background:#fff}tbody tr:nth-child(even){background:#f8faff}td,td.title{display:flex;flex-direction:column;gap:7px;border:0;padding:0;font-size:15px;line-height:1.55;white-space:normal;min-width:0;max-width:none;overflow-wrap:anywhere;color:#526e93}td[data-label]::before{content:attr(data-label);font-size:12px;font-weight:400;color:#899bb4;line-height:1.5}td:first-child,td[data-label="内容"],td[data-label="账号"]{grid-column:1/-1}td[data-label="账号"]{font-size:16px;font-weight:500}td a{display:inline-flex;align-items:center;min-height:44px;width:max-content;max-width:100%;padding:6px 12px;background:#edf3ff;border-radius:6px;font-size:14px}td[colspan]{grid-column:1/-1;font-size:14px}.table-footer{font-size:13px;gap:8px;flex-wrap:wrap}.table-footer>div{gap:10px}.table-footer button{width:44px;height:44px;font-size:18px}.table-footer>span{line-height:1.7}
 .method{padding:18px}.method>b{font-size:14px}.method p{font-size:13px;line-height:1.9;color:#7187a5;overflow-wrap:anywhere}footer{flex-direction:column;font-size:12px;line-height:1.8;gap:6px}footer a{min-height:44px;display:flex;align-items:center}.empty{padding:45px 20px}.empty h2{font-size:21px}.empty p{font-size:14px}
 .login-side{padding:40px 25px calc(35px + env(safe-area-inset-bottom));flex-direction:column;gap:35px;justify-content:center;min-height:100svh}.login-side form{width:100%;max-width:380px}.login-side h2{font-size:25px;line-height:1.5}.login-side form>p{font-size:14px}.login-side input{font-size:16px;height:50px;min-width:0;width:100%}.login-side label{font-size:14px}.login-side .primary{height:50px;font-size:16px}.login-side .icp{position:static;display:flex;align-items:center;min-height:44px;text-align:center;font-size:12px}.login-side form>small{font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
#cleaning-panel summary{cursor:pointer;min-height:44px;padding:14px 0;color:#577daf;font-size:13px}#cleaning-panel td.title{max-width:420px;font-size:12px}#cleaning-panel .table-scroll{max-height:500px;overflow:auto}#cleaning-panel td{vertical-align:top}#cleaning-panel table{background:#fff}@media(max-width:640px){#cleaning-panel td.title{font-size:13px}#cleaning-panel .table-scroll{max-height:650px}#cleaning-panel table{background:transparent}}
