:root{--bg-dark:#0f172a;--bg-card:#1e293b;--border:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--success:#22c55e;--warn:#eab308;--danger:#ef4444;--info:#3b82f6}body{background-color:var(--bg-dark);color:var(--text-primary);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}.dashboard-container{box-sizing:border-box;flex-direction:column;gap:20px;height:100vh;padding:20px;display:flex}.health-bar{background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;box-shadow:0 4px 6px -1px #0000001a}.health-metrics{gap:30px;display:flex}.metric-group{flex-direction:column;align-items:center;display:flex}.metric-group .label{color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:700}.metric-group .value{font-size:20px;font-weight:800}.metric-group.ok .value{color:var(--success)}.metric-group.warn .value{color:var(--warn)}.metric-group.danger .value{color:var(--danger)}.metric-group.info .value{color:var(--info)}.system-mode{border-left:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;align-items:center;padding:0 30px;display:flex}.system-mode .label{color:var(--text-secondary);margin-bottom:6px;font-size:11px;font-weight:700}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:700}.mode-normal{color:#22c55e;background-color:#22c55e26;border:1px solid #22c55e}.mode-throttled{color:#eab308;background-color:#eab30826;border:1px solid #eab308}.mode-critical{color:#ef4444;background-color:#ef444426;border:1px solid #ef4444}.decision-panel{align-items:center;gap:12px;display:flex}.form-select{border:1px solid var(--border);color:#fff;background-color:#0f172a;border-radius:6px;outline:none;padding:8px 12px;font-size:13px}.form-select.small{padding:4px 8px;font-size:12px}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .2s}.btn:hover{opacity:.8}.btn.warning{background-color:var(--warn);color:#000}.btn.danger{background-color:var(--danger);color:#fff}.btn.small{padding:4px 8px;font-size:11px}.middle-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.card-header{border-bottom:1px solid var(--border);background-color:#ffffff05;align-items:center;padding:12px 16px;display:flex}.card-header h3{flex:1;margin:0;font-size:14px;font-weight:600}.legend{color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.box{border-radius:2px;width:12px;height:12px;display:inline-block}.color-green{background-color:#15803d}.color-yellow{background-color:#a16207}.color-red{background-color:#b91c1c}.color-gray{background-color:#334155}.heatmap-grid{padding:16px;overflow-x:auto}#heatmap-table{border-collapse:collapse;width:100%;font-size:11px}#heatmap-table th{color:var(--text-secondary);width:3.5%;padding-bottom:8px;font-weight:400}#heatmap-table th:first-child{text-align:left;color:#fff;width:60px;font-weight:700}#heatmap-table td{padding:2px}.hm-cell{aspect-ratio:1;cursor:pointer;border-radius:3px;width:100%;transition:transform .1s}.hm-cell:hover{z-index:10;transform:scale(1.15);box-shadow:0 0 5px #00000080}.page-list{max-height:250px;padding:8px;overflow-y:auto}.page-item{border-left:3px solid var(--success);background:#0003;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 12px;display:flex}.page-item.throttled{border-left-color:var(--warn)}.page-item.isolated{border-left-color:var(--danger);opacity:.7}.page-name{margin-bottom:2px;font-size:13px;font-weight:600}.page-rate{color:var(--text-secondary);font-size:11px}.log-stream{flex:1;padding:12px;font-family:monospace;font-size:12px;overflow-y:auto}.log-line{border-bottom:1px dashed #ffffff0d;margin-bottom:6px;padding-bottom:4px;line-height:1.4}.log-line .time{color:var(--text-secondary);margin-right:8px}.log-line .type{margin-right:8px;font-weight:700}.log-line.success{color:var(--success)}.log-line.error{color:var(--danger)}.log-line.warning{color:var(--warn)}.log-status{border-radius:3px;margin-right:8px;padding:2px 6px;font-family:sans-serif;font-size:10px}
