@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/InterVariable.woff2") format("woff2")}
:root{
  color-scheme:dark;
  --ink:#e8ecf1;--muted:#c5cedb;--faint:#9daabd;--line:rgba(140,188,255,.14);
  --paper:#080d13;--surface:#0d141d;--surface-card:rgba(18,28,42,.42);
  --surface-compact:rgba(14,22,34,.42);--surface-overlay:rgba(12,20,31,.82);
  --surface-control:rgba(15,20,27,.82);--surface-field:rgba(7,12,18,.72);
  --surface-hover:rgba(59,130,255,.12);--field-border:#5c6b80;
  --accent:#2b6ad9;--accent-hover:#2560c7;--accent-text:#9ac5ff;
  --accent-soft:rgba(59,130,255,.17);--accent-border:rgba(140,188,255,.28);
  --success:#2dd49b;--success-soft:rgba(45,212,155,.15);--success-border:rgba(45,212,155,.34);
  --warn:#fbbf24;--warn-soft:rgba(245,158,11,.14);--warn-border:rgba(245,158,11,.3);
  --danger:#f87171;--danger-soft:rgba(239,68,68,.14);--danger-border:rgba(248,113,113,.5);
  --glass-blur:blur(14px);--overlay-blur:blur(22px) saturate(140%);
  --glass-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 48px rgba(0,0,0,.32);
  --font-xs:.75rem;--font-sm:.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-title:2rem;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;
  --radius:16px;--space:24px;font-family:"Inter",system-ui,sans-serif;font-optical-sizing:auto;color:var(--ink);font-synthesis:none
}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 65% 0,rgba(59,130,255,.2),transparent 55%),radial-gradient(ellipse at 10% 55%,rgba(59,130,255,.1),transparent 60%),var(--paper);background-attachment:fixed;font-size:var(--font-base);line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button{color:inherit}button:disabled{cursor:default;opacity:.6}a{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent-text);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.15;letter-spacing:-1.2px;font-weight:600}h2{font-size:var(--font-xl);font-weight:600;letter-spacing:-.5px}h3{font-size:var(--font-lg);font-weight:600}p{line-height:1.65}small{display:block}.muted{color:var(--muted)}.tiny{font-size:var(--font-xs)}.eyebrow{font-size:var(--font-xs);letter-spacing:1.65px;font-weight:700}.skip{color:#fff;position:fixed;top:-60px;z-index:10;background:var(--accent);padding:12px}.skip:focus{top:8px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--field-border);background:var(--surface-control);border-radius:7px;padding:11px 15px;font-size:var(--font-base);font-weight:600;min-height:44px;text-align:center;line-height:1.5}
.button:hover{background:var(--surface-hover)}
.button.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 24px rgba(59,130,255,.2)}
.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.button.danger{color:var(--danger);border-color:var(--danger-border)}
.button.small{padding:7px 11px;min-height:40px;font-size:var(--font-sm)}
.icon-button{border:1px solid var(--line);height:44px;min-width:44px;border-radius:50%;background:var(--surface-control);display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-xl)}
.panel{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-xs);border:1px solid var(--line);border-radius:5px;padding:3px 6px;background:var(--surface-compact);white-space:nowrap}
.tag.green{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}
.tag.amber{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}
.tag.red{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}
.tag.blue{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-border)}
input,textarea,select{border:1px solid var(--field-border);border-radius:7px;background:var(--surface-field);padding:10px;width:100%;color:var(--ink)}
textarea{resize:vertical}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:0}
.form-error{color:var(--danger);min-height:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
dialog{background:var(--surface-overlay);border:1px solid var(--line);border-radius:18px;padding:28px;width:min(660px,calc(100% - 30px));max-height:90vh;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 100px rgba(0,0,0,.6);color:var(--ink)}
dialog::backdrop{background:rgba(2,6,12,.72);backdrop-filter:blur(8px)}
dialog h2{font-size:var(--font-title)}
dialog form>p{font-size:var(--font-sm);margin:12px 0 22px}
dialog label{display:grid;gap:7px;font-size:var(--font-sm);font-weight:600}
.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--surface-overlay);border:1px solid var(--accent-border);color:var(--ink);border-radius:10px;padding:14px 22px;max-width:calc(100% - 32px);width:max-content;font-size:var(--font-sm);z-index:10;box-shadow:var(--glass-shadow)}
.toast:empty{display:none}
.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}
input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}
input:focus,textarea:focus,select:focus{background:var(--surface-control)}
option{background:var(--surface);color:var(--ink)}
dialog,.toast{backdrop-filter:var(--overlay-blur)}
.icon-button:hover,.admin-tabs a:hover{background:var(--surface-hover)}
.panel,.quick-card,.note-card,.hero,.article-hero,.module,.architecture-node{box-shadow:var(--glass-shadow)}
.panel{backdrop-filter:var(--glass-blur)}

.field{display:grid;align-content:start;gap:var(--space-2);font-size:var(--font-sm);font-weight:500;min-width:0}
.field-hint{font-size:var(--font-sm);font-weight:400;color:var(--faint);line-height:1.5}
input,select,textarea{font-size:var(--font-base);min-height:44px}input[type=checkbox]{min-height:0;flex-shrink:0}
input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}
.ui-card{display:grid;gap:var(--space-4)}.ui-card>h2{font-size:var(--font-xl)}
.ui-metric{display:grid;gap:var(--space-2)}.ui-metric strong{font-size:var(--font-title);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.inline-link{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}
.hub-form{display:grid;gap:var(--space-6);max-width:900px;scroll-margin-top:24px}
.hub-form .form-grid{margin:0}.hub-form .request-actions{margin:0}.hub-form .form-error:empty{display:none}
.hub-form fieldset{border:1px solid var(--line);border-radius:12px;padding:var(--space-4);margin:0;min-width:0}
.hub-form .check-label{font-size:var(--font-sm);margin:var(--space-3) 0;align-items:flex-start}
.hub-form legend{padding:0 var(--space-2);font-weight:600}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.dialog-footer{flex-direction:column;align-items:stretch}.hub-form .request-actions>.button{flex:1}}

@media(prefers-reduced-transparency:reduce){:root{--surface-card:var(--surface);--surface-compact:var(--surface);--surface-overlay:var(--surface);--glass-blur:none;--overlay-blur:none}dialog::backdrop{backdrop-filter:none}}
@supports not (backdrop-filter:blur(1px)){:root{--surface-card:var(--surface);--surface-compact:var(--surface);--surface-overlay:var(--surface)}}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}
.page-heading p{font-size:var(--font-sm);margin-top:9px;color:var(--muted)}
.page-heading .eyebrow{margin-bottom:8px;color:var(--muted)}
.empty{padding:36px;text-align:center;border:1px dashed var(--accent-border);border-radius:12px;margin-top:20px;background:var(--surface-compact)}
.empty p{font-size:var(--font-sm);color:var(--muted);margin:10px 0 18px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.section-heading h2{font-size:var(--font-lg)}
.section-heading .text-button{font-size:var(--font-sm)}
@media(max-width:700px){.page-heading{display:block}.page-heading .button{margin-top:20px}.empty{padding:28px 20px}}

.role-table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface-card)}
table{border-collapse:collapse;width:100%;font-size:var(--font-sm)}
th,td{padding:16px 20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:var(--font-xs);color:var(--muted);font-weight:500;background:var(--surface-compact)}
tr:last-child td{border-bottom:0}
td small{margin-top:4px;color:var(--muted);font-size:var(--font-xs)}
.role-table th:first-child{min-width:150px}
.role-table td:last-child{min-width:160px}
.role-table{backdrop-filter:var(--glass-blur)}

input:not([type=checkbox]),select{height:48px}
