:root { font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:#dce5f2; background:#09111f; font-synthesis:none; --admin-bg:#09111f; --admin-panel:#111c2e; --admin-soft:#172338; --admin-border:rgba(148,163,184,.14); --admin-muted:#7f8ca3; --admin-blue:#4f8cff; --admin-violet:#8b6df6; }
* { box-sizing:border-box; } body { margin:0; min-width:320px; min-height:100vh; background:var(--admin-bg); } button,input,select { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; } a { color:inherit; text-decoration:none; } button { color:inherit; }
.admin-shell { min-height:100vh; padding-left:248px; background:radial-gradient(circle at 80% 0,rgba(79,140,255,.05),transparent 28%),#09111f; transition:.22s; }.admin-shell.collapsed { padding-left:82px; }
.admin-mutation-toast { position:fixed; z-index:1200; top:18px; right:18px; max-width:min(390px,calc(100vw - 36px)); padding:12px 14px; display:flex; align-items:center; gap:9px; border:1px solid; border-radius:10px; box-shadow:0 16px 45px rgba(0,0,0,.32); backdrop-filter:blur(14px); font-size:11px; line-height:1.55; }.admin-mutation-toast svg { flex:none; }.admin-mutation-toast span { flex:1; }.admin-mutation-toast button { padding:3px; border:0; color:inherit; background:transparent; cursor:pointer; }.admin-mutation-toast.success { color:#86e4b6; border-color:rgba(52,211,153,.3); background:rgba(10,35,29,.95); }.admin-mutation-toast.error { color:#f7a0ad; border-color:rgba(244,63,94,.3); background:rgba(45,17,25,.95); }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:40; width:248px; padding:0 14px 16px; display:flex; flex-direction:column; border-right:1px solid var(--admin-border); background:#0d1728; transition:.22s; }.collapsed .admin-sidebar { width:82px; }
.admin-brand { height:78px; padding:0 10px; display:flex; align-items:center; gap:11px; border-bottom:1px solid var(--admin-border); }.admin-brand > span { width:40px; height:40px; flex:none; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:18px; font-weight:800; background:linear-gradient(135deg,#4f8cff,#8b6df6); box-shadow:0 8px 24px rgba(79,140,255,.25); }.admin-brand div { overflow:hidden; }.admin-brand strong,.admin-brand small { display:block; white-space:nowrap; }.admin-brand strong { color:#fff; font-size:19px; }.admin-brand small { margin-top:2px; color:#6f7e96; font-size:10px; letter-spacing:.12em; }.collapsed .admin-brand div { display:none; }
.admin-sidebar nav { padding-top:18px; display:flex; flex-direction:column; gap:5px; }.admin-sidebar nav a,.sidebar-bottom a,.sidebar-bottom button { min-height:44px; padding:0 13px; display:flex; align-items:center; gap:12px; border:0; border-radius:9px; background:transparent; color:#8391a8; white-space:nowrap; cursor:pointer; }.admin-sidebar nav a svg,.sidebar-bottom svg { width:19px; height:19px; flex:none; }.admin-sidebar nav a:hover,.sidebar-bottom a:hover { color:#e2e8f0; background:rgba(255,255,255,.045); }.admin-sidebar nav a.active { color:#fff; background:linear-gradient(90deg,rgba(79,140,255,.24),rgba(79,140,255,.08)); box-shadow:inset 3px 0 #4f8cff; }.collapsed .admin-sidebar nav a,.collapsed .sidebar-bottom a,.collapsed .sidebar-bottom button { justify-content:center; padding:0; }.collapsed .admin-sidebar nav span,.collapsed .sidebar-bottom span { display:none; }
.sidebar-bottom { margin-top:auto; padding-top:14px; border-top:1px solid var(--admin-border); }.sidebar-bottom button { width:100%; margin-top:4px; color:#f08b9a; }.collapse-button { position:absolute; top:91px; right:-13px; width:26px; height:26px; display:grid; place-items:center; border:1px solid var(--admin-border); border-radius:50%; background:#172338; color:#8290a6; cursor:pointer; }.mobile-close,.mobile-menu,.sidebar-mask { display:none; }
.admin-main { min-width:0; }.admin-topbar { height:78px; padding:0 30px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--admin-border); background:rgba(9,17,31,.84); backdrop-filter:blur(16px); position:sticky; top:0; z-index:20; }.admin-topbar > div:first-of-type span { color:#65748c; font-size:10px; letter-spacing:.12em; }.admin-topbar h1 { margin:3px 0 0; color:#fff; font-size:20px; }.admin-profile { display:flex; align-items:center; gap:10px; }.admin-profile > span { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(79,140,255,.2); border-radius:10px; color:#7ba7ff; background:rgba(79,140,255,.1); }.admin-profile strong,.admin-profile small { display:block; }.admin-profile strong { color:#dfe7f3; font-size:12px; }.admin-profile small { margin-top:3px; color:#66758c; font-size:10px; }
.admin-content { width:min(1440px,100%); margin:auto; padding:28px 30px 50px; }.admin-page { min-width:0; }.page-intro { min-height:62px; margin-bottom:22px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.page-intro h2 { margin:0 0 6px; color:#fff; font-size:24px; letter-spacing:-.03em; }.page-intro p { margin:0; color:#7e8ba1; font-size:13px; }.page-count,.live-status,.saved-hint { padding:9px 12px; display:inline-flex; align-items:center; gap:7px; border:1px solid var(--admin-border); border-radius:9px; color:#91a0b7; background:rgba(255,255,255,.025); font-size:11px; }.live-status { color:#70d6a8; border-color:rgba(52,211,153,.15); background:rgba(52,211,153,.06); }.live-status i { width:7px; height:7px; border-radius:50%; background:#34d399; box-shadow:0 0 0 4px rgba(52,211,153,.1); }.saved-hint { color:#70d6a8; }
.admin-kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.admin-kpi-grid article { min-height:130px; padding:20px; display:flex; align-items:flex-start; gap:16px; border:1px solid var(--admin-border); border-radius:14px; background:linear-gradient(145deg,rgba(23,35,56,.88),rgba(15,25,43,.88)); box-shadow:0 12px 35px rgba(0,0,0,.08); }.kpi-icon { width:44px; height:44px; display:grid; place-items:center; flex:none; border-radius:11px; font-size:20px; }.kpi-icon.blue { color:#7ba7ff; background:rgba(79,140,255,.13); }.kpi-icon.violet { color:#b6a1ff; background:rgba(139,109,246,.13); }.kpi-icon.green { color:#63d6a1; background:rgba(52,211,153,.11); }.kpi-icon.orange { color:#f4b66d; background:rgba(249,115,22,.11); }.admin-kpi-grid small { color:#7b899f; font-size:11px; }.admin-kpi-grid strong { display:block; margin:6px 0 4px; color:#fff; font-size:28px; line-height:1; }.admin-kpi-grid p { margin:0; color:#69778e; font-size:10px; }
.dashboard-grid { margin-top:18px; display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }.admin-panel { min-width:0; border:1px solid var(--admin-border); border-radius:14px; background:rgba(17,28,46,.84); }.admin-panel > header { min-height:70px; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--admin-border); }.admin-panel header h3 { margin:0 0 4px; color:#e8eef7; font-size:15px; }.admin-panel header p { margin:0; color:#66748b; font-size:10px; }.admin-panel header a { display:inline-flex; align-items:center; gap:5px; color:#6f9df9; font-size:11px; }
.module-bars { padding:20px; display:flex; flex-direction:column; gap:15px; }.module-bars > div { display:grid; grid-template-columns:105px 1fr 28px; align-items:center; gap:12px; }.module-bars span { color:#a4afbf; font-size:11px; }.module-bars > div > div { height:7px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.055); }.module-bars i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#4f8cff,#8b6df6); }.module-bars b { color:#d5deeb; font-size:11px; text-align:right; }
.recent-log-list { padding:7px 20px 12px; }.recent-log-list article { min-height:58px; display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:10px; border-bottom:1px solid rgba(148,163,184,.08); }.recent-log-list article:last-child { border:0; }.log-dot { width:29px; height:29px; display:grid; place-items:center; border-radius:8px; color:#7ba7ff; background:rgba(79,140,255,.1); }.log-dot.警告 { color:#fbbf6b; background:rgba(245,158,11,.1); }.log-dot.风险 { color:#fb8799; background:rgba(244,63,94,.1); }.recent-log-list strong { color:#d7dfeb; font-size:11px; }.recent-log-list p { margin:3px 0 0; max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#637188; font-size:9px; }.recent-log-list time { color:#58667c; font-size:9px; }
.architecture-note { margin-top:18px; padding:20px 22px; display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:15px; border:1px solid rgba(79,140,255,.17); border-radius:14px; background:linear-gradient(100deg,rgba(79,140,255,.09),rgba(139,109,246,.05)); }.architecture-note > svg { width:42px; height:42px; padding:10px; border-radius:10px; color:#7ba7ff; background:rgba(79,140,255,.12); }.architecture-note h3 { margin:0 0 5px; color:#dce6f5; font-size:14px; }.architecture-note p { margin:0; color:#718097; font-size:11px; line-height:1.6; }.architecture-note code { padding:9px 11px; border-radius:8px; color:#91b4ff; background:rgba(2,6,23,.35); font-size:9px; }
.table-panel { overflow:hidden; }.table-toolbar { padding:14px 18px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--admin-border); }.admin-search { min-width:280px; min-height:39px; padding:0 12px; display:flex; align-items:center; gap:8px; border:1px solid var(--admin-border); border-radius:9px; background:rgba(9,17,31,.56); }.admin-search svg { color:#5f6e84; }.admin-search input { width:100%; border:0; outline:0; background:transparent; color:#e2e8f0; font-size:11px; }.filter-tabs { display:flex; gap:6px; flex-wrap:wrap; }.filter-tabs button { min-height:34px; padding:0 12px; border:1px solid transparent; border-radius:8px; background:transparent; color:#718097; font-size:10px; cursor:pointer; }.filter-tabs button:hover { color:#cbd5e1; background:rgba(255,255,255,.035); }.filter-tabs button.active { color:#fff; border-color:rgba(79,140,255,.22); background:rgba(79,140,255,.13); }.filter-tabs small { margin-left:5px; padding:1px 5px; border-radius:99px; background:rgba(255,255,255,.06); }
.admin-table-wrap { overflow:auto; }.admin-table { width:100%; border-collapse:collapse; min-width:780px; }.admin-table th { height:42px; padding:0 16px; color:#5e6d84; font-size:9px; font-weight:650; letter-spacing:.07em; text-align:left; background:rgba(9,17,31,.28); }.admin-table td { height:67px; padding:10px 16px; color:#91a0b5; font-size:11px; border-top:1px solid rgba(148,163,184,.08); }.admin-table tbody tr:hover { background:rgba(255,255,255,.018); }.user-cell { display:flex; align-items:center; gap:10px; }.user-cell > span { width:34px; height:34px; display:grid; place-items:center; flex:none; border-radius:9px; color:#c8d9ff; background:linear-gradient(135deg,rgba(79,140,255,.45),rgba(139,109,246,.45)); }.user-cell strong,.user-cell small { display:block; }.user-cell strong { color:#dce4ef; font-size:11px; }.user-cell small { margin-top:3px; color:#637188; font-size:9px; }.admin-table select { min-width:116px; padding:7px 9px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#aab6c8; background:#142036; font-size:10px; }.status-pill { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:99px; font-size:9px; white-space:nowrap; }.status-pill.success { color:#67d7a2; background:rgba(52,211,153,.1); }.status-pill.warning { color:#f2b861; background:rgba(245,158,11,.1); }.status-pill.disabled { color:#8995a8; background:rgba(148,163,184,.1); }.table-danger,.table-success { padding:6px 9px; display:inline-flex; align-items:center; gap:5px; border:0; border-radius:7px; cursor:pointer; font-size:9px; }.table-danger { color:#f18b9b; background:rgba(244,63,94,.08); }.table-success { color:#69d5a1; background:rgba(52,211,153,.08); }.table-empty { min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#59677d; }.table-empty > svg { font-size:40px; }.table-empty h3 { margin:12px 0 6px; color:#a8b3c3; }.table-empty p { margin:0; color:#5f6d83; font-size:11px; }
.file-toolbar { align-items:flex-start; }.file-name-cell { max-width:390px; display:flex; align-items:center; gap:11px; }.file-name-cell > span { width:42px; height:36px; flex:none; overflow:hidden; border-radius:7px; }.file-name-cell img { width:100%; height:100%; object-fit:cover; }.file-name-cell strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#dce4ef; }.admin-file-icon { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; color:#7ba7ff; background:#172338; }.admin-file-icon span { font-size:6px; color:#64748b; }.type-pill { padding:5px 8px; border-radius:6px; color:#91aef2; background:rgba(79,140,255,.09); font-size:9px; }.row-actions { display:flex; gap:5px; }.row-actions button,.row-actions a { width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:7px; background:rgba(255,255,255,.035); color:#7f8da2; cursor:pointer; }.row-actions button:hover,.row-actions a:hover { color:#fff; background:rgba(79,140,255,.16); }.row-actions .delete:hover { color:#fb8799; background:rgba(244,63,94,.11); }
.row-actions button:disabled { opacity:.32; cursor:not-allowed; }.row-actions button:disabled:hover { color:#7f8da2; background:rgba(255,255,255,.035); }
.admin-modal-backdrop { position:fixed; inset:0; z-index:100; padding:20px; display:grid; place-items:center; background:rgba(2,6,23,.75); backdrop-filter:blur(9px); }.admin-compact-modal,.admin-preview-modal { width:min(480px,100%); overflow:hidden; border:1px solid rgba(148,163,184,.18); border-radius:15px; background:#111c2e; box-shadow:0 25px 80px rgba(0,0,0,.5); }.admin-preview-modal { width:min(900px,100%); }.admin-compact-modal header,.admin-preview-modal header { min-height:68px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--admin-border); }.admin-compact-modal h3,.admin-preview-modal h3 { margin:0 0 4px; color:#fff; font-size:16px; }.admin-compact-modal header p,.admin-preview-modal header p { margin:0; color:#66758b; font-size:10px; }.admin-compact-modal header button,.admin-preview-modal header button { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--admin-border); border-radius:8px; background:rgba(255,255,255,.03); color:#8190a6; cursor:pointer; }.admin-compact-modal > label { margin:20px 18px; display:block; color:#a7b2c2; font-size:11px; }.admin-compact-modal > label input { width:100%; margin-top:7px; padding:11px; border:1px solid var(--admin-border); border-radius:8px; outline:0; color:#e2e8f0; background:#0b1424; }.admin-compact-modal footer { min-height:66px; padding:13px 18px; display:flex; justify-content:flex-end; gap:8px; border-top:1px solid var(--admin-border); }.admin-compact-modal footer button { min-height:36px; padding:0 14px; border:1px solid var(--admin-border); border-radius:8px; background:rgba(255,255,255,.035); color:#8e9cb1; cursor:pointer; }.admin-compact-modal footer .primary { color:#fff; border-color:#4f8cff; background:#4f8cff; }.admin-compact-modal footer .danger-button { display:flex; align-items:center; gap:6px; color:#fff; border-color:#e4475e; background:#d83f57; }.admin-compact-modal.danger { border-color:rgba(244,63,94,.28); }.admin-delete-summary { margin:20px 18px; padding:11px; display:flex; align-items:center; gap:11px; border:1px solid rgba(244,63,94,.14); border-radius:9px; background:rgba(244,63,94,.055); }.admin-delete-summary > span { width:48px; height:42px; overflow:hidden; flex:none; border-radius:7px; }.admin-delete-summary img { width:100%; height:100%; object-fit:cover; }.admin-delete-summary strong,.admin-delete-summary small { display:block; }.admin-delete-summary strong { color:#e8edf5; word-break:break-all; }.admin-delete-summary small { margin-top:4px; color:#7c8a9f; }
.admin-preview-stage { min-height:440px; max-height:70vh; padding:22px; overflow:auto; display:grid; place-items:center; background:#07101d; }.admin-preview-stage > img,.admin-preview-stage > video { max-width:100%; max-height:62vh; border-radius:8px; }.admin-preview-stage > audio { width:min(520px,100%); }.admin-preview-stage > iframe { width:100%; height:62vh; border:0; border-radius:8px; background:#fff; }.admin-preview-stage pre { width:100%; min-height:390px; margin:0; padding:18px; white-space:pre-wrap; word-break:break-word; color:#bac6d7; line-height:1.6; border:1px solid var(--admin-border); border-radius:9px; background:#0d1728; }.admin-preview-stage > div { text-align:center; color:#66758c; }.admin-preview-stage > div > svg { font-size:48px; color:#709df6; }.admin-preview-stage > div h3 { margin:12px 0 6px; }.admin-preview-stage > div p { margin:0; }
.module-admin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.module-admin-grid article { padding:19px; border:1px solid var(--admin-border); border-radius:14px; background:linear-gradient(145deg,rgba(23,35,56,.88),rgba(15,25,43,.88)); }.module-admin-grid article > header { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:10px; }.module-admin-grid article > header > span:first-child { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; color:#7ba7ff; background:rgba(79,140,255,.11); }.module-admin-grid header small { color:#637188; font-size:8px; }.module-admin-grid h3 { margin:3px 0 0; color:#e0e7f1; font-size:14px; }.module-admin-grid article > p { min-height:38px; margin:17px 0; color:#718097; font-size:10px; line-height:1.65; }.module-admin-stats { padding:13px; display:grid; grid-template-columns:1fr 1fr; gap:10px; border-radius:9px; background:rgba(9,17,31,.46); }.module-admin-stats span + span { padding-left:12px; border-left:1px solid var(--admin-border); }.module-admin-stats small,.module-admin-stats strong { display:block; }.module-admin-stats small { color:#5f6d83; font-size:8px; }.module-admin-stats strong { margin-top:4px; color:#dce5f2; font-size:18px; }.module-admin-grid article > footer { margin-top:15px; display:flex; align-items:center; justify-content:space-between; gap:9px; }.module-admin-grid footer a { display:inline-flex; align-items:center; gap:5px; color:#729ef6; font-size:10px; }.module-admin-grid footer select { padding:7px 9px; border:1px solid var(--admin-border); border-radius:7px; color:#a5b1c3; background:#142036; font-size:9px; }
.log-level { padding:5px 8px; border-radius:6px; font-size:9px; }.log-level.信息 { color:#79a6ff; background:rgba(79,140,255,.1); }.log-level.警告 { color:#f2bc6b; background:rgba(245,158,11,.1); }.log-level.风险 { color:#f68a9c; background:rgba(244,63,94,.1); }.log-table td:nth-child(4) { max-width:300px; }.log-table td:nth-child(5) { color:#718097; }
.settings-form { display:flex; flex-direction:column; gap:16px; }.settings-section > header { justify-content:flex-start; }.settings-section > header > span { width:39px; height:39px; display:grid; place-items:center; flex:none; border-radius:9px; color:#7ba7ff; background:rgba(79,140,255,.1); }.settings-grid { padding:20px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }.settings-grid label { color:#a8b4c4; font-size:11px; }.settings-grid label.full { grid-column:1/-1; }.settings-grid input,.settings-grid select { width:100%; margin-top:7px; padding:11px 12px; border:1px solid var(--admin-border); border-radius:8px; outline:0; color:#dce5f1; background:#0b1424; }.settings-grid input:focus,.settings-grid select:focus { border-color:#4f8cff; box-shadow:0 0 0 3px rgba(79,140,255,.09); }.settings-grid small { display:block; margin-top:6px; color:#5f6d83; font-size:9px; }.switch-list { padding:7px 20px 18px; }.setting-switch { min-height:65px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid rgba(148,163,184,.08); cursor:pointer; }.setting-switch strong,.setting-switch small { display:block; }.setting-switch strong { color:#d3dce8; font-size:11px; }.setting-switch small { margin-top:4px; color:#65738a; font-size:9px; }.setting-switch input { display:none; }.setting-switch > span { width:42px; height:23px; position:relative; flex:none; border-radius:99px; background:#26344a; transition:.18s; }.setting-switch > span::after { content:''; position:absolute; top:3px; left:3px; width:17px; height:17px; border-radius:50%; background:#8390a3; transition:.18s; }.setting-switch input:checked + span { background:#3f7ce9; }.setting-switch input:checked + span::after { left:22px; background:#fff; }.setting-switch.danger input:checked + span { background:#d83f57; }.save-settings { align-self:flex-start; min-height:42px; padding:0 18px; display:flex; align-items:center; gap:7px; border:0; border-radius:9px; background:linear-gradient(135deg,#4f8cff,#7068ef); color:#fff; cursor:pointer; box-shadow:0 9px 25px rgba(79,140,255,.2); }.admin-loading { min-height:400px; display:grid; place-items:center; color:#718097; }
.settings-feedback { margin:-5px 0 16px; padding:12px 14px; display:flex; align-items:flex-start; gap:9px; border:1px solid; border-radius:10px; font-size:11px; line-height:1.6; }.settings-feedback svg { flex:none; margin-top:2px; }.settings-feedback.success { color:#86e4b6; border-color:rgba(52,211,153,.22); background:rgba(52,211,153,.08); }.settings-feedback.error { color:#f7a0ad; border-color:rgba(244,63,94,.22); background:rgba(244,63,94,.08); }.file-policy-card { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.file-policy-card > div { min-height:105px; padding:14px; border:1px solid rgba(148,163,184,.1); border-radius:9px; background:rgba(8,17,31,.52); }.file-policy-card span,.file-policy-card strong,.file-policy-card small { display:block; }.file-policy-card span { color:#77869b; font-size:9px; }.file-policy-card strong { margin-top:8px; color:#dbe8fb; font-size:16px; }.file-policy-card small { margin-top:7px; line-height:1.5; }.settings-policy-warning { padding:12px 14px; display:flex; align-items:flex-start; gap:9px; border:1px solid rgba(245,158,11,.18); border-radius:9px; color:#d9aa61; background:rgba(245,158,11,.06); font-size:10px; line-height:1.65; }.settings-policy-warning svg { flex:none; margin-top:2px; }.save-settings:disabled { cursor:wait; opacity:.68; box-shadow:none; }
.settings-grid input[aria-invalid="true"] { border-color:rgba(244,63,94,.65); box-shadow:0 0 0 3px rgba(244,63,94,.08); }
.smtp-runtime-card { padding:16px; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:18px; border:1px solid rgba(148,163,184,.12); border-radius:10px; background:rgba(8,17,31,.52); }.smtp-runtime-card strong { display:block; margin:9px 0 6px; color:#dbe8fb; font-size:14px; }.smtp-runtime-card p { margin:0; color:#718097; font-size:10px; line-height:1.6; }.smtp-status { display:inline-flex; padding:5px 8px; border-radius:99px; font-size:9px; }.smtp-status.ready { color:#67d7a2; background:rgba(52,211,153,.1); }.smtp-status.missing { color:#f1b967; background:rgba(245,158,11,.09); }.smtp-runtime-card dl { margin:0; display:grid; gap:8px; }.smtp-runtime-card dl > div { padding:9px 11px; border-radius:8px; background:rgba(15,25,43,.76); }.smtp-runtime-card dt { color:#64748b; font-size:8px; }.smtp-runtime-card dd { margin:4px 0 0; color:#aab8cc; font-size:9px; word-break:break-word; }.settings-policy-warning code { color:#f4c477; }
.scan-health-header button { margin-left:auto; min-height:34px; padding:0 11px; display:flex; align-items:center; gap:6px; border:1px solid rgba(79,140,255,.18); border-radius:8px; color:#8eb5ff; background:rgba(79,140,255,.07); cursor:pointer; }.scan-health-header button:disabled { opacity:.55; cursor:wait; }.scan-health-summary { padding:14px 16px; display:flex; align-items:center; gap:14px; border:1px solid rgba(148,163,184,.11); border-radius:10px; background:rgba(8,17,31,.52); }.scan-health-summary strong { display:block; color:#dbe8fb; font-size:12px; }.scan-health-summary p { margin:5px 0 0; color:#718097; font-size:9px; }.scan-health-status { flex:none; padding:6px 9px; border-radius:99px; font-size:9px; }.scan-health-status.healthy { color:#67d7a2; background:rgba(52,211,153,.1); }.scan-health-status.degraded { color:#f1b967; background:rgba(245,158,11,.1); }.scan-health-status.offline { color:#f58a9c; background:rgba(244,63,94,.1); }.scan-metric-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.scan-alert-list { display:grid; gap:8px; }.scan-alert-list > div { padding:10px 12px; display:flex; align-items:flex-start; gap:8px; border:1px solid rgba(245,158,11,.18); border-radius:8px; color:#d9aa61; background:rgba(245,158,11,.06); font-size:10px; }.scan-alert-list svg { flex:none; margin-top:1px; }
.vector-health-columns { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:12px; }.vector-worker-list,.vector-failure-list { min-width:0; overflow:hidden; border:1px solid rgba(148,163,184,.11); border-radius:10px; background:rgba(8,17,31,.52); }.vector-worker-list > header,.vector-failure-list > header { padding:12px 14px; border-bottom:1px solid rgba(148,163,184,.09); }.vector-worker-list header strong,.vector-worker-list header small,.vector-failure-list header strong,.vector-failure-list header small { display:block; }.vector-worker-list header strong,.vector-failure-list header strong { color:#dbe8fb; font-size:10px; }.vector-worker-list header small,.vector-failure-list header small { margin-top:4px; color:#627087; font-size:8px; }.vector-worker-list article,.vector-failure-list article { min-height:64px; padding:11px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(148,163,184,.07); }.vector-worker-list article:last-child,.vector-failure-list article:last-child { border-bottom:0; }.vector-worker-list article strong,.vector-worker-list article small { display:block; }.vector-worker-list article strong { max-width:240px; overflow:hidden; text-overflow:ellipsis; color:#cfd9e6; font-size:9px; white-space:nowrap; }.vector-worker-list article small { margin-top:4px; color:#5f6d83; font-size:8px; }.vector-worker-list article > span { flex:none; padding:5px 7px; border-radius:6px; color:#8794a7; background:rgba(148,163,184,.08); font-size:8px; }.vector-worker-list article > span.active { color:#69d6a3; background:rgba(52,211,153,.09); }.vector-worker-list article > span.danger { color:#f58a9c; background:rgba(244,63,94,.09); }.vector-failure-copy { min-width:0; }.vector-failure-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; color:#d8e1ed; font-size:10px; white-space:nowrap; }.vector-failure-copy p { margin:5px 0 0; color:#8592a5; font-size:8px; line-height:1.5; }.vector-failure-copy small { display:block; margin-top:5px; color:#58667c; font-size:7px; }.vector-failure-list article > button { min-height:31px; padding:0 9px; display:flex; align-items:center; gap:5px; flex:none; border:1px solid rgba(79,140,255,.18); border-radius:7px; color:#8eb5ff; background:rgba(79,140,255,.07); cursor:pointer; font-size:8px; }.vector-failure-list article > button:disabled { opacity:.5; cursor:wait; }.vector-empty-state { padding:20px 14px; color:#647288; font-size:9px; line-height:1.6; }
.admin-login-page { min-height:100vh; display:grid; grid-template-columns:1.1fr .9fr; background:#09111f; }.admin-login-brand { padding:8vw; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; background:radial-gradient(circle at 25% 35%,rgba(79,140,255,.18),transparent 32%),radial-gradient(circle at 75% 70%,rgba(139,109,246,.13),transparent 28%),#0d1728; }.admin-login-brand::after { content:''; position:absolute; width:420px; height:420px; right:-200px; top:-160px; border:1px solid rgba(79,140,255,.14); border-radius:50%; box-shadow:0 0 0 70px rgba(79,140,255,.025),0 0 0 140px rgba(139,109,246,.018); }.admin-login-logo { width:52px; height:52px; display:grid; place-items:center; border-radius:14px; color:#fff; font-size:22px; font-weight:800; background:linear-gradient(135deg,#4f8cff,#8b6df6); }.admin-login-brand > span { margin-top:24px; color:#78a3f7; font-size:11px; font-weight:700; letter-spacing:.14em; }.admin-login-brand h1 { max-width:560px; margin:13px 0 16px; color:#fff; font-size:45px; line-height:1.12; letter-spacing:-.045em; }.admin-login-brand p { max-width:600px; margin:0; color:#8391a7; line-height:1.85; font-size:14px; }.login-feature-list { margin-top:35px; display:flex; gap:12px; flex-wrap:wrap; }.login-feature-list span { padding:10px 12px; display:flex; align-items:center; gap:7px; border:1px solid rgba(148,163,184,.12); border-radius:9px; color:#9aa8ba; background:rgba(255,255,255,.025); font-size:10px; }.admin-login-panel { padding:40px; display:grid; place-items:center; }.admin-login-panel form { width:min(390px,100%); padding:34px; border:1px solid var(--admin-border); border-radius:18px; background:rgba(17,28,46,.88); box-shadow:0 25px 70px rgba(0,0,0,.18); }.login-card-icon { width:45px; height:45px; display:grid; place-items:center; border-radius:12px; color:#84adff; background:rgba(79,140,255,.12); }.admin-login-panel h2 { margin:18px 0 6px; color:#fff; font-size:24px; }.admin-login-panel form > p { margin:0 0 25px; color:#6f7e94; font-size:11px; }.admin-login-panel label { display:block; margin-top:16px; color:#a4b0c0; font-size:10px; }.admin-login-panel label > div { min-height:44px; margin-top:7px; padding:0 11px; display:flex; align-items:center; gap:9px; border:1px solid var(--admin-border); border-radius:9px; background:#0b1424; }.admin-login-panel label svg { color:#64748b; }.admin-login-panel input { width:100%; border:0; outline:0; color:#e2e8f0; background:transparent; }.admin-login-panel form > button { width:100%; min-height:44px; margin-top:22px; display:flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:9px; color:#fff; background:linear-gradient(135deg,#4f8cff,#7068ef); cursor:pointer; }.admin-login-panel form > small { display:block; margin-top:13px; color:#5f6d83; text-align:center; }.admin-form-error { margin-top:14px; padding:9px; border-radius:7px; color:#f795a4; background:rgba(244,63,94,.08); font-size:10px; }
@media (max-width:1100px) { .admin-kpi-grid { grid-template-columns:1fr 1fr; }.dashboard-grid { grid-template-columns:1fr; }.module-admin-grid { grid-template-columns:1fr 1fr; }.architecture-note { grid-template-columns:42px 1fr; }.architecture-note code { grid-column:2; }.admin-login-brand { padding:6vw; }.admin-login-brand h1 { font-size:37px; } }
@media (max-width:760px) { .admin-shell,.admin-shell.collapsed { padding-left:0; }.admin-sidebar,.collapsed .admin-sidebar { width:248px; transform:translateX(-105%); box-shadow:18px 0 50px rgba(0,0,0,.35); }.admin-sidebar.mobile-open { transform:none; }.admin-sidebar nav span,.collapsed .admin-sidebar nav span,.collapsed .sidebar-bottom span { display:block; }.admin-sidebar nav a,.collapsed .admin-sidebar nav a,.collapsed .sidebar-bottom a,.collapsed .sidebar-bottom button { justify-content:flex-start; padding:0 13px; }.collapse-button { display:none; }.mobile-close { margin-left:auto; width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:8px; background:rgba(255,255,255,.04); }.mobile-menu { width:36px; height:36px; display:grid; place-items:center; gap:9px; border:1px solid var(--admin-border); border-radius:8px; background:rgba(255,255,255,.035); }.sidebar-mask { display:block; position:fixed; inset:0; z-index:35; border:0; background:rgba(2,6,23,.65); }.admin-topbar { height:68px; padding:0 16px; justify-content:flex-start; }.admin-topbar > div:first-of-type { flex:1; }.admin-topbar h1 { font-size:17px; }.admin-profile div { display:none; }.admin-content { padding:20px 14px 40px; }.page-intro { align-items:flex-start; flex-direction:column; }.admin-kpi-grid,.module-admin-grid { grid-template-columns:1fr; }.table-toolbar,.file-toolbar { align-items:stretch; flex-direction:column; }.admin-search { min-width:0; }.settings-grid { grid-template-columns:1fr; }.settings-grid label.full { grid-column:auto; }.file-policy-card,.scan-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.scan-health-header { align-items:flex-start; flex-wrap:wrap; }.scan-health-header button { margin-left:53px; }.admin-login-page { grid-template-columns:1fr; }.admin-login-brand { min-height:360px; padding:45px 24px; }.admin-login-brand h1 { font-size:34px; }.admin-login-panel { padding:28px 16px 45px; }.architecture-note { grid-template-columns:1fr; }.architecture-note code { grid-column:auto; overflow:auto; }.module-bars > div { grid-template-columns:85px 1fr 25px; } }
@media (max-width:900px) { .vector-health-columns { grid-template-columns:1fr; } }
@media (max-width:440px) { .admin-kpi-grid { grid-template-columns:1fr; }.admin-login-panel form { padding:25px 20px; }.login-feature-list { flex-direction:column; }.admin-preview-stage { min-height:360px; padding:12px; }.filter-tabs button { flex:1; }.admin-modal-backdrop { padding:10px; } }
@media (max-width:700px) { .smtp-runtime-card { grid-template-columns:1fr; } }

/* API registry and AI integrations */
.api-doc-link { color:#8bb2ff; border-color:rgba(79,140,255,.2); background:rgba(79,140,255,.07); }
.api-summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }.api-summary-grid article { padding:17px; display:flex; align-items:center; gap:13px; border:1px solid var(--admin-border); border-radius:12px; background:rgba(17,28,46,.82); }.api-summary-grid article > span { width:39px; height:39px; display:grid; place-items:center; flex:none; border-radius:9px; color:#81aaff; background:rgba(79,140,255,.1); }.api-summary-grid small,.api-summary-grid strong,.api-summary-grid p { display:block; }.api-summary-grid small { color:#718097; font-size:9px; }.api-summary-grid strong { margin:3px 0; color:#fff; font-size:21px; }.api-summary-grid p { margin:0; color:#59687e; font-size:8px; }
.api-main-tabs { margin-bottom:14px; padding:5px; display:inline-flex; flex-wrap:wrap; gap:5px; border:1px solid var(--admin-border); border-radius:10px; background:rgba(17,28,46,.72); }.api-main-tabs button { min-height:35px; padding:0 13px; display:flex; align-items:center; gap:7px; border:0; border-radius:7px; color:#718097; background:transparent; cursor:pointer; font-size:10px; }.api-main-tabs button.active { color:#fff; background:rgba(79,140,255,.16); }
.api-toolbar { align-items:flex-start; flex-direction:column; }.api-toolbar .admin-search { width:min(480px,100%); }.api-table { min-width:1420px; }.api-table td { height:78px; vertical-align:middle; }.api-table td strong,.api-table td small { display:block; }.api-table td small { max-width:240px; margin-top:4px; color:#5e6d83; font-size:8px; line-height:1.45; }.api-table td code { display:block; max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#8ca7d8; font-size:8px; }.method-badge { min-width:45px; margin-bottom:5px; padding:4px 6px; display:inline-block; border-radius:5px; text-align:center; font-size:8px; font-weight:800; }.method-badge.get { color:#65d7a1; background:rgba(52,211,153,.1); }.method-badge.post { color:#7da8ff; background:rgba(79,140,255,.11); }.method-badge.put,.method-badge.patch { color:#f3bd6d; background:rgba(245,158,11,.1); }.method-badge.delete { color:#f58a9b; background:rgba(244,63,94,.1); }.api-status { padding:5px 7px; display:inline-flex; border-radius:6px; white-space:nowrap; font-size:8px; }.api-status.已接入,.api-status.可用 { color:#67d7a2; background:rgba(52,211,153,.1); }.api-status.已定义 { color:#7da8ff; background:rgba(79,140,255,.1); }.api-status.待开发,.api-status.未配置 { color:#f1b967; background:rgba(245,158,11,.09); }.api-status.已停用,.api-status.维护中 { color:#929daf; background:rgba(148,163,184,.1); }.api-edit-button { padding:6px 8px; display:flex; align-items:center; gap:5px; border:0; border-radius:6px; color:#80a8f8; background:rgba(79,140,255,.08); cursor:pointer; font-size:8px; }
.ai-integration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.ai-integration-grid article { padding:20px; border:1px solid var(--admin-border); border-radius:14px; background:linear-gradient(145deg,rgba(23,35,56,.9),rgba(15,25,43,.9)); }.ai-integration-grid article > header { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:11px; }.ai-integration-grid header > span { width:41px; height:41px; display:grid; place-items:center; border-radius:10px; color:#a995fb; background:rgba(139,109,246,.11); }.ai-integration-grid header small { color:#66758b; font-size:8px; }.ai-integration-grid header h3 { margin:3px 0 0; color:#e1e8f2; font-size:14px; }.mini-switch input { display:none; }.mini-switch i { width:39px; height:21px; display:block; position:relative; border-radius:99px; background:#27354b; cursor:pointer; }.mini-switch i::after { content:''; position:absolute; top:3px; left:3px; width:15px; height:15px; border-radius:50%; background:#7f8ca0; transition:.17s; }.mini-switch input:checked + i { background:#3f7ce9; }.mini-switch input:checked + i::after { left:21px; background:#fff; }.ai-status-row { margin:16px 0 13px; display:flex; align-items:center; justify-content:space-between; gap:12px; }.ai-status-row > span:last-child { color:#69778d; font-size:8px; text-align:right; }.ai-integration-grid article > label { display:block; margin-top:11px; color:#8290a5; font-size:9px; }.ai-integration-grid input { width:100%; margin-top:6px; padding:9px 10px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#cbd5e1; background:#0b1424; font-size:10px; }.ai-integration-grid input:focus { border-color:#4f8cff; }.secret-field { position:relative; }.secret-field svg { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:#66758b; }.secret-field input { padding-left:30px; }.ai-module-tags { margin-top:13px; display:flex; flex-wrap:wrap; gap:5px; }.ai-module-tags span { padding:4px 7px; border-radius:5px; color:#91aef2; background:rgba(79,140,255,.08); font-size:7px; }.ai-integration-grid article > p { min-height:32px; margin:13px 0; color:#637188; font-size:8px; line-height:1.55; }.ai-integration-grid footer { padding-top:13px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--admin-border); }.ai-integration-grid footer small { color:#526077; font-size:7px; }.ai-integration-grid footer button { min-height:32px; padding:0 10px; display:flex; align-items:center; gap:5px; border:0; border-radius:7px; color:#fff; background:#3f7ce9; cursor:pointer; font-size:8px; }
.api-editor-modal { width:min(720px,100%); max-height:calc(100vh - 40px); overflow:auto; border:1px solid rgba(148,163,184,.18); border-radius:15px; background:#111c2e; box-shadow:0 25px 80px rgba(0,0,0,.5); }.api-editor-modal > header { min-height:68px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--admin-border); }.api-editor-modal h3 { margin:0 0 4px; color:#fff; font-size:16px; }.api-editor-modal header p { margin:0; color:#66758b; font-size:9px; }.api-editor-modal header button { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--admin-border); border-radius:8px; background:rgba(255,255,255,.03); color:#8190a6; cursor:pointer; }.api-editor-grid { padding:18px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }.api-editor-grid label { color:#96a4b7; font-size:9px; }.api-editor-grid label.full { grid-column:1/-1; }.api-editor-grid input,.api-editor-grid select,.api-editor-grid textarea { width:100%; margin-top:6px; padding:10px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#d7e0ec; background:#0b1424; font-size:10px; }.api-editor-grid textarea { min-height:74px; resize:vertical; }.api-editor-modal > footer { min-height:64px; padding:12px 18px; display:flex; justify-content:flex-end; gap:8px; border-top:1px solid var(--admin-border); }.api-editor-modal > footer button { min-height:36px; padding:0 13px; display:flex; align-items:center; gap:6px; border:1px solid var(--admin-border); border-radius:8px; color:#8290a5; background:rgba(255,255,255,.035); cursor:pointer; }.api-editor-modal > footer button.primary { color:#fff; border-color:#4f8cff; background:#4f8cff; }
@media (max-width:1050px) { .api-summary-grid { grid-template-columns:1fr 1fr; }.ai-integration-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .api-summary-grid { grid-template-columns:1fr; }.api-editor-grid { grid-template-columns:1fr; }.api-editor-grid label.full { grid-column:auto; }.ai-integration-grid footer { align-items:stretch; flex-direction:column; }.ai-integration-grid footer button { justify-content:center; } }
.data-right-admin-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 16px; }.data-right-admin-summary article { min-width:0; padding:15px 16px; border:1px solid var(--admin-border); border-radius:12px; background:rgba(17,28,46,.62); }.data-right-admin-summary span,.data-right-admin-summary small { display:block; color:#8290a5; font-size:10px; }.data-right-admin-summary strong { display:block; margin:5px 0 2px; color:#f8fafc; font-size:24px; line-height:1; }.data-right-admin-summary small { color:#66758b; }.data-right-admin-error { margin:0 18px 14px; padding:9px 11px; border:1px solid rgba(244,63,94,.25); border-radius:8px; color:#fda4af; background:rgba(244,63,94,.08); font-size:11px; line-height:1.5; }.api-editor-modal > footer button.danger-button { color:#fff; border-color:#d83f57; background:#b9364c; }
@media (max-width:600px) { .data-right-admin-summary { grid-template-columns:1fr; } }
@media (max-width:520px) { .file-policy-card { grid-template-columns:1fr; } }

/* Per-user AI quota policies */
.quota-summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }.quota-summary-grid article { padding:17px; display:flex; align-items:center; gap:13px; border:1px solid var(--admin-border); border-radius:12px; background:rgba(17,28,46,.82); }.quota-summary-grid article > span { width:39px; height:39px; display:grid; place-items:center; flex:none; border-radius:9px; color:#a995fb; background:rgba(139,109,246,.1); }.quota-summary-grid small,.quota-summary-grid strong,.quota-summary-grid p { display:block; }.quota-summary-grid small { color:#718097; font-size:9px; }.quota-summary-grid strong { margin:3px 0; color:#fff; font-size:21px; }.quota-summary-grid p { margin:0; color:#59687e; font-size:8px; }.quota-rule-note { padding:8px 10px; display:flex; align-items:center; gap:6px; border-radius:8px; color:#77d5a5; background:rgba(52,211,153,.07); font-size:9px; }.quota-table { min-width:1280px; }.quota-usage { min-width:120px; }.quota-usage > span { display:block; color:#718097; font-size:9px; }.quota-usage b { color:#dbe4f0; }.quota-usage > div { height:5px; margin-top:6px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.055); }.quota-usage i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#4f8cff,#8b6df6); }.quota-usage i.warning { background:linear-gradient(90deg,#f59e0b,#f97316); }.module-quota-list { max-width:170px; display:flex; flex-wrap:wrap; gap:4px; }.module-quota-list span { padding:4px 6px; border-radius:5px; color:#8fa9d9; background:rgba(79,140,255,.07); font-size:7px; }.quota-enforcement-note { margin-top:16px; padding:17px 20px; display:flex; align-items:flex-start; gap:12px; border:1px solid rgba(52,211,153,.14); border-radius:12px; background:rgba(52,211,153,.045); }.quota-enforcement-note > svg { width:36px; height:36px; padding:8px; flex:none; border-radius:9px; color:#66d6a1; background:rgba(52,211,153,.09); }.quota-enforcement-note h3 { margin:0 0 5px; color:#dbe7f1; font-size:12px; }.quota-enforcement-note p { margin:0; color:#6f7e94; font-size:9px; line-height:1.65; }.quota-enforcement-note code { padding:2px 5px; border-radius:4px; color:#8bb2ff; background:rgba(79,140,255,.08); }
.quota-editor-modal { width:min(650px,100%); max-height:calc(100vh - 40px); overflow:auto; border:1px solid rgba(148,163,184,.18); border-radius:15px; background:#111c2e; box-shadow:0 25px 80px rgba(0,0,0,.5); }.quota-editor-modal > header { min-height:68px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--admin-border); }.quota-editor-modal h3 { margin:0 0 4px; color:#fff; font-size:16px; }.quota-editor-modal header p { margin:0; color:#66758b; font-size:9px; }.quota-editor-modal header button { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--admin-border); border-radius:8px; background:rgba(255,255,255,.03); color:#8190a6; cursor:pointer; }.quota-editor-body { padding:18px; }.quota-enabled { min-height:61px; padding:0 13px; display:flex; align-items:center; justify-content:space-between; gap:15px; border:1px solid var(--admin-border); border-radius:9px; background:rgba(9,17,31,.4); cursor:pointer; }.quota-enabled strong,.quota-enabled small { display:block; }.quota-enabled strong { color:#d5deea; font-size:10px; }.quota-enabled small { margin-top:4px; color:#637188; font-size:8px; }.quota-enabled input { display:none; }.quota-enabled > span { width:41px; height:22px; position:relative; flex:none; border-radius:99px; background:#29374d; }.quota-enabled > span::after { content:''; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#7a879a; transition:.17s; }.quota-enabled input:checked + span { background:#3f7ce9; }.quota-enabled input:checked + span::after { left:22px; background:#fff; }.quota-input-grid { margin-top:15px; display:grid; grid-template-columns:1fr 1fr; gap:13px; }.quota-input-grid label { color:#93a1b4; font-size:9px; }.quota-input-grid label.full { grid-column:1/-1; }.quota-input-grid input,.quota-input-grid select { width:100%; margin-top:6px; padding:10px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#d8e1ed; background:#0b1424; font-size:10px; }.quota-editor-modal > footer { min-height:64px; padding:12px 18px; display:flex; justify-content:flex-end; gap:8px; border-top:1px solid var(--admin-border); }.quota-editor-modal > footer button { min-height:36px; padding:0 13px; display:flex; align-items:center; gap:6px; border:1px solid var(--admin-border); border-radius:8px; color:#8290a5; background:rgba(255,255,255,.035); cursor:pointer; }.quota-editor-modal > footer button.primary { color:#fff; border-color:#4f8cff; background:#4f8cff; }
@media (max-width:1050px) { .quota-summary-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .quota-summary-grid { grid-template-columns:1fr; }.quota-input-grid { grid-template-columns:1fr; }.quota-input-grid label.full { grid-column:auto; }.quota-enforcement-note { flex-direction:column; } }

/* User module permissions */
.users-permission-table { min-width:1120px; }.permission-summary { min-width:155px; padding:7px 9px; display:flex; align-items:center; gap:8px; text-align:left; border:1px solid rgba(79,140,255,.12); border-radius:8px; color:#7fa8f8; background:rgba(79,140,255,.055); cursor:pointer; }.permission-summary.pending { color:#f2bc6b; border-color:rgba(245,158,11,.18); background:rgba(245,158,11,.07); }.permission-summary > svg { flex:none; }.permission-summary strong,.permission-summary small { display:block; }.permission-summary strong { color:#cbd9ef; font-size:9px; }.permission-summary small { margin-top:3px; color:#617086; font-size:7px; }.permission-summary.pending small { color:#9b8058; }.user-row-actions { display:flex; gap:6px; }.permission-action { padding:6px 8px; display:inline-flex; align-items:center; gap:5px; border:0; border-radius:7px; color:#7fa8f8; background:rgba(79,140,255,.08); cursor:pointer; font-size:9px; }
.module-permission-modal { width:min(700px,100%); max-height:calc(100vh - 40px); overflow:auto; border:1px solid rgba(148,163,184,.18); border-radius:15px; background:#111c2e; box-shadow:0 25px 80px rgba(0,0,0,.5); }.module-permission-modal > header { min-height:68px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--admin-border); }.module-permission-modal h3 { margin:0 0 4px; color:#fff; font-size:16px; }.module-permission-modal header p { margin:0; color:#66758b; font-size:9px; }.module-permission-modal header button { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--admin-border); border-radius:8px; background:rgba(255,255,255,.03); color:#8190a6; cursor:pointer; }.permission-request-banner { margin:15px 18px 0; padding:12px; display:flex; align-items:center; gap:10px; border:1px solid rgba(245,158,11,.17); border-radius:9px; color:#f2b861; background:rgba(245,158,11,.07); }.permission-request-banner > svg { font-size:20px; flex:none; }.permission-request-banner strong,.permission-request-banner span { display:block; }.permission-request-banner strong { color:#f3cb85; font-size:10px; }.permission-request-banner span { margin-top:3px; color:#8b7656; font-size:8px; }.permission-batch-actions { min-height:57px; padding:10px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; }.permission-batch-actions > span { color:#718097; font-size:9px; }.permission-batch-actions > div { display:flex; gap:6px; }.permission-batch-actions button { padding:6px 9px; border:1px solid var(--admin-border); border-radius:7px; color:#8290a5; background:rgba(255,255,255,.03); cursor:pointer; font-size:8px; }.permission-module-list { padding:0 18px 17px; display:flex; flex-direction:column; gap:9px; }.permission-module-list > .permission-module-group { display:block; padding:10px 11px 12px; border:1px solid var(--admin-border); border-radius:9px; background:rgba(9,17,31,.4); }.permission-module-group > label { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:9px; min-height:45px; cursor:pointer; }.permission-submodule-list { margin:10px 0 2px; padding:8px 0 2px 44px; display:flex; flex-direction:column; gap:6px; border-top:1px dashed rgba(148,163,184,.14); }
/* Sub-module permission styles */
.permission-submodule-list { margin: 8px 0 4px 0; padding: 0 0 0 44px; display: flex; flex-direction: column; gap: 6px; }
.permission-submodule { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 7px; background: rgba(0,0,0,.15); border: 1px solid rgba(148,163,184,.1); cursor: pointer; transition: background .15s; }
.permission-submodule:hover { background: rgba(255,255,255,.04); }
.permission-submodule input[type="checkbox"] { display: none; }
.permission-submodule i { width: 33px; height: 18px; position: relative; border-radius: 99px; background: #29374d; flex-shrink: 0; }
.permission-submodule i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: #788699; transition: .16s; }
.permission-submodule input:checked + i { background: #3f7ce9; }
.permission-submodule input:checked + i::after { left: 18px; background: #fff; }
.permission-submodule span { font-weight: 500; color: #d5deea; font-size: 10px; white-space: nowrap; }
.permission-submodule small { color: #5f6d83; font-size: 8px; line-height: 1.3; margin-left: auto; }
.minor-restriction-tag { display: inline-flex; align-items: center; gap: 3px; color: #f2b861; font-size: 8px; margin-left: 8px; white-space: nowrap; }.permission-module-icon { width:33px; height:33px; display:grid; place-items:center; border-radius:8px; color:#7ca7ff; background:rgba(79,140,255,.1); }.permission-module-icon.ai { color:#ac99f7; background:rgba(139,109,246,.11); }.permission-module-list strong,.permission-module-list small { display:block; }.permission-module-list strong { color:#d5deea; font-size:10px; }.permission-module-list small { margin-top:4px; color:#5f6d83; font-size:7px; line-height:1.35; }.permission-module-list input { display:none; }.permission-module-list i { width:37px; height:20px; position:relative; border-radius:99px; background:#29374d; }.permission-module-list i::after { content:''; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:#788699; transition:.16s; }.permission-module-list input:checked + i { background:#3f7ce9; }.permission-module-list input:checked + i::after { left:20px; background:#fff; }.module-permission-modal > footer { min-height:64px; padding:12px 18px; display:flex; justify-content:flex-end; gap:8px; border-top:1px solid var(--admin-border); }.module-permission-modal > footer button { min-height:36px; padding:0 13px; display:flex; align-items:center; gap:6px; border:1px solid var(--admin-border); border-radius:8px; color:#8290a5; background:rgba(255,255,255,.035); cursor:pointer; }.module-permission-modal > footer button.primary { color:#fff; border-color:#4f8cff; background:#4f8cff; }
@media (max-width:650px) { .permission-module-list { grid-template-columns:1fr; }.permission-batch-actions { align-items:flex-start; flex-direction:column; } }

/* AI provider routing and implementation audit */
.api-doc-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }.api-table { min-width:1560px; }.implementation-status { padding:5px 7px; display:inline-flex; border-radius:6px; white-space:nowrap; font-size:8px; }.implementation-status.真实可用 { color:#67d7a2; background:rgba(52,211,153,.1); }.implementation-status.后端骨架 { color:#c4a5ff; background:rgba(139,109,246,.12); }.implementation-status.本地演示 { color:#7da8ff; background:rgba(79,140,255,.1); }.implementation-status.仅登记 { color:#f1b967; background:rgba(245,158,11,.09); }
.ai-status-row > div { display:flex; align-items:center; gap:6px; }.health-badge { padding:5px 7px; border-radius:6px; white-space:nowrap; font-size:8px; }.health-badge.连接正常 { color:#67d7a2; background:rgba(52,211,153,.1); }.health-badge.连接失败 { color:#f58a9b; background:rgba(244,63,94,.1); }.health-badge.配置缺失,.health-badge.未检测 { color:#f1b967; background:rgba(245,158,11,.09); }.provider-meta-grid { display:grid; grid-template-columns:1fr 120px; gap:10px; }.provider-meta-grid label { display:block; margin-top:11px; color:#8290a5; font-size:9px; }.ai-integration-grid input:disabled { color:#66758b; background:#0a1220; cursor:not-allowed; }.provider-model-list { margin-top:13px; display:grid; gap:6px; }.provider-model-list > div { padding:8px 9px; display:grid; grid-template-columns:130px 1fr; gap:3px 10px; border:1px solid rgba(148,163,184,.09); border-radius:7px; background:rgba(9,17,31,.35); }.provider-model-list strong { color:#cbd5e1; font-size:8px; }.provider-model-list code { color:#91aef2; font-size:8px; }.provider-model-list small { grid-column:1/-1; color:#5f6d83; font-size:7px; }.provider-test-message { margin:10px 0; padding:9px 10px; border:1px solid rgba(79,140,255,.13); border-radius:7px; color:#8fa8d4; background:rgba(79,140,255,.05); font-size:8px; line-height:1.45; }.ai-integration-grid footer > div { display:flex; gap:6px; }.ai-integration-grid footer button.secondary { color:#8cacf0; border:1px solid rgba(79,140,255,.2); background:rgba(79,140,255,.07); }.ai-integration-grid footer button:disabled { opacity:.55; cursor:wait; }
.ai-route-list { display:grid; gap:13px; }.route-security-note { padding:15px 17px; display:flex; align-items:flex-start; gap:11px; border:1px solid rgba(52,211,153,.13); border-radius:11px; color:#6ed4a5; background:rgba(52,211,153,.045); }.route-security-note > svg { margin-top:2px; flex:none; font-size:18px; }.route-security-note strong { color:#a8ddc7; font-size:10px; }.route-security-note p { margin:4px 0 0; color:#638778; font-size:8px; line-height:1.5; }.ai-route-list article { padding:18px; border:1px solid var(--admin-border); border-radius:13px; background:linear-gradient(145deg,rgba(23,35,56,.9),rgba(15,25,43,.9)); }.ai-route-list article > header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.ai-route-list article > header span:not(.mini-switch) { padding:4px 6px; display:inline-flex; border-radius:5px; color:#90aef0; background:rgba(79,140,255,.08); font-size:8px; }.ai-route-list h3 { margin:7px 0 4px; color:#dbe4ef; font-size:14px; }.ai-route-list header p { margin:0; color:#617086; font-size:8px; }.route-form-grid { margin-top:15px; display:grid; grid-template-columns:1.15fr 1.15fr .7fr .7fr; gap:10px; }.route-form-grid label { color:#8290a5; font-size:8px; }.route-form-grid input,.route-form-grid select { width:100%; margin-top:6px; padding:9px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#cbd5e1; background:#0b1424; font-size:9px; }.route-detail-row { margin-top:13px; display:grid; grid-template-columns:1.4fr 1fr; gap:10px; }.route-detail-row > div { padding:10px; border:1px solid rgba(148,163,184,.09); border-radius:8px; background:rgba(9,17,31,.32); }.route-detail-row small { color:#59687e; font-size:7px; }.route-detail-row p { margin:5px 0 0; color:#8a99ae; font-size:8px; line-height:1.5; }.route-notes { margin:11px 0 0; color:#617086; font-size:8px; }.ai-route-list article > footer { margin-top:13px; padding-top:12px; display:flex; justify-content:flex-end; border-top:1px solid var(--admin-border); }.ai-route-list footer button { min-height:32px; padding:0 10px; display:flex; align-items:center; gap:5px; border:0; border-radius:7px; color:#fff; background:#3f7ce9; cursor:pointer; font-size:8px; }
@media (max-width:900px) { .route-form-grid { grid-template-columns:1fr 1fr; }.route-detail-row { grid-template-columns:1fr; } }
@media (max-width:600px) { .api-doc-actions { align-items:stretch; flex-direction:column; }.provider-meta-grid,.route-form-grid { grid-template-columns:1fr; }.ai-integration-grid footer > div { width:100%; }.ai-integration-grid footer > div button { flex:1; }.provider-model-list > div { grid-template-columns:1fr; }.provider-model-list small { grid-column:auto; } }

/* Independent AI provider center */
.provider-page-actions { display:flex; align-items:center; gap:8px; }.provider-page-actions button,.provider-page-actions a,.provider-editor-footer button { min-height:36px; padding:0 13px; display:inline-flex; align-items:center; gap:6px; border:0; border-radius:8px; color:#fff; background:#3f7ce9; cursor:pointer; font-size:9px; text-decoration:none; }.provider-page-actions button.secondary,.provider-page-actions a.secondary,.provider-editor-footer button.secondary { color:#8eb0f4; border:1px solid rgba(79,140,255,.2); background:rgba(79,140,255,.07); }.provider-page-actions button:disabled,.provider-editor-footer button:disabled { opacity:.55; cursor:wait; }
.provider-workbench { display:grid; grid-template-columns:245px minmax(0,1fr); gap:16px; align-items:start; }.provider-selector { padding:8px; position:sticky; top:84px; display:grid; gap:6px; border:1px solid var(--admin-border); border-radius:14px; background:rgba(17,28,46,.84); }.provider-selector button { min-height:68px; padding:10px; display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:9px; text-align:left; border:1px solid transparent; border-radius:9px; color:#8290a5; background:transparent; cursor:pointer; }.provider-selector button:hover { background:rgba(255,255,255,.025); }.provider-selector button.active { border-color:rgba(79,140,255,.25); background:rgba(79,140,255,.08); }.provider-selector button > span { width:34px; height:34px; display:grid; place-items:center; border-radius:8px; color:#a995fb; background:rgba(139,109,246,.11); }.provider-selector strong,.provider-selector small { display:block; }.provider-selector strong { color:#d9e2ee; font-size:10px; }.provider-selector small { margin-top:4px; color:#5e6d83; font-size:7px; }.provider-health-dot { width:8px; height:8px; border-radius:50%; background:#64748b; }.provider-health-dot.连接正常 { background:#34d399; box-shadow:0 0 9px rgba(52,211,153,.45); }.provider-health-dot.连接失败 { background:#f43f5e; }.provider-health-dot.配置缺失 { background:#f59e0b; }
.provider-sidebar { position:sticky; top:84px; display:grid; gap:8px; }.provider-sidebar .provider-selector { position:static; top:auto; }.provider-list-filter { padding:10px; display:grid; gap:7px; border:1px solid var(--admin-border); border-radius:12px; background:rgba(17,28,46,.84); }.provider-list-filter input,.provider-list-filter select,.provider-model-query-controls input,.provider-model-query-controls select { min-width:0; width:100%; padding:8px 9px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#cbd5e1; background:#0b1424; font-size:8px; }.provider-list-filter input:focus,.provider-list-filter select:focus,.provider-model-query-controls input:focus,.provider-model-query-controls select:focus { border-color:#4f8cff; }.provider-list-pager,.provider-runtime-pager { display:flex; align-items:center; justify-content:space-between; gap:7px; }.provider-list-pager { padding:8px; border:1px solid var(--admin-border); border-radius:10px; background:rgba(17,28,46,.8); }.provider-list-pager button,.provider-runtime-pager button { min-height:28px; padding:0 8px; border:1px solid rgba(79,140,255,.18); border-radius:6px; color:#89aaf0; background:rgba(79,140,255,.06); cursor:pointer; font-size:7px; }.provider-list-pager button:disabled,.provider-runtime-pager button:disabled { opacity:.38; cursor:not-allowed; }.provider-list-pager small,.provider-runtime-pager small { color:#66758b; font-size:7px; white-space:nowrap; }
.provider-editor { display:grid; gap:13px; }.provider-overview-card,.provider-config-section,.provider-runtime-result { padding:18px; border:1px solid var(--admin-border); border-radius:13px; background:linear-gradient(145deg,rgba(23,35,56,.9),rgba(15,25,43,.9)); }.provider-overview-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.provider-overview-card small { color:#65758d; font-size:8px; }.provider-overview-card h3 { margin:4px 0 6px; color:#edf3fa; font-size:17px; }.provider-overview-card p { max-width:760px; margin:0; color:#718097; font-size:9px; line-height:1.55; }.provider-overview-card button.provider-stop-action { min-height:36px; padding:0 13px; display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(248,113,113,.28); border-radius:8px; color:#fca5a5; background:rgba(127,29,29,.22); cursor:pointer; white-space:nowrap; }.provider-overview-card button:disabled { opacity:.55; cursor:wait; }.provider-status-strip { margin-top:14px; display:flex; align-items:center; gap:7px; }.provider-status-strip > span:last-child { color:#637188; font-size:8px; }.provider-security-line { margin-top:14px; padding:11px 12px; display:flex; align-items:flex-start; gap:9px; border:1px solid rgba(52,211,153,.12); border-radius:8px; color:#72d5a7; background:rgba(52,211,153,.04); font-size:8px; line-height:1.55; }.provider-security-line svg { margin-top:1px; flex:none; }.provider-security-line code { color:#a6e2c8; }
.provider-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.provider-summary-grid article { min-height:84px; padding:13px 14px; display:flex; align-items:center; gap:11px; border:1px solid var(--admin-border); border-radius:11px; background:rgba(17,28,46,.82); }.provider-summary-grid article>span { width:35px; height:35px; display:grid; place-items:center; flex:none; border-radius:9px; color:#8eb0f4; background:rgba(79,140,255,.1); }.provider-summary-grid article:nth-child(2)>span { color:#78d9a9; background:rgba(52,211,153,.09); }.provider-summary-grid article:nth-child(3)>span { color:#c4aff8; background:rgba(139,109,246,.1); }.provider-summary-grid article:nth-child(4)>span { color:#e0b06c; background:rgba(245,158,11,.09); }.provider-summary-grid small,.provider-summary-grid strong,.provider-summary-grid p { display:block; }.provider-summary-grid small { color:#6d7c91; font-size:8px; }.provider-summary-grid strong { margin:3px 0; color:#eef4fd; font-size:15px; }.provider-summary-grid p { margin:0; overflow:hidden; color:#5f6e83; font-size:7px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }.provider-main-tabs { width:100%; margin-bottom:0; }.provider-main-tabs button { flex:1; justify-content:center; }.provider-module-action { min-height:74px; padding:13px 15px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid rgba(79,140,255,.16); border-radius:11px; background:linear-gradient(135deg,rgba(79,140,255,.07),rgba(139,109,246,.045)); }.provider-module-action>div { display:flex; align-items:center; gap:10px; }.provider-module-action>div>span { width:34px; height:34px; display:grid; place-items:center; flex:none; border-radius:8px; color:#93b4f7; background:rgba(79,140,255,.1); }.provider-module-action strong { color:#d9e4f2; font-size:10px; }.provider-module-action p { margin:4px 0 0; color:#68788f; font-size:8px; line-height:1.45; }.provider-module-action button { min-height:34px; padding:0 12px; display:inline-flex; align-items:center; gap:6px; flex:none; border:1px solid rgba(79,140,255,.22); border-radius:8px; color:#9ab8f4; background:rgba(79,140,255,.08); cursor:pointer; font-size:8px; }.provider-module-action button:disabled { opacity:.55; cursor:wait; }
.provider-detection-panel { padding:16px 18px; border:1px solid rgba(52,211,153,.13); border-radius:13px; background:linear-gradient(145deg,rgba(12,42,43,.35),rgba(15,25,43,.9)); }.provider-detection-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.provider-detection-panel h3 { margin:3px 0 0; color:#dce9e6; font-size:12px; }.provider-detection-panel header small { color:#60857d; font-size:7px; }.provider-detection-panel header code { padding:4px 7px; border-radius:6px; color:#7bd8b2; background:rgba(52,211,153,.07); font-size:7px; }.provider-detection-panel > div { margin-top:13px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }.provider-detection-panel > div span { padding:9px; display:grid; gap:3px; border:1px solid rgba(148,163,184,.08); border-radius:8px; background:rgba(9,17,31,.25); }.provider-detection-panel strong { color:#dbe9e5; font-size:12px; }.provider-detection-panel span small { color:#668078; font-size:7px; }.provider-detection-panel > p { margin:10px 0 0; color:#607d75; font-size:7px; line-height:1.5; }.provider-model-query { align-items:flex-start; }.provider-model-query > div:first-child { flex:1; }.provider-model-query-controls { width:min(520px,55%); display:grid!important; grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto; align-items:center!important; gap:7px!important; }.provider-runtime-pager { min-height:44px; }
.provider-config-section > header { display:flex; align-items:flex-start; gap:10px; }.provider-config-section > header > svg { width:34px; height:34px; padding:8px; flex:none; border-radius:8px; color:#8eb0f4; background:rgba(79,140,255,.09); }.provider-config-section h3 { margin:0 0 4px; color:#dce6f2; font-size:12px; }.provider-config-section header p { margin:0; color:#65758d; font-size:8px; line-height:1.5; }.provider-form-grid { margin-top:15px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.provider-form-grid label { color:#8b99ac; font-size:8px; }.provider-form-grid input,.provider-form-grid select { width:100%; margin-top:6px; padding:9px 10px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#d3dce8; background:#0b1424; font-size:9px; }.provider-form-grid input:focus,.provider-form-grid select:focus { border-color:#4f8cff; }.provider-form-grid input:disabled,.provider-form-grid select:disabled { color:#56657a; background:#09111e; cursor:not-allowed; }.provider-form-grid label.checkbox-field { min-height:38px; display:flex; align-items:center; gap:8px; }.provider-form-grid label.checkbox-field input { width:auto; margin:0; }
.provider-toggle-row { margin-top:14px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }.provider-toggle-row label { min-height:34px; padding:0 10px; display:flex; align-items:center; gap:7px; border:1px solid rgba(148,163,184,.1); border-radius:7px; color:#8796aa; background:rgba(9,17,31,.32); cursor:pointer; font-size:8px; }.provider-toggle-row input { accent-color:#4f8cff; }.provider-runtime-result { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }.provider-runtime-result > div { padding:11px; border:1px solid rgba(148,163,184,.09); border-radius:8px; background:rgba(9,17,31,.3); }.provider-runtime-result strong { color:#cbd6e5; font-size:9px; }.provider-runtime-result p { margin:5px 0 0; color:#77879c; font-size:8px; line-height:1.55; word-break:break-word; }.provider-runtime-result a { margin-top:7px; display:inline-flex; align-items:center; gap:5px; color:#8eb0f4; font-size:8px; text-decoration:none; }.provider-lifecycle-result { padding:13px 15px; display:flex; align-items:flex-start; gap:10px; border:1px solid rgba(251,191,36,.2); border-radius:10px; color:#f5c46b; background:rgba(120,53,15,.12); }.provider-lifecycle-result svg { margin-top:2px; flex:none; }.provider-lifecycle-result strong { color:#fde7b2; font-size:10px; }.provider-lifecycle-result p,.provider-lifecycle-result small { margin:4px 0 0; display:block; color:#bda67d; font-size:8px; line-height:1.55; }.provider-feedback { padding:11px 13px; display:flex; align-items:center; gap:8px; border:1px solid rgba(79,140,255,.14); border-radius:9px; color:#91afe6; background:rgba(79,140,255,.05); font-size:9px; }.provider-editor-footer { min-height:62px; padding:11px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--admin-border); border-radius:11px; background:rgba(17,28,46,.82); }.provider-editor-footer > div { display:flex; align-items:center; gap:8px; }.provider-editor-footer span { display:flex; align-items:center; gap:6px; color:#67778d; font-size:8px; }.provider-editor-footer small { padding-left:8px; border-left:1px solid rgba(148,163,184,.13); color:#718097; font-size:8px; }.provider-empty { padding:25px; color:#8290a5; }
.openai-pricing-table { margin-top:15px; display:grid; gap:10px; }.openai-pricing-table article { padding:12px; border:1px solid rgba(148,163,184,.1); border-radius:9px; background:rgba(9,17,31,.34); }.openai-pricing-table article > header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.openai-pricing-table strong { color:#d8e3f0; font-size:9px; }.openai-pricing-table header span { color:#64748b; font-size:7px; }.openai-pricing-table article > div { margin-top:10px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.openai-pricing-table label { color:#7f8da1; font-size:7px; }.openai-pricing-table input { width:100%; margin-top:5px; padding:8px 9px; border:1px solid var(--admin-border); border-radius:6px; outline:0; color:#d6e0ec; background:#0b1424; font-size:8px; }.provider-model-matrix { margin-top:15px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.provider-model-matrix > div { min-width:0; padding:11px; display:grid; gap:4px; border:1px solid rgba(148,163,184,.09); border-radius:8px; background:rgba(9,17,31,.3); }.provider-model-matrix strong { color:#d7e1ed; font-size:9px; }.provider-model-matrix code { color:#8fb0f4; font-size:8px; word-break:break-all; }.provider-model-matrix span { color:#8493a8; font-size:7px; }.provider-model-matrix small { color:#5f6f85; font-size:7px; line-height:1.45; }
.openai-model-settings { margin-top:15px; display:grid; gap:10px; }.openai-model-settings > article { padding:13px; border:1px solid rgba(148,163,184,.1); border-radius:10px; background:rgba(9,17,31,.34); }.openai-model-settings > article.enabled { border-color:rgba(79,140,255,.28); }.openai-model-settings article > header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }.openai-model-settings article > header > div { min-width:0; display:grid; gap:4px; }.openai-model-settings strong { color:#dbe6f2; font-size:10px; }.openai-model-settings code { color:#8fb0f4; font-size:8px; word-break:break-all; }.openai-model-settings header span { color:#66cfa2; font-size:7px; word-break:break-all; }.openai-model-settings article > p { margin:8px 0 0; color:#697990; font-size:7px; line-height:1.5; }.provider-form-grid.compact { margin-top:11px; }.provider-form-grid .span-two { grid-column:span 2; }.provider-toggle-row.compact { margin-top:11px; }
@media (max-width:1120px) { .provider-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1000px) { .provider-workbench { grid-template-columns:1fr; }.provider-sidebar { position:static; }.provider-selector { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }.provider-list-filter { grid-template-columns:2fr 1fr 1fr; }.provider-selector button { min-height:58px; } }
@media (max-width:650px) { .provider-page-actions,.provider-editor-footer,.provider-editor-footer > div,.provider-module-action { width:100%; align-items:stretch; flex-direction:column; }.provider-page-actions button,.provider-page-actions a,.provider-editor-footer button,.provider-module-action button { justify-content:center; }.provider-list-filter,.provider-selector,.provider-summary-grid,.provider-form-grid,.provider-runtime-result,.provider-model-matrix,.openai-pricing-table article > div,.provider-detection-panel > div,.provider-model-query-controls { width:100%; grid-template-columns:1fr; }.provider-form-grid .span-two { grid-column:auto; }.provider-overview-card > header { flex-direction:column; }.provider-main-tabs button { min-width:calc(50% - 3px); }.provider-toggle-row { align-items:stretch; flex-direction:column; }.provider-toggle-row label { min-height:38px; }.provider-editor-footer small { padding-left:0; border-left:0; } }

/* Real backend readiness and capability boundary notices */
.live-status.checking { color:#8eb5ff; border-color:rgba(79,140,255,.18); background:rgba(79,140,255,.07); }.live-status.checking i { background:#4f8cff; box-shadow:0 0 0 4px rgba(79,140,255,.1); }.live-status.error { color:#f58a9c; border-color:rgba(244,63,94,.2); background:rgba(244,63,94,.07); }.live-status.error i { background:#f43f5e; box-shadow:0 0 0 4px rgba(244,63,94,.1); }
.dashboard-load-warning { margin:-8px 0 18px; padding:10px 12px; display:flex; align-items:center; gap:8px; border:1px solid rgba(245,158,11,.18); border-radius:9px; color:#d9aa61; background:rgba(245,158,11,.06); font-size:10px; }
.readiness-panel { margin:18px 0; }.readiness-panel > header time { color:#65748c; font-size:9px; }.readiness-panel > div { padding:15px 18px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.readiness-panel article { min-height:62px; padding:11px; display:flex; align-items:center; gap:9px; border:1px solid rgba(148,163,184,.1); border-radius:9px; background:rgba(9,17,31,.35); }.readiness-panel article > svg { flex:none; font-size:18px; }.readiness-panel article.ready > svg { color:#52cf98; }.readiness-panel article.failed > svg { color:#f28c9c; }.readiness-panel strong,.readiness-panel small { display:block; }.readiness-panel strong { color:#d7e0ec; font-size:10px; }.readiness-panel small { margin-top:4px; color:#68768c; font-size:8px; }.readiness-loading,.panel-empty-note { margin:0; padding:15px; color:#66758b; font-size:10px; }
.production-readiness-panel { margin-top:18px; overflow:hidden; }.production-readiness-links { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }.production-readiness-grid { padding:16px 18px; display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; }.production-readiness-grid article { min-width:0; min-height:132px; padding:14px; display:grid; grid-template-columns:34px 1fr; align-items:start; gap:10px; border:1px solid rgba(148,163,184,.1); border-radius:10px; background:rgba(9,17,31,.35); }.production-readiness-grid article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; }.production-readiness-grid article.ready > span { color:#66d5a2; background:rgba(52,211,153,.1); }.production-readiness-grid article.attention > span { color:#f5be69; background:rgba(245,158,11,.1); }.production-readiness-grid article.pending > span { color:#8ca9dd; background:rgba(79,140,255,.09); }.production-readiness-grid small,.production-readiness-grid strong,.production-readiness-grid em { display:block; }.production-readiness-grid small { color:#56657c; font-size:7px; letter-spacing:.08em; }.production-readiness-grid strong { margin-top:4px; color:#dbe5f2; font-size:11px; }.production-readiness-grid em { margin-top:6px; color:#8fa7ca; font-size:8px; font-style:normal; }.production-readiness-grid article.ready em { color:#71cda4; }.production-readiness-grid article.attention em { color:#e6b866; }.production-readiness-grid p { grid-column:1/-1; margin:8px 0 0; color:#66768e; font-size:8px; line-height:1.55; }.production-readiness-panel > footer { min-height:45px; padding:10px 18px; display:flex; align-items:center; gap:8px; border-top:1px solid var(--admin-border); color:#64738a; font-size:8px; }.production-readiness-panel > footer svg { flex:none; color:#769be7; }.production-readiness-panel > footer time { margin-left:auto; white-space:nowrap; color:#58677d; }
.file-safety-note { margin-top:16px; padding:17px 20px; display:flex; align-items:flex-start; gap:12px; border:1px solid rgba(245,158,11,.16); border-radius:12px; background:rgba(245,158,11,.05); }.file-safety-note > svg { width:36px; height:36px; padding:8px; flex:none; border-radius:9px; color:#e9b35d; background:rgba(245,158,11,.09); }.file-safety-note h3 { margin:0 0 5px; color:#dbe7f1; font-size:12px; }.file-safety-note p { margin:0; color:#7b8799; font-size:9px; line-height:1.65; }
@media (max-width:900px) { .readiness-panel > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .production-readiness-panel > header { align-items:flex-start; flex-direction:column; }.production-readiness-panel > footer { align-items:flex-start; flex-wrap:wrap; }.production-readiness-panel > footer time { width:100%; margin-left:24px; } }
@media (max-width:520px) { .readiness-panel > div,.production-readiness-grid { grid-template-columns:1fr; }.file-safety-note { flex-direction:column; } }
.dispatch-center { display:grid; gap:13px; }.dispatch-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.dispatch-metrics article { padding:15px 17px; display:flex; align-items:center; gap:12px; border:1px solid var(--admin-border); border-radius:11px; background:rgba(17,28,46,.8); }.dispatch-metrics svg { width:34px; height:34px; padding:8px; color:#8eb0f4; border-radius:8px; background:rgba(79,140,255,.09); }.dispatch-metrics small,.dispatch-metrics strong { display:block; }.dispatch-metrics small { color:#65758d; font-size:8px; }.dispatch-metrics strong { margin-top:4px; color:#eef5ff; font-size:18px; }.dispatch-route-card { padding:18px; border:1px solid var(--admin-border); border-radius:13px; background:linear-gradient(145deg,rgba(23,35,56,.9),rgba(15,25,43,.9)); }.dispatch-route-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.dispatch-route-card > header span { padding:4px 6px; display:inline-flex; border-radius:5px; color:#90aef0; background:rgba(79,140,255,.08); font-size:8px; }.dispatch-route-card h3 { margin:7px 0 4px; color:#dbe4ef; font-size:14px; }.dispatch-route-card header p { margin:0; color:#617086; font-size:8px; }.dispatch-grid { margin-top:15px; display:grid; grid-template-columns:1fr 1fr; gap:13px; }.dispatch-grid > section { padding:14px; border:1px solid rgba(148,163,184,.09); border-radius:10px; background:rgba(9,17,31,.28); }.dispatch-grid h4 { margin:0; display:flex; align-items:center; gap:7px; color:#b9c8da; font-size:10px; }.dispatch-model-pool { margin-top:12px; max-height:240px; padding:7px; display:grid; grid-template-columns:1fr 1fr; gap:7px; overflow:auto; border:1px solid rgba(148,163,184,.08); border-radius:8px; }.dispatch-model-pool label { padding:8px; display:flex; align-items:flex-start; gap:7px; border-radius:7px; color:#7f8fa5; background:rgba(15,25,43,.72); cursor:pointer; font-size:8px; }.dispatch-model-pool input { margin-top:2px; }.dispatch-model-pool span,.dispatch-model-pool strong,.dispatch-model-pool small { display:block; }.dispatch-model-pool strong { color:#c4d0de; font-size:8px; }.dispatch-model-pool small { margin-top:3px; color:#5d6d83; line-height:1.4; }.dispatch-toggle-grid { margin-top:13px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.dispatch-toggle-grid label { min-height:36px; padding:8px 9px; display:flex; align-items:center; gap:7px; border:1px solid rgba(148,163,184,.08); border-radius:7px; color:#8291a6; background:rgba(11,20,36,.62); font-size:8px; }.dispatch-toggle-grid label > svg { color:#6f94df; }.dispatch-toggle-grid input:disabled + svg { opacity:.4; }.dispatch-support-note { margin:12px 0 0; color:#596a81; font-size:8px; line-height:1.55; }.dispatch-route-card > footer { margin-top:13px; padding-top:12px; display:flex; justify-content:flex-end; border-top:1px solid var(--admin-border); }.dispatch-route-card footer button { min-height:32px; padding:0 11px; display:flex; align-items:center; gap:6px; border:0; border-radius:7px; color:#fff; background:#3f7ce9; cursor:pointer; font-size:8px; }
.dispatch-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.dispatch-summary-grid article { min-height:88px; padding:14px 15px; display:flex; align-items:center; gap:11px; border:1px solid var(--admin-border); border-radius:11px; background:rgba(17,28,46,.82); }.dispatch-summary-grid article>span { width:36px; height:36px; display:grid; place-items:center; flex:none; border-radius:9px; color:#8eb0f4; background:rgba(79,140,255,.1); }.dispatch-summary-grid article:nth-child(2)>span { color:#73d8a6; background:rgba(52,211,153,.09); }.dispatch-summary-grid article:nth-child(3)>span { color:#c2acf7; background:rgba(139,109,246,.1); }.dispatch-summary-grid article:nth-child(4)>span { color:#e1b16c; background:rgba(245,158,11,.09); }.dispatch-summary-grid small,.dispatch-summary-grid strong,.dispatch-summary-grid p { display:block; }.dispatch-summary-grid small { color:#6d7c91; font-size:8px; }.dispatch-summary-grid strong { margin:4px 0; overflow:hidden; color:#eef4fd; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }.dispatch-summary-grid p { margin:0; color:#607086; font-size:7px; line-height:1.4; }.dispatch-main-tabs { width:100%; margin-bottom:0; }.dispatch-main-tabs button { flex:1; justify-content:center; }.dispatch-route-toolbar { min-height:54px; padding:9px 11px; display:flex; align-items:center; gap:9px; border:1px solid var(--admin-border); border-radius:10px; background:rgba(17,28,46,.72); }.dispatch-route-toolbar .admin-search { min-width:240px; flex:1; }.dispatch-route-toolbar select { min-height:34px; padding:0 10px; border:1px solid var(--admin-border); border-radius:8px; outline:0; color:#aebdd0; background:#0b1424; font-size:9px; }.dispatch-route-toolbar>span { padding:6px 8px; border-radius:7px; color:#8195b5; background:rgba(79,140,255,.07); font-size:8px; white-space:nowrap; }.dispatch-metrics-detail article { min-height:72px; padding:12px 14px; }.dispatch-metrics-detail strong { font-size:14px; }.dispatch-center:not(.dispatch-tab-routing):not(.dispatch-tab-preprocess)>.dispatch-route-card { display:none; }.dispatch-tab-routing>.dispatch-route-card .dispatch-grid>section:nth-child(2),.dispatch-tab-preprocess>.dispatch-route-card .dispatch-grid>section:first-child { display:none; }.dispatch-tab-routing>.dispatch-route-card .dispatch-grid,.dispatch-tab-preprocess>.dispatch-route-card .dispatch-grid { grid-template-columns:1fr; }.dispatch-tab-preprocess>.dispatch-route-card>header>.mini-switch { display:none; }.dispatch-center:not(.dispatch-tab-reliability)>.dispatch-guard-center { display:none; }
.dispatch-cost-summary { overflow:hidden; border:1px solid var(--admin-border); border-radius:12px; background:rgba(13,23,40,.84); }.dispatch-cost-summary > header { padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--admin-border); }.dispatch-cost-summary h3 { margin:0; display:flex; align-items:center; gap:7px; color:#dbe6f3; font-size:12px; }.dispatch-cost-summary header p { margin:5px 0 0; color:#65758b; font-size:8px; }.dispatch-cost-summary header > span { padding:5px 8px; border-radius:6px; font-size:8px; white-space:nowrap; }.dispatch-cost-summary header > span.ready { color:#67d7a2; background:rgba(52,211,153,.1); }.dispatch-cost-summary header > span.warning,.cost-variance.warning { color:#f1b967; background:rgba(245,158,11,.09); }.dispatch-cost-summary table { min-width:900px; }.cost-variance { padding:4px 6px; display:inline-flex; border-radius:5px; color:#8da7cf; background:rgba(79,140,255,.07); }.table-empty.compact { min-height:180px; }
.dispatch-guard-center { overflow:hidden; border:1px solid rgba(96,165,250,.2); border-radius:12px; background:linear-gradient(145deg,rgba(18,31,52,.92),rgba(12,22,39,.92)); }.dispatch-guard-center>header { padding:15px 17px; border-bottom:1px solid var(--admin-border); }.dispatch-guard-center h3 { margin:0; display:flex; align-items:center; gap:7px; color:#dce8f7; font-size:12px; }.dispatch-guard-center header p { margin:6px 0 0; max-width:980px; color:#71829a; font-size:8px; line-height:1.55; }.dispatch-guard-list { padding:12px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.dispatch-guard-list>article { padding:13px; display:grid; gap:11px; border:1px solid rgba(148,163,184,.1); border-radius:10px; background:rgba(7,15,28,.35); }.dispatch-guard-title { display:flex; align-items:center; gap:9px; }.dispatch-guard-title>span { padding:4px 6px; border-radius:5px; color:#8fb2f5; background:rgba(79,140,255,.1); font-size:8px; }.dispatch-guard-title strong,.dispatch-guard-title small { display:block; }.dispatch-guard-title strong { color:#cfdae8; font-size:9px; }.dispatch-guard-title small { margin-top:3px; color:#63738a; font-size:7px; }.guard-cost-limit { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#7d8da3; font-size:8px; }.guard-cost-limit input { width:150px; min-height:31px; padding:0 8px; border:1px solid var(--admin-border); border-radius:7px; color:#c9d5e5; background:rgba(10,18,31,.75); }.dispatch-fallback-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.dispatch-fallback-grid label { padding:8px; display:flex; align-items:flex-start; gap:7px; border:1px solid rgba(148,163,184,.08); border-radius:7px; color:#8291a6; background:rgba(15,25,43,.7); font-size:8px; }.dispatch-fallback-grid strong,.dispatch-fallback-grid small { display:block; }.dispatch-fallback-grid strong { color:#aebdd0; font-size:8px; }.dispatch-fallback-grid small { margin-top:3px; color:#5f7086; line-height:1.4; }.dispatch-guard-list>article>button { justify-self:end; min-height:30px; padding:0 10px; display:flex; align-items:center; gap:5px; border:0; border-radius:7px; color:#fff; background:#3f7ce9; cursor:pointer; font-size:8px; }
.dispatch-region-center { overflow:hidden; border:1px solid rgba(56,189,248,.2); border-radius:12px; background:linear-gradient(145deg,rgba(16,31,51,.94),rgba(9,20,36,.94)); }.dispatch-region-center>header { padding:15px 17px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-bottom:1px solid var(--admin-border); }.dispatch-region-center>header h3 { margin:0; display:flex; align-items:center; gap:7px; color:#dce8f7; font-size:12px; }.dispatch-region-center>header p { margin:6px 0 0; max-width:900px; color:#71829a; font-size:8px; line-height:1.55; }.dispatch-region-center>header>span { padding:5px 8px; flex:none; border-radius:6px; color:#79c9ef; background:rgba(56,189,248,.09); font-size:8px; }.dispatch-region-grid { padding:12px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.dispatch-region-grid>article { padding:14px; display:grid; gap:12px; border:1px solid rgba(148,163,184,.11); border-radius:11px; background:rgba(6,14,27,.42); }.dispatch-region-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.dispatch-region-title>div>span { padding:4px 6px; border-radius:5px; color:#8fb2f5; background:rgba(79,140,255,.1); font-size:8px; }.dispatch-region-title h4 { margin:7px 0 0; color:#d5dfec; font-size:11px; }.dispatch-region-title>strong { padding:5px 7px; border-radius:6px; font-size:8px; white-space:nowrap; }.dispatch-region-title>strong.ready { color:#78d9a6; background:rgba(52,211,153,.09); }.dispatch-region-title>strong.warning { color:#e9b674; background:rgba(245,158,11,.1); }.dispatch-region-rules { display:flex; flex-wrap:wrap; gap:6px; }.dispatch-region-rules span { padding:5px 7px; display:flex; align-items:center; gap:4px; border:1px solid rgba(56,189,248,.13); border-radius:6px; color:#8aa9c5; background:rgba(56,189,248,.05); font-size:7px; }.dispatch-region-summary { margin:0; color:#788ba2; font-size:8px; line-height:1.6; }.dispatch-region-zones { display:grid; gap:8px; }.dispatch-region-zones>section { overflow:hidden; border:1px solid rgba(148,163,184,.1); border-radius:8px; background:rgba(13,24,41,.66); }.dispatch-region-zones>section>header { padding:8px 10px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid rgba(148,163,184,.08); }.dispatch-region-zones>section>header strong,.dispatch-region-zones>section>header small { display:block; }.dispatch-region-zones>section>header strong { color:#bfcddd; font-size:9px; }.dispatch-region-zones>section>header small { margin-top:3px; color:#62748b; font-size:7px; }.dispatch-region-zones>section>header>span { color:#7f9fc2; font-size:8px; }.dispatch-region-zones>section>div { padding:7px; display:grid; gap:5px; }.dispatch-region-candidate { padding:7px 8px; display:flex; align-items:flex-start; gap:8px; border-radius:6px; background:rgba(7,15,28,.5); }.dispatch-region-candidate>span { min-width:56px; padding:3px 5px; border-radius:5px; text-align:center; font-size:7px; }.dispatch-region-candidate>span.eligible { color:#75d8a3; background:rgba(52,211,153,.09); }.dispatch-region-candidate>span.inactive { color:#95a2b3; background:rgba(148,163,184,.08); }.dispatch-region-candidate strong,.dispatch-region-candidate small { display:block; }.dispatch-region-candidate strong { color:#aebdd0; font-size:8px; }.dispatch-region-candidate small { margin-top:3px; color:#5d7087; font-size:7px; line-height:1.4; }.dispatch-region-unresolved { margin:0; padding:8px 9px; border-radius:7px; color:#d0a268; background:rgba(245,158,11,.07); font-size:7px; line-height:1.5; }
@media (max-width:1120px) { .dispatch-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dispatch-main-tabs button { min-width:calc(33.333% - 4px); }.dispatch-region-grid { grid-template-columns:1fr; } }
@media (max-width:1050px) { .dispatch-grid { grid-template-columns:1fr; } }
@media (max-width:1000px) { .dispatch-guard-list { grid-template-columns:1fr; } }
@media (max-width:700px) { .dispatch-summary-grid,.dispatch-metrics,.dispatch-model-pool,.dispatch-toggle-grid,.dispatch-fallback-grid { grid-template-columns:1fr; }.dispatch-main-tabs button { min-width:calc(50% - 3px); }.dispatch-route-toolbar { align-items:stretch; flex-direction:column; }.dispatch-route-toolbar .admin-search,.dispatch-route-toolbar select { width:100%; min-width:0; }.dispatch-route-toolbar>span { align-self:flex-start; }.guard-cost-limit { align-items:flex-start; flex-direction:column; }.guard-cost-limit input { width:100%; }.dispatch-region-center>header,.dispatch-region-title { flex-direction:column; }.dispatch-region-center>header>span { align-self:flex-start; } }
.dispatch-model-catalog { overflow:hidden; border:1px solid var(--admin-border); border-radius:12px; background:rgba(13,23,40,.84); }.dispatch-model-catalog > header { padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--admin-border); }.dispatch-model-catalog h3 { margin:0; display:flex; align-items:center; gap:7px; color:#dbe6f3; font-size:12px; }.dispatch-model-catalog header p { margin:5px 0 0; color:#65758b; font-size:8px; }.dispatch-model-catalog header a { display:flex; align-items:center; gap:6px; color:#8eb0f4; font-size:8px; text-decoration:none; white-space:nowrap; }.dispatch-model-catalog table { min-width:1120px; }.dispatch-model-catalog td > strong,.dispatch-model-catalog td > small,.dispatch-model-catalog td > code { display:block; }.dispatch-model-catalog td > small { margin-top:3px; }.dispatch-model-catalog td > code { margin-top:4px; color:#82a5e8; font-size:7px; }.dispatch-compatibility-tags { display:flex; flex-wrap:wrap; gap:4px; }.dispatch-compatibility-tags span,.model-catalog-status,.model-adapter-status { padding:4px 6px; display:inline-flex; border-radius:5px; font-size:7px; line-height:1.25; }.dispatch-compatibility-tags span { color:#8ea7cf; background:rgba(79,140,255,.08); }.dispatch-compatibility-tags span.muted { color:#66758b; background:rgba(100,116,139,.08); }.model-catalog-status.ready,.model-adapter-status.ready { color:#68d7a2; background:rgba(52,211,153,.09); }.model-catalog-status.off,.model-adapter-status.catalog-only { color:#8492a6; background:rgba(100,116,139,.1); }.model-catalog-status.warning { color:#f0b968; background:rgba(245,158,11,.09); }.dispatch-toggle-grid label:has(input:disabled) { opacity:.48; cursor:not-allowed; }
.frontend-ai-map { overflow:hidden; border:1px solid var(--admin-border); border-radius:12px; background:rgba(13,23,40,.84); }.frontend-ai-map > header { padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--admin-border); }.frontend-ai-map h3 { margin:0; display:flex; align-items:center; gap:7px; color:#dbe6f3; font-size:12px; }.frontend-ai-map header p { margin:5px 0 0; color:#65758b; font-size:8px; }.frontend-ai-map header a { display:flex; align-items:center; gap:6px; color:#8eb0f4; font-size:8px; text-decoration:none; white-space:nowrap; }.frontend-ai-map table { min-width:1280px; }.frontend-ai-map td > strong,.frontend-ai-map td > small,.frontend-ai-map td > code { display:block; }.frontend-ai-map td > code { margin-top:4px; color:#82a5e8; font-size:7px; }.frontend-ai-map td > small + small { margin-top:4px; }.frontend-ai-local-tags { margin-bottom:5px; display:flex; flex-wrap:wrap; gap:4px; }.frontend-ai-local-tags span,.frontend-ai-status { padding:4px 6px; display:inline-flex; border-radius:5px; font-size:7px; }.frontend-ai-local-tags span { color:#8ea7cf; background:rgba(79,140,255,.08); }.frontend-ai-status.ready { color:#68d7a2; background:rgba(52,211,153,.09); }.frontend-ai-status.pending { color:#f0b968; background:rgba(245,158,11,.09); }.frontend-ai-status.local { color:#8fa0b5; background:rgba(100,116,139,.1); }
@media (max-width:700px) { .dispatch-model-catalog > header { align-items:flex-start; flex-direction:column; } }
@media (max-width:700px) { .frontend-ai-map > header { align-items:flex-start; flex-direction:column; } }

/* Invitation-only registration administration. Invitation secrets are never part of these list styles or data views. */
.invitation-page { display:grid; gap:18px; }.invitation-page .page-intro { margin-bottom:0; }.invite-create-button { min-height:38px; padding:0 14px; display:inline-flex; align-items:center; gap:7px; border:0; border-radius:8px; color:#fff; background:linear-gradient(135deg,#4f8cff,#7068ef); box-shadow:0 8px 22px rgba(79,140,255,.2); cursor:pointer; font-size:10px; }.invitation-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }.invitation-summary-grid article { min-height:96px; padding:15px 17px; display:flex; align-items:center; gap:12px; border:1px solid var(--admin-border); border-radius:12px; background:linear-gradient(145deg,rgba(23,35,56,.88),rgba(13,23,40,.8)); }.invitation-summary-grid article>span { width:36px; height:36px; display:grid; place-items:center; flex:none; border-radius:9px; color:#8eb0f4; background:rgba(79,140,255,.1); }.invitation-summary-grid article:nth-child(2)>span { color:#75daa9; background:rgba(52,211,153,.1); }.invitation-summary-grid article:nth-child(3)>span { color:#e0b06c; background:rgba(245,158,11,.09); }.invitation-summary-grid small,.invitation-summary-grid strong,.invitation-summary-grid p { display:block; }.invitation-summary-grid small { color:#6d7c91; font-size:9px; }.invitation-summary-grid strong { margin-top:3px; color:#edf4ff; font-size:20px; }.invitation-summary-grid p { margin:4px 0 0; color:#617086; font-size:8px; }.invitation-feedback { padding:11px 13px; display:flex; align-items:center; gap:9px; border:1px solid; border-radius:10px; font-size:10px; }.invitation-feedback>span { display:grid; place-items:center; flex:none; }.invitation-feedback p { margin:0; flex:1; line-height:1.5; }.invitation-feedback button { width:27px; height:27px; display:grid; place-items:center; flex:none; border:0; border-radius:6px; color:inherit; background:transparent; cursor:pointer; }.invitation-feedback.success { color:#80e3b1; border-color:rgba(52,211,153,.22); background:rgba(52,211,153,.075); }.invitation-feedback.error { color:#f59eaa; border-color:rgba(244,63,94,.25); background:rgba(244,63,94,.07); }.invitation-toolbar { align-items:center; }.invite-refresh { width:34px; min-height:34px; display:grid; place-items:center; border:1px solid var(--admin-border); border-radius:8px; color:#7f94b4; background:rgba(255,255,255,.025); cursor:pointer; }.invite-refresh:disabled { cursor:wait; opacity:.55; }.spinning { animation:invitation-spin .8s linear infinite; }.invitation-table { min-width:1160px; }.invitation-table td { height:75px; vertical-align:middle; }.invitation-identity { display:flex; align-items:center; gap:9px; }.invitation-identity>span { width:31px; height:31px; display:grid; place-items:center; border-radius:8px; color:#a6bdf4; background:rgba(79,140,255,.1); }.invitation-identity strong,.invitation-identity small,.invitation-date strong,.invitation-date small { display:block; }.invitation-identity strong,.invitation-date strong { color:#cdd9e9; font-size:10px; }.invitation-identity small,.invitation-date small { margin-top:4px; color:#627086; font-size:8px; }.invitation-email { display:flex; align-items:center; gap:6px; max-width:210px; color:#a2b1c5; font-size:10px; }.invitation-email svg { color:#718dbd; }.invitation-email span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.invitation-uses { min-width:94px; }.invitation-uses strong { color:#cbd8e8; font-size:10px; }.invitation-uses i { height:4px; margin-top:7px; display:block; overflow:hidden; border-radius:99px; background:rgba(148,163,184,.12); }.invitation-uses b { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#4f8cff,#8b6df6); }.invitation-status.active { color:#68d6a2; background:rgba(52,211,153,.1); }.invitation-status.revoked { color:#f39aaa; background:rgba(244,63,94,.09); }.invitation-status.expired,.invitation-status.exhausted { color:#d8ae6e; background:rgba(245,158,11,.09); }.invitation-actions { min-width:222px; display:flex; align-items:center; flex-wrap:wrap; gap:5px; }.invite-rotate-button { padding:6px 8px; display:flex; align-items:center; gap:5px; border:0; border-radius:6px; color:#c6adff; background:rgba(139,109,246,.1); cursor:pointer; font-size:8px; }.invitation-disabled-action { max-width:140px; overflow:hidden; color:#69778b; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.invitation-editor-modal,.invitation-issued-modal { width:min(650px,100%); max-height:calc(100vh - 40px); overflow:auto; border:1px solid rgba(148,163,184,.18); border-radius:15px; background:#111c2e; box-shadow:0 25px 80px rgba(0,0,0,.5); }.invitation-editor-modal>header,.invitation-issued-modal>header { min-height:70px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--admin-border); }.invitation-editor-modal h3,.invitation-issued-modal h3 { margin:0 0 4px; color:#fff; font-size:16px; }.invitation-editor-modal header p,.invitation-issued-modal header p { margin:0; color:#66758b; font-size:9px; line-height:1.45; }.invitation-editor-modal header>button { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--admin-border); border-radius:8px; color:#8190a6; background:rgba(255,255,255,.03); cursor:pointer; }.invitation-editor-body { padding:18px; }.invitation-security-note,.invitation-confirm-copy { padding:11px 12px; display:flex; align-items:flex-start; gap:8px; border:1px solid rgba(79,140,255,.16); border-radius:9px; color:#9bb4e4; background:rgba(79,140,255,.055); font-size:9px; line-height:1.55; }.invitation-security-note svg,.invitation-confirm-copy svg { flex:none; margin-top:1px; }.invitation-form-grid { margin-top:15px; display:grid; grid-template-columns:1fr 1fr; gap:13px; }.invitation-form-grid label,.invitation-revoke-reason { color:#93a1b4; font-size:9px; }.invitation-form-grid input,.invitation-revoke-reason textarea { width:100%; margin-top:6px; padding:10px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#d8e1ed; background:#0b1424; font-size:10px; }.invitation-form-grid input:focus,.invitation-revoke-reason textarea:focus { border-color:#4f8cff; box-shadow:0 0 0 3px rgba(79,140,255,.08); }.invitation-form-grid small { display:block; min-height:20px; margin-top:5px; color:#617086; font-size:8px; line-height:1.35; }.invitation-editor-modal footer,.invitation-issued-modal footer { min-height:64px; padding:12px 18px; display:flex; justify-content:flex-end; gap:8px; border-top:1px solid var(--admin-border); }.invitation-editor-modal footer button,.invitation-issued-modal footer button,.invitation-confirm-modal footer button { min-height:36px; padding:0 13px; display:flex; align-items:center; gap:6px; border:1px solid var(--admin-border); border-radius:8px; color:#8290a5; background:rgba(255,255,255,.035); cursor:pointer; }.invitation-editor-modal footer button.primary,.invitation-issued-modal footer button.primary,.invitation-confirm-modal footer button.primary { color:#fff; border-color:#4f8cff; background:#4f8cff; }.invitation-editor-modal footer button:disabled,.invitation-confirm-modal footer button:disabled { cursor:wait; opacity:.6; }.invitation-confirm-modal { width:min(480px,100%); }.invitation-confirm-modal .invitation-confirm-copy { margin:18px; color:#e1b06c; border-color:rgba(245,158,11,.18); background:rgba(245,158,11,.055); }.invitation-confirm-copy p { margin:0; }.invitation-revoke-reason { margin:0 18px 20px; display:block; }.invitation-revoke-reason textarea { min-height:76px; resize:vertical; }.invitation-issued-modal>header>span { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#c2acfc; background:rgba(139,109,246,.12); }.invitation-issued-body { padding:18px; }.invitation-issued-warning { padding:11px; display:flex; align-items:flex-start; gap:8px; border:1px solid rgba(244,63,94,.18); border-radius:9px; color:#ef9fab; background:rgba(244,63,94,.06); font-size:9px; line-height:1.55; }.invitation-issued-warning svg { flex:none; margin-top:1px; }.invitation-issued-body code { margin-top:14px; padding:15px; display:block; overflow:auto; border:1px dashed rgba(139,109,246,.45); border-radius:9px; color:#e0d3ff; background:#0a1322; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:16px; font-weight:700; letter-spacing:.09em; text-align:center; user-select:all; }.invitation-issued-body dl { margin:15px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.invitation-issued-body dl>div { padding:9px; border:1px solid rgba(148,163,184,.09); border-radius:8px; background:rgba(9,17,31,.35); }.invitation-issued-body dt { color:#65758b; font-size:8px; }.invitation-issued-body dd { margin:5px 0 0; overflow:hidden; color:#becbe0; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }@keyframes invitation-spin { to { transform:rotate(360deg); } }
@media (max-width:760px) { .invitation-summary-grid,.invitation-form-grid { grid-template-columns:1fr; }.invitation-toolbar { align-items:stretch; }.invitation-toolbar .filter-tabs { justify-content:space-between; }.invitation-toolbar .filter-tabs button { flex:1; }.invite-refresh { flex:0 0 34px !important; }.invitation-issued-body dl { grid-template-columns:1fr; }.invite-create-button { width:100%; justify-content:center; } }
.registration-mode-control { min-height:68px; padding:10px 0; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid rgba(148,163,184,.08); }.registration-mode-control strong,.registration-mode-control small { display:block; }.registration-mode-control strong { color:#d3dce8; font-size:11px; }.registration-mode-control small { max-width:560px; margin-top:4px; color:#65738a; font-size:9px; line-height:1.45; }.registration-mode-actions { display:flex; align-items:center; flex:none; gap:9px; }.registration-mode-actions select { min-height:33px; padding:0 9px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#dce5f1; background:#0b1424; font-size:10px; }.registration-mode-actions a { color:#83a9f7; font-size:9px; text-decoration:none; white-space:nowrap; }.registration-mode-actions a:hover { color:#b7cbfb; text-decoration:underline; }@media (max-width:760px) { .registration-mode-control { align-items:flex-start; flex-direction:column; }.registration-mode-actions { width:100%; justify-content:space-between; } }


/* === 用户管理标签页 === */
.admin-tab-bar { display:flex; gap:4px; padding:0 0 16px; border-bottom:1px solid rgba(148,163,184,.12); margin-bottom:20px; }
.admin-tab { display:inline-flex; align-items:center; gap:7px; padding:10px 20px; border:0; background:transparent; color:#5f6d83; font-size:13px; font-weight:600; cursor:pointer; border-radius:10px 10px 0 0; position:relative; transition:color .2s,background .2s; }
.admin-tab:hover { color:#94a3b8; background:rgba(148,163,184,.05); }
.admin-tab.active { color:#60a5fa; background:rgba(59,130,246,.08); }
.admin-tab.active::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:#60a5fa; border-radius:2px; }
.admin-tab svg { width:15px; height:15px; }
.tab-badge { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:#ef5d5d; color:#fff; font-size:10px; font-weight:700; margin-left:2px; }

/* === 运营概览时间范围、趋势与数据新鲜度 === */
.dashboard-filter-bar { margin-bottom:14px; padding:11px 13px; display:flex; align-items:center; gap:10px; border:1px solid var(--admin-border); border-radius:12px; background:rgba(17,28,46,.72); }
.dashboard-range-tabs { padding:3px; display:flex; gap:3px; border-radius:9px; background:rgba(4,10,20,.45); }
.dashboard-range-tabs button,.dashboard-refresh { min-height:32px; padding:0 11px; border:1px solid transparent; border-radius:7px; color:#74849b; background:transparent; cursor:pointer; font-size:9px; }
.dashboard-range-tabs button.active { color:#e8f0ff; border-color:rgba(79,140,255,.35); background:rgba(79,140,255,.15); }
.dashboard-filter-bar label { margin-left:auto; display:flex; align-items:center; gap:7px; color:#6f7e94; font-size:9px; }
.dashboard-filter-bar select { min-width:150px; min-height:32px; padding:0 9px; border:1px solid var(--admin-border); border-radius:7px; outline:0; color:#b9c7d9; background:#0b1424; font-size:9px; }
.dashboard-timezone { min-height:32px; padding:0 10px; display:flex; align-items:center; gap:6px; border:1px solid rgba(148,163,184,.1); border-radius:7px; color:#788ba8; background:rgba(9,17,31,.4); font-size:9px; white-space:nowrap; }
.dashboard-refresh { display:flex; align-items:center; gap:6px; color:#96b7fb; border-color:rgba(79,140,255,.2); background:rgba(79,140,255,.08); }
.dashboard-refresh:disabled { cursor:wait; opacity:.55; }
.dashboard-refresh .spinning { animation:dashboard-spin .8s linear infinite; }
.dashboard-freshness { margin-bottom:16px; padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid rgba(79,140,255,.16); border-radius:11px; background:linear-gradient(100deg,rgba(79,140,255,.08),rgba(139,109,246,.035)); }
.dashboard-freshness>div { display:flex; align-items:center; gap:9px; }
.dashboard-freshness>div:last-child { align-items:flex-end; flex-direction:column; gap:3px; text-align:right; }
.dashboard-freshness svg { flex:none; color:#80a9fa; }
.dashboard-freshness strong,.dashboard-freshness small { display:block; }
.dashboard-freshness strong { color:#bfcee2; font-size:10px; }
.dashboard-freshness small { margin-top:3px; color:#67778f; font-size:8px; }
.dashboard-kpi-grid article { min-height:150px; }
.dashboard-kpi-grid em { display:block; margin-top:8px; color:#8091aa; font-size:8px; font-style:normal; line-height:1.4; }
.dashboard-kpi-loading { opacity:.62; }
.dashboard-trend-panel { margin-top:18px; }
.dashboard-trend-panel>header>span { color:#71829b; font-size:9px; }
.dashboard-trend-scroll { min-height:190px; padding:18px 18px 12px; overflow-x:auto; }
.dashboard-trend-chart { height:155px; display:grid; align-items:end; gap:3px; }
.dashboard-trend-chart>div { height:100%; min-width:0; display:grid; grid-template-rows:1fr 22px; align-items:end; }
.dashboard-trend-chart>div>span { height:122px; display:flex; align-items:flex-end; border-bottom:1px solid rgba(148,163,184,.12); }
.dashboard-trend-chart i { width:100%; min-height:1px; display:block; border-radius:3px 3px 0 0; background:linear-gradient(180deg,#6fa0ff,#4f7fe0); opacity:.82; transition:opacity .2s; }
.dashboard-trend-chart>div:hover i { opacity:1; }
.dashboard-trend-chart small { padding-top:7px; overflow:visible; color:#5f6f86; font-size:7px; white-space:nowrap; }
.dashboard-definitions { margin-top:18px; }
.dashboard-definitions>header>svg { color:#769be7; }
.dashboard-definitions>div { padding:14px 17px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.dashboard-definitions article { padding:11px; border:1px solid rgba(148,163,184,.09); border-radius:9px; background:rgba(9,17,31,.32); }
.dashboard-definitions article strong { color:#aebed3; font-size:9px; }
.dashboard-definitions article p { margin:5px 0 0; color:#67778e; font-size:8px; line-height:1.55; }
@keyframes dashboard-spin { to { transform:rotate(360deg); } }
@media (max-width:1100px) { .dashboard-filter-bar { align-items:stretch; flex-wrap:wrap; }.dashboard-filter-bar label { margin-left:0; }.dashboard-timezone { margin-left:auto; }.dashboard-definitions>div { grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .dashboard-filter-bar { flex-direction:column; }.dashboard-range-tabs button { flex:1; }.dashboard-filter-bar label { align-items:stretch; flex-direction:column; }.dashboard-filter-bar select { width:100%; }.dashboard-timezone { margin-left:0; justify-content:center; }.dashboard-refresh { justify-content:center; }.dashboard-freshness { align-items:flex-start; flex-direction:column; }.dashboard-freshness>div:last-child { align-items:flex-start; text-align:left; }.dashboard-definitions>div { grid-template-columns:1fr; } }

/* 混元额度基线录入按钮（2026-09-04） */
.quota-baseline-btn { padding:3px 7px; border:1px solid var(--border); border-radius:6px; background:rgba(30,41,59,.5); color:#94a3b8; font-size:9px; cursor:pointer; }
.quota-baseline-btn:hover { color:#bfdbfe; border-color:rgba(96,165,250,.6); }

/* 重导按钮（2026-09-04，视频页） */
.reexport-btn { margin-left:6px; padding:2px 6px; border:1px solid var(--border); border-radius:6px; background:rgba(30,41,59,.5); color:#94a3b8; font-size:8px; cursor:pointer; display:inline-flex; align-items:center; gap:3px; }
.reexport-btn:hover { color:#bfdbfe; border-color:rgba(96,165,250,.6); }

/* 配置版本发布中心 */
.config-refresh { min-height:35px; border:1px solid var(--admin-border); cursor:pointer; }.config-refresh:disabled { cursor:wait; opacity:.55; }
.config-release-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.config-release-summary article { min-height:84px; padding:15px 17px; display:flex; align-items:center; gap:12px; border:1px solid var(--admin-border); border-radius:12px; background:linear-gradient(145deg,rgba(23,35,56,.88),rgba(13,23,40,.8)); }.config-release-summary article>svg { width:36px; height:36px; padding:9px; flex:none; border-radius:9px; color:#8eb0f4; background:rgba(79,140,255,.1); }.config-release-summary small,.config-release-summary strong { display:block; }.config-release-summary small { color:#6d7c91; font-size:9px; }.config-release-summary strong { margin-top:4px; color:#edf4ff; font-size:20px; }
.config-release-toolbar { padding:11px; display:flex; align-items:center; gap:10px; border:1px solid var(--admin-border); border-radius:11px; background:rgba(17,28,46,.72); }.config-release-toolbar .admin-search { flex:1; }.config-release-toolbar select { min-height:35px; padding:0 10px; border:1px solid var(--admin-border); border-radius:8px; outline:0; color:#aebdd0; background:#0b1424; font-size:9px; }
.config-release-list { display:grid; gap:11px; }.config-release-card { overflow:hidden; border:1px solid var(--admin-border); border-radius:12px; background:linear-gradient(145deg,rgba(21,33,53,.91),rgba(12,22,38,.9)); }.config-release-card.status-approved { border-color:rgba(79,140,255,.28); }.config-release-card.status-published { border-color:rgba(52,211,153,.24); }.config-release-card>header { padding:15px 17px; display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.config-release-card h3 { margin:8px 0 4px; color:#dce7f4; font-size:13px; }.config-release-card header p { margin:0; color:#627187; font-size:8px; }.config-release-card header code { color:#8fa8d1; }.config-scope,.config-status { margin-right:6px; padding:4px 7px; display:inline-flex; border-radius:6px; color:#9bb8ef; background:rgba(79,140,255,.09); font-size:8px; }.config-status.draft { color:#d5ae70; background:rgba(245,158,11,.09); }.config-status.approved { color:#a7bcf4; }.config-status.published { color:#71d5a4; background:rgba(52,211,153,.09); }.config-status.rejected,.config-status.rolled_back { color:#ef9baa; background:rgba(244,63,94,.08); }.config-status.superseded { color:#8491a5; background:rgba(148,163,184,.08); }.config-diff-toggle { min-height:31px; padding:0 10px; flex:none; border:1px solid var(--admin-border); border-radius:7px; color:#8ba8db; background:rgba(79,140,255,.06); cursor:pointer; font-size:8px; }
.config-diff-list { max-height:420px; padding:0 17px 14px; display:grid; gap:7px; overflow:auto; }.config-diff-list>div { padding:10px 11px; display:grid; grid-template-columns:160px 1fr 1fr; gap:9px; border:1px solid rgba(148,163,184,.08); border-radius:8px; background:rgba(7,14,26,.42); }.config-diff-list code { overflow-wrap:anywhere; color:#9cb7ec; font-size:8px; }.config-diff-list p { margin:0; overflow-wrap:anywhere; color:#8391a5; font-size:8px; line-height:1.55; }.config-diff-list p span { margin-right:7px; color:#58667a; }
.config-release-card>footer { padding:11px 17px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--admin-border); background:rgba(7,14,26,.2); }.config-release-card footer>div:first-child { display:flex; flex-wrap:wrap; gap:10px; color:#637187; font-size:8px; }.config-release-actions { display:flex; gap:6px; }.config-release-actions button { min-height:31px; padding:0 10px; display:flex; align-items:center; gap:5px; border:1px solid var(--admin-border); border-radius:7px; color:#a6b4c8; background:rgba(255,255,255,.035); cursor:pointer; font-size:8px; }.config-release-actions button.primary { color:#fff; border-color:#4f8cff; background:#4f8cff; }.config-release-actions button.danger { color:#ef9baa; border-color:rgba(244,63,94,.2); background:rgba(244,63,94,.06); }.config-release-actions button:disabled { cursor:not-allowed; opacity:.45; }
@media (max-width:760px) { .config-release-summary { grid-template-columns:1fr; }.config-release-toolbar,.config-release-card>header,.config-release-card>footer { align-items:stretch; flex-direction:column; }.config-release-toolbar select { width:100%; }.config-diff-list>div { grid-template-columns:1fr; }.config-release-actions { flex-wrap:wrap; } }

/* AI quota templates, reviewed assignments and aggregate-only alerts */
.quota-governance-layout{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(480px,1.05fr);gap:14px}.quota-template-builder,.quota-review-panel,.quota-alert-panel{min-width:0;overflow:hidden}.quota-template-builder>header,.quota-review-panel>header,.quota-alert-panel>header{min-height:70px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:11px;border-bottom:1px solid var(--admin-border)}.quota-template-builder>header{justify-content:flex-start}.quota-template-builder>header>span{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:10px;color:#a5b4fc;background:rgba(99,102,241,.12);font-size:18px}.quota-template-builder h3,.quota-review-panel h3,.quota-alert-panel h3{margin:0;color:#e7edf6;font-size:14px}.quota-template-builder header p,.quota-review-panel header p,.quota-alert-panel header p{margin:4px 0 0;color:#66758b;font-size:8px;line-height:1.5}.quota-template-grid{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.quota-template-grid>button{min-height:145px;padding:11px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--admin-border);border-radius:10px;color:#8290a5;background:rgba(8,16,29,.38);text-align:left;cursor:pointer}.quota-template-grid>button.active{border-color:#4f8cff;background:rgba(79,140,255,.09);box-shadow:0 0 0 1px rgba(79,140,255,.1)}.quota-template-grid span{color:#7da5ef;font-size:7px}.quota-template-grid strong{margin-top:7px;color:#dce5f1;font-size:10px}.quota-template-grid small{margin-top:6px;flex:1;color:#6f7e94;font-size:8px;line-height:1.5}.quota-template-grid b{margin-top:8px;color:#b6c4d8;font-size:8px}.quota-template-grid em{margin-top:5px;color:#65758c;font-size:7px;font-style:normal;line-height:1.5}.quota-template-reason{padding:0 16px 12px}.quota-template-reason span{margin-bottom:6px;display:block;color:#7b899e;font-size:8px}.quota-template-reason input{width:100%;min-height:35px;padding:7px 9px;border:1px solid var(--admin-border);border-radius:8px;outline:0;color:#cbd5e1;background:#0d1728;font-size:9px}.quota-review-panel>header{justify-content:space-between}.quota-preview-list{max-height:345px;padding:11px 16px;display:grid;gap:7px;overflow:auto}.quota-preview-list>article{padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;border:1px solid var(--admin-border);border-radius:9px;background:rgba(8,16,29,.32)}.quota-preview-list strong,.quota-preview-list small{display:block}.quota-preview-list strong{color:#d6e0ec;font-size:9px}.quota-preview-list small{margin-top:3px;color:#65738a;font-size:7px}.quota-preview-list>article>span{padding:4px 6px;border-radius:6px;color:#e4b566;background:rgba(245,158,11,.08);font-size:7px}.quota-preview-list>article>span.applied,.quota-preview-list>article>span.no_changes{color:#6fd3a0;background:rgba(16,185,129,.08)}.quota-preview-list>article>span.conflict,.quota-preview-list>article>span.ineligible{color:#ef94a3;background:rgba(244,63,94,.08)}.quota-preview-list p{grid-column:1/-1;margin:0;color:#7c8ba1;font-size:8px;line-height:1.6}.quota-review-panel>footer{min-height:58px;padding:10px 16px;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--admin-border)}.quota-review-panel>footer button{min-height:35px;padding:0 11px;display:flex;align-items:center;gap:6px;border:1px solid rgba(79,140,255,.3);border-radius:8px;color:#9fbcf2;background:rgba(79,140,255,.08);cursor:pointer;font-size:8px}.quota-review-panel>footer button.primary{color:#fff;border-color:#4f8cff;background:#4f8cff}.quota-review-panel>footer span{display:flex;align-items:center;gap:6px;color:#72d4a1;font-size:8px}.quota-alert-panel>header>div:last-child{display:flex;align-items:center;gap:8px}.quota-alert-panel>header label{display:flex;align-items:center;gap:5px;color:#7f8da1;font-size:8px}.quota-alert-panel>header input{accent-color:#4f8cff}.quota-alert-panel>header button{min-height:32px;padding:0 9px;display:flex;align-items:center;gap:5px;border:1px solid var(--admin-border);border-radius:7px;color:#93a8c8;background:rgba(255,255,255,.03);cursor:pointer;font-size:8px}.quota-alert-list{padding:14px;display:grid;gap:8px}.quota-alert-list>article{padding:12px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid rgba(245,158,11,.18);border-radius:10px;background:rgba(120,53,15,.06)}.quota-alert-list>article.critical{border-color:rgba(244,63,94,.2);background:rgba(127,29,29,.07)}.quota-alert-list>article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#e7ae55;background:rgba(245,158,11,.1)}.quota-alert-list>article.critical>span{color:#f18b9b;background:rgba(244,63,94,.1)}.quota-alert-list header{display:flex;align-items:center;gap:7px}.quota-alert-list strong{color:#dce5ef;font-size:10px}.quota-alert-list em{padding:3px 5px;border-radius:5px;color:#e2ac55;background:rgba(245,158,11,.1);font-size:7px;font-style:normal}.quota-alert-list .critical em{color:#ef8fa0;background:rgba(244,63,94,.1)}.quota-alert-list h4{margin:5px 0 0;color:#aebbd0;font-size:9px}.quota-alert-list p{margin:5px 0 0;color:#7c899d;font-size:8px}.quota-alert-list small{margin-top:5px;display:block;color:#5f6d82;font-size:7px}.quota-alert-list>article>button{min-height:31px;padding:0 9px;display:flex;align-items:center;gap:5px;border:1px solid rgba(79,140,255,.25);border-radius:7px;color:#9db9ef;background:rgba(79,140,255,.08);cursor:pointer;font-size:8px}.quota-alert-list>article>b{max-width:150px;color:#6dcb99;font-size:7px;font-weight:500;text-align:right}@media(max-width:1050px){.quota-governance-layout{grid-template-columns:1fr}}@media(max-width:650px){.quota-template-grid{grid-template-columns:1fr}.quota-alert-panel>header{align-items:flex-start;flex-direction:column}.quota-alert-list>article{grid-template-columns:34px minmax(0,1fr)}.quota-alert-list>article>button,.quota-alert-list>article>b{grid-column:2;justify-self:start;text-align:left}}

/* User session security management */
.session-policy-note{margin:14px 16px 0;padding:12px 13px;display:flex;align-items:flex-start;gap:10px;border:1px solid rgba(96,165,250,.18);border-radius:9px;color:#93c5fd;background:rgba(30,64,175,.07)}.session-policy-note>svg{flex:none;margin-top:1px}.session-policy-note strong,.session-policy-note span{display:block}.session-policy-note strong{color:#bfdbfe;font-size:10px}.session-policy-note span{margin-top:4px;color:#8291a9;font-size:8px;line-height:1.55}.session-toolbar{gap:8px}.session-toolbar>select{min-height:34px;padding:7px 9px;border:1px solid var(--admin-border);border-radius:7px;outline:0;color:#aab6c8;background:#142036;font-size:9px}.session-batch-bar{min-height:52px;padding:9px 16px;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;border-top:1px solid rgba(148,163,184,.08);background:rgba(9,17,31,.22)}.session-batch-bar>span{color:#8291a9;font-size:9px}.session-batch-bar>span b{color:#dbeafe}.session-batch-bar>input{min-height:32px;padding:7px 9px;border:1px solid var(--admin-border);border-radius:7px;outline:0;color:#cbd5e1;background:#101a2d;font-size:9px}.session-batch-bar>button:disabled{opacity:.45;cursor:not-allowed}.user-session-table{min-width:1030px}.user-session-table th:first-child,.user-session-table td:first-child{width:42px;text-align:center}.user-session-table input[type=checkbox]{accent-color:#4f8cff}.session-user-cell{display:flex;align-items:center;gap:9px}.session-user-cell>svg{flex:none;color:#7fa8f8;font-size:18px}.session-user-cell strong,.session-user-cell small{display:block}.session-user-cell strong{color:#dce4ef;font-size:10px}.session-user-cell small{margin-top:3px;color:#637188;font-size:8px}.session-risk-pill{padding:5px 7px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;color:#7f8ca1;background:rgba(148,163,184,.09);font-size:8px}.session-risk-pill.notice{color:#e8b861;background:rgba(245,158,11,.1)}.session-risk-pill.elevated{color:#f18b9b;background:rgba(244,63,94,.1)}.session-risk-reasons{max-width:260px;margin-top:5px;display:block;color:#69768b;font-size:7px;line-height:1.45}.admin-feedback{margin:12px 16px 0;padding:9px 11px;border-radius:8px;font-size:9px}.admin-feedback.success{color:#86efac;background:rgba(22,101,52,.12);border:1px solid rgba(74,222,128,.17)}.admin-feedback.error{color:#fda4af;background:rgba(127,29,29,.12);border:1px solid rgba(251,113,133,.18)}@media(max-width:720px){.session-batch-bar{grid-template-columns:1fr}.session-toolbar{align-items:stretch;flex-direction:column}.session-toolbar>select,.session-toolbar>button{width:100%}}

/* Usage and audit governance */
.admin-section-tabs{margin-bottom:14px;padding:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px solid var(--admin-border);border-radius:12px;background:rgba(8,16,29,.46)}.admin-section-tabs>button{min-height:62px;padding:10px 13px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:9px;color:#6f7d92;background:transparent;text-align:left;cursor:pointer}.admin-section-tabs>button>svg{flex:none;font-size:18px}.admin-section-tabs strong,.admin-section-tabs small{display:block}.admin-section-tabs strong{color:#cbd5e1;font-size:10px}.admin-section-tabs small{margin-top:4px;color:#5f6d81;font-size:8px}.admin-section-tabs>button.active{border-color:rgba(79,140,255,.32);color:#8eb3f7;background:rgba(79,140,255,.09)}.governance-loading{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#65738a}.governance-loading>svg{font-size:25px}.governance-loading p{font-size:9px}.governance-loading button{padding:7px 10px;border:1px solid var(--admin-border);border-radius:7px;color:#9eb3d3;background:rgba(255,255,255,.03);cursor:pointer}.governance-metric-grid{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.governance-metric-grid>article{min-width:0;padding:13px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--admin-border);border-radius:11px;background:var(--admin-panel)}.governance-metric-grid>article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:#8ab0f4;background:rgba(79,140,255,.09)}.governance-metric-grid>article.warning>span{color:#e8b35d;background:rgba(245,158,11,.1)}.governance-metric-grid>article.healthy>span{color:#6ed09b;background:rgba(16,185,129,.09)}.governance-metric-grid small,.governance-metric-grid strong,.governance-metric-grid em{display:block}.governance-metric-grid small{color:#66758a;font-size:7px}.governance-metric-grid strong{margin-top:4px;color:#dce5f1;font-size:13px}.governance-metric-grid em{margin-top:4px;overflow-wrap:anywhere;color:#6f7e92;font-size:7px;font-style:normal;line-height:1.45}.governance-export>header,.governance-policy-grid>article>header,.governance-alerts>header{padding:14px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--admin-border)}.governance-export h3,.governance-policy-grid h3,.governance-alerts h3{margin:0;color:#e4ebf5;font-size:12px}.governance-export header p,.governance-policy-grid header p,.governance-alerts header p{margin:4px 0 0;color:#69778b;font-size:8px;line-height:1.55}.governance-export-controls{padding:14px 16px;display:grid;grid-template-columns:repeat(2,minmax(140px,.7fr)) repeat(2,minmax(160px,1fr));gap:9px;align-items:end}.governance-export-controls label,.governance-days{color:#7a889d;font-size:8px}.governance-export-controls input,.governance-days input{width:100%;min-height:34px;margin-top:6px;padding:6px 8px;border:1px solid var(--admin-border);border-radius:7px;outline:0;color:#cbd5e1;background:#101a2d}.governance-export-controls button,.governance-policy-actions button,.governance-alerts>header>button,.governance-alerts>div>article>button{min-height:34px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--admin-border);border-radius:8px;color:#9bb4dc;background:rgba(79,140,255,.06);cursor:pointer;font-size:8px}.governance-export-controls button:disabled,.governance-policy-actions button:disabled,.governance-alerts button:disabled{opacity:.42;cursor:not-allowed}.governance-policy-grid{margin:14px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.governance-switch{display:flex;align-items:center;gap:6px;color:#8190a5;font-size:8px}.governance-switch input{accent-color:#4f8cff}.governance-days{padding:14px 16px;display:block}.governance-days small{margin-top:6px;display:block;color:#5f6c80}.governance-policy-actions{padding:0 16px 14px;display:flex;justify-content:flex-end;gap:8px}.governance-policy-actions button.danger{color:#ef9aaa;border-color:rgba(244,63,94,.2);background:rgba(244,63,94,.06)}.governance-alerts>div{padding:12px;display:grid;gap:8px}.governance-alerts>div>article{padding:11px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(245,158,11,.18);border-radius:9px;background:rgba(120,53,15,.06)}.governance-alerts>div>article.critical{border-color:rgba(244,63,94,.22);background:rgba(127,29,29,.07)}.governance-alerts>div>article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#e3ae57;background:rgba(245,158,11,.1)}.governance-alerts strong{color:#dce4ef;font-size:9px}.governance-alerts p{margin:5px 0 0;color:#79879b;font-size:8px}.governance-alerts small{margin-top:4px;display:block;color:#5e6c80;font-size:7px}.governance-alerts>div>article>b{color:#69cc98;font-size:8px}@media(max-width:1100px){.governance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.governance-export-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.admin-section-tabs,.governance-metric-grid,.governance-policy-grid,.governance-export-controls{grid-template-columns:1fr}.governance-alerts>div>article{grid-template-columns:34px minmax(0,1fr)}.governance-alerts>div>article>button,.governance-alerts>div>article>b{grid-column:2;justify-self:start}}

/* Permission templates and reviewed batch changes */
.permission-batch-layout{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(480px,1.08fr);gap:14px}.permission-template-builder,.permission-review-panel{min-width:0;overflow:hidden}.permission-template-builder>header,.permission-review-panel>header{min-height:70px;padding:14px 16px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--admin-border)}.permission-template-builder>header>span{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:10px;color:#a5b4fc;background:rgba(99,102,241,.12);font-size:18px}.permission-template-builder h3,.permission-review-panel h3{margin:0;color:#e7edf6;font-size:14px}.permission-template-builder header p,.permission-review-panel header p{margin:4px 0 0;color:#66758b;font-size:8px;line-height:1.5}.permission-template-grid{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-template-grid>button{min-height:126px;padding:11px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--admin-border);border-radius:10px;color:#8290a5;background:rgba(8,16,29,.38);text-align:left;cursor:pointer}.permission-template-grid>button.active{border-color:#4f8cff;background:rgba(79,140,255,.09);box-shadow:0 0 0 1px rgba(79,140,255,.1)}.permission-template-grid span{color:#7da5ef;font-size:7px}.permission-template-grid strong{margin-top:7px;color:#dce5f1;font-size:10px}.permission-template-grid small{margin-top:6px;flex:1;color:#6f7e94;font-size:8px;line-height:1.5}.permission-template-grid b{margin-top:8px;color:#8da0ba;font-size:7px}.permission-template-form{padding:0 16px 12px;display:grid;grid-template-columns:1fr 1.2fr;gap:9px}.permission-template-form label>span{margin-bottom:6px;display:block;color:#7b899e;font-size:8px}.permission-template-form select,.permission-template-form input{width:100%;min-height:35px;padding:7px 9px;border:1px solid var(--admin-border);border-radius:8px;outline:0;color:#cbd5e1;background:#0d1728;font-size:9px}.permission-replace-warning{margin:0 16px 12px;padding:9px 10px;display:flex;align-items:flex-start;gap:7px;border:1px solid rgba(245,158,11,.18);border-radius:8px;color:#d6a955;background:rgba(120,53,15,.08);font-size:8px;line-height:1.5}.permission-user-picker{margin:0 16px 12px;overflow:hidden;border:1px solid var(--admin-border);border-radius:10px}.permission-user-picker>div:first-child{padding:9px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--admin-border)}.permission-user-picker .admin-search{flex:1}.permission-user-picker>div:first-child>span{color:#7d8ca3;font-size:8px;white-space:nowrap}.permission-user-picker>div:last-child{max-height:190px;padding:7px;display:grid;grid-template-columns:1fr 1fr;gap:5px;overflow:auto}.permission-user-picker label{padding:7px;display:grid;grid-template-columns:auto 27px minmax(0,1fr);align-items:center;gap:7px;border:1px solid transparent;border-radius:8px;cursor:pointer}.permission-user-picker label.selected{border-color:rgba(79,140,255,.28);background:rgba(79,140,255,.07)}.permission-user-picker input{accent-color:#4f8cff}.permission-user-picker label>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#b8c9e6;background:#23324a;font-size:9px;font-weight:700}.permission-user-picker strong,.permission-user-picker small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-user-picker strong{color:#cbd5e1;font-size:9px}.permission-user-picker small{margin-top:3px;color:#65738a;font-size:7px}.permission-preview-action{min-height:38px;margin:0 16px 16px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #4f8cff;border-radius:8px;color:#fff;background:#4f8cff;cursor:pointer;font-size:9px}.permission-preview-action:disabled{opacity:.45;cursor:not-allowed}.permission-review-panel>header{justify-content:space-between}.permission-change-status{padding:5px 8px;border-radius:999px;color:#eab968;background:rgba(245,158,11,.1);font-size:8px}.permission-change-status.approved{color:#9ab9f8;background:rgba(59,130,246,.1)}.permission-change-status.applied{color:#75d5a2;background:rgba(16,185,129,.1)}.permission-review-meta{padding:12px 16px;border-bottom:1px solid var(--admin-border);background:rgba(9,17,31,.24)}.permission-review-meta span,.permission-review-meta small{display:block}.permission-review-meta span{color:#9ba9bc;font-size:9px}.permission-review-meta b{color:#dbeafe}.permission-review-meta small{margin-top:5px;color:#66758b;font-size:8px}.permission-preview-list{max-height:345px;padding:11px 16px;display:grid;gap:7px;overflow:auto}.permission-preview-list>article{padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;border:1px solid var(--admin-border);border-radius:9px;background:rgba(8,16,29,.32)}.permission-preview-list strong,.permission-preview-list small{display:block}.permission-preview-list strong{color:#d6e0ec;font-size:9px}.permission-preview-list small{margin-top:3px;color:#65738a;font-size:7px}.permission-preview-list>article>span{padding:4px 6px;border-radius:6px;color:#e4b566;background:rgba(245,158,11,.08);font-size:7px}.permission-preview-list>article>span.applied,.permission-preview-list>article>span.no_changes{color:#6fd3a0;background:rgba(16,185,129,.08)}.permission-preview-list>article>span.conflict,.permission-preview-list>article>span.ineligible{color:#ef94a3;background:rgba(244,63,94,.08)}.permission-preview-list p{grid-column:1/-1;margin:0;color:#7c8ba1;font-size:8px;line-height:1.6}.permission-review-panel>footer{min-height:58px;padding:10px 16px;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--admin-border)}.permission-review-panel>footer button{min-height:35px;padding:0 11px;display:flex;align-items:center;gap:6px;border:1px solid rgba(79,140,255,.3);border-radius:8px;color:#9fbcf2;background:rgba(79,140,255,.08);cursor:pointer;font-size:8px}.permission-review-panel>footer button.primary{color:#fff;border-color:#4f8cff;background:#4f8cff}.permission-review-panel>footer span{display:flex;align-items:center;gap:6px;color:#72d4a1;font-size:8px}.permission-review-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#536178;text-align:center}.permission-review-empty>svg{font-size:28px}.permission-review-empty h3{margin:10px 0 0;color:#8d9bb0;font-size:11px}.permission-review-empty p{margin:5px 0 0;font-size:8px}.permission-history{border-top:1px solid var(--admin-border)}.permission-history>h4{margin:0;padding:12px 16px;color:#8190a5;font-size:9px}.permission-history>button{width:100%;padding:9px 16px;display:flex;align-items:center;justify-content:space-between;border:0;border-top:1px solid rgba(148,163,184,.07);color:inherit;background:transparent;text-align:left;cursor:pointer}.permission-history>button:hover{background:rgba(255,255,255,.025)}.permission-history strong,.permission-history small{display:block}.permission-history strong{color:#b9c4d3;font-size:9px}.permission-history small{margin-top:3px;color:#5f6d82;font-size:7px}.permission-history b{padding:4px 6px;border-radius:6px;color:#d8aa5d;background:rgba(245,158,11,.08);font-size:7px}.permission-history b.approved{color:#8facf0;background:rgba(59,130,246,.08)}.permission-history b.applied{color:#69cc98;background:rgba(16,185,129,.08)}.permission-history>p{margin:0;padding:0 16px 16px;color:#65738a;font-size:8px}@media(max-width:1050px){.permission-batch-layout{grid-template-columns:1fr}}@media(max-width:620px){.permission-template-grid,.permission-template-form,.permission-user-picker>div:last-child{grid-template-columns:1fr}}


.mcp-page button{font-family:inherit}.mcp-metric-grid{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mcp-metric-grid>article{padding:14px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;border:1px solid var(--admin-border);border-radius:11px;background:var(--admin-panel)}.mcp-metric-grid>article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#84aef8;background:rgba(79,140,255,.1);font-size:18px}.mcp-metric-grid small,.mcp-metric-grid strong,.mcp-metric-grid p{display:block}.mcp-metric-grid small{color:#66758a;font-size:7px}.mcp-metric-grid strong{margin-top:4px;color:#e1e8f2;font-size:14px}.mcp-metric-grid p{margin:4px 0 0;color:#65738a;font-size:7px}.mcp-main-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.mcp-overview-layout,.mcp-client-layout{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(460px,1.08fr);gap:14px}.mcp-endpoint-card,.mcp-security-card,.mcp-create-card,.mcp-client-list,.mcp-tool-catalog,.mcp-log-panel{min-width:0;overflow:hidden;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-panel)}.mcp-endpoint-card>header,.mcp-security-card>header,.mcp-create-card>header,.mcp-client-list>header,.mcp-tool-catalog>header,.mcp-log-panel>header{padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--admin-border)}.mcp-endpoint-card>header>span,.mcp-create-card>header>span{width:39px;height:39px;display:grid;place-items:center;flex:none;border-radius:10px;color:#9abaf5;background:rgba(79,140,255,.1);font-size:18px}.mcp-endpoint-card>header>div,.mcp-create-card>header>div{flex:1}.mcp-endpoint-card h3,.mcp-security-card h3,.mcp-create-card h3,.mcp-client-list h3,.mcp-tool-catalog h3,.mcp-log-panel h3{margin:0;color:#e3eaf4;font-size:12px}.mcp-endpoint-card header p,.mcp-security-card header p,.mcp-create-card header p,.mcp-client-list header p,.mcp-tool-catalog header p,.mcp-log-panel header p{margin:4px 0 0;color:#6d7b90;font-size:8px;line-height:1.55}.mcp-copy-row{margin:16px 16px 0;display:flex;align-items:center;gap:8px}.mcp-copy-row code{min-width:0;flex:1;padding:10px 11px;overflow:auto;border:1px solid rgba(79,140,255,.2);border-radius:8px;color:#9dbdf5;background:#0c172a;font-size:9px;white-space:nowrap}.mcp-copy-row button,.mcp-endpoint-card>button,.mcp-secret-value button{min-height:36px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--admin-border);border-radius:8px;color:#a9bfe3;background:rgba(79,140,255,.06);cursor:pointer;font-size:8px}.mcp-endpoint-card pre,.mcp-secret-modal pre{margin:10px 16px;padding:12px;overflow:auto;border:1px solid var(--admin-border);border-radius:9px;color:#83a8eb;background:#0b1424;font:8px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.mcp-endpoint-card>button{margin:0 16px 16px}.mcp-security-card>header{justify-content:flex-start}.mcp-security-card>header>svg{flex:none;color:#72d4a1;font-size:25px}.mcp-security-card ul{margin:0;padding:16px 20px 18px 36px;color:#8795aa;font-size:9px;line-height:1.75}.mcp-security-card li+li{margin-top:7px}.mcp-form-grid{padding:14px 16px 4px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.mcp-form-grid label,.mcp-client-editor>label{color:#77869b;font-size:8px}.mcp-form-grid input,.mcp-form-grid select,.mcp-client-editor>label input{width:100%;min-height:35px;margin-top:6px;padding:7px 9px;border:1px solid var(--admin-border);border-radius:8px;outline:0;color:#cbd5e1;background:#0d1728;font-size:9px}.mcp-tool-picker{padding:10px 16px}.mcp-tool-picker>strong{display:block;margin-bottom:8px;color:#92a3bb;font-size:9px}.mcp-tool-picker>section{padding:9px 0;border-top:1px solid rgba(148,163,184,.08)}.mcp-tool-picker h4{margin:0 0 7px;color:#65758b;font-size:8px}.mcp-tool-picker label{padding:6px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border-radius:7px;cursor:pointer}.mcp-tool-picker label:hover{background:rgba(255,255,255,.025)}.mcp-tool-picker label.disabled,.mcp-client-editor label.disabled{opacity:.38}.mcp-tool-picker input,.mcp-client-editor input[type=checkbox]{accent-color:#4f8cff}.mcp-tool-picker b,.mcp-tool-picker small{display:block}.mcp-tool-picker b{color:#bcc8d9;font-size:8px}.mcp-tool-picker small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;color:#5f6e84;font:7px ui-monospace,SFMono-Regular,Menlo,monospace}.mcp-create-card>footer{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--admin-border)}.mcp-create-card>footer>span{color:#75849a;font-size:8px}.mcp-create-card>footer>button,.mcp-client-list article>footer button,.mcp-client-editor footer button,.mcp-secret-modal footer button{min-height:35px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #4f8cff;border-radius:8px;color:#fff;background:#4f8cff;cursor:pointer;font-size:8px}.mcp-client-list>header>span,.mcp-tool-catalog>header>span{padding:5px 8px;display:flex;align-items:center;gap:5px;border-radius:999px;color:#8eabe0;background:rgba(79,140,255,.09);font-size:8px}.mcp-client-list>article{margin:10px;padding:12px;border:1px solid var(--admin-border);border-radius:10px;background:rgba(8,16,29,.32)}.mcp-client-list>article.revoked,.mcp-client-list>article.expired{opacity:.7}.mcp-client-list article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mcp-client-list article>header strong,.mcp-client-list article>header small{display:block}.mcp-client-list article>header strong{color:#dce5ef;font-size:10px}.mcp-client-list article>header small{margin-top:4px;color:#647287;font-size:8px}.mcp-client-list article>header>span{padding:4px 7px;border-radius:999px;color:#70d09c;background:rgba(16,185,129,.09);font-size:7px}.mcp-client-list article.disabled header>span,.mcp-client-list article.expired header>span{color:#e3b25e;background:rgba(245,158,11,.09)}.mcp-client-list article.revoked header>span,.mcp-client-list article.user-disabled header>span{color:#ef94a4;background:rgba(244,63,94,.09)}.mcp-client-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px}.mcp-client-meta span{display:flex;align-items:center;gap:4px;color:#77869a;font-size:7px}.mcp-client-tools{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}.mcp-client-tools span{padding:4px 6px;border-radius:5px;color:#87a8e2;background:rgba(79,140,255,.07);font-size:7px}.mcp-client-list article>footer{margin-top:11px;padding-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:7px;border-top:1px solid rgba(148,163,184,.08)}.mcp-client-list article>footer>label{margin-right:auto}.mcp-client-list article>footer button.secondary,.mcp-client-editor footer button.secondary,.mcp-secret-modal footer button.secondary{color:#97add0;border-color:var(--admin-border);background:rgba(255,255,255,.025)}.mcp-client-list article>footer button.danger{color:#ef94a4;border-color:rgba(244,63,94,.2);background:rgba(244,63,94,.06)}.mcp-client-editor{margin-top:10px;padding:10px;border:1px solid rgba(79,140,255,.16);border-radius:8px;background:rgba(30,64,175,.04)}.mcp-client-editor>div{max-height:180px;display:grid;grid-template-columns:1fr 1fr;gap:5px;overflow:auto}.mcp-client-editor>div label{display:flex;align-items:center;gap:6px;color:#8796aa;font-size:7px}.mcp-client-editor>label{max-width:160px;margin-top:10px;display:block}.mcp-client-editor footer{margin-top:10px;display:flex;justify-content:flex-end;gap:7px}.mcp-empty{min-height:190px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#536177;text-align:center}.mcp-empty>svg{font-size:28px}.mcp-empty strong{margin-top:9px;color:#8f9db1;font-size:10px}.mcp-empty p{margin:5px 0 0;color:#5d6b80;font-size:8px}.mcp-tool-catalog>section{padding:13px 16px;border-top:1px solid rgba(148,163,184,.07)}.mcp-tool-catalog>section>h4{margin:0 0 9px;display:flex;align-items:center;gap:7px;color:#9ba9bb;font-size:10px}.mcp-tool-catalog>section>h4 small{padding:3px 5px;border-radius:5px;color:#65758b;background:rgba(148,163,184,.06);font-size:7px}.mcp-tool-catalog>section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mcp-tool-catalog article{padding:11px;border:1px solid var(--admin-border);border-radius:9px;background:rgba(8,16,29,.32)}.mcp-tool-catalog article:not(.enabled){opacity:.55}.mcp-tool-catalog article>header{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px}.mcp-tool-catalog article>header>span{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;color:#83a8eb;background:rgba(79,140,255,.08)}.mcp-tool-catalog article>header>span.write{color:#deb264;background:rgba(245,158,11,.08)}.mcp-tool-catalog article>header>span.ai{color:#ae9cf1;background:rgba(139,92,246,.09)}.mcp-tool-catalog article strong,.mcp-tool-catalog article code{display:block}.mcp-tool-catalog article strong{color:#d3dce8;font-size:9px}.mcp-tool-catalog article code{margin-top:3px;overflow:hidden;text-overflow:ellipsis;color:#60708a;font-size:7px}.mcp-tool-catalog article p{min-height:35px;margin:9px 0;color:#718096;font-size:8px;line-height:1.55}.mcp-tool-catalog article footer{display:flex;align-items:center;gap:6px}.mcp-tool-catalog article footer>span,.mcp-tool-catalog article footer>em{padding:3px 5px;border-radius:5px;color:#7fa8ef;background:rgba(79,140,255,.07);font-size:7px;font-style:normal}.mcp-tool-catalog article footer>span.write{color:#dfb15e;background:rgba(245,158,11,.07)}.mcp-tool-catalog article footer>span.ai{color:#aa98ee;background:rgba(139,92,246,.08)}.mcp-tool-catalog article footer>small{flex:1;color:#657389;font-size:7px}.mcp-tool-catalog article footer>em{color:#70cc99;background:rgba(16,185,129,.07)}.mcp-log-panel>header>svg{color:#70d09c;font-size:22px}.mcp-call-status{display:inline-flex;align-items:center;gap:5px;color:#70d09c}.mcp-call-status.error{color:#ef94a4}.mcp-secret-modal{width:min(720px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--admin-border);border-radius:13px;background:#111c2e;box-shadow:0 24px 70px rgba(0,0,0,.48)}.mcp-secret-modal>header{padding:15px 17px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--admin-border)}.mcp-secret-modal h3{margin:0;color:#e4ebf5;font-size:13px}.mcp-secret-modal header p{margin:5px 0 0;color:#6e7c91;font-size:8px}.mcp-secret-modal header>button{border:0;color:#75849a;background:transparent;cursor:pointer}.mcp-secret-warning{margin:15px 16px 0;padding:11px;display:flex;gap:9px;border:1px solid rgba(245,158,11,.2);border-radius:9px;color:#e2b05d;background:rgba(120,53,15,.08)}.mcp-secret-warning>svg{flex:none}.mcp-secret-warning strong{color:#e8bd70;font-size:9px}.mcp-secret-warning p{margin:4px 0 0;color:#927b58;font-size:8px;line-height:1.5}.mcp-secret-value{margin:10px 16px;display:flex;gap:8px}.mcp-secret-value code{min-width:0;flex:1;padding:11px;overflow:auto;border:1px solid rgba(16,185,129,.2);border-radius:8px;color:#8fe0b3;background:#0a1920;font-size:8px;white-space:nowrap}.mcp-secret-modal>footer{padding:12px 16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--admin-border)}@media(max-width:1080px){.mcp-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mcp-overview-layout,.mcp-client-layout{grid-template-columns:1fr}}@media(max-width:700px){.mcp-main-tabs,.mcp-metric-grid,.mcp-form-grid,.mcp-tool-catalog>section>div,.mcp-client-editor>div{grid-template-columns:1fr}.mcp-client-list article>footer{align-items:stretch;flex-direction:column}.mcp-client-list article>footer>label{margin:0}.mcp-secret-value,.mcp-secret-modal>footer{flex-direction:column}.mcp-copy-row{align-items:stretch;flex-direction:column}}


/* MCP workspace visual normalization. Kept separate from the legacy compact
   stylesheet so future MCP modules can evolve without widening global styles. */
.mcp-page {
  --mcp-surface: linear-gradient(150deg, rgba(18, 31, 52, .98), rgba(9, 18, 33, .96));
  --mcp-inset: rgba(5, 13, 25, .72);
  --mcp-line: rgba(92, 139, 211, .13);
  display: grid;
  gap: 18px;
}

.mcp-page .mcp-metric-grid,
.mcp-page .mcp-main-tabs {
  margin-bottom: 0;
}

.mcp-page > .admin-feedback {
  margin: 0;
}

.mcp-hero {
  min-height: 168px;
  padding: 28px 30px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border: 0;
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 8%, rgba(87, 111, 255, .24), transparent 33%),
    radial-gradient(circle at 8% 120%, rgba(31, 183, 168, .14), transparent 40%),
    linear-gradient(135deg, #142440, #0b1629 63%, #10192f);
  box-shadow: 0 24px 70px rgba(2, 8, 23, .24), inset 0 1px 0 rgba(255, 255, 255, .045);
}

.mcp-hero::after {
  content: '';
  width: 260px;
  height: 260px;
  position: absolute;
  right: -84px;
  bottom: -150px;
  border: 1px solid rgba(119, 151, 255, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(119, 151, 255, .025), 0 0 0 78px rgba(119, 151, 255, .018);
  pointer-events: none;
}

.mcp-hero-copy {
  max-width: 820px;
  position: relative;
  z-index: 1;
}

.mcp-eyebrow {
  margin-bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #75a6ff;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .13em;
}

.mcp-hero h2 {
  margin: 0;
  color: #f6f9ff;
  font-size: 30px;
  letter-spacing: -.035em;
}

.mcp-hero p {
  max-width: 760px;
  margin: 10px 0 0;
  color: #8fa0b9;
  font-size: 12px;
  line-height: 1.7;
}

.mcp-hero-meta {
  margin-top: 18px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.mcp-hero-meta > span,
.mcp-hero-meta > code {
  min-height: 27px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  border-radius: 7px;
  color: #8495ad;
  background: rgba(5, 13, 26, .46);
  font-size: 8px;
}

.mcp-hero-meta > span.online {
  color: #70d5a4;
}

.mcp-hero-meta > span.offline {
  color: #f2a4ae;
}

.mcp-hero-meta i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 12%, transparent);
}

.mcp-refresh-button {
  min-width: 118px;
  min-height: 42px;
  padding: 0 15px;
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: none;
  border: 0;
  border-radius: 10px;
  color: #dbe8ff;
  background: rgba(79, 140, 255, .16);
  box-shadow: inset 0 0 0 1px rgba(122, 164, 255, .24);
  cursor: pointer;
  font-size: 10px;
}

.mcp-refresh-button:hover {
  background: rgba(79, 140, 255, .24);
}

.mcp-page button:disabled,
.mcp-page input:disabled,
.mcp-page select:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.mcp-metric-grid {
  gap: 14px;
}

.mcp-metric-grid > article {
  min-height: 112px;
  padding: 18px;
  position: relative;
  gap: 15px;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(18, 31, 52, .96), rgba(10, 19, 34, .94));
  box-shadow: 0 12px 34px rgba(2, 8, 23, .15), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.mcp-metric-grid > article::after {
  content: '';
  width: 3px;
  position: absolute;
  inset: 17px auto 17px 0;
  border-radius: 0 4px 4px 0;
  background: #4f8cff;
}

.mcp-metric-grid > article:nth-child(1)::after { background: #3ac98b; }
.mcp-metric-grid > article:nth-child(3)::after { background: #8b6ff2; }
.mcp-metric-grid > article:nth-child(4)::after { background: #e7a84c; }
.mcp-metric-grid > article.warning::after { background: #ed6f7f; }

.mcp-metric-grid > article > span {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  font-size: 20px;
}

.mcp-metric-grid > article:nth-child(1) > span {
  color: #72d5a3;
  background: rgba(16, 185, 129, .1);
}

.mcp-metric-grid > article:nth-child(2) > span {
  color: #91b5fb;
  background: rgba(79, 140, 255, .1);
}

.mcp-metric-grid > article:nth-child(3) > span {
  color: #c0adf8;
  background: rgba(139, 92, 246, .1);
}

.mcp-metric-grid > article:nth-child(4) > span {
  color: #e4b66f;
  background: rgba(245, 158, 11, .1);
}

.mcp-metric-grid small {
  color: #8291a7;
  font-size: 10px;
}

.mcp-metric-grid strong {
  margin-top: 4px;
  color: #f1f6fd;
  font-size: 21px;
  line-height: 1.2;
}

.mcp-metric-grid p {
  margin-top: 5px;
  color: #65748a;
  font-size: 9px;
}

.mcp-main-tabs {
  width: 100%;
  padding: 7px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  border: 0;
  border-radius: 14px;
  background: rgba(7, 15, 28, .72);
  box-shadow: inset 0 0 0 1px rgba(83, 120, 181, .09);
}

.mcp-main-tabs button {
  min-width: 0;
  min-height: 62px;
  padding: 9px 13px;
  justify-content: flex-start;
  gap: 10px;
  border: 0;
  border-radius: 10px;
  font-size: 17px;
  text-align: left;
}

.mcp-main-tabs button > svg {
  flex: none;
}

.mcp-main-tabs button > span {
  min-width: 0;
}

.mcp-main-tabs button strong,
.mcp-main-tabs button small {
  display: block;
}

.mcp-main-tabs button strong {
  color: #aebcd0;
  font-size: 10px;
}

.mcp-main-tabs button small {
  margin-top: 4px;
  color: #5f6e84;
  font-size: 8px;
}

.mcp-main-tabs button:hover {
  color: #b7c9e7;
  background: rgba(255, 255, 255, .025);
}

.mcp-main-tabs button.active {
  color: #8bb3ff;
  background: linear-gradient(135deg, rgba(79, 140, 255, .18), rgba(112, 104, 239, .12));
  box-shadow: inset 0 0 0 1px rgba(92, 143, 242, .22), 0 8px 24px rgba(20, 59, 126, .12);
}

.mcp-main-tabs button.active strong {
  color: #eef5ff;
}

.mcp-main-tabs button.active small {
  color: #84a5dd;
}

.mcp-overview-layout,
.mcp-client-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
}

.mcp-endpoint-card,
.mcp-security-card,
.mcp-create-card,
.mcp-client-list,
.mcp-tool-catalog,
.mcp-log-panel {
  border: 0;
  border-radius: 15px;
  background: var(--mcp-surface);
  box-shadow: 0 18px 50px rgba(2, 8, 23, .16), inset 0 1px 0 rgba(255, 255, 255, .03);
}

.mcp-endpoint-card > header,
.mcp-security-card > header,
.mcp-create-card > header,
.mcp-client-list > header,
.mcp-tool-catalog > header,
.mcp-log-panel > header {
  min-height: 76px;
  padding: 16px 18px;
  align-items: center;
  border-bottom-color: rgba(82, 118, 177, .1);
}

.mcp-endpoint-card h3,
.mcp-security-card h3,
.mcp-create-card h3,
.mcp-client-list h3,
.mcp-tool-catalog h3,
.mcp-log-panel h3 {
  font-size: 13px;
}

.mcp-endpoint-card header p,
.mcp-security-card header p,
.mcp-create-card header p,
.mcp-client-list header p,
.mcp-tool-catalog header p,
.mcp-log-panel header p {
  max-width: 620px;
  color: #718097;
  font-size: 9px;
}

.mcp-copy-row {
  margin: 16px 18px 0;
}

.mcp-copy-row code {
  min-height: 40px;
  padding: 11px 12px;
  display: flex;
  align-items: center;
  border: 0;
  color: #a8c7ff;
  background: #091426;
  box-shadow: inset 0 0 0 1px rgba(79, 140, 255, .13);
  font-size: 9px;
}

.mcp-endpoint-card pre,
.mcp-secret-modal pre {
  margin: 11px 18px;
  border: 0;
  color: #9fbcf2;
  background: #081222;
  box-shadow: inset 0 0 0 1px rgba(79, 140, 255, .09);
  font-size: 9px;
}

.mcp-endpoint-card > button {
  margin: 0 18px 18px;
}

.mcp-copy-row button,
.mcp-endpoint-card > button,
.mcp-secret-value button,
.mcp-create-card > footer > button,
.mcp-client-list article > footer button,
.mcp-client-editor footer button,
.mcp-secret-modal footer button {
  border: 0;
  box-shadow: inset 0 0 0 1px rgba(94, 135, 202, .17);
}

.mcp-create-card > footer > button,
.mcp-client-editor footer button:not(.secondary),
.mcp-secret-modal footer button:not(.secondary) {
  box-shadow: 0 8px 22px rgba(38, 91, 191, .2);
}

.mcp-security-card ul {
  margin: 0;
  padding: 14px 18px 18px;
  display: grid;
  gap: 8px;
  list-style: none;
}

.mcp-security-card li {
  min-height: 42px;
  margin: 0;
  padding: 10px 11px 10px 34px;
  position: relative;
  border: 0;
  border-radius: 9px;
  color: #8b99ad;
  background: var(--mcp-inset);
  box-shadow: inset 0 0 0 1px rgba(79, 140, 255, .055);
  font-size: 9px;
  line-height: 1.55;
}

.mcp-security-card li::before {
  content: '';
  width: 7px;
  height: 7px;
  position: absolute;
  top: 15px;
  left: 15px;
  border-radius: 50%;
  background: #4fd1a0;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, .09);
}

.mcp-form-grid {
  padding: 16px 18px 7px;
  gap: 12px;
}

.mcp-form-grid label,
.mcp-client-editor > label {
  color: #8998ad;
  font-size: 9px;
}

.mcp-form-grid input,
.mcp-form-grid select,
.mcp-client-editor > label input {
  appearance: none;
  min-height: 40px;
  padding: 9px 10px;
  border: 0;
  border-radius: 9px;
  color: #d7e1ee;
  background: #091426;
  color-scheme: dark;
  box-shadow: inset 0 0 0 1px rgba(87, 124, 185, .16);
  font-size: 10px;
}

.mcp-form-grid select {
  padding-right: 30px;
  background-image:
    linear-gradient(45deg, transparent 50%, #6f8099 50%),
    linear-gradient(135deg, #6f8099 50%, transparent 50%);
  background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.mcp-form-grid input[type='number'],
.mcp-client-editor input[type='number'] {
  -moz-appearance: textfield;
}

.mcp-form-grid input[type='number']::-webkit-inner-spin-button,
.mcp-form-grid input[type='number']::-webkit-outer-spin-button,
.mcp-client-editor input[type='number']::-webkit-inner-spin-button,
.mcp-client-editor input[type='number']::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.mcp-form-grid select option {
  color: #d7e1ee;
  background: #0b1628;
}

.mcp-form-grid input::placeholder {
  color: #53647d;
}

.mcp-form-grid input:focus,
.mcp-form-grid select:focus,
.mcp-client-editor > label input:focus {
  border-color: rgba(79, 140, 255, .7);
  box-shadow: 0 0 0 3px rgba(79, 140, 255, .09);
}

.mcp-form-grid input:-webkit-autofill,
.mcp-form-grid input:-webkit-autofill:hover,
.mcp-form-grid input:-webkit-autofill:focus,
.mcp-client-editor input:-webkit-autofill,
.mcp-client-editor input:-webkit-autofill:hover,
.mcp-client-editor input:-webkit-autofill:focus {
  -webkit-text-fill-color: #d7e1ee;
  -webkit-box-shadow: 0 0 0 1000px #091426 inset;
  caret-color: #d7e1ee;
}

.mcp-tool-picker {
  padding: 10px 18px 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mcp-tool-picker > strong {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  color: #a8b6ca;
  font-size: 10px;
}

.mcp-tool-picker > section {
  min-width: 0;
  padding: 10px;
  align-content: start;
  border: 0;
  border-radius: 10px;
  background: var(--mcp-inset);
  box-shadow: inset 0 0 0 1px rgba(79, 140, 255, .065);
}

.mcp-tool-picker h4 {
  margin: 0 0 7px;
  color: #8191a8;
  font-size: 9px;
}

.mcp-tool-picker label,
.mcp-client-editor > div label {
  min-height: 39px;
  border: 1px solid transparent;
}

.mcp-tool-picker label:hover,
.mcp-tool-picker label:has(input:checked),
.mcp-client-editor > div label:has(input:checked) {
  border-color: rgba(79, 140, 255, .18);
  background: rgba(79, 140, 255, .06);
}

.mcp-tool-picker input[type='checkbox'],
.mcp-client-editor input[type='checkbox'] {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  display: grid;
  place-items: center;
  flex: none;
  border: 1px solid #3a4b64;
  border-radius: 5px;
  outline: none;
  color-scheme: dark;
  background: #091426;
  box-shadow: none;
  cursor: pointer;
}

.mcp-tool-picker input[type='checkbox']::after,
.mcp-client-editor input[type='checkbox']::after {
  content: '';
  width: 7px;
  height: 4px;
  margin-top: -2px;
  border: solid #fff;
  border-width: 0 0 2px 2px;
  opacity: 0;
  transform: rotate(-45deg) scale(.6);
  transition: .14s ease;
}

.mcp-tool-picker input[type='checkbox']:checked,
.mcp-client-editor input[type='checkbox']:checked {
  border-color: #4f8cff;
  background: #4f8cff;
  box-shadow: 0 0 0 3px rgba(79, 140, 255, .1);
}

.mcp-tool-picker input[type='checkbox']:checked::after,
.mcp-client-editor input[type='checkbox']:checked::after {
  opacity: 1;
  transform: rotate(-45deg) scale(1);
}

.mcp-tool-picker input[type='checkbox']:focus-visible,
.mcp-client-editor input[type='checkbox']:focus-visible,
.mcp-page button:focus-visible {
  outline: 2px solid #8ab4ff;
  outline-offset: 2px;
}

.mcp-tool-picker b {
  color: #cbd7e7;
  font-size: 9px;
}

.mcp-tool-picker small {
  color: #66768d;
  font-size: 7px;
}

.mcp-create-card > footer {
  min-height: 62px;
  padding: 12px 18px;
  background: rgba(7, 15, 28, .26);
}

.mcp-create-card > footer > span {
  color: #8392a8;
  font-size: 9px;
}

.mcp-create-card > footer > button,
.mcp-client-list article > footer button,
.mcp-client-editor footer button,
.mcp-secret-modal footer button {
  min-height: 37px;
  border-radius: 9px;
  font-size: 9px;
}

.mcp-client-list > header > span,
.mcp-tool-catalog > header > span {
  flex: none;
  font-size: 9px;
}

.mcp-client-list > article {
  margin: 12px;
  padding: 14px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(12, 23, 40, .78), rgba(8, 17, 31, .68));
  box-shadow: inset 0 0 0 1px rgba(79, 140, 255, .075);
}

.mcp-client-list > article + article {
  margin-top: 0;
}

.mcp-client-list > article:hover {
  border-color: rgba(79, 140, 255, .2);
}

.mcp-client-list article > header strong {
  font-size: 11px;
}

.mcp-client-list article > header small,
.mcp-client-meta span,
.mcp-client-tools span {
  font-size: 8px;
}

.mcp-client-meta {
  gap: 10px 13px;
}

.mcp-client-tools span {
  padding: 5px 7px;
  border: 1px solid rgba(79, 140, 255, .09);
  border-radius: 6px;
}

.mcp-client-list article > footer {
  flex-wrap: wrap;
}

.mcp-client-editor {
  padding: 12px;
  border: 0;
  background: rgba(9, 20, 38, .86);
  box-shadow: inset 0 0 0 1px rgba(79, 140, 255, .13);
}

.mcp-client-editor > div {
  gap: 7px;
}

.mcp-client-editor > div label {
  padding: 6px 7px;
  border-radius: 7px;
  font-size: 8px;
}

.mcp-empty {
  min-height: 260px;
  background: radial-gradient(circle at 50% 42%, rgba(79, 140, 255, .06), transparent 45%);
}

.mcp-tool-catalog > section {
  padding: 16px 18px 18px;
}

.mcp-tool-catalog > section > h4 {
  margin-bottom: 11px;
  color: #b0bdcf;
  font-size: 11px;
}

.mcp-tool-catalog > section > div {
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 11px;
}

.mcp-tool-catalog article {
  min-height: 150px;
  padding: 13px;
  display: flex;
  flex-direction: column;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(12, 23, 40, .78), rgba(8, 17, 31, .68));
  box-shadow: inset 0 0 0 1px rgba(79, 140, 255, .075);
}

.mcp-tool-catalog article:hover {
  border-color: rgba(79, 140, 255, .2);
}

.mcp-tool-catalog article strong {
  font-size: 10px;
}

.mcp-tool-catalog article p {
  min-height: 0;
  flex: 1;
  color: #7d8ca2;
  font-size: 9px;
}

.mcp-tool-catalog article footer {
  margin-top: auto;
  flex-wrap: wrap;
}

.mcp-tool-catalog article footer > small {
  min-width: 125px;
  font-size: 8px;
}

.mcp-log-panel .admin-table th {
  border: 0;
  background: rgba(7, 15, 28, .42);
}

.mcp-log-panel .admin-table td {
  border-top-color: rgba(79, 140, 255, .07);
  vertical-align: middle;
}

.mcp-secret-modal {
  max-height: calc(100vh - 40px);
  overflow: auto;
  border: 0;
  background: var(--mcp-surface);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .58), inset 0 0 0 1px rgba(91, 132, 198, .13);
}

.mcp-secret-value code {
  background: #071a20;
}

@media (max-width: 1180px) {
  .mcp-overview-layout,
  .mcp-client-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .mcp-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mcp-tool-picker {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .mcp-hero {
    padding: 23px;
    align-items: flex-start;
    flex-direction: column;
  }

  .mcp-refresh-button {
    width: 100%;
  }

  .mcp-main-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mcp-form-grid,
  .mcp-client-editor > div,
  .mcp-tool-catalog > section > div {
    grid-template-columns: 1fr;
  }

  .mcp-client-list article > footer {
    align-items: stretch;
  }

  .mcp-client-list article > footer button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .mcp-page {
    gap: 11px;
  }

  .mcp-metric-grid {
    grid-template-columns: 1fr;
  }

  .mcp-main-tabs {
    grid-template-columns: 1fr;
  }

  .mcp-hero h2 {
    font-size: 26px;
  }

  .mcp-create-card > footer,
  .mcp-copy-row,
  .mcp-secret-value,
  .mcp-secret-modal > footer {
    align-items: stretch;
    flex-direction: column;
  }
}
