.admin-shell{background:var(--bg-3);min-height:100vh}.admin-bar{background:var(--oh-blue-deep);background-image:var(--oh-gradient-diag);color:var(--oh-white);padding:var(--space-5) 0}.admin-bar .wrap{align-items:center;gap:var(--space-4);justify-content:space-between;display:flex}.admin-bar h1{font-size:22px;font-weight:700;font-family:var(--font-body);margin:0}.admin-bar .sub{opacity:.85;font-size:13px}.admin-bar .badge{border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase;background:#ffffff26;border:1px solid #ffffff40;padding:4px 10px;font-size:11px;font-weight:700}.admin-bar .badge.ok{background:#00a88640;border-color:#00a88680}.admin-bar .badge.warn{background:#ffd2002e;border-color:#ffd20066}.tab-bar{gap:var(--space-2);border-bottom:1px solid var(--border-1);background:var(--oh-white);padding:0 var(--space-6);display:flex}.tab-bar button{padding:var(--space-4) var(--space-4);color:var(--fg-3);border-bottom:2px solid #0000;margin-bottom:-1px;font-size:14px;font-weight:500}.tab-bar button.active{color:var(--oh-blue);border-bottom-color:var(--oh-blue);font-weight:700}.tab-panel{padding:var(--space-8) 0}.card-block{background:var(--oh-white);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-5)}.card-block h2{margin:0 0 var(--space-2);font-size:17px;font-weight:700;font-family:var(--font-body);color:var(--fg-1)}.card-block .hint{color:var(--fg-4);margin:0 0 var(--space-4);font-size:13px}textarea.urls-input{border:1px solid var(--border-1);border-radius:var(--radius-md);width:100%;min-height:140px;padding:var(--space-3);resize:vertical;background:var(--bg-3);outline:none;font-family:ui-monospace,SF Mono,Cascadia Code,monospace;font-size:13px;line-height:1.5}textarea.urls-input:focus{border-color:var(--oh-blue)}.action-row{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.action-row .count{color:var(--fg-4);margin-right:auto;font-size:13px}.result-card{background:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4)}.result-card .stat-row{gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.stat-pill{background:var(--oh-white);border:1px solid var(--border-1);border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.stat-pill .v{color:var(--oh-blue);font-family:var(--font-display);font-weight:900}.stat-pill.success .v{color:var(--oh-success)}.stat-pill.warn .v{color:#c28000}.stat-pill.danger .v{color:var(--oh-danger)}.audit-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.audit-grid .col{background:var(--oh-white);border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:var(--space-3)}.audit-grid h4{margin:0 0 var(--space-2);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-family:var(--font-display);font-weight:700}.audit-grid .col.extracted h4{color:var(--oh-success)}.audit-grid .col.defaulted h4{color:#c28000}.audit-grid .col.missing h4{color:var(--oh-danger)}.audit-grid ul{color:var(--fg-3);margin:0;padding:0;font-family:ui-monospace,monospace;font-size:12px;line-height:1.6;list-style:none}pre.json-preview{background:var(--oh-blue-deep);color:#c5d4ff;border-radius:var(--radius-md);padding:var(--space-4);max-height:420px;margin-top:var(--space-3);font-size:12px;line-height:1.5;overflow:auto}pre.markdown-preview{background:var(--bg-3);color:var(--fg-2);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:var(--space-4);max-height:240px;margin-top:var(--space-3);white-space:pre-wrap;font-size:12px;line-height:1.5;overflow:auto}.collapsible summary{cursor:pointer;color:var(--oh-blue);padding:var(--space-2) 0;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;list-style:none}.collapsible summary:before{content:"▶ ";font-size:10px}.collapsible[open] summary:before{content:"▼ "}.discovered-list{gap:var(--space-2);margin-top:var(--space-4);display:grid}.discovered-row{align-items:center;gap:var(--space-3);background:var(--oh-white);border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:var(--space-3);grid-template-columns:24px 1fr auto;font-size:13px;display:grid}.discovered-row .name{color:var(--fg-1);font-weight:600}.discovered-row .url{color:var(--fg-4);font-family:ui-monospace,monospace;font-size:11px}.discovered-row input[type=checkbox]{margin:0}.crawled-table{border-collapse:collapse;width:100%;font-size:13px}.crawled-table th,.crawled-table td{text-align:left;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--border-1)}.crawled-table th{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-4);font-size:11px;font-weight:700}.crawled-table tr:hover td{background:var(--bg-3)}.crawled-table .actions{gap:var(--space-2);justify-content:flex-end;display:flex}.crawled-table .actions a,.crawled-table .actions button{color:var(--oh-blue);font-size:12px;font-weight:600}.crawled-table .actions .danger{color:var(--oh-danger)}.banner{border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);gap:var(--space-3);align-items:flex-start;font-size:13px;display:flex}.banner.info{background:var(--bg-brand-soft);border:1px solid var(--border-brand-soft);color:var(--oh-blue-deep)}.banner.warn{color:#6d4c00;background:#fff8e1;border:1px solid #ffe082}.banner.danger{color:var(--oh-danger);background:#ffebee;border:1px solid #ffcdd2}.banner b{font-weight:700}.banner code{background:#0000000d;border-radius:4px;padding:1px 6px;font-size:12px}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.compare-shell{gap:var(--space-4);margin-top:var(--space-5);display:grid}.compare-header{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.compare-header .col{background:var(--oh-white);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;display:flex}.compare-header .col h3{font-size:13px;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin:0}.compare-header .col.left h3{color:var(--fg-3)}.compare-header .col.right h3{color:var(--oh-blue)}.compare-header .col .open-link{color:var(--oh-blue);font-size:12px;font-weight:600}.compare-iframes{gap:var(--space-3);grid-template-columns:1fr 1fr;height:720px;display:grid}.compare-iframes iframe{border:1px solid var(--border-1);border-radius:var(--radius-md);background:var(--oh-white);width:100%;height:100%}.compare-iframes .iframe-wrap{border-radius:var(--radius-md);position:relative;overflow:hidden}.compare-iframes .iframe-wrap.left{box-shadow:inset 0 0 0 2px var(--border-1)}.compare-iframes .iframe-wrap.right{box-shadow:inset 0 0 0 2px var(--oh-blue)}.diff-summary{gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);flex-wrap:wrap;display:flex}.section-pill{background:var(--oh-white);border:1px solid var(--border-1);border-radius:var(--radius-full);align-items:center;gap:8px;padding:4px 12px;font-family:ui-monospace,monospace;font-size:12px;display:inline-flex}.section-pill .name{color:var(--fg-2);font-weight:600}.section-pill .changed{color:#c28000;font-weight:700}.section-pill .added{color:var(--oh-success);font-weight:700}.section-pill .removed{color:var(--oh-danger);font-weight:700}.section-pill.no-change{opacity:.55}.section-pill.no-change .name{color:var(--fg-4)}.diff-table{border-collapse:collapse;background:var(--oh-white);border-radius:var(--radius-md);border:1px solid var(--border-1);width:100%;font-size:12px;overflow:hidden}.diff-table th,.diff-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-1);vertical-align:top}.diff-table th{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-4);background:var(--bg-3);font-size:10px;font-weight:700}.diff-table td.path{color:var(--oh-blue-deep);white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-family:ui-monospace,monospace;overflow:hidden}.diff-table td.value{color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-family:ui-monospace,monospace;overflow:hidden}.diff-table td.value.right{color:var(--oh-blue);font-weight:500}.diff-table tr.changed td.status{color:#c28000;font-weight:700}.diff-table tr.added td.status{color:var(--oh-success);font-weight:700}.diff-table tr.removed td.status{color:var(--oh-danger);font-weight:700}.diff-table tr:hover td{background:var(--bg-3)}.diff-filter{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.diff-filter input{height:32px;padding:0 var(--space-3);border:1px solid var(--border-1);border-radius:var(--radius-sm);outline:none;flex:1;min-width:200px;font-family:ui-monospace,monospace;font-size:12px}.diff-filter input:focus{border-color:var(--oh-blue)}.diff-filter .toggle{color:var(--fg-3);cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}.back-row{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.back-row button{color:var(--oh-blue);font-size:13px;font-weight:600}
