@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@400;600;700;800&display=swap";.gps-dashboard-root{--bg:#0a0c10;--surface:#111318;--surface2:#181c24;--border:#1e2330;--text:#e8eaf0;--muted:#5a6070;--accent:#00e5a0;--accent2:#3b82f6;--warn:#f59e0b;--danger:#ef4444;background:var(--bg);color:var(--text);font-family:DM Mono,monospace;font-size:13px;min-height:100vh}.gps-dashboard-root *{box-sizing:border-box}.gps-dashboard-root .gps-header{border-bottom:1px solid #2a0d50;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;background:#3d1170;position:sticky;top:0;z-index:10}.gps-dashboard-root .gps-header-title{font-family:Syne,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.5px;color:#fff}.gps-dashboard-root .gps-header-sub{color:#c4b5fd;font-size:11px;margin-top:2px}.gps-dashboard-root .gps-subnav{display:flex;gap:8px}.gps-dashboard-root .gps-subnav button{font-family:DM Mono,monospace;font-size:12px;padding:6px 14px;border-radius:6px;background:transparent;color:#c4b5fd;border:1px solid rgba(255,255,255,.15);cursor:pointer}.gps-dashboard-root .gps-subnav button.active{background:var(--accent);color:#0a0c10;border-color:var(--accent);font-weight:600}.gps-dashboard-root main{padding:24px 32px;max-width:1400px;margin:0 auto}.gps-dashboard-root .section-label{font-family:Syne,sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:28px 0 12px;display:flex;align-items:center;gap:10px}.gps-dashboard-root .section-label:after{content:"";flex:1;height:1px;background:var(--border)}.gps-dashboard-root .card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px}.gps-dashboard-root .card-title{font-family:Syne,sans-serif;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.gps-dashboard-root .kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:12px}.gps-dashboard-root .kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;position:relative;overflow:hidden}.gps-dashboard-root .kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:.4}.gps-dashboard-root .kpi-card.warn:before{background:var(--warn)}.gps-dashboard-root .kpi-card.danger:before{background:var(--danger)}.gps-dashboard-root .kpi-label{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.gps-dashboard-root .kpi-value{font-family:Syne,sans-serif;font-size:26px;font-weight:800;line-height:1;letter-spacing:-1px}.gps-dashboard-root .kpi-value.accent{color:var(--accent)}.gps-dashboard-root .kpi-value.warn{color:var(--warn)}.gps-dashboard-root .kpi-value.danger{color:var(--danger)}.gps-dashboard-root .kpi-sub{font-size:10px;color:var(--muted);margin-top:4px}.gps-dashboard-root .health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gps-dashboard-root .health-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px;position:relative;overflow:hidden}.gps-dashboard-root .health-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.gps-dashboard-root .health-card.green:before{background:var(--accent)}.gps-dashboard-root .health-card.amber:before{background:var(--warn)}.gps-dashboard-root .health-card.red:before{background:var(--danger)}.gps-dashboard-root .health-card.gray:before{background:var(--muted)}.gps-dashboard-root .health-vendor{font-family:Syne,sans-serif;font-size:14px;font-weight:700;margin-bottom:2px}.gps-dashboard-root .health-score-label{font-size:9px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.gps-dashboard-root .health-score{font-family:Syne,sans-serif;font-size:40px;font-weight:800;line-height:1;letter-spacing:-2px}.gps-dashboard-root .health-score.green{color:var(--accent)}.gps-dashboard-root .health-score.amber{color:var(--warn)}.gps-dashboard-root .health-score.red{color:var(--danger)}.gps-dashboard-root .health-score.gray{color:var(--muted);font-size:22px}.gps-dashboard-root .health-divider{height:1px;background:var(--border);margin:12px 0}.gps-dashboard-root .health-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gps-dashboard-root .health-stat-val{font-family:Syne,sans-serif;font-size:14px;font-weight:700}.gps-dashboard-root .health-stat-label{font-size:9px;color:var(--muted);margin-top:2px;letter-spacing:.5px;text-transform:uppercase}.gps-dashboard-root table.gps-table{width:100%;border-collapse:collapse}.gps-dashboard-root table.gps-table th{text-align:left;font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;padding:0 12px 10px 0;border-bottom:1px solid var(--border);font-weight:400}.gps-dashboard-root table.gps-table th.center,.gps-dashboard-root table.gps-table td.center{text-align:center}.gps-dashboard-root table.gps-table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--border)}.gps-dashboard-root table.gps-table tr:last-child td{border-bottom:none}.gps-dashboard-root .vendor-name,.gps-dashboard-root .store-name{font-family:Syne,sans-serif;font-size:12px;font-weight:700}.gps-dashboard-root .badge{display:inline-block;font-size:9px;padding:3px 8px;border-radius:4px;font-weight:600;letter-spacing:.3px}.gps-dashboard-root .badge.green{background:#00e5a01f;color:var(--accent)}.gps-dashboard-root .badge.amber{background:#f59e0b1f;color:var(--warn)}.gps-dashboard-root .badge.red{background:#ef44441f;color:var(--danger)}.gps-dashboard-root .badge.gray{background:#5a607033;color:var(--muted)}.gps-dashboard-root .sla-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 22px}.gps-dashboard-root .sla-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.gps-dashboard-root .sla-name{font-family:Syne,sans-serif;font-size:14px;font-weight:700}.gps-dashboard-root .sla-rule{font-size:10px;color:var(--muted);margin-top:3px;border:1px solid var(--border);padding:3px 8px;border-radius:4px;display:inline-block}.gps-dashboard-root .sla-pct{font-family:Syne,sans-serif;font-size:40px;font-weight:800;line-height:1;letter-spacing:-2px}.gps-dashboard-root .sla-pct.good{color:var(--accent)}.gps-dashboard-root .sla-pct.mid{color:var(--warn)}.gps-dashboard-root .sla-pct.bad{color:var(--danger)}.gps-dashboard-root .progress-track{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;margin:14px 0 12px}.gps-dashboard-root .progress-fill{height:100%;border-radius:3px}.gps-dashboard-root .progress-fill.good{background:var(--accent)}.gps-dashboard-root .progress-fill.mid{background:var(--warn)}.gps-dashboard-root .progress-fill.bad{background:var(--danger)}.gps-dashboard-root .sla-stats{display:flex;gap:20px}.gps-dashboard-root .sla-stat-val{font-family:Syne,sans-serif;font-size:16px;font-weight:700}.gps-dashboard-root .sla-stat-val.met{color:var(--accent)}.gps-dashboard-root .sla-stat-val.breached{color:var(--danger)}.gps-dashboard-root .sla-stat-label{font-size:10px;color:var(--muted);margin-top:2px}.gps-dashboard-root .sla-avg{font-size:11px;color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.gps-dashboard-root .sla-avg span{color:var(--text)}.gps-dashboard-root .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gps-dashboard-root .chart-container{position:relative;height:220px}.gps-dashboard-root .chart-container.tall{height:260px}.gps-dashboard-root .toolbar{display:flex;align-items:center;gap:12px;padding:14px 32px;background:var(--surface);border-bottom:1px solid var(--border);font-size:12px}.gps-dashboard-root .toolbar input[type=date]{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-family:DM Mono,monospace;font-size:12px;color-scheme:dark}.gps-dashboard-root .toolbar button{background:var(--accent);color:#0a0c10;border:none;border-radius:6px;padding:6px 14px;font-family:DM Mono,monospace;font-size:12px;font-weight:600;cursor:pointer}.gps-dashboard-root .toolbar button.secondary{background:transparent;color:var(--muted);border:1px solid var(--border)}.gps-dashboard-root .data-note{font-size:10px;color:var(--muted);margin-top:14px;padding:10px 12px;background:var(--surface);border-radius:6px;border-left:2px solid var(--border)}.gps-dashboard-root .loading-banner{text-align:center;padding:40px;color:var(--muted);font-size:12px}.gps-dashboard-root .error-banner{padding:16px 20px;margin:16px 0;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:var(--danger);font-size:12px}@media (max-width: 900px){.gps-dashboard-root .kpi-row,.gps-dashboard-root .health-grid,.gps-dashboard-root .grid-2{grid-template-columns:1fr 1fr}.gps-dashboard-root main{padding:16px}}:root{--bg: #0A0B0F;--card: #14161C;--border: #24272F;--text: #E8E9ED;--muted: #6B6E78;--accent: #F59E0B;--accent-hover: #D97706;--danger: #DC2626;--success: #10B981}*{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Mono,JetBrains Mono,monospace;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}input,select,button{font-family:inherit}input:focus,select:focus{outline:none;border-color:var(--accent)}
