:root{--surface:#f4f4ee;--surface-elev:#fff;--surface-elev-2:#ebe8dc;--ink:#12110c;--ink-2:#272624;--ink-muted:#52514e;--ink-faint:#989084;--line:#d8cdbb;--line-soft:#e0dfda;--accent:#12110c;--accent-fg:#f4f4ee;--accent-hover:#272624;--success:#3a7d4e;--success-bg:#e3ede4;--danger:#a83434;--danger-bg:#efdcdc;--warning:#a07628;--warning-bg:#f0e4cc;--p0:#a83434;--p1:#a07628;--p2:#989084;--radius:6px;--radius-lg:10px;--font-sans:"Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Cormorant Garamond", Garamond, Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}html,body,#root{height:100%;font-family:var(--font-sans);background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.5}a{color:var(--ink);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}input,select,button,textarea{font-family:inherit;font-size:inherit;color:inherit}input,select,textarea{background:var(--surface-elev);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);padding:8px 10px;transition:border-color .12s}input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none}button{background:var(--accent);color:var(--accent-fg);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;letter-spacing:.01em;padding:8px 14px;font-weight:500;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}button.ghost:hover:not(:disabled){background:var(--surface-elev-2);border-color:var(--ink-muted)}button.ghost.danger{color:var(--danger);border-color:var(--danger)}code,.json-cell{font-family:var(--font-mono);background:var(--surface-elev-2);border-radius:4px;padding:2px 6px;font-size:12px}.muted{color:var(--ink-muted)}.nowrap{white-space:nowrap}.login-shell{background:var(--surface);background-image:radial-gradient(circle at 12% 18%,#d8cdbb8c 0%,#0000 38%),radial-gradient(circle at 88% 82%,#e0d8c673 0%,#0000 40%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface-elev);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:36px 32px;box-shadow:0 1px #12110c0a}.brand{align-items:center;gap:14px;margin-bottom:28px;display:flex}.brand-mark{background:var(--ink);width:44px;height:44px;color:var(--surface);font-family:var(--font-serif);letter-spacing:.02em;border-radius:4px;place-items:center;font-size:22px;font-weight:500;display:grid}.brand-mark.small{border-radius:3px;width:32px;height:32px;font-size:16px}.brand-text h1{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:22px;font-weight:500;line-height:1.15}.brand-text p{color:var(--ink-muted);margin:4px 0 0;font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.login-form label input{text-transform:none;letter-spacing:normal;font-size:14px}.login-form button[type=submit]{margin-top:6px;padding:11px}.login-foot{color:var(--ink-faint);text-align:center;letter-spacing:.02em;margin-top:24px;font-size:12px}.form-error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);padding:8px 12px;font-size:13px}.app-shell{grid-template-columns:244px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface-elev);border-right:1px solid var(--line-soft);flex-direction:column;padding:22px 18px;display:flex}.sidebar-brand{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;margin-bottom:18px;padding:4px 4px 22px;display:flex}.sidebar-title{font-family:var(--font-serif);letter-spacing:.01em;color:var(--ink);font-size:18px;font-weight:500;line-height:1}.sidebar-subtitle{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-item{border-radius:var(--radius);color:var(--ink-2);padding:8px 12px;font-size:14px;text-decoration:none;transition:background .12s}.nav-item:hover{background:var(--surface-elev-2);text-decoration:none}.nav-item.active{background:var(--ink);color:var(--surface)}.sidebar-foot{border-top:1px solid var(--line-soft);padding-top:16px}.user-chip{margin-bottom:10px;padding:0 4px;font-size:12px}.user-email{color:var(--ink-2);word-break:break-all;line-height:1.3}.user-role{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin-top:2px;font-size:10px}.logout-btn{border:1px solid var(--line);width:100%;color:var(--ink);background:0 0;font-size:13px}.logout-btn:hover{background:var(--surface-elev-2);border-color:var(--ink-muted)}.main-content{padding:32px 36px;overflow-x:auto}.page{flex-direction:column;gap:18px;max-width:1320px;display:flex}.page-header{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:14px;display:flex}.page-header h2{font-family:var(--font-serif);letter-spacing:.01em;color:var(--ink);margin:0 0 4px;font-size:26px;font-weight:500}.page-header p{color:var(--ink-muted);max-width:680px;margin:0;font-size:13px}.filters{gap:8px;display:flex}.table-wrap{background:var(--surface-elev);border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:11px 16px}.data-table thead{background:var(--surface-elev-2)}.data-table th{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);font-size:11px;font-weight:500}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#d8cdbb2e}.msg-cell{text-overflow:ellipsis;white-space:nowrap;max-width:480px;overflow:hidden}.json-cell{white-space:pre-wrap;word-break:break-all;background:var(--surface-elev-2);border-radius:3px;max-width:240px;margin:0;padding:4px 6px;font-size:11px}.kill-switch{letter-spacing:.1em;cursor:pointer;min-width:70px;font-size:11px;font-weight:600;font-family:var(--font-sans);text-transform:uppercase;background:0 0;border:1px solid;border-radius:3px;padding:4px 10px}.kill-switch.on{background:var(--success-bg);color:var(--success);border-color:var(--success)}.kill-switch.off{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.kill-switch:hover{filter:brightness(.97)}.severity{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:600}.sev-P0_Blocking{background:var(--danger-bg);color:var(--p0)}.sev-P1_Degraded{background:var(--warning-bg);color:var(--p1)}.sev-P2_Minor{background:var(--surface-elev-2);color:var(--p2)}.pill{letter-spacing:.04em;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:500;display:inline-block}.pill.ok{background:var(--success-bg);color:var(--success)}.pill.bad{background:var(--surface-elev-2);color:var(--ink-faint)}.inline-edit{cursor:pointer;border-bottom:1px dashed var(--line)}.inline-edit-row{align-items:center;gap:6px;display:inline-flex}.inline-edit-row input{padding:4px 8px;font-size:12px}.inline-edit-row button{padding:4px 10px;font-size:12px}.modal-backdrop{z-index:1000;background:#12110c73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface-elev);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:28px;box-shadow:0 8px 24px #12110c1f}.modal h3{font-family:var(--font-serif);letter-spacing:.01em;margin:0 0 16px;font-size:22px;font-weight:500}.modal form{flex-direction:column;gap:14px;display:flex}.modal label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.modal label input,.modal label select{text-transform:none;letter-spacing:normal;font-size:14px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.warn{color:var(--warning);background:var(--warning-bg);border-radius:var(--radius);border:1px solid var(--warning);padding:10px 12px;font-size:13px}.api-key-display{align-items:center;gap:8px;margin:16px 0;display:flex}.api-key-display code{word-break:break-all;background:var(--surface-elev-2);border:1px solid var(--line);border-radius:var(--radius);flex:1;padding:10px 12px;font-size:12px}.splash{background:var(--surface);place-items:center;min-height:100vh;display:grid}.splash-card{color:var(--ink-muted);font-family:var(--font-serif);font-size:18px}
