:root,.theme-governance{--bg: #f3f6fb;--panel: #ffffff;--panel-soft: #f8fbff;--brand: #1d4ed8;--brand-2: #0f3d99;--brand-soft: #e8f0ff;--ink: #0f172a;--muted: #64748b;--slate: #475569;--border: #d9e3f0;--shadow: 0 14px 40px rgba(15, 23, 42, .08);--warn: #d97706;--warn-bg: #fff4db;--good: #15803d;--good-bg: #e9f8ee;--danger: #b91c1c;--danger-bg: #fee2e2;--slate-bg: #edf2f7;--stage-initiation: #475569;--stage-auction-approval: #d97706;--stage-winner-approval: #7c3aed;--stage-winner-approval-bg: #f3e8ff;--stage-settlement: #15803d;--stage-closed: #475569;--radius: 18px;--radius-sm: 12px}.theme-field{--bg: #0a0f1f;--panel: #111827;--card: #0b1224;--text: #e5e7eb;--muted: #94a3b8;--border: rgba(148, 163, 184, .15);--shadow: 0 2px 20px rgba(0, 0, 0, .35), 0 10px 40px rgba(124, 58, 237, .15);--accent: #7c3aed;--accent-2: #22c55e;--accent-3: #f59e0b;--accent-4: #0ea5e9;--warn: #f59e0b;--good: #22c55e;--danger: #ef4444;--radius: 18px;--radius-sm: 12px;--ring: rgba(124, 58, 237, .35)}*,*:before,*:after{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.6;margin:0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}.page-content{max-width:1220px;margin:0 auto;padding:24px 20px}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}@media (max-width: 900px){.metric-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.metric-row{grid-template-columns:1fr}}.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px 24px;box-shadow:var(--shadow)}.metric-card .label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.metric-card .value{font-size:32px;font-weight:900;color:var(--ink);line-height:1}.metric-card .sub{font-size:12px;color:var(--muted);margin-top:4px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h2{font-size:18px;font-weight:800;color:var(--ink)}.card-list{display:flex;flex-direction:column;gap:12px}.health-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0f172a0a}.health-row .case-id{font-size:13px;font-weight:700;color:var(--ink);min-width:120px}.health-row .step-id{font-size:12px;color:var(--muted);flex:1}.health-row .hours{font-size:12px;color:var(--muted);min-width:80px;text-align:right}.health-badge{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.health-badge.healthy{background:var(--good-bg);color:var(--good)}.health-badge.waiting{background:var(--warn-bg);color:var(--warn)}.health-badge.stalled{background:#fee2e2;color:#b91c1c}.health-badge.degraded{background:#f3e8ff;color:#7c3aed}.health-badge.risky{background:#fee2e2;color:#7f1d1d;border:1px solid #b91c1c}.alert-row{background:var(--panel);border-left:4px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 18px;box-shadow:0 2px 8px #0f172a0a}.alert-row.severity-critical{border-left-color:var(--danger)}.alert-row.severity-warning{border-left-color:var(--warn)}.alert-row.severity-info{border-left-color:var(--brand)}.alert-row .alert-case{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.alert-row .alert-msg{font-size:14px;font-weight:500;color:var(--ink)}.alert-row .alert-time{font-size:11px;color:var(--muted);margin-top:4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}@media (max-width: 768px){.two-col{grid-template-columns:1fr}}.empty-state{text-align:center;padding:40px 20px;color:var(--muted);font-size:14px}.refresh-btn{background:none;border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);padding:6px 14px;font-size:13px;cursor:pointer;transition:all .16s ease}.refresh-btn:hover{border-color:var(--brand);color:var(--brand)}.health-donut{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.health-donut-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}.health-donut-dot{width:10px;height:10px;border-radius:50%}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:40px 36px;width:100%;max-width:400px;box-shadow:var(--shadow)}.login-card h1{font-size:22px;font-weight:900;color:var(--ink);margin-bottom:6px}.login-card p{font-size:14px;color:var(--muted);margin-bottom:28px}.form-field{margin-bottom:18px}.form-field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}.form-field input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--ink);background:var(--panel-soft);outline:none;transition:border-color .16s ease}.form-field input:focus{border-color:var(--brand)}.btn-primary{width:100%;padding:12px;background:var(--brand);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;transition:all .16s ease;margin-top:8px}.btn-primary:hover{background:var(--brand-2);transform:translateY(-1px)}.error-msg{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:16px}.dispatch-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 18px;display:flex;align-items:center;gap:14px}.dispatch-row .d-case{font-size:13px;font-weight:700;color:var(--ink);flex:1}.dispatch-row .d-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px}.d-status.timeout{background:var(--warn-bg);color:var(--warn)}.d-status.escalated{background:var(--danger-bg);color:var(--danger)}
