@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--font-main:"Space Grotesk", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", Consolas, monospace;font-family:var(--font-main);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:#0f172a;background:radial-gradient(circle at 8% 2%,#0ea5e933 0%,#0000 40%),radial-gradient(circle at 96% 6%,#fb923c33 0%,#0000 35%),linear-gradient(165deg,#f9fafb 0%,#eef2ff 42%,#fef3c7 100%);margin:0}code{font-family:var(--font-mono)}.app-shell{gap:1rem;width:min(1400px,100% - 2rem);margin:1rem auto 2rem;display:grid}.topbar{color:#f8fafc;background:linear-gradient(125deg,#0f766e 0%,#0c4a6e 55%,#78350f 100%);border-radius:24px;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 16px 36px #0f766e38}.kicker{text-transform:uppercase;letter-spacing:.12em;opacity:.8;margin:0;font-size:.72rem}.topbar h1{margin:.2rem 0 0;font-size:clamp(1.3rem,2.4vw,2.1rem);line-height:1.15}.subtle{color:#f8fafcd6;margin:.45rem 0 0;font-size:.94rem}.user-box{background:#f8fafc24;border:1px solid #f8fafc4d;border-radius:16px;gap:.35rem;min-width:220px;padding:.9rem;display:grid}.user-name{margin:0;font-weight:700}.user-role{opacity:.9;margin:0;font-size:.88rem}.tabs{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffc7;border:1px solid #94a3b847;border-radius:16px;flex-wrap:wrap;gap:.6rem;padding:.6rem;display:flex}.tab{color:#0f172a;cursor:pointer;background:#dbeafe;border:0;border-radius:999px;padding:.5rem .95rem;font-weight:600;transition:transform .2s,background-color .2s}.tab:hover{background:#bfdbfe;transform:translateY(-1px)}.tab.active{color:#f8fafc;background:#0f766e}.content{gap:1rem;display:grid}.panel{background:#ffffffde;border:1px solid #94a3b84d;border-radius:20px;gap:1rem;padding:1rem;display:grid}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.panel h2,.panel h3{color:#0f172a;margin:0}.chip-list{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:#dcfce7;border:1px solid #86efac;border-radius:999px;padding:.34rem .65rem;font-size:.82rem}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;display:grid}.stack{gap:.8rem;display:grid}label{color:#334155;gap:.28rem;font-size:.85rem;display:grid}input,select,textarea{color:#0f172a;background:#fffffff5;border:1px solid #cbd5e1;border-radius:12px;padding:.55rem .65rem}input:focus,select:focus,textarea:focus{border-color:#0f766e;outline:2px solid #0f766e47}.action-row{flex-wrap:wrap;gap:.6rem;display:flex}button{color:#f8fafc;cursor:pointer;background:#0f766e;border:0;border-radius:12px;padding:.6rem .9rem;font-weight:600}button:hover{filter:brightness(1.08)}button:disabled{opacity:.65;cursor:wait}button.secondary{color:#0f172a;background:#e2e8f0}button.small{padding:.45rem .65rem;font-size:.82rem}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem;display:grid}.check{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.check input{width:16px;height:16px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.75rem;display:grid}.kpi-card{background:linear-gradient(145deg,#fff 0%,#eff6ff 100%);border:1px solid #cbd5e1;border-radius:16px;padding:.8rem}.kpi-card h3{margin:0;font-size:.85rem}.kpi-value{color:#0f766e;margin:.4rem 0 0;font-size:1.35rem;font-weight:700}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem;display:grid}.chart-card{background:#fff;border:1px solid #cbd5e1;border-radius:16px;gap:.5rem;height:280px;padding:.75rem;display:grid}.chart-canvas-wrap{flex:1;height:210px;max-height:210px;position:relative}.chart-card.wide{grid-column:span 2}.table-wrap{background:#fff;border:1px solid #cbd5e1;border-radius:14px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:960px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:.6rem .7rem}th{color:#0f172a;z-index:2;background:#ecfeff;font-size:.82rem;position:sticky;top:0}td{color:#1e293b;font-size:.84rem}.empty-cell{text-align:center;color:#64748b;padding:1.2rem}.feedback{color:#0c4a6e;background:#e0f2fe;border:1px solid #93c5fd;border-radius:12px;margin:0;padding:.65rem .8rem}.feedback.error{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.feedback.success{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.login-shell{place-items:center;min-height:100dvh;padding:1rem;display:grid}.auth-card{background:#ffffffe6;border:1px solid #94a3b859;border-radius:24px;gap:.9rem;width:min(470px,100%);padding:1.4rem;display:grid;box-shadow:0 18px 38px #0f766e29}.auth-card h1{color:#0f172a;margin:0}@media (width<=980px){.topbar{flex-direction:column}.user-box{width:100%;min-width:0}.chart-card.wide{grid-column:span 1}.panel{padding:.8rem}.app-shell{width:min(1400px,100% - 1rem)}}
