:root{--bg: #f4efe8;--surface: #fffaf2;--surface-strong: #fff;--text: #2f261c;--muted: #7a6a59;--border: #d8c9b6;--brand: #1f4c5c;--brand-soft: #d7e9ef;--critical: #9c1f1f;--high: #b3521b;--warning: #b58a00;--success: #1f7a4f;--offline: #5a5f66}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Trebuchet MS,sans-serif;color:var(--text);background:radial-gradient(circle at 0% 0%,#fff9f0,var(--bg))}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(460px,100%);background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;padding:1.25rem;box-shadow:0 8px 28px #2f261c14}.login-card h1{margin:0 0 .4rem}.login-card p{margin:0 0 1rem;color:var(--muted)}.login-warning{margin-bottom:1rem;border-left:3px solid var(--critical);background:#fbe8e8;padding:.65rem;font-size:.92rem}.login-card form{display:grid;gap:.55rem}.login-card input,.login-card button{border-radius:8px;border:1px solid var(--border);font-size:.95rem;padding:.6rem .75rem}.login-card button{background:var(--brand);color:#fff;border-color:var(--brand);cursor:pointer}.shell-layout{min-height:100vh;display:flex;flex-direction:column}.shell-header{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;background:var(--surface-strong);border-bottom:1px solid var(--border);padding:.7rem 1rem}.shell-brand{display:flex;align-items:center;gap:.65rem}.shell-brand h1{margin:0;font-size:1.1rem}.status-pill,.counter-pill,.badge{border-radius:999px;padding:.28rem .6rem;font-size:.8rem;border:1px solid transparent}.status-up{background:#dff4e8;color:#0f5f3c;border-color:#b9e5cc}.status-degraded{background:#fff1d8;color:#8a5600;border-color:#efd09c}.status-down,.severity-critical{background:#fbe3e3;color:#8c1515;border-color:#efb6b6}.severity-high{background:#ffead9;color:#8d4b15;border-color:#f0c9a8}.severity-warning{background:#fff4d8;color:#7a6000;border-color:#e7d497}.severity-info{background:#e6f3f9;color:#16495b;border-color:#b5d8e6}.exec-running{background:#dceeff;color:#134f8a;border-color:#b4d3f5}.exec-completed{background:#dff4e8;color:#0f5f3c;border-color:#b9e5cc}.exec-failed{background:#fbe3e3;color:#8c1515;border-color:#efb6b6}.exec-dead_lettered{background:#4a2e2e;color:#fff;border-color:#4a2e2e}.exec-cancelled{background:#ececed;color:#4f5258;border-color:#d2d5db}.sla-ok{background:#dff4e8;color:#0f5f3c;border-color:#b9e5cc}.sla-warn{background:#fff4d8;color:#7a6000;border-color:#e7d497}.sla-breach{background:#ffe8df;color:#924116;border-color:#f1c3a9}.sla-critical{background:#4a2e2e;color:#fff;border-color:#4a2e2e}.lifecycle-invited{background:#efe8ff;color:#4a2f89;border-color:#d4c5fa}.lifecycle-active{background:#dff4e8;color:#0f5f3c;border-color:#b9e5cc}.lifecycle-at_risk{background:#ffe8df;color:#924116;border-color:#f1c3a9}.lifecycle-churning{background:#fbe3e3;color:#8c1515;border-color:#efb6b6}.header-metrics{display:flex;align-items:center;gap:.45rem}.counter-pill{background:var(--brand-soft);color:#183e4b;border-color:#bfdce5}.counter-pill-link{text-decoration:none}.counter-pill-link:hover{background:#c7e0e8}.operator-box{display:flex;align-items:center;gap:.6rem}.operator-box button{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.45rem .65rem;cursor:pointer}.shell-body{flex:1;display:grid;grid-template-columns:220px 1fr}.shell-sidebar{border-right:1px solid var(--border);background:var(--surface);padding:.8rem;display:grid;align-content:start;gap:.3rem}.nav-link{border:1px solid transparent;border-radius:8px;color:var(--text);text-decoration:none;padding:.45rem .6rem}.nav-link:hover{background:#f7efe2}.nav-link.active{border-color:#c8dde4;background:var(--brand-soft)}.shell-content{padding:1rem}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#24180a73;display:grid;place-items:center;padding:1rem}.dialog-card{width:min(460px,100%);background:var(--surface-strong);border:1px solid var(--border);border-radius:12px;padding:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.screen-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:12px;padding:1rem}.ops-feedback{font-weight:600}.ops-feedback.success{border-color:#b9e5cc;background:#edf9f1;color:#0f5f3c}.ops-feedback.error{border-color:#efb6b6;background:#fff1f1;color:#8c1515}.screen-card h2,.screen-card h3{margin-top:0}.phase-screen{display:grid;gap:1rem}.phase-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.phase-header-actions{display:flex;align-items:center;gap:.75rem}.phase-header h2{margin:0 0 .35rem}.phase-header p{margin:0;color:var(--muted)}.segmented-control{display:inline-flex;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.15rem;gap:.15rem}.segmented-control button{border:none;border-radius:6px;background:transparent;color:var(--text);padding:.45rem .7rem;cursor:pointer}.segmented-control button.active{background:var(--surface-strong);border:1px solid var(--border)}.secondary-btn{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.5rem .7rem;cursor:pointer}.chip-row{display:flex;gap:.45rem;flex-wrap:wrap}.phase-grid{display:grid;gap:.8rem}.phase-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.service-list{display:grid;gap:.8rem}.service-health-table{width:100%;border-collapse:collapse;font-size:.92rem}.service-health-table th,.service-health-table td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.service-health-table thead th{color:var(--muted);font-weight:600;background:#ffffff05}.service-health-table tbody tr:hover{background:#ffffff05}.muted{color:var(--muted)}.sparkline-row{display:flex;align-items:end;gap:.45rem;min-height:140px}.sparkline-col{width:28px;display:grid;justify-items:center;gap:.25rem}.sparkline-bar{width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#8cbcc9,#2f6d80)}.sparkline-col small{font-size:.7rem;color:var(--muted)}.filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.filter-row label,.inline-field{display:grid;gap:.35rem;font-size:.85rem;color:var(--muted)}.filter-row input,.filter-row select,.inline-field input,.dialog-card input,.dialog-card select{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.5rem .65rem;color:var(--text)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:880px}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:.55rem;text-align:left;vertical-align:top;font-size:.85rem}.table-drill-link{color:var(--brand);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:2px;font-weight:600}.table-drill-link:hover{color:#173c49;text-decoration-style:solid}.data-table th{color:var(--muted);font-weight:600;background:#faf4eb}.details-row td{background:#fff7ea}.row-actions{display:flex;gap:.45rem}.row-actions-wrap{flex-wrap:wrap;align-items:end}.row-actions button,.tab-btn,.dialog-actions button{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:.35rem .6rem;cursor:pointer}.row-actions button:disabled,.dialog-actions button:disabled{cursor:not-allowed;opacity:.6}.tab-row{display:flex;gap:.45rem}.tab-btn.active{border-color:#c8dde4;background:var(--brand-soft)}.alert-row.severity-row-critical td{background:#fff1f1}.alert-row.severity-row-high td{background:#fff5ea}.alert-row.severity-row-warning td{background:#fff8e4}.live-indicator{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem}.live-dot{width:.6rem;height:.6rem;border-radius:999px}.live-dot.connected{background:var(--success);animation:pulse 1.2s infinite}.live-dot.reconnecting{background:var(--warning);animation:pulse .8s infinite}.live-dot.offline{background:var(--offline)}@keyframes pulse{0%{transform:scale(.95);opacity:.75}70%{transform:scale(1.1);opacity:1}to{transform:scale(.95);opacity:.75}}@media (max-width: 960px){.shell-header,.shell-body{grid-template-columns:1fr}.shell-sidebar{border-right:none;border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.header-metrics{flex-wrap:wrap}.phase-grid-2,.phase-grid-3,.filter-row{grid-template-columns:1fr}}
