:root{--brand-ink:#2a2f3a;--brand-teal:#5aa8b4;--brand-teal-hover:#4a96a2;--brand-teal-soft:rgba(90,168,180,0.12);--brand-teal-ring:rgba(90,168,180,0.32);--bg:#f6f5f1;--bg-elevated:#fbfaf6;--surface:#ffffff;--surface-muted:#f3f2ee;--border:#e5e3dc;--border-strong:#d4d1c8;--nav-bg:rgba(255,255,255,0.85);--modal-overlay:rgba(31,36,48,0.55);--text:#1f2430;--text-soft:#4a5060;--muted:#7a8092;--subtle:#9ea3b3;--accent:var(--brand-teal);--accent-hover:var(--brand-teal-hover);--danger:#c14a4a;--danger-soft:rgba(193,74,74,0.1);--danger-border:rgba(193,74,74,0.32);--success:#3f9d6f;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-color:rgba(31,36,48,1);--shadow-xs:0 1px 2px rgba(31,36,48,0.04);--shadow-sm:0 1px 3px rgba(31,36,48,0.06),0 1px 2px rgba(31,36,48,0.04);--shadow-md:0 4px 16px rgba(31,36,48,0.06),0 2px 6px rgba(31,36,48,0.04);--shadow-lg:0 18px 48px rgba(31,36,48,0.18),0 4px 14px rgba(31,36,48,0.08);color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-feature-settings:"ss01","cv11"}[data-theme=dark]{--brand-teal:#6dbcc8;--brand-teal-hover:#82cad6;--brand-teal-soft:rgba(109,188,200,0.14);--brand-teal-ring:rgba(109,188,200,0.36);--bg:#0e1118;--bg-elevated:#141823;--surface:#181c28;--surface-muted:#1f2331;--border:#2a2f3f;--border-strong:#3a4154;--nav-bg:rgba(20,24,35,0.78);--modal-overlay:rgba(0,0,0,0.65);--text:#e8eaf1;--text-soft:#c1c5d3;--muted:#8b91a3;--subtle:#5a6075;--danger:#e07373;--danger-soft:rgba(224,115,115,0.12);--danger-border:rgba(224,115,115,0.38);--shadow-xs:0 1px 2px rgba(0,0,0,0.4);--shadow-sm:0 1px 3px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 6px 18px rgba(0,0,0,0.5),0 2px 6px rgba(0,0,0,0.35);--shadow-lg:0 24px 60px rgba(0,0,0,0.65),0 6px 16px rgba(0,0,0,0.45);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}body,h1,h2,h3,h4{color:var(--text)}h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.2}h1{font-size:1.6rem;font-weight:650}h2{font-size:1.2rem;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.85em;background:var(--surface-muted);padding:.1em .35em;border-radius:4px;color:var(--text)}.admin-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 0 -10%,var(--brand-teal-soft),transparent 60%),var(--bg)}.admin-nav{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--border);background:var(--nav-bg);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:30}.admin-nav-brand{display:inline-flex;align-items:center;gap:.65rem;padding:.25rem .5rem .25rem 0;margin-right:.5rem;text-decoration:none!important}.admin-nav-brand:hover{text-decoration:none}.admin-nav-brand img{height:26px;width:auto;display:block}.admin-nav-brand-tag{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.18rem .5rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface)}.admin-nav-link{color:var(--text-soft)!important;text-decoration:none!important;font-weight:500;font-size:.9rem;padding:.45rem .75rem;border-radius:var(--radius-sm);transition:color .15s ease,background .15s ease}.admin-nav-link:hover{color:var(--text)!important;background:var(--surface-muted);text-decoration:none!important}.admin-nav-spacer{flex:1 1}.admin-main{padding:2rem 1.5rem 4rem;max-width:1024px;width:100%;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-header h1{margin:0 0 .3rem}.page-header-subtitle{color:var(--muted);font-size:.95rem;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.card-flush{padding:0;overflow:hidden}.form-grid{display:grid;grid-gap:1rem;gap:1rem}.taxonomy-panels{display:flex;flex-direction:column;gap:1.5rem}.taxonomy-add-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.taxonomy-add-row label:first-child{flex:1 1 14rem;min-width:0}.taxonomy-add-row-wide label:nth-child(2){flex:1 1 16rem;min-width:0}label.checkbox-inline{flex-direction:row;align-items:center;gap:.5rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--text-soft);letter-spacing:.005em}input,select,textarea{padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--subtle)}input:hover,select:hover,textarea:hover{border-color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px var(--brand-teal-ring)}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--brand-teal)}textarea{min-height:6rem;resize:vertical;line-height:1.5}.btn,a.btn,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--brand-teal);color:#ffffff;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none!important;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease;box-shadow:var(--shadow-xs)}.btn:hover,a.btn:hover,button[type=submit]:hover:not(:disabled){background:var(--brand-teal-hover);text-decoration:none!important;color:#ffffff;box-shadow:var(--shadow-sm)}.btn:active,a.btn:active,button[type=submit]:active:not(:disabled){transform:translateY(.5px)}.btn:focus-visible,a.btn:focus-visible,button[type=submit]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-teal-ring)}.btn:disabled,a.btn:disabled,button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--text-soft);border:1px solid var(--border-strong);box-shadow:none}.btn-ghost:hover{background:var(--surface-muted);color:var(--text)!important;border-color:var(--muted);box-shadow:var(--shadow-xs)}.btn-sm{padding:.4rem .75rem;font-size:.82rem;font-weight:500}.btn-danger{background:var(--danger);color:#ffffff;border-color:transparent}.btn-danger:hover{background:#a73d3d;color:#ffffff}.error-banner{padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);font-size:.88rem}.empty-state{color:var(--muted);font-size:.95rem;padding:1.5rem;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);text-align:center}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem}table.data thead th{text-align:left;padding:.75rem 1rem;color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-muted);border-bottom:1px solid var(--border)}table.data thead th:first-child{padding-left:1.25rem}table.data thead th:last-child{padding-right:1.25rem}table.data tbody td{padding:.85rem 1rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}table.data tbody td:first-child{padding-left:1.25rem;font-weight:550}table.data tbody td:last-child{padding-right:1.25rem}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr{transition:background .12s ease}table.data tbody tr:hover{background:var(--surface-muted)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--modal-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .15s ease}.modal-dialog{max-width:28rem;width:100%;z-index:51;box-shadow:var(--shadow-lg);animation:pop-in .18s ease}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(900px 500px at 20% 0,var(--brand-teal-soft),transparent 60%),radial-gradient(700px 400px at 90% 100%,var(--brand-teal-soft),transparent 60%),var(--bg)}.auth-card{width:100%;max-width:26rem;text-align:center;padding:2.25rem 2rem 2rem}.auth-card .auth-logo{display:block;margin:0 auto 1.25rem;height:44px;width:auto}.auth-card h1{margin:0 0 .5rem;font-size:1.35rem}.auth-card p{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.auth-card .btn{width:100%}.muted{color:var(--muted)}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}table.data-clickable tbody tr{cursor:pointer}table.data-clickable tbody tr:focus{outline:none;background:var(--brand-teal-soft);box-shadow:inset 3px 0 0 var(--brand-teal)}table.data-clickable tbody tr:focus-visible{outline:none;background:var(--brand-teal-soft);box-shadow:inset 3px 0 0 var(--brand-teal)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-soft);cursor:pointer;padding:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.theme-toggle:hover{background:var(--surface-muted);color:var(--text);border-color:var(--muted)}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-teal-ring)}.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.danger-zone{margin-top:2rem;padding:1.25rem 1.5rem;border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-soft);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.danger-zone h3{margin:0 0 .25rem;font-size:1rem;color:var(--text)}.danger-zone p{margin:0;font-size:.88rem;max-width:44ch}.btn-danger-ghost{background:var(--surface);color:var(--danger);border:1px solid var(--danger-border);box-shadow:var(--shadow-xs)}.btn-danger-ghost:hover{background:var(--danger);color:#ffffff!important;border-color:var(--danger)}