:root{color:#162033;background:#f4f7fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}.page{min-height:100vh}.topbar{color:#fff;background:#10243e;justify-content:space-between;align-items:end;gap:24px;padding:28px 5vw 24px;display:flex}.eyebrow{color:#8fb5df;letter-spacing:.08em;font-size:12px}h1{margin:6px 0 0;font-size:26px}.scope-caption{color:#c8d7ea;margin-top:8px;font-size:13px}.filters{align-items:end;gap:12px;display:flex}.filters label,.token-box label{color:#c8d7ea;flex-direction:column;gap:5px;font-size:12px;display:flex}input,select{color:#162033;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:9px}button{color:#fff;cursor:pointer;background:#2b8aef;border:0;border-radius:6px;padding:10px 17px;font-weight:600}main{max-width:1400px;margin:0 auto;padding:26px 5vw}.token-box{background:#fff;border-radius:10px;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:flex;box-shadow:0 2px 8px #dfe7f1}.token-box label{color:#667085;flex:1}.error,.notice{color:#a51d2d;background:#fff1f0;border-left:4px solid #e5484d;border-radius:6px;margin-bottom:18px;padding:12px}.notice{color:#795b00;background:#fff8e6;border-color:#e6a700}.daily-sentence{color:#fff;background:#10243e;border-radius:10px;margin-bottom:18px;padding:18px 22px;box-shadow:0 2px 8px #dfe7f1}.daily-sentence-label{color:#8fb5df;letter-spacing:.08em;margin-bottom:8px;font-size:12px}.daily-sentence-text{font-size:18px;font-weight:600;line-height:1.65}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi-card,.panel{background:#fff;border:1px solid #e6ecf3;border-radius:10px;box-shadow:0 2px 8px #dfe7f133}.kpi-card{padding:17px}.kpi-title{color:#667085;font-size:13px}.kpi-value{color:#10243e;margin:10px 0 6px;font-size:25px;font-weight:700}.kpi-subtitle{color:#98a2b3;font-size:12px}.trend-section{margin-top:18px}.period-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.period-cards>div{background:#f7f9fc;border:1px solid #edf1f6;border-radius:8px;padding:12px}.period-cards span{color:#667085;font-size:12px;display:block}.period-cards strong{color:#10243e;margin-top:8px;font-size:20px;display:block}.trend-chart-wrap{min-height:270px}.trend-legend{color:#667085;flex-wrap:wrap;gap:16px;margin:6px 0 8px;font-size:12px;display:flex}.trend-legend span{align-items:center;gap:5px;display:flex}.trend-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.trend-chart{background:linear-gradient(#fff,#fbfcfe);border-radius:8px;width:100%;height:250px;display:block}.trend-dates{color:#98a2b3;justify-content:space-between;font-size:11px;display:flex}.two-column{grid-template-columns:1.3fr 1fr;gap:16px;margin-top:18px;display:grid}.panel{padding:18px;overflow:auto}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel-heading h2{margin:0;font-size:17px}.panel-heading span{color:#98a2b3;font-size:12px}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:left;border-bottom:1px solid #edf1f6;padding:11px 8px}th{color:#667085;font-size:12px;font-weight:600}td{font-size:13px}.empty{color:#98a2b3;text-align:center;padding:24px}.definition-list{flex-direction:column;gap:14px;display:flex}.definition-list div{flex-direction:column;gap:4px;display:flex}.definition-list b{color:#10243e}.definition-list span{color:#667085;line-height:1.5}.alert-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.alert{background:#eef6ff;border-radius:7px;gap:10px;margin-bottom:9px;padding:12px;line-height:1.5;display:flex}.alert.warning{background:#fff8e6}.alert.critical{background:#fff1f0}.alert.opportunity{background:#eafaf6}.badge{text-transform:uppercase;min-width:62px;font-size:11px;font-weight:700}.footnote{color:#667085;margin:18px 2px;font-size:12px}@media (width<=900px){.topbar,.two-column{display:block}.filters{flex-wrap:wrap;margin-top:18px}.kpi-grid,.period-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-grid{grid-template-columns:1fr}}@media (width<=520px){.kpi-grid{grid-template-columns:1fr}.daily-sentence-text{font-size:16px}.filters label{width:100%}.period-cards{grid-template-columns:1fr}}
