@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/open-sans-latin-400-normal-Bk63H6sG.woff2)format("woff2"),url(/assets/open-sans-latin-400-normal-DKniycaP.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/open-sans-latin-ext-400-normal-URAvo6nN.woff2)format("woff2"),url(/assets/open-sans-latin-ext-400-normal-BfzJ9CTS.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/open-sans-latin-600-normal-Cp4N6AwT.woff2)format("woff2"),url(/assets/open-sans-latin-600-normal-C3dWW5mx.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/open-sans-latin-ext-600-normal-CXDaa6Q7.woff2)format("woff2"),url(/assets/open-sans-latin-ext-600-normal-YZ6Vktkr.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/open-sans-latin-700-normal-CceUhp2e.woff2)format("woff2"),url(/assets/open-sans-latin-700-normal-CZCQA30i.woff)format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/open-sans-latin-ext-700-normal-DatbY7Hl.woff2)format("woff2"),url(/assets/open-sans-latin-ext-700-normal-IE4yTLg1.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-latin-600-normal-DYxBFP1f.woff2)format("woff2"),url(/assets/saira-latin-600-normal-DF-o6wW3.woff)format("woff")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-latin-ext-600-normal-BDLPjVgT.woff2)format("woff2"),url(/assets/saira-latin-ext-600-normal-DVm3eXEL.woff)format("woff")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-latin-700-normal-CObqxJsW.woff2)format("woff2"),url(/assets/saira-latin-700-normal-CWqLIJDh.woff)format("woff")}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-latin-ext-700-normal-kJsnFdG-.woff2)format("woff2"),url(/assets/saira-latin-ext-700-normal-CrEf6OXZ.woff)format("woff")}:root{--font-body:"Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-display:"Saira", "Open Sans", system-ui, sans-serif;--font-nav:"Nunito", "Open Sans", system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--color-ink:#212529;--color-ink-strong:#14171a;--color-slate:#465051;--color-chrome:#313336;--color-chrome-text:#d3d3d3;--color-muted:#5b6570;--color-subtle:#8a939c;--color-bg:#f5f6f7;--color-surface:#fff;--color-surface-alt:#fafbfb;--color-border:#e2e5e8;--color-border-strong:#cfd4d9;--color-accent:#c93a32;--color-accent-hover:#a8302a;--color-accent-soft:#fbeeed;--color-accent-ink:#8f2620;--color-success:#1d7348;--color-success-soft:#e7f4ed;--color-warning:#8a5a00;--color-warning-soft:#fdf4e1;--color-danger:#b42318;--color-danger-soft:#fdecea;--color-info:#2b5c8a;--color-info-soft:#e9f1f8;--focus-ring:0 0 0 3px #c93a3259;--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #14171a0f;--shadow:0 1px 3px #14171a14, 0 4px 12px #14171a0a;--shadow-lg:0 12px 32px #14171a1f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--container:1160px;--header-height:66px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-surface);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ink-strong);margin:0 0 var(--space-3);letter-spacing:-.01em;font-weight:700;line-height:1.2}h1{font-family:var(--font-body);letter-spacing:0;font-size:clamp(2rem,1.5rem + 2vw,2.8rem)}h2{color:var(--color-slate);font-size:clamp(1.5rem,1.3rem + .8vw,1.875rem)}h3{font-size:1.2rem}h4{font-size:1rem}p{margin:0 0 var(--space-4)}a{color:var(--color-accent-ink);text-underline-offset:3px}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}img,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}dl{margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-4);z-index:1000;padding:var(--space-2) var(--space-4);background:var(--color-ink);color:#fff;border-radius:var(--radius);position:absolute;top:-100px}.skip-link:focus{top:var(--space-3);color:#fff}.container{width:100%;max-width:var(--container);padding-inline:var(--space-5);margin-inline:auto}@media (width<=600px){.container{padding-inline:var(--space-4)}}.eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3);font-size:.8rem;font-weight:600;display:inline-block}.lead{color:var(--color-muted);max-width:60ch;font-size:1.125rem}.muted{color:var(--color-muted)}.small{font-size:.875rem}.mono{font-family:var(--font-mono)}.stack>*+*{margin-top:var(--space-4)}.nowrap{white-space:nowrap}.btn{--btn-bg:var(--color-surface);--btn-fg:var(--color-ink);--btn-border:var(--color-border-strong);justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border:1px solid var(--btn-border);border-radius:var(--radius-pill);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-display);white-space:nowrap;cursor:pointer;font-size:1rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover{--btn-bg:var(--color-bg);color:var(--btn-fg)}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn svg{flex-shrink:0}.btn-primary{--btn-bg:var(--color-accent);--btn-fg:#fff;--btn-border:var(--color-accent)}.btn-primary:hover{--btn-bg:var(--color-accent-hover);--btn-border:var(--color-accent-hover);color:#fff}.btn-dark{--btn-bg:var(--color-chrome);--btn-fg:#fff;--btn-border:var(--color-chrome)}.btn-dark:hover{--btn-bg:var(--color-ink-strong);color:#fff}.btn-success{--btn-bg:var(--color-success);--btn-fg:#fff;--btn-border:var(--color-success)}.btn-success:hover{--btn-bg:#165c3a;color:#fff}.btn-danger{--btn-bg:var(--color-surface);--btn-fg:var(--color-danger);--btn-border:#e7b4ae}.btn-danger:hover{--btn-bg:var(--color-danger-soft)}.btn-danger-solid{--btn-bg:var(--color-danger);--btn-fg:#fff;--btn-border:var(--color-danger)}.btn-danger-solid:hover{--btn-bg:#8f1c13;color:#fff}.btn-ghost{--btn-bg:transparent;--btn-border:transparent}.btn-sm{min-height:36px;padding:0 var(--space-4);font-size:.9rem}.btn-lg{min-height:48px;padding:0 28px;font-size:1.1667rem}.btn-block{width:100%}.btn-link{color:var(--color-accent-ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.btn-link:disabled{color:var(--color-subtle);cursor:not-allowed;text-decoration:none}.form-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .span-2{grid-column:span 2}@media (width<=640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--color-ink);font-size:.9rem;font-weight:600}.field-optional{color:var(--color-muted);font-weight:400}.field-hint{color:var(--color-muted);font-size:.825rem}.field-error{color:var(--color-danger);align-items:flex-start;gap:6px;font-size:.85rem;display:flex}.input,.select,.textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);width:100%;min-height:44px;padding:10px 12px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:96px;line-height:1.5}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-subtle)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger)}.input:disabled,.input[readonly]{background:var(--color-bg);color:var(--color-muted)}.input-code{font-family:var(--font-mono);letter-spacing:.5em;text-align:center;max-width:280px;padding-left:calc(12px + .5em);font-size:1.75rem}.checkbox{gap:var(--space-3);cursor:pointer;align-items:flex-start;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--color-accent);flex-shrink:0;margin-top:2px}.radio-cards{gap:var(--space-3);display:grid}.radio-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;align-items:flex-start;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex;position:relative}.radio-card:hover{border-color:var(--color-subtle)}.radio-card input{width:18px;height:18px;accent-color:var(--color-accent);flex-shrink:0;margin-top:4px}.radio-card:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.radio-card:has(input:focus-visible){box-shadow:var(--focus-ring)}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-body{padding:var(--space-5)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.card-header h2,.card-header h3{margin:0;font-size:1.05rem}@media (width<=600px){.card-body{padding:var(--space-4)}.card-header{padding:var(--space-3) var(--space-4)}}.badge{border-radius:var(--radius-pill);white-space:nowrap;background:var(--color-bg);color:var(--color-slate);border:1px solid var(--color-border);align-items:center;gap:6px;padding:3px 10px;font-size:.8rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge-pending{background:var(--color-warning-soft);color:var(--color-warning);border-color:#f0d9a8}.badge-approved{background:var(--color-success-soft);color:var(--color-success);border-color:#b9dfc9}.badge-rejected{background:var(--color-danger-soft);color:var(--color-danger);border-color:#f2c2bc}.badge-info{background:var(--color-info-soft);color:var(--color-info);border-color:#c4d8eb}.badge-accent{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface-alt);align-items:flex-start;font-size:.95rem;display:flex}.alert>svg{flex-shrink:0;margin-top:3px}.alert p:last-child{margin-bottom:0}.alert-title{margin-bottom:2px;font-weight:700}.alert-error{background:var(--color-danger-soft);color:#7a1810;border-color:#f2c2bc}.alert-success{background:var(--color-success-soft);color:#134d30;border-color:#b9dfc9}.alert-warning{background:var(--color-warning-soft);color:#5e3d00;border-color:#f0d9a8}.alert-info{background:var(--color-info-soft);color:#1d4062;border-color:#c4d8eb}.dl-grid{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(140px,200px) 1fr;display:grid}.dl-grid dt{color:var(--color-muted);font-size:.9rem}.dl-grid dd{overflow-wrap:anywhere;margin:0;font-weight:500}@media (width<=520px){.dl-grid{grid-template-columns:1fr;gap:0}.dl-grid dd{margin-bottom:var(--space-3)}}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.925rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);white-space:nowrap;font-size:.8rem;font-weight:600}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr:hover{background:var(--color-surface-alt)}.table tbody tr:last-child td{border-bottom:0}.table a{color:var(--color-ink-strong);font-weight:600;text-decoration:none}.table a:hover{color:var(--color-accent-ink);text-decoration:underline}@media (width<=760px){.table-responsive thead{display:none}.table-responsive tr{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:block}.table-responsive td{justify-content:space-between;gap:var(--space-3);text-align:right;border:0;padding:4px 0;display:flex}.table-responsive td:before{content:attr(data-label);color:var(--color-muted);text-align:left;font-size:.85rem}.table-responsive td:first-child{text-align:left}.table-responsive td:first-child:before{display:none}}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--color-muted);display:flex}.empty-state{text-align:center;padding:var(--space-7) var(--space-4);color:var(--color-muted)}.empty-state svg{color:var(--color-subtle);margin-bottom:var(--space-3)}.empty-state h3{color:var(--color-ink);margin-bottom:var(--space-2)}.dialog{border-radius:var(--radius-lg);width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);color:var(--color-ink);border:0;padding:0}.dialog::backdrop{background:#14171a73}.dialog-header{padding:var(--space-5) var(--space-5) var(--space-2)}.dialog-header h2{margin:0;font-size:1.25rem}.dialog-body{padding:var(--space-2) var(--space-5) var(--space-4)}.dialog-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-alt);flex-wrap:wrap;display:flex}.toast-region{right:var(--space-4);bottom:var(--space-4);z-index:2000;gap:var(--space-2);flex-direction:column;width:min(380px,100vw - 32px);display:flex;position:fixed}.toast{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-ink);color:#fff;box-shadow:var(--shadow-lg);align-items:flex-start;font-size:.925rem;animation:.18s ease-out toast-in;display:flex}.toast>svg{flex-shrink:0;margin-top:2px}.toast-success>svg{color:#7ad3a3}.toast-error>svg{color:#ff9d94}.toast button{color:#ffffffb3;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.wizard-steps{gap:var(--space-2);margin:0 0 var(--space-6);counter-reset:wizard;padding:0;list-style:none;display:flex}.wizard-steps li{color:var(--color-muted);flex-direction:column;flex:1;gap:6px;font-size:.85rem;display:flex}.wizard-steps li:before{content:"";background:var(--color-border);border-radius:2px;height:4px}.wizard-steps li[data-state=done]:before,.wizard-steps li[data-state=current]:before{background:var(--color-accent)}.wizard-steps li[data-state=current]{color:var(--color-ink-strong);font-weight:600}@media (width<=600px){.wizard-steps li span{display:none}.wizard-steps li[data-state=current] span{display:inline}}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);color:var(--color-muted);flex-wrap:wrap;font-size:.9rem;display:flex}.pagination-controls{gap:var(--space-2);display:flex}.feature-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.feature-list li{gap:var(--space-2);align-items:flex-start;display:flex}.feature-list svg{color:var(--color-success);flex-shrink:0;margin-top:4px}.divider{border:0;border-top:1px solid var(--color-border);margin:var(--space-5) 0}.section-title{align-items:center;gap:var(--space-2);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-size:.8rem;font-family:var(--font-body);margin:0 0 var(--space-3);font-weight:700;display:flex}.inline-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.brand{color:var(--color-ink-strong);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-ink-strong)}.brand-mark{flex-shrink:0;width:34px;height:34px}.brand-text{flex-direction:column;line-height:1.05;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.02em;font-size:1.2rem;font-weight:700}.brand-sub{letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);font-size:.68rem}.brand-inverse,.brand-inverse:hover{color:#fff}.brand-inverse .brand-sub{color:#fff9}.brand-inverse .brand-mark-bg{fill:#0000}.site-header{z-index:100;background:var(--color-chrome);position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--header-height);display:flex}.site-nav{align-items:center;gap:var(--space-2);display:flex}.site-nav a:not(.btn),.admin-nav a{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1.5px;font-size:1rem;font-weight:700}.site-nav a:not(.btn){border-radius:var(--radius-sm);color:#fff;padding:6px 12px;text-decoration:none}.site-nav a:not(.btn):hover{color:#fff;background:#ffffff1a}.site-nav .btn{margin-left:var(--space-3)}.nav-toggle{--btn-fg:#fff;display:none}.nav-toggle:hover{--btn-bg:#ffffff1a;color:#fff}@media (width<=860px){.nav-toggle{display:inline-flex}.site-nav{top:var(--header-height);padding:var(--space-2) var(--space-4) var(--space-4);background:var(--color-chrome);box-shadow:var(--shadow);border-top:1px solid #ffffff1a;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;left:0;right:0}.site-nav[data-open=true]{display:flex}.site-nav a:not(.btn){padding:var(--space-3) 0;border-bottom:1px solid #ffffff1a;border-radius:0}.site-nav a:not(.btn):hover{color:var(--color-chrome-text);background:0 0}.site-nav .btn{margin:var(--space-4) 0 0}}.site-footer{background:var(--color-chrome);color:var(--color-chrome-text);padding:var(--space-8) 0 var(--space-6);font-family:var(--font-nav);font-size:1.1rem}.site-footer a{color:var(--color-chrome-text);text-decoration:none}.site-footer a:hover{color:#fff}.footer-grid{gap:var(--space-6);grid-template-columns:1.4fr 1fr 1fr;display:grid}.footer-grid h2{font-family:var(--font-nav);letter-spacing:0;color:#fff;margin-bottom:var(--space-4);font-size:1.5rem;font-weight:700}.footer-grid ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.footer-copy{margin-top:var(--space-6);color:#fff;font-size:.95rem;line-height:1.5}@media (width<=760px){.footer-grid{grid-template-columns:1fr}}.page{padding-block:var(--space-7) var(--space-8)}.page-narrow{max-width:760px}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header h1{margin-bottom:var(--space-1);font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem)}.page-header p{color:var(--color-muted);margin:0}.back-link{color:var(--color-muted);margin-bottom:var(--space-3);align-items:center;gap:6px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-accent-ink)}.surface-bg{background:var(--color-bg);min-height:calc(100vh - var(--header-height))}.auth-card{max-width:460px;margin:0 auto}.portal-header{background:var(--color-chrome);color:#fff}.portal-header .btn{--btn-bg:transparent;--btn-fg:#fff;--btn-border:#ffffff4d}.portal-header .btn:hover{--btn-bg:#ffffff1a;color:#fff}.portal-header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--header-height);display:flex}.portal-user{align-items:center;gap:var(--space-4);min-width:0;display:flex}.portal-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.9rem;font-weight:600;overflow:hidden}@media (width<=600px){.portal-user-name{display:none}}.portal-grid{gap:var(--space-5);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.portal-grid>.stack,.portal-grid>aside{min-width:0}@media (width<=960px){.portal-grid{grid-template-columns:1fr}}.status-panel{border-left:4px solid var(--color-border-strong)}.status-panel[data-status=pending]{border-left-color:#e0a63a}.status-panel[data-status=approved]{border-left-color:var(--color-success)}.status-panel[data-status=rejected]{border-left-color:var(--color-danger)}.status-panel-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.status-panel-head h2{margin:0;font-size:1.35rem}.status-message{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius)}.status-message-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:4px;font-size:.8rem;font-weight:700}.checklist{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.checklist li{gap:var(--space-3);align-items:flex-start;display:flex}.checklist-icon{border:2px solid var(--color-border-strong);width:26px;height:26px;color:var(--color-subtle);background:var(--color-surface);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.checklist li[data-state=done] .checklist-icon{border-color:var(--color-success);background:var(--color-success);color:#fff}.checklist li[data-state=current] .checklist-icon{color:var(--color-warning);border-color:#e0a63a}.checklist li[data-state=failed] .checklist-icon{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.checklist-title{font-weight:600}.checklist-meta{color:var(--color-muted);font-size:.85rem}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:0 0 var(--space-4) var(--space-5);border-left:2px solid var(--color-border);margin-left:6px;position:relative}.timeline li:last-child{border-left-color:#0000;padding-bottom:0}.timeline li:before{content:"";background:var(--color-surface);border:2px solid var(--color-subtle);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px}.timeline-meta{color:var(--color-muted);font-size:.825rem}.admin-shell{background:var(--color-bg);min-height:100vh}.admin-topbar{background:var(--color-chrome);color:#fff}.admin-topbar-inner{align-items:center;gap:var(--space-5);min-height:60px;display:flex}.admin-nav{gap:var(--space-1);flex:1;display:flex}.admin-nav a{border-radius:var(--radius);color:#ffffffc7;align-items:center;gap:8px;padding:8px 12px;font-size:.95rem;text-decoration:none;display:inline-flex}.admin-nav a:hover{color:#fff;background:#ffffff14}.admin-nav a.active{color:#fff;background:#ffffff24}.admin-user{align-items:center;gap:var(--space-3);color:#ffffffbf;font-size:.875rem;display:flex}.admin-user .btn{--btn-bg:transparent;--btn-fg:#fff;--btn-border:#ffffff4d}.admin-user .btn:hover{--btn-bg:#ffffff1a;color:#fff}@media (width<=760px){.admin-topbar-inner{gap:var(--space-2) var(--space-3);padding-block:var(--space-2);flex-wrap:wrap}.admin-nav{flex-basis:100%;order:3}.admin-user{margin-left:auto}.admin-user-name{display:none}}.metric-grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.metric{padding:var(--space-4);color:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}a.metric:hover{border-color:var(--color-border-strong);color:inherit}.metric-label{color:var(--color-muted);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.metric-value{font-family:var(--font-display);color:var(--color-ink-strong);font-size:2rem;font-weight:700;line-height:1.15}.metric-hint{color:var(--color-subtle);font-size:.78rem;line-height:1.35}.metric-attention .metric-value{color:var(--color-warning)}.dashboard-grid{gap:var(--space-5);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;display:grid}@media (width<=960px){.dashboard-grid{grid-template-columns:1fr}}.bar-chart{width:100%;height:auto;display:block}.bar-chart .bar{fill:var(--color-accent)}.bar-chart .grid-line{stroke:var(--color-border);stroke-width:1px}.bar-chart text{font-family:var(--font-body);fill:var(--color-muted);font-size:12px}.bar-chart .bar-value{fill:var(--color-ink-strong);font-weight:700}.activity-list{margin:0;padding:0;list-style:none}.activity-list li{gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.activity-list li:last-child{border-bottom:0}.activity-icon{background:var(--color-bg);width:32px;height:32px;color:var(--color-slate);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.activity-text{min-width:0;font-size:.9rem}.activity-text a{color:var(--color-ink-strong);font-weight:600}.activity-time{color:var(--color-muted);font-size:.8rem}.toolbar{gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(200px,2fr) repeat(3,minmax(140px,1fr));display:grid}@media (width<=860px){.toolbar{grid-template-columns:1fr 1fr}.toolbar .toolbar-search{grid-column:span 2}}.search-input{position:relative}.search-input svg{color:var(--color-subtle);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input .input{padding-left:38px}.decision-actions{gap:var(--space-2);display:grid}.note{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-warning-soft);border-color:#f3e2bd}.note+.note{margin-top:var(--space-3)}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:4px}.hero{background:var(--color-surface);padding:clamp(80px,14vh,160px) 0;position:relative;overflow:hidden}.hero-inner{z-index:1;text-align:center;position:relative}.hero-inner>*{animation:.7s cubic-bezier(.2,.7,.2,1) both hero-rise}.hero-inner>:nth-child(2){animation-delay:80ms}.hero-inner>:nth-child(3){animation-delay:.16s}@keyframes hero-rise{0%{opacity:0;transform:translateY(14px)}}.hero-iris{pointer-events:none;place-items:center;animation:1.2s ease-out both hero-fade;display:grid;position:absolute;inset:0}.hero-iris svg{aspect-ratio:1;width:min(980px,150vw);max-width:none;height:auto;animation:9s ease-in-out infinite alternate iris-breathe;-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000 100%);mask-image:radial-gradient(closest-side,#000 55%,#0000 100%)}.hero-iris circle{fill:none;transform-box:fill-box;transform-origin:50%}.hero-iris-ring{stroke:var(--color-border);stroke-width:1px}.hero-iris-fibres{stroke:var(--color-border-strong);stroke-width:22px;stroke-dasharray:1 7;opacity:.45;animation:160s linear infinite iris-spin}.hero-iris-accent{stroke:var(--color-accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:16 84;opacity:.4;animation:70s linear infinite reverse iris-spin}@keyframes hero-fade{0%{opacity:0}}@keyframes iris-breathe{to{transform:scale(1.035)}}@keyframes iris-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.hero-inner>*,.hero-iris,.hero-iris svg,.hero-iris circle{animation:none}}.hero h1{margin-bottom:var(--space-4);line-height:1.5}.hero-lead{margin:0 auto var(--space-6);text-wrap:balance;max-width:46ch;font-size:clamp(1.15rem,1rem + .6vw,1.5rem);line-height:1.5}.hero-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.section{padding:var(--space-9) 0}.section-alt{background:var(--color-bg)}.section-head{max-width:680px;margin-bottom:var(--space-7)}.section-head-center{text-align:center;margin-inline:auto}.section-head-center .lead{margin-inline:auto}@media (width<=600px){.section{padding:var(--space-8) 0}}.plans{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.plan-card{padding:var(--space-6) var(--space-5) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.plan-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow)}.plans .plan-card{transition:border-color .2s,box-shadow .25s,transform .25s cubic-bezier(.2,.7,.2,1)}.plans .plan-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.plans .plan-card:before{content:"";top:0;left:var(--space-5);right:var(--space-5);background:var(--color-accent);border-radius:0 0 3px 3px;height:3px;transition:transform .3s cubic-bezier(.2,.7,.2,1);position:absolute;transform:scaleX(0)}.plans .plan-card:hover:before,.plans .plan-card:focus-within:before{transform:scaleX(1)}.plan-card[data-reveal=hidden]{opacity:0}.plan-card[data-reveal=shown]{animation:reveal-up .6s cubic-bezier(.2, .7, .2, 1) var(--reveal-delay,0s) backwards}@keyframes reveal-up{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.plans .plan-card:hover{transform:none}}.plan-card-highlighted{border:2px solid var(--color-ink);box-shadow:var(--shadow)}.plan-card-highlighted:hover{border-color:var(--color-ink)}.plan-card[data-selected=true]{border:2px solid var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.plan-badge{top:-13px;left:var(--space-5);position:absolute}.plan-name{font-family:var(--font-display);margin:0;font-size:1.6rem;font-weight:700}.plan-tagline{color:var(--color-slate);margin:2px 0 var(--space-3);font-weight:600}.plan-description{color:var(--color-muted);min-height:3.2em;font-size:.95rem}.plan-card .feature-list{margin:var(--space-3) 0 var(--space-5);flex:1;align-content:start;font-size:.95rem}.plan-requirements{color:var(--color-muted);padding:var(--space-3);background:var(--color-surface-alt);border:1px dashed var(--color-border-strong);border-radius:var(--radius);margin-bottom:var(--space-4);font-size:.85rem}@media (width<=900px){.plans{gap:var(--space-6);grid-template-columns:1fr;max-width:520px;margin-inline:auto}}.prereq-icon{border-radius:var(--radius);background:var(--color-accent-soft);width:44px;height:44px;color:var(--color-accent);flex-shrink:0;place-items:center;display:grid}.toast .toast-action{color:#fff;text-underline-offset:3px;white-space:nowrap;margin-left:auto;font-weight:700;text-decoration:underline}.toast .toast-action+button{margin-left:var(--space-2)}.realtime-indicator{color:#ffffffbf;white-space:nowrap;align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.realtime-dot{background:#9aa3aa;border-radius:50%;width:8px;height:8px}.realtime-indicator[data-status=live] .realtime-dot{background:#4cc38a;animation:2.4s ease-in-out infinite realtime-pulse;box-shadow:0 0 0 3px #4cc38a40}.realtime-indicator[data-status=connecting] .realtime-dot{background:#e0a63a}@keyframes realtime-pulse{50%{box-shadow:0 0 0 6px #4cc38a00}}@media (prefers-reduced-motion:reduce){.realtime-indicator[data-status=live] .realtime-dot{animation:none}}.admin-nav{scrollbar-width:none;overflow-x:auto}.admin-nav a{white-space:nowrap}.is-refreshing{opacity:.6;transition:opacity .2s}.segmented{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-pill);font-family:var(--font-display);color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:6px 14px;font-size:.875rem;font-weight:600}.segmented button[aria-pressed=true]{background:var(--color-chrome);color:#fff}.segmented button:focus-visible{box-shadow:var(--focus-ring);outline:none}.dashboard-pair{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (width<=760px){.dashboard-pair{grid-template-columns:1fr}}.chart-figure{position:relative}.bar-chart .bar{fill:#7d8890;transition:opacity .12s}.bar-chart .bar-today{fill:var(--color-accent)}.bar-chart .bar-active{opacity:.75}.bar-chart .bar-hit{fill:#0000;cursor:default}.bar-chart .bar-hit:focus-visible{stroke:var(--color-accent);stroke-width:2px;outline:none}.chart-tooltip{border-radius:var(--radius);background:var(--color-ink-strong);color:#fff;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow);flex-direction:column;align-items:center;padding:6px 10px;font-size:.8rem;line-height:1.3;display:flex;position:absolute;top:0;transform:translate(-50%,-100%)}.chart-tooltip strong{font-size:1rem}.chart-tooltip span{color:#ffffffb3}.hbar-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.hbar-list li{align-items:center;gap:var(--space-3);grid-template-columns:minmax(90px,7.5rem) 1fr auto;font-size:.9rem;display:grid}.hbar-label{color:var(--color-ink)}.hbar-track{height:12px;display:block}.hbar-fill{background:var(--color-slate);border-radius:0 4px 4px 0;height:100%;display:block}.hbar-value{font-variant-numeric:tabular-nums;text-align:right;min-width:4.5rem}.thread{gap:var(--space-4);flex-direction:column;display:flex}.thread-list{gap:var(--space-3);scroll-behavior:smooth;flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.thread-message{flex-direction:column;align-items:flex-start;max-width:85%;display:flex}.thread-message.is-own{align-self:flex-end;align-items:flex-end}.thread-meta{gap:var(--space-2);color:var(--color-muted);align-items:center;margin-bottom:4px;font-size:.78rem;display:flex}.thread-bubble{background:var(--color-bg);border:1px solid var(--color-border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px 14px 14px 4px;padding:10px 14px;font-size:.925rem}.thread-message.is-own .thread-bubble{background:var(--color-chrome);border-color:var(--color-chrome);color:#fff;border-radius:14px 14px 4px}.thread-composer{gap:var(--space-2);flex-direction:column;display:flex}.thread-composer .textarea{min-height:84px}.toolbar-toggle{grid-column:1/-1;align-items:center;font-size:.9rem}.toolbar-toggle input{margin-top:0}.bulk-bar{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-accent-soft);border-bottom:1px solid #f0cfcc;flex-wrap:wrap;display:flex;position:sticky;top:0}.col-select{width:44px}.col-select input{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer}tr[data-selected=true] td{background:#fdf6f5}.unread-badge{align-items:center;gap:4px;text-decoration:none;display:inline-flex}@media (width<=860px){.table-responsive .col-select{width:auto}}.clinic-map{background:var(--color-bg);z-index:0;width:100%}.toolbar-compact{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.toolbar-compact>div{min-width:170px}.map-legend{gap:var(--space-4);color:var(--color-ink);flex-wrap:wrap;margin:0 0 0 auto;padding:0;font-size:.85rem;list-style:none;display:flex}.map-legend li{align-items:center;gap:6px;display:inline-flex}.map-legend-dot{width:12px;height:12px;box-shadow:0 0 0 1px var(--color-border-strong);border:2px solid #fff;border-radius:50%}.map-legend-pending{background:var(--color-warning)}.map-legend-approved{background:var(--color-success)}.map-legend-rejected{background:var(--color-danger)}.map-note{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);align-items:center;gap:6px;margin:0;display:flex}.map-popup{font-family:var(--font-body);gap:2px;font-size:.875rem;display:grid}.map-popup strong{font-size:.95rem}.map-popup .btn-link{justify-self:start;margin-top:4px;font-size:.875rem}.toolbar.toolbar-audit{flex-wrap:wrap;align-items:center;display:flex}.toolbar-audit>*{min-width:0}.toolbar-audit .toolbar-search{flex:2 260px}.toolbar-audit>div:not(.toolbar-search):not(.date-range){flex:170px}.date-range{align-items:center;gap:var(--space-2);flex:1.4 330px;display:flex}.date-range label{flex:1 1 0;min-width:140px}.date-range .input{width:100%;min-width:0}.actor-clinic{background:var(--color-info-soft);color:var(--color-info)}.actor-administrator{background:var(--color-bg);color:var(--color-ink)}.actor-system{color:#4b4a7a;background:#f1f0fa}.code-input{font-family:var(--font-mono);letter-spacing:.3em;font-size:1.25rem}.setup-steps{gap:var(--space-4);margin:0;padding-left:1.25rem;display:grid}.qr-box{align-items:center;gap:var(--space-5);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.qr-box img{border:1px solid var(--color-border);border-radius:var(--radius);image-rendering:pixelated}.secret-key{color:var(--color-ink-strong);letter-spacing:.06em;word-break:break-all;margin-top:4px;font-size:1rem}.recovery-codes{padding:var(--space-4);gap:var(--space-2) var(--space-4);background:var(--color-bg);border:1px dashed var(--color-border-strong);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;font-size:1rem;list-style:none;display:grid}.loading-block{animation:0s linear .2s both loading-appear}@keyframes loading-appear{0%{visibility:hidden}}.clinic-map-wrap{position:relative}.clinic-map-wrap.is-expanded{z-index:1100;border-radius:var(--radius-lg);box-shadow:0 0 0 100vmax #14171a8c, var(--shadow-lg);position:fixed;inset:24px;overflow:hidden}.clinic-map-wrap.is-expanded .clinic-map{height:100%}.map-expand{z-index:1000;border:1px solid var(--color-border-strong);border-radius:var(--radius);color:var(--color-ink);font-family:var(--font-display);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:600;display:inline-flex;position:absolute;top:10px;right:10px}.map-expand:hover{background:var(--color-bg)}.map-expand:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=600px){.clinic-map-wrap.is-expanded{inset:8px}}.metric-group-title{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin:0 0 var(--space-2);font-size:.78rem;font-weight:700}.metric-grid.metric-grid-links{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid.metric-grid-info{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid.metric-grid-links,.metric-grid.metric-grid-info{align-items:stretch}.metric .metric-label{min-height:1.4em}.metric .metric-label>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.metric .metric-hint{margin-top:auto}.metric-link{cursor:pointer;transition:border-color .15s,box-shadow .2s,transform .2s;position:relative}.metric-arrow{color:var(--color-subtle);flex-shrink:0;margin-left:auto;transition:transform .2s,color .15s}a.metric-link:hover,a.metric-link:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow);transform:translateY(-2px)}a.metric-link:hover .metric-arrow,a.metric-link:focus-visible .metric-arrow{color:var(--color-accent);transform:translate(2px)}a.metric-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.metric-info{border-radius:var(--radius-lg);background:#eceef0}.metric-info .metric-value{color:var(--color-ink)}@media (width<=1100px){.metric-grid.metric-grid-links{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid.metric-grid-info{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.metric-grid.metric-grid-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){a.metric-link:hover,a.metric-link:focus-visible{transform:none}}
