:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f172a;color:#e2e8f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #0f172a;--panel: #1e293b;--panel-soft: #162033;--ink: #e2e8f0;--muted: #94a3b8;--border: #334155;--border-strong: #475569;--blue: #60a5fa;--blue-soft: rgba(37, 99, 235, .18);--green: #86efac;--green-soft: rgba(22, 163, 74, .18);--amber: #fbbf24;--amber-soft: rgba(217, 119, 6, .18);--red: #fb923c;--red-soft: rgba(234, 88, 12, .18);--shadow: 0 18px 42px rgba(2, 6, 23, .32)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.admin-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;height:100dvh;min-height:0;flex-direction:column;gap:24px;overflow:hidden;border-right:1px solid var(--border);background:#0b1120;color:#e5edf7;padding:22px 18px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:1rem}.brand-lockup span{color:#9fb2cb;font-size:.82rem}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#1d4ed8;color:#fff;font-weight:800}.sidebar-nav{display:grid;flex:1 1 auto;gap:6px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:999px;background:#94a3b873}.sidebar-nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:8px;background:transparent;color:#cbd5e1;padding:10px 12px;text-align:left}.sidebar-nav button:hover,.sidebar-nav button.active{background:#ffffff14;color:#fff}.session-card{display:grid;flex:0 0 auto;gap:10px;min-width:0;margin-top:auto;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0d;padding:12px}.session-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:transparent;color:#dbeafe;padding:0;text-align:left}.session-toggle:hover{color:#fff}.session-title,.topbar-actions,.service-health,.panel-header,.backend-meta{display:flex;align-items:center}.session-title,.panel-header{justify-content:space-between}.session-title{color:#dbeafe;font-size:.85rem;gap:8px;justify-content:flex-start}.session-collapsed-summary{display:grid;gap:6px;min-width:0;color:#cbd5e1;font-size:.78rem}.session-collapsed-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-card input{min-width:0;width:100%;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#0f172abf;color:#fff;outline:none;overflow:hidden;padding:9px 10px;text-overflow:ellipsis}.session-card input:focus{border-color:#93c5fd}.session-clear-button{width:100%;border:1px solid rgba(147,197,253,.24);border-radius:6px;background:#0f172a8c;color:#dbeafe;padding:8px 10px;text-align:center}.session-clear-button:hover{border-color:#93c5fd8c}.session-warning{color:#fbbf24;font-size:.78rem;line-height:1.35}.session-scope{color:#86efac;font-size:.8rem}.actor-card{display:grid;gap:4px;border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.actor-card span{color:#9fb2cb;font-size:.8rem;overflow-wrap:anywhere}.actor-card code{color:#bfdbfe;font-size:.72rem;overflow-wrap:anywhere}.admin-access-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.admin-access-card{display:grid;gap:22px;width:min(100%,520px);border:1px solid var(--border);border-radius:8px;background:#0f172aeb;box-shadow:var(--shadow);padding:24px}.admin-access-brand,.admin-access-copy,.admin-access-status{display:flex;align-items:center}.admin-access-brand{gap:12px}.admin-access-brand span,.admin-access-copy p{color:var(--muted)}.admin-access-brand strong,.admin-access-brand span{display:block}.admin-access-copy{gap:14px;align-items:flex-start}.admin-access-copy h1{margin:0 0 8px;font-size:1.4rem;letter-spacing:0}.admin-access-copy p{margin:0;line-height:1.5}.admin-access-form{display:grid;gap:12px}.admin-access-form label{display:grid;gap:7px;color:#dbeafe;font-size:.82rem;font-weight:700}.admin-access-form input{min-width:0;width:100%;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#020617ad;color:#fff;outline:none;padding:11px 12px}.admin-access-form input:focus{border-color:#93c5fd}.admin-access-status{justify-content:space-between;gap:12px;border-top:1px solid var(--border);color:var(--muted);padding-top:16px}.content-shell{display:grid;align-content:start;gap:20px;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h1,.panel h2{margin:0;letter-spacing:0}.topbar h1{font-size:clamp(1.4rem,2vw,2rem)}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.topbar-actions{gap:10px}.service-health{gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:9px 12px;box-shadow:var(--shadow)}.icon-button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--ink)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card,.panel{border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.stat-card{display:flex;gap:12px;min-width:0;padding:16px}.stat-card p,.stat-card strong,.stat-card span{display:block}.stat-card p{margin:0 0 5px;color:var(--muted);font-size:.82rem}.stat-card strong{font-size:1.45rem;line-height:1.1}.stat-card span{margin-top:5px;color:var(--muted);font-size:.78rem}.stat-icon{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--blue-soft);color:var(--blue)}.page-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px}.panel{min-width:0;padding:18px}.panel.wide{min-width:0}.panel-header{gap:16px;margin-bottom:14px}.panel-header h2{font-size:1rem}.backend-list,.permission-list,.capability-list,.notes-list,.json-grid{display:grid;gap:10px}.backend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:12px}.backend-row strong,.backend-row span{display:block}.backend-row span{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.backend-meta{flex:0 0 auto;gap:8px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:800;text-transform:uppercase}.status-pill.good{background:var(--green-soft);color:var(--green)}.status-pill.warn{background:var(--amber-soft);color:var(--amber)}.status-pill.bad{background:var(--red-soft);color:var(--red)}.status-pill.muted{background:#94a3b829;color:#cbd5e1}.permission-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.permission-list span,.capability-list div,.json-card,.boundary-list,.notes-list li,.empty-table,.panel-state{border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:10px}.permission-list span{color:var(--ink);font-size:.82rem}.panel-state{display:flex;align-items:center;gap:8px;margin-bottom:12px}.panel-state.danger{border-color:#fb923c6b;background:var(--red-soft);color:var(--red)}.attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}.attention-card{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--border);border-radius:8px;padding:11px}.attention-card.warn{border-color:#fbbf246b;background:var(--amber-soft);color:var(--amber)}.attention-card.bad{border-color:#fb923c6b;background:var(--red-soft);color:var(--red)}.attention-card strong,.attention-card span{display:block}.attention-card strong{font-size:.86rem}.attention-card span{margin-top:2px;font-size:.78rem;overflow-wrap:anywhere}.action-verification{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(0,2fr) auto;align-items:center;gap:14px;border:1px solid rgba(134,239,172,.44);border-radius:8px;background:var(--green-soft);color:var(--green);padding:12px}.action-verification-main{display:flex;align-items:center;gap:10px;min-width:0}.action-verification-main strong,.action-verification-main span{display:block}.action-verification-main span{margin-top:2px;color:#bbf7d0;font-size:.82rem;overflow-wrap:anywhere}.action-verification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.action-verification-grid div{min-width:0}.action-verification-grid dt{color:#bbf7d0;font-size:.68rem;font-weight:800;text-transform:uppercase}.action-verification-grid dd{margin:3px 0 0;color:#f0fdf4;font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.json-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.json-card pre{max-height:220px;margin:8px 0 0;overflow:auto;color:#cbd5e1;font-size:.75rem;white-space:pre-wrap}.capability-list div{display:grid;gap:3px}.capability-list span{color:var(--muted);font-size:.82rem}.table-wrap{overflow-x:auto}.table-controls,.filters-row,.pagination-bar,.pager-row{display:flex;align-items:end;justify-content:space-between;gap:12px}.table-controls,.filters-row{flex-wrap:wrap;margin-bottom:14px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:12px}.saved-filter-panel{padding:12px}.filter-presets-row{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.filter-preset-status{margin-top:10px;font-size:.82rem;line-height:1.4}.filter-preset-status.info{color:#93c5fd}.filter-preset-status.ok{color:#86efac}.filter-preset-status.warn{color:#fbbf24}.table-controls label,.filters-row label,.filter-presets-row label{display:grid;min-width:150px;gap:6px}.table-controls label span,.filters-row label span,.filter-presets-row label span,.table-summary span{color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.table-controls input,.table-controls select,.filters-row input,.filters-row select,.filter-presets-row input,.filter-presets-row select{min-height:36px;border:1px solid var(--border-strong);border-radius:6px;background:#0f172a;color:var(--ink);outline:none;padding:0 10px}.table-controls input:focus,.table-controls select:focus,.filters-row input:focus,.filters-row select:focus,.filter-presets-row input:focus,.filter-presets-row select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.table-count{margin-left:auto;color:var(--muted);font-size:.86rem;font-weight:700}.mini-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}.table-summary{display:grid;min-width:90px;gap:3px;margin-left:auto;text-align:right}.table-summary strong{font-size:1.1rem}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.export-actions{margin-left:auto}.table-action{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid var(--border);border-radius:8px;background:#0f172a;color:var(--ink);padding:0 10px;white-space:nowrap}.table-action:hover{border-color:var(--blue);color:var(--blue)}.table-action:disabled{cursor:not-allowed;opacity:.55}.table-action.danger{border-color:#fb923c6b;color:var(--red)}.table-action.danger:hover{background:var(--red-soft)}table{width:100%;border-collapse:collapse;min-width:720px}th,td{border-bottom:1px solid var(--border);padding:12px 10px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:.75rem;text-transform:uppercase}td{color:var(--ink);font-size:.9rem}.selection-cell{width:42px;text-align:center}.selection-cell input{width:16px;height:16px;accent-color:var(--blue)}.muted-line{display:block;max-width:420px;color:var(--muted);font-size:.78rem;line-height:1.35}.empty-table{color:var(--muted);text-align:center}.pagination-bar,.pager-row{align-items:center;margin-top:14px;color:var(--muted);font-size:.86rem}.pager-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid var(--border);border-radius:8px;background:#0f172a;color:var(--ink);padding:0 10px}.pager-button:not(:disabled):hover{border-color:var(--blue);color:var(--blue)}.detail-drawer{display:grid;gap:14px;margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:16px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-grid div{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:12px}.detail-grid span{display:block;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.detail-grid strong{display:block;overflow-wrap:anywhere;margin-top:6px;color:var(--ink);font-size:.92rem}.detail-section{display:grid;gap:12px;margin-top:8px}.panel-header.compact{margin-bottom:0}.chat-transcript{display:grid;gap:10px}.chat-message{display:grid;gap:8px;max-width:min(860px,100%);border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);padding:12px}.chat-message.user{justify-self:end;border-color:#3b82f65c;background:#2563eb24}.chat-message.assistant{justify-self:start;border-color:#14b8a652;background:#0f766e24}.chat-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.76rem}.chat-message-meta strong{color:var(--ink);font-size:.78rem;text-transform:uppercase}.chat-message p{margin:0;color:var(--ink);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.boundary-list{display:grid;gap:10px}.boundary-list span,.boundary-list strong{display:block}.boundary-list strong{color:var(--blue)}.notes-list{margin:0;padding:0;list-style:none}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#020617b8;padding:18px}.modal-panel{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 24px 60px #02061780;padding:20px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.modal-header h2{margin:0;letter-spacing:0}.modal-copy{margin:14px 0;color:var(--muted);line-height:1.55}.form-field{display:grid;gap:7px;margin-top:12px}.form-field span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--border-strong);border-radius:8px;background:#0f172a;color:var(--ink);outline:none;padding:10px 11px}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.modal-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkbox-field{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--ink);font-size:.9rem;font-weight:700}.checkbox-field input{width:18px;height:18px;accent-color:var(--blue)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.secondary-action,.danger-action{min-height:38px;border-radius:8px;padding:0 14px}.secondary-action{border:1px solid var(--border);background:#0f172a;color:var(--ink)}.danger-action{border:1px solid var(--red);background:var(--red);color:#fff;font-weight:800}@media(max-width:1120px){.metric-grid,.page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static;width:auto;height:auto;min-height:0;overflow:visible}.sidebar-nav{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-right:0}.content-shell{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.metric-grid,.page-grid,.json-grid,.detail-grid,.action-verification,.modal-field-grid,.mini-stat-row,.action-verification-grid{grid-template-columns:1fr}}@media(max-width:560px){.sidebar-nav,.topbar-actions{grid-template-columns:1fr;width:100%}.service-health{flex:1}.table-controls,.filters-row,.filter-presets-row,.pagination-bar,.pager-row{align-items:stretch;flex-direction:column}.table-count{margin-left:0}.table-summary{margin-left:0;text-align:left}.backend-row{align-items:flex-start;flex-direction:column}}
