.admin-body{min-height:100vh;background:var(--bg);color:var(--text)}
.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:12px 22px;background:color-mix(in srgb,var(--panel) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.admin-brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;margin-right:auto}.admin-brand span:last-child{display:flex;flex-direction:column}.admin-brand small{color:var(--muted);font-size:.72rem;margin-top:2px}.admin-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.86rem}
.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1600px;margin:0 auto;min-height:calc(100vh - 66px)}
.admin-sidebar{padding:22px 14px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel) 45%,transparent)}
.admin-security{padding:14px;margin-bottom:16px}.admin-input,.admin-textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;padding:10px 12px;font:inherit}.admin-textarea{min-height:105px;resize:vertical}.admin-security .admin-input{margin:6px 0}.microcopy{font-size:.72rem;color:var(--muted);line-height:1.45;margin:8px 0 0}
.admin-nav{display:grid;gap:6px}.admin-nav-btn{border:0;background:transparent;color:var(--muted);text-align:left;border-radius:10px;padding:11px 12px;font:inherit;cursor:pointer}.admin-nav-btn:hover,.admin-nav-btn.active{background:var(--panel-2);color:var(--text)}
.admin-rule-note{margin:22px 8px 0;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:6px;font-size:.78rem;color:var(--muted)}
.admin-workspace{padding:28px;min-width:0}.admin-view{display:none}.admin-view.active{display:block}.admin-view h1{margin:.1rem 0;font-size:2rem}.admin-view .section-heading{margin-bottom:18px}
.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-metric{padding:18px;border:1px solid var(--line);background:var(--panel);border-radius:14px}.admin-metric strong{display:block;font-size:1.75rem}.admin-metric span{color:var(--muted);font-size:.8rem}
.admin-grid{display:grid;gap:16px}.admin-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel{padding:20px}.admin-panel h2{margin-top:0;font-size:1.08rem}.admin-checklist{padding-left:20px;color:var(--muted);line-height:1.7}.evidence-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px}.evidence-mini span{display:grid;place-items:center;padding:10px 4px;border-radius:9px;border:1px solid var(--line);font-weight:700}
.admin-master-detail{display:grid;grid-template-columns:minmax(280px,35%) minmax(0,1fr);gap:16px;min-height:650px}.admin-master-detail.wide-list{grid-template-columns:minmax(340px,40%) minmax(0,1fr)}.admin-list-panel,.admin-form-panel{padding:16px}.admin-list{margin-top:12px;display:grid;gap:7px;max-height:70vh;overflow:auto;padding-right:4px}
.admin-list-item{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;padding:10px 11px;cursor:pointer;display:grid;gap:3px}.admin-list-item:hover,.admin-list-item.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.admin-list-item strong{font-size:.88rem}.admin-list-item small{color:var(--muted);font-size:.72rem}.admin-list-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.admin-form-panel{align-self:start;position:sticky;top:88px}.admin-form-panel h2{margin:0 0 4px}.admin-form-panel .form-intro{margin:0 0 16px;color:var(--muted);font-size:.8rem}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form-grid .full{grid-column:1/-1}.admin-form-grid label{display:grid;gap:5px;color:var(--muted);font-size:.76rem}.admin-form-grid label>span{font-weight:600}.admin-select{width:100%;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;padding:10px 12px;font:inherit}.admin-form-actions{display:flex;gap:8px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.admin-form-actions .spacer{flex:1}.danger-btn{border:1px solid #f16c78;background:color-mix(in srgb,#f16c78 14%,var(--panel));color:#ffb5bc;border-radius:10px;padding:10px 14px;font:inherit;cursor:pointer}.danger-zone{border-color:color-mix(in srgb,#f16c78 40%,var(--line))}
.admin-toast{position:fixed;right:22px;top:76px;z-index:40;max-width:420px;padding:12px 14px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s}.admin-toast.show{opacity:1;transform:translateY(0)}.admin-toast.error{border-color:#ef6b75;color:#ffb7bd}.admin-toast.success{border-color:#5ec99b;color:#a9f2d1}.admin-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.admin-empty{padding:24px 12px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}
.admin-link{text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:12px}.admin-nav{grid-template-columns:repeat(5,1fr);overflow:auto}.admin-security,.admin-rule-note{display:none}.admin-workspace{padding:18px}.admin-master-detail,.admin-master-detail.wide-list{grid-template-columns:1fr}.admin-form-panel{position:static}.admin-grid.two{grid-template-columns:1fr}.admin-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.admin-topbar{padding:10px 12px}.admin-status{display:none}.admin-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:max-content}.admin-workspace{padding:14px}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .full{grid-column:auto}.admin-metrics{grid-template-columns:1fr 1fr}.admin-view h1{font-size:1.6rem}}
.status-dot.offline{background:#ef6b75;box-shadow:0 0 0 5px color-mix(in srgb,#ef6b75 12%,transparent)}
.evidence-mini small{display:block;font-size:.65rem;font-weight:500;color:var(--muted)}

/* v0.4 hierarchy editor */
.hierarchy-toolbar{display:grid;grid-template-columns:130px minmax(240px,420px) 1fr;gap:12px;align-items:center;padding:14px;margin-bottom:16px}
.hierarchy-grid{grid-template-columns:minmax(360px,1.2fr) minmax(280px,.8fr)}
.hierarchy-tree{display:grid;gap:4px;max-height:68vh;overflow:auto;padding-right:4px}
.hierarchy-node{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;color:var(--text);padding:7px 8px;border-radius:8px;text-align:left;cursor:pointer}
.hierarchy-node:hover,.hierarchy-node.active{background:var(--panel-2)}
.hierarchy-node small{color:var(--muted);margin-left:auto}.hierarchy-indent-1{padding-left:24px}.hierarchy-indent-2{padding-left:40px}.hierarchy-indent-3{padding-left:56px}.hierarchy-indent-4{padding-left:72px}.hierarchy-indent-5{padding-left:88px}
.hierarchy-detail{display:grid;gap:10px}.hierarchy-path{padding:9px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:.78rem}.hierarchy-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:980px){.hierarchy-grid{grid-template-columns:1fr}.hierarchy-toolbar{grid-template-columns:1fr}}
/* v0.5 bulk import */
.import-textarea{min-height:260px;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}
.import-summary{display:grid;gap:10px}.import-result{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}.import-result.error{border-color:#ef6b75}.import-result.warn{border-color:#d7a74c}.import-result.ok{border-color:#5ec99b}.import-list{margin:6px 0 0;padding-left:20px;color:var(--muted);font-size:.78rem;line-height:1.6}
