:root{color:#24312b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--line:#e2e9e4;--muted:#718078;--green:#19876a;--surface:#fff;background:#f4f7f4;font-family:Inter,Microsoft YaHei,Noto Sans CJK SC,sans-serif}*{box-sizing:border-box}body{background:#f4f7f4;min-width:360px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.dashboard-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:58px;padding:0 max(28px,50vw - 720px);display:flex}.brand{color:#263a32;align-items:center;gap:10px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{width:26px;height:26px;color:var(--green);background:#e3f1eb;border-radius:6px;place-items:center;font-size:13px;display:grid}.topbar-right{color:var(--muted);align-items:center;gap:18px;font-size:12px;display:flex}.local-pill{color:#27765f;align-items:center;gap:7px;font-weight:650;display:inline-flex}.local-pill i{background:#35a77d;border-radius:50%;width:7px;height:7px}.dashboard-content{width:min(1440px,100% - 56px);margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-end;padding:27px 2px 22px;display:flex}.eyebrow{color:#72877d;margin:0 0 8px;font-size:10px;font-weight:700}.page-heading h1{color:#21382f;margin:0;font-size:26px;font-weight:720;line-height:1.3}.heading-copy{color:#74827b;margin:7px 0 0;font-size:13px}.update-meta{color:var(--muted);text-align:right;grid-template-columns:auto auto;align-items:center;column-gap:12px;font-size:11px;display:grid}.update-meta strong{color:#384b42;font-size:14px}.update-meta span:last-child{grid-column:1/-1;margin-top:5px}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:6px;flex-wrap:wrap;align-items:end;gap:12px;min-height:68px;padding:12px 15px;display:flex}.filter-control{color:#728078;gap:5px;font-size:10px;display:grid}.filter-control input,.filter-control select{color:#314139;background:#fff;border:1px solid #dfe6e1;border-radius:4px;outline:none;min-width:124px;height:32px;padding:0 9px;font-size:12px}.filter-control input:focus,.filter-control select:focus{border-color:#68a890;box-shadow:0 0 0 2px #dff0e9}.filter-date input{min-width:142px}.clear-button{color:#55665d;background:#fff;border:1px solid #dfe6e1;border-radius:4px;height:32px;margin-left:auto;padding:0 11px;font-size:11px}.clear-button:hover{background:#f5f8f6}.kpi-strip{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:repeat(3,1fr);margin-top:15px;display:grid}.kpi-item{border-right:1px solid var(--line);grid-template-columns:1fr auto;align-content:center;min-height:104px;padding:17px 22px;display:grid;position:relative}.kpi-item:last-child{border-right:0}.kpi-item:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:21px;bottom:21px;left:0}.accent-green{--accent:#19876a}.accent-coral{--accent:#e8755d}.accent-teal{--accent:#4d9da0}.kpi-label{color:var(--muted);grid-column:1/-1;font-size:12px}.kpi-item strong{color:#263b32;font-variant-numeric:tabular-nums;align-self:end;margin-top:7px;font-size:25px;line-height:1.1}.kpi-unit{color:#87928c;align-self:end;padding:0 0 2px 6px;font-size:11px}.result-caption{color:#7a8881;padding:9px 2px 0;font-size:10px}.chart-sections{gap:25px;margin-top:20px;display:grid}.chart-section{min-width:0}.section-title{align-items:center;gap:12px;margin:0 0 12px 1px;display:flex}.section-title>span{color:#387c65;background:#e4f0eb;border-radius:5px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:grid}.section-title h2{color:#304238;margin:0;font-size:16px;line-height:1.3}.section-title p{color:#8a968f;margin:3px 0 0;font-size:10px}.chart-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;display:grid}.chart-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;min-width:0;padding:14px 15px 10px}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.panel-heading{justify-content:space-between;min-height:38px;display:flex}.panel-heading h3{color:#34473d;margin:0;font-size:13px;font-weight:680}.panel-heading p{color:#89958e;margin:4px 0 0;font-size:10px}.chart-canvas{width:100%;min-width:0}.paired-charts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.paired-charts>div{min-width:0}.mini-chart-label{color:#64756c;padding:3px 0;font-size:10px;font-weight:650;display:block}.empty-state{text-align:center;background:#fff;border:1px dashed #d4dfd8;border-radius:6px;justify-items:center;margin-top:18px;padding:74px 16px;display:grid}.empty-icon{color:#73877c;background:#eef4f0;border-radius:50%;place-items:center;width:40px;height:40px;font-size:25px;display:grid}.empty-state h2{color:#405148;margin:14px 0 5px;font-size:16px}.empty-state p{color:#839087;margin:0;font-size:12px}.empty-state button{color:#fff;background:#19876a;border:0;border-radius:4px;margin-top:16px;padding:8px 13px;font-size:11px}.page-footer{border-top:1px solid var(--line);color:#87938c;justify-content:space-between;gap:18px;margin-top:20px;padding:22px 2px 28px;font-size:10px;display:flex}.state-screen{color:#52645a;text-align:center;align-content:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.state-screen h1{color:#304238;margin:16px 0 5px;font-size:20px}.state-screen p{margin:0 0 5px;font-size:13px}.state-screen>span{color:#88958d;font-size:11px}.state-mark{color:#c85c46;background:#fff0ec;border-radius:6px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.loading-mark{border:3px solid #dce8e1;border-top-color:#19876a;border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1000px){.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 6}.filter-date input{min-width:132px}.page-footer{flex-direction:column;gap:7px}}@media (width<=650px){body{min-width:360px}.topbar{height:52px;padding:0 16px}.topbar-right{gap:10px;font-size:10px}.period-label{display:none}.dashboard-content{width:calc(100% - 28px)}.page-heading{align-items:start;padding:20px 0 15px}.page-heading h1{font-size:21px}.heading-copy{max-width:250px;font-size:11px;line-height:1.5}.update-meta{text-align:right;grid-template-columns:auto;gap:3px;font-size:9px}.update-meta strong{font-size:12px}.update-meta span:last-child{max-width:110px;line-height:1.4}.filter-bar{gap:9px;padding:10px}.filter-control{flex:calc(50% - 9px);min-width:0}.filter-control input,.filter-control select,.filter-date input{width:100%;min-width:0}.clear-button{flex:calc(50% - 9px);margin-left:0}.kpi-item{min-height:83px;padding:13px 10px}.kpi-item:before{top:16px;bottom:16px}.kpi-label{font-size:10px}.kpi-item strong{font-size:clamp(16px,5vw,21px)}.kpi-unit{font-size:9px}.result-caption{font-size:9px;line-height:1.5}.chart-sections{gap:20px;margin-top:16px}.chart-grid{grid-template-columns:minmax(0,1fr);gap:10px}.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:1}.chart-panel{padding:12px 10px 8px}.paired-charts{grid-template-columns:minmax(0,1fr);gap:12px}.paired-charts .chart-canvas{height:230px!important}.panel-heading h3{font-size:12px}.page-footer{padding-bottom:20px;font-size:9px;line-height:1.6}}
