@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{color:#e2e8f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0d0f18;font-family:Inter,system-ui,sans-serif}body{background:#0d0f18;min-height:100vh}button,select{font:inherit}a{color:inherit}.dash-shell{flex-direction:column;max-width:1400px;min-height:100vh;margin:0 auto;display:flex}.loading-shell{color:#64748b;justify-content:center;align-items:center;gap:12px;font-size:14px}.dash-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#151823;border-bottom:1px solid #1e2130;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:0 24px;display:flex;position:sticky;top:0}.dash-brand{align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.dash-logo{color:#fff;background:#2f5b45;border-radius:8px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.dash-tag{color:#64748b;border:1px solid #2a2d3a;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500}.dash-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dash-controls select{color:#e2e8f0;cursor:pointer;background:#1e2130;border:1px solid #2a2d3a;border-radius:6px;outline:none;height:34px;padding:0 10px;font-size:13px}.dash-controls select:focus{border-color:#2f5b45}.dash-main{flex-direction:column;flex:1;gap:16px;padding:20px 24px 32px;display:flex}.loading-bar{z-index:100;background:linear-gradient(90deg,#2f5b45,#e05b32);height:2px;animation:1.4s ease-in-out infinite bar;position:fixed;top:0;left:0;right:0}@keyframes bar{0%{transform-origin:0;transform:scaleX(0)}50%{transform-origin:0;transform:scaleX(1)}51%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}.kpi-strip{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.kpi-card{background:#151823;border:1px solid #1e2130;border-radius:10px;align-items:center;gap:14px;padding:18px 20px;display:flex}.kpi-icon{color:#2f5b45;flex-shrink:0}.kpi-body{flex-direction:column;gap:2px;min-width:0;display:flex}.kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.kpi-value{color:#f1f5f9;font-size:28px;font-weight:700;line-height:1.1}.kpi-sub{color:#475569;font-size:11px}.chart-card{background:#151823;border:1px solid #1e2130;border-radius:10px;padding:20px 20px 16px}.chart-card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.chart-card-head h3{color:#f1f5f9;font-size:14px;font-weight:600}.chart-sub{color:#64748b;font-size:11px}.chart-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.section-divider{border-top:1px solid #1e2130;align-items:center;gap:12px;padding:14px 0 2px;display:flex}.section-divider h2{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:600}.section-divider span{color:#475569;font-size:12px}.grade-var-select{color:#e2e8f0;cursor:pointer;background:#1e2130;border:1px solid #2a2d3a;border-radius:6px;outline:none;height:30px;margin-left:auto;padding:0 10px;font-size:12px}.grade-var-select:focus{border-color:#2f5b45}.top3-btns{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.top3-btns button{color:#94a3b8;cursor:pointer;background:#1e2130;border:1px solid #2a2d3a;border-radius:5px;height:28px;padding:0 10px;font-size:11px;font-weight:500;transition:all .15s}.top3-btns button:hover{color:#e2e8f0;border-color:#2f5b45}.top3-btns button.active{color:#fff;background:#2f5b45;border-color:#2f5b45}.tt{background:#1e2130;border:1px solid #2a2d3a;border-radius:7px;flex-direction:column;gap:4px;padding:10px 13px;font-size:12px;display:flex;box-shadow:0 8px 24px #0006}.tt-label{color:#f1f5f9;margin-bottom:2px;font-weight:600}.dash-footer{color:#475569;border-top:1px solid #1e2130;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 24px;font-size:11px;display:flex}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.chart-row-2{grid-template-columns:1fr}.kpi-strip{grid-template-columns:1fr 1fr}}@media (width<=600px){.dash-header{padding:0 16px}.dash-main{padding:14px 16px 24px}.kpi-strip{grid-template-columns:1fr}.kpi-value{font-size:22px}.dash-controls select{font-size:12px}}
