:root{color-scheme:light;--brand: #9f1127;--brand-dark: #7d0e1f;--brand-light: #fdf2f4;--brand-contrast: #ffffff;--bg: #f8f9fb;--surface: #ffffff;--surface-2: #f3f4f6;--border: #e5e7eb;--border-strong: #d1d5db;--text: #111827;--text-secondary: #4b5563;--text-muted: #5f6b7b;--text-inverse: #ffffff;--green: #10b981;--green-bg: #ecfdf5;--green-text: #047857;--red: #ef4444;--red-bg: #fef2f2;--red-text: #b91c1c;--yellow: #f59e0b;--yellow-bg: #fffbeb;--yellow-text: #b45309;--blue: #3b82f6;--blue-bg: #eff6ff;--blue-text: #1d4ed8;--gray-bg: #f3f4f6;--gray-text: #374151;--sidebar-bg: #111827;--sidebar-text: rgba(255,255,255,.72);--sidebar-text-strong: #ffffff;--sidebar-muted: rgba(255,255,255,.4);--sidebar-hover: rgba(255,255,255,.08);--sidebar-border: rgba(255,255,255,.1);--sidebar-w: 248px;--header-h: 56px;--radius: 8px;--radius-lg: 12px;--radius-sm: 6px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-lg: 0 4px 12px rgba(0,0,0,.1);--overlay: rgba(17,24,39,.55);--focus-ring: 0 0 0 4px rgba(159,17,39,.18);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 14px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--z-sidebar: 100;--z-header: 90;--z-modal: 2000;--z-toast: 2100}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--brand: #e0405c;--brand-dark: #c02744;--brand-light: #3a1520;--bg: #0f1420;--surface: #171d2b;--surface-2: #1f2637;--border: #2a3245;--border-strong: #3b4459;--text: #e5e7eb;--text-secondary: #b3bac8;--text-muted: #8b94a6;--text-inverse: #0f1420;--green-bg: #0f2c24;--green-text: #4ade80;--red-bg: #3a1a1a;--red-text: #f87171;--yellow-bg: #332708;--yellow-text: #fbbf24;--blue-bg: #14243f;--blue-text: #93c5fd;--gray-bg: #232b3b;--gray-text: #cbd5e1;--sidebar-bg: #0a0e17;--shadow: 0 1px 3px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.4);--shadow-lg: 0 4px 16px rgba(0,0,0,.6);--overlay: rgba(0,0,0,.65);--focus-ring: 0 0 0 4px rgba(224,64,92,.3)}}:root[data-theme=dark]{color-scheme:dark;--brand: #e0405c;--brand-dark: #c02744;--brand-light: #3a1520;--bg: #0f1420;--surface: #171d2b;--surface-2: #1f2637;--border: #2a3245;--border-strong: #3b4459;--text: #e5e7eb;--text-secondary: #b3bac8;--text-muted: #8b94a6;--text-inverse: #0f1420;--green-bg: #0f2c24;--green-text: #4ade80;--red-bg: #3a1a1a;--red-text: #f87171;--yellow-bg: #332708;--yellow-text: #fbbf24;--blue-bg: #14243f;--blue-text: #93c5fd;--gray-bg: #232b3b;--gray-text: #cbd5e1;--sidebar-bg: #0a0e17;--shadow: 0 1px 3px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.4);--shadow-lg: 0 4px 16px rgba(0,0,0,.6);--overlay: rgba(0,0,0,.65);--focus-ring: 0 0 0 4px rgba(224,64,92,.3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:none;border:0}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{font-family:inherit;font-size:var(--fs-base);color:var(--text);background:var(--surface)}code,pre,.mono{font-family:var(--font-mono);font-size:var(--fs-sm)}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px;box-shadow:var(--focus-ring)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--text-muted)}.small{font-size:var(--fs-sm)}.nowrap{white-space:nowrap}.right{text-align:right}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:500;font-size:13px;line-height:1.3;transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2);text-decoration:none}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.btn-primary:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark)}.btn-danger{background:var(--red);border-color:var(--red);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-danger:focus-visible{outline-color:#7f1d1d}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{padding:4px 10px;font-size:var(--fs-sm)}.btn-block{width:100%;justify-content:center}.btn .spinner{width:12px;height:12px;border-width:2px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.6;white-space:nowrap}.badge-green{background:var(--green-bg);color:var(--green-text)}.badge-red{background:var(--red-bg);color:var(--red-text)}.badge-yellow{background:var(--yellow-bg);color:var(--yellow-text)}.badge-blue{background:var(--blue-bg);color:var(--blue-text)}.badge-gray{background:var(--gray-bg);color:var(--gray-text)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-5)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.card-header h2,.card-header h3{font-size:var(--fs-md);font-weight:600}.card-header .meta{color:var(--text-muted);font-size:var(--fs-sm)}.card-compact{padding:var(--space-4)}.spinner{width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm);min-height:14px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton,.spinner{animation-duration:3s}}.loading-state{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);padding:var(--space-6);justify-content:center}.empty-state{text-align:center;color:var(--text-muted);padding:var(--space-8) var(--space-4)}.empty-state h3{color:var(--text);font-size:var(--fs-md);margin-bottom:var(--space-1)}.error-state{border:1px solid var(--red);background:var(--red-bg);color:var(--red-text);border-radius:var(--radius);padding:var(--space-3) var(--space-4);display:flex;gap:var(--space-3);align-items:flex-start}.error-state code{font-size:var(--fs-xs);opacity:.8}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-light) 0%,var(--blue-bg) 100%);padding:var(--space-4)}.login-box{background:var(--surface);border-radius:var(--radius-lg);padding:40px;width:400px;max-width:100%;box-shadow:var(--shadow-lg);text-align:center}.login-box h1{font-size:var(--fs-xl);font-weight:700;margin-bottom:4px}.login-box .subtitle{color:var(--text-secondary);margin-bottom:24px}.login-box .logo{font-size:36px;margin-bottom:12px;display:block}.login-box .field{text-align:left;margin-bottom:var(--space-3)}.login-box .code-input{text-align:center;font-size:24px;letter-spacing:8px;font-family:var(--font-mono);font-weight:700}.login-box .error{color:var(--red-text);font-size:13px;margin-top:var(--space-2)}.login-box .notice{background:var(--yellow-bg);color:var(--yellow-text);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:13px;margin-bottom:var(--space-3)}.login-box .links{margin-top:var(--space-4);font-size:13px;display:flex;flex-direction:column;gap:6px}.backup-codes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;background:var(--surface-2);padding:var(--space-4);border-radius:var(--radius);margin:var(--space-3) 0}.backup-codes code{padding:4px 10px;background:var(--surface);border-radius:4px;font-weight:700;font-size:14px;letter-spacing:1px}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);color:var(--sidebar-text);position:fixed;inset:0 auto 0 0;z-index:var(--z-sidebar);display:flex;flex-direction:column;transition:transform .25s}.sidebar-header{padding:14px 18px;border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;gap:10px;color:var(--sidebar-text-strong)}.sidebar-header h2{font-size:15px;font-weight:700;line-height:1.2}.sidebar-header small{display:block;font-size:var(--fs-xs);color:var(--sidebar-muted);font-weight:500}.sidebar-nav{flex:1;overflow-y:auto;padding:10px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:var(--sidebar-text);font-size:13px;font-weight:500;transition:background .15s,color .15s}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong);text-decoration:none}.nav-item[aria-current=page]{background:var(--brand);color:#fff}.nav-item.child{padding-left:34px;font-size:var(--fs-sm)}.nav-item svg{width:16px;height:16px;flex-shrink:0}.nav-item .owner{margin-left:auto;font-size:10px;color:var(--sidebar-muted);font-weight:600}.sidebar :focus-visible{outline-color:#fff}.sidebar-footer{padding:12px 14px;border-top:1px solid var(--sidebar-border);font-size:var(--fs-sm)}.sidebar-footer .user{display:flex;flex-direction:column;margin-bottom:8px;color:var(--sidebar-text-strong)}.sidebar-footer .user small{color:var(--sidebar-muted)}.sidebar-footer .btn{width:100%;justify-content:center;background:transparent;color:var(--sidebar-text);border-color:var(--sidebar-border)}.sidebar-footer .btn:hover:not(:disabled){background:var(--sidebar-hover);color:#fff}.sidebar-backdrop{display:none;position:fixed;inset:0;background:var(--overlay);z-index:calc(var(--z-sidebar) - 1)}.main{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column}.topbar{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5);position:sticky;top:0;z-index:var(--z-header)}.topbar .title{font-size:var(--fs-md);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .sidebar-toggle{display:none;width:36px;height:36px;border-radius:var(--radius);font-size:18px;align-items:center;justify-content:center}.site-switcher{display:flex;align-items:center;gap:8px}.site-switcher label{font-size:var(--fs-sm);color:var(--text-muted)}.site-switcher select{padding:6px 28px 6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-size:13px;font-weight:500;max-width:240px}.content{padding:var(--space-6);flex:1;max-width:1400px;width:100%}@media(max-width:900px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:none}.sidebar-backdrop.open{display:block}.main{margin-left:0}.topbar .sidebar-toggle{display:inline-flex}.content{padding:var(--space-4)}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1{font-size:var(--fs-lg);font-weight:700;line-height:1.25}.page-header .subtitle{color:var(--text-secondary);font-size:13px;margin-top:2px}.page-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.breadcrumbs{display:flex;gap:6px;font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:6px;flex-wrap:wrap}.breadcrumbs a{color:var(--text-muted)}.breadcrumbs span[aria-current]{color:var(--text-secondary);font-weight:500}.page-section{margin-bottom:var(--space-5)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow);min-height:84px;display:flex;flex-direction:column;gap:2px}.stat-tile .label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.stat-tile .value{font-size:var(--fs-xl);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.stat-tile .hint{font-size:var(--fs-sm);color:var(--text-secondary)}.stat-tile .delta{font-size:var(--fs-sm);font-weight:600}.stat-tile .delta.up{color:var(--green-text)}.stat-tile .delta.down{color:var(--red-text)}.stat-tile.tone-green{border-left:4px solid var(--green)}.stat-tile.tone-red{border-left:4px solid var(--red)}.stat-tile.tone-yellow{border-left:4px solid var(--yellow)}.stat-tile.tone-blue{border-left:4px solid var(--blue)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3)}.field label,.field .label{font-size:13px;font-weight:500;color:var(--text-secondary)}.field .required{color:var(--red);margin-left:2px}.field input,.field select,.field textarea{padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand)}.field textarea{min-height:96px;resize:vertical}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--red)}.field .help{font-size:var(--fs-sm);color:var(--text-muted)}.field .error-text{font-size:var(--fs-sm);color:var(--red-text)}.field-inline{display:inline-flex;align-items:center;gap:8px;margin:0}.field-inline input,.field-inline select{width:auto}.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.toggle input{position:absolute;opacity:0;width:0;height:0}.toggle .track{width:38px;height:22px;border-radius:999px;background:var(--border-strong);position:relative;transition:background .15s;flex-shrink:0}.toggle .track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0000004d}.toggle input:checked+.track{background:var(--green)}.toggle input:checked+.track:after{transform:translate(16px)}.toggle input:focus-visible+.track{outline:3px solid var(--brand);outline-offset:2px}.toggle input:disabled+.track{opacity:.5}.toolbar{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar .field{margin:0}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:var(--space-4);overflow-x:auto}.tab{padding:8px 14px;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:500;font-size:13px;white-space:nowrap;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}.tab .count{margin-left:6px;background:var(--surface-2);border-radius:999px;padding:0 6px;font-size:var(--fs-xs)}.datagrid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.datagrid-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap}.datagrid-toolbar .search{flex:1;min-width:180px}.datagrid-toolbar .search input{width:100%;padding:7px 12px;border:1px solid var(--border-strong);border-radius:var(--radius)}.datagrid-selection{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--brand-light);color:var(--text);font-size:13px;border-bottom:1px solid var(--border);flex-wrap:wrap}.datagrid-scroll{overflow:auto;max-height:var(--datagrid-max-height, 70vh)}.datagrid table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.datagrid th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-secondary);font-weight:600;font-size:var(--fs-sm);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.datagrid th.sortable{cursor:pointer;user-select:none}.datagrid th.sortable:hover{color:var(--text)}.datagrid th .sort{margin-left:4px;opacity:.6;font-size:10px}.datagrid th.right,.datagrid td.right{text-align:right;font-variant-numeric:tabular-nums}.datagrid td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.datagrid tbody tr:last-child td{border-bottom:0}.datagrid tbody tr:hover td{background:var(--surface-2)}.datagrid tr[aria-selected=true] td{background:var(--brand-light)}.datagrid td.select,.datagrid th.select{width:36px;padding-right:0}.datagrid tbody tr.clickable{cursor:pointer}.datagrid-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap}.pagination{display:flex;align-items:center;gap:6px}.pagination select{padding:3px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm)}.datagrid .skeleton-row td .skeleton{height:12px;width:70%}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:var(--fs-sm);color:var(--text-muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--border)}.table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top}.table tr:last-child td{border-bottom:0}.toast-host{position:fixed;bottom:20px;right:20px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px;max-width:380px;width:calc(100vw - 40px)}.toast{background:var(--text);color:var(--text-inverse);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow-lg);font-size:13px;display:grid;grid-template-columns:4px 1fr auto;gap:10px;animation:toast-in .2s ease}.toast .bar{border-radius:2px;background:var(--blue)}.toast.success .bar{background:var(--green)}.toast.error .bar{background:var(--red)}.toast.warning .bar{background:var(--yellow)}.toast .detail{opacity:.8;font-size:var(--fs-sm);margin-top:2px}.toast .actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.toast .actions button{color:inherit;font-size:var(--fs-sm);font-weight:600;opacity:.85}.toast .actions button:hover{opacity:1;text-decoration:underline}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:520px;max-width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;animation:toast-in .15s ease}.modal.size-lg{width:820px}.modal.size-sm{width:420px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.modal-header h2{font-size:var(--fs-md);font-weight:600}.modal-close{width:32px;height:32px;border-radius:var(--radius);font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:var(--space-5);overflow:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border)}.modal.danger .modal-header{background:var(--red-bg);color:var(--red-text);border-bottom-color:var(--red)}.modal.danger .modal-header h2{color:var(--red-text)}.confirm-message{font-size:14px}.confirm-detail{color:var(--text-secondary);font-size:13px;margin-top:var(--space-2)}.confirm-typed{margin-top:var(--space-3)}.freshness-list{list-style:none;display:flex;flex-direction:column;gap:6px}.freshness-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--border)}.freshness-list li:last-child{border-bottom:0}.freshness-list .age{color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap}.freshness-list .err{grid-column:2 / -1;color:var(--red-text);font-size:var(--fs-xs);word-break:break-word}.jsonview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-sm);overflow:auto;max-height:var(--jsonview-max-height, 400px);white-space:pre;line-height:1.5}.jsonview .k{color:var(--blue-text)}.jsonview .s{color:var(--green-text)}.jsonview .n{color:var(--yellow-text)}.jsonview .b{color:var(--red-text)}.jsonview .z{color:var(--text-muted)}.jsonview details>summary{cursor:pointer;color:var(--text-secondary);list-style:none;display:inline}.jsonview details>summary:before{content:"▸ ";font-size:10px}.jsonview details[open]>summary:before{content:"▾ "}.jsonview .indent{padding-left:16px}.placeholder-banner{background:var(--blue-bg);color:var(--blue-text);border:1px dashed var(--blue);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:13px}.endpoint-list{list-style:none;display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:var(--fs-sm)}.endpoint-list li{display:grid;grid-template-columns:62px 1fr;gap:8px;padding:4px 0;border-bottom:1px dashed var(--border);align-items:baseline}.endpoint-list .method{font-weight:700;color:var(--text-secondary)}.endpoint-list .note{font-family:var(--font);color:var(--text-muted)}.endpoint-list .flag{font-family:var(--font)}.verdict{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-weight:700;font-size:13px}.verdict.ok{background:var(--green-bg);color:var(--green-text)}.verdict.stale{background:var(--yellow-bg);color:var(--yellow-text)}.verdict.failing{background:var(--red-bg);color:var(--red-text)}.failure-list{list-style:none;display:flex;flex-direction:column;gap:8px}.failure-list li{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:13px}.failure-list .msg{grid-column:1 / -1;color:var(--text-secondary);font-size:var(--fs-sm);word-break:break-word}.flag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.flag-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px}.flag-item .name{font-family:var(--font-mono);font-size:var(--fs-sm)}.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.link-card{display:block;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.link-card:hover{border-color:var(--brand);text-decoration:none}.link-card strong{display:block;font-size:13px}.link-card span{font-size:var(--fs-sm);color:var(--text-muted)}.google-signin{margin-top:var(--space-4)}.google-signin .divider{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:var(--fs-sm);margin-bottom:var(--space-3)}.google-signin .divider:before,.google-signin .divider:after{content:"";flex:1;height:1px;background:var(--border)}.google-signin .gsi-host{display:flex;justify-content:center;min-height:44px}
