@font-face{font-family:Nunito Sans;src:url(/fonts/nunito-sans-variable-latin.woff2)format("woff2-variations");font-weight:200 1000;font-style:normal;font-display:swap}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{color-scheme:light dark;--header-height:4rem;--drawer-width:16rem;--container-admin:1280px;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-control:.5rem;--radius-panel:.75rem;--radius-pill:999px;--shadow-sm:0 10px 24px -12px #14181b38;--shadow-md:0 4px 14px #0f172a14;--shadow-lg:0 18px 46px -14px #14181b4d;--shadow-hairline:0 1px 2px #0f172a0f;--shadow-overlay:0 4px 14px #0f172a14;--font-sans:"Nunito Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:.9375rem;--text-page-title:1.25rem;--text-section-title:1rem;--text-metric:1.5rem;--duration-fast:.15s;--duration-base:.2s;--z-backdrop:10;--z-drawer:15;--z-header:20;--z-skip-link:100;--color-brand-primary:#0ea5e9;--color-brand-primary-hover:#0284b4;--color-brand-soft:light-dark(#0ea5e91a,#0ea5e929);--color-brand-text:light-dark(#0369a1,#38bdf8);--color-accent:#59c9f2;--color-background:light-dark(#f7f9fa,#14181a);--color-surface:light-dark(#fff,#1a2226);--color-surface-muted:light-dark(#f1f4f5,#1c2124);--color-text:light-dark(#1a1d1f,#e7edf0);--color-text-muted:light-dark(#5b6469,#97a3a8);--color-border:light-dark(#e6e9eb,#223035);--color-success:#17a673;--color-warning:#e0a52c;--color-danger:#e0554f;--color-success-text:light-dark(#087048,#5dd4a0);--color-success-soft:light-dark(#17a67324,#17a67333);--color-warning-text:light-dark(#8a5a00,#f5c451);--color-warning-soft:light-dark(#e0a52c2e,#e0a52c33);--color-danger-text:light-dark(#b42318,#f38b86);--color-danger-soft:light-dark(#e0554f1f,#e0554f33);--color-info-text:var(--color-brand-text);--color-info-soft:light-dark(#0ea5e91f,#0ea5e933);--color-action:#0277b3;--color-action-hover:#0369a1;--color-on-action:#fff;--color-danger-action:#c73f3a;--color-danger-action-hover:#b42318;--color-focus-ring:light-dark(#0277b3,#38bdf8);--color-focus-ring-soft:light-dark(#0277b338,#38bdf84d);--color-primary:var(--color-brand-text);--color-primary-hover:var(--color-action-hover);--color-primary-tint:var(--color-brand-soft);--color-primary-tint-strong:light-dark(#0ea5e929,#0ea5e938);--color-danger-hover:var(--color-danger-action-hover);--color-bg:var(--color-background);--color-surface-hover:var(--color-surface-muted);--shadow-card:var(--shadow-hairline);--shadow-header:var(--shadow-hairline);--shadow-sidebar:var(--shadow-overlay)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);margin:0;line-height:1.5;overflow-x:hidden}a{color:var(--color-brand-text);text-underline-offset:.15em}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{inset-inline-start:var(--space-2);z-index:var(--z-skip-link);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);transition:top var(--duration-fast) ease;font-weight:600;position:absolute;top:-4rem}.skip-link:focus{top:var(--space-2)}.app-content:focus{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-header{z-index:var(--z-header);height:var(--header-height);align-items:center;gap:var(--space-2);padding-inline:var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-header);display:flex;position:sticky;top:0}.app-header__brand{color:var(--color-text);font-weight:700}.app-header__menu-button{appearance:none;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;font-size:1.25rem;line-height:1}.app-header__menu-button:hover,.app-header__menu-button:focus-visible{background:var(--color-surface-hover)}@media (width>=1024px){.app-header__menu-button{display:none}}.app-header__spacer{flex:1}.app-header__user{align-items:center;gap:var(--space-2);display:flex}.app-header__user-name{font-size:var(--text-md);color:var(--color-text-muted);display:none}@media (width>=640px){.app-header__user-name{display:inline}}@media (width<=639.98px){.app-header__logout span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.app-header__logout{appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:44px;padding:0 var(--space-3);color:var(--color-text);font:inherit;cursor:pointer;background:0 0}.app-header__logout:hover,.app-header__logout:focus-visible{background:var(--color-surface-hover)}body:not([data-auth-ready=true]) .app-content{display:none}.app-drawer{inset-block:var(--header-height) 0;width:var(--drawer-width);visibility:hidden;max-width:85vw;transition:transform var(--duration-base) ease, visibility 0s linear var(--duration-base);background:var(--color-surface);border-inline-end:1px solid var(--color-border);box-shadow:var(--shadow-sidebar);z-index:var(--z-drawer);flex-direction:column;display:flex;position:fixed;inset-inline-start:0;overflow-y:auto;transform:translate(-100%)}.app-drawer[data-open=true]{visibility:visible;transition:transform var(--duration-base) ease, visibility 0s;transform:translate(0)}.app-drawer__backdrop{inset:var(--header-height) 0 0 0;z-index:var(--z-backdrop);background:#0006;display:none;position:fixed}.app-drawer__backdrop[data-open=true]{display:block}.app-drawer nav ul{padding:var(--space-3);flex-direction:column;gap:.125rem;margin:0;list-style:none;display:flex}.app-drawer nav a{align-items:center;gap:var(--space-2);min-height:44px;padding-inline:var(--space-3);border-radius:var(--radius-control);color:var(--color-text-muted);font-size:var(--text-base);text-decoration:none;display:flex;position:relative}.app-drawer nav a:hover,.app-drawer nav a:focus-visible{background:var(--color-primary-tint-strong);color:var(--color-primary)}.app-drawer nav a[aria-current=page]{background:var(--color-primary-tint);color:var(--color-primary);font-weight:600}.app-drawer nav a[aria-current=page]:before{content:"";inset-inline-start:0;background:var(--color-brand-primary);border-radius:0 3px 3px 0;width:3px;height:70%;position:absolute;top:15%}.app-drawer__footer{padding:var(--space-3);border-top:1px solid var(--color-border);margin-top:auto}@media (width>=1024px){.app-drawer{visibility:visible;height:100vh;box-shadow:none;position:sticky;inset-block-start:0;transform:none}.app-drawer__backdrop{display:none!important}}.app-shell{min-width:0;min-height:100vh;display:flex}.app-shell__body{flex:1;min-width:0;display:flex}.app-shell__main{flex:1;min-width:0}.app-content{min-width:0;padding:var(--space-4) var(--space-3);flex:1}@media (width>=768px){.app-content{padding-inline:var(--space-4)}}.state-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-4);text-align:center;color:var(--color-text-muted);background:var(--color-surface)}.state-panel--error{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft)}.state-panel__icon{color:var(--color-border);margin:0 auto var(--space-2);display:block}.state-panel--error .state-panel__icon{color:currentColor}.state-panel--loading .state-panel__spinner{width:2rem;height:2rem;margin:0 auto var(--space-2);border-radius:var(--radius-pill);border:3px solid var(--color-brand-soft);border-top-color:var(--color-brand-primary);animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.state-panel--loading .state-panel__spinner{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{min-height:100vh;padding:var(--space-3);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);width:100%;max-width:24rem;padding:var(--space-4);background:var(--color-surface);box-shadow:var(--shadow-card)}.form-field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.form-field label{font-size:var(--text-md);color:var(--color-text);font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-height:44px;color:var(--color-text);padding:0 .75rem;font-family:inherit;font-size:1rem}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible,.input-with-icon input:focus-visible,.filter-select:focus-visible{border-color:var(--color-focus-ring);box-shadow:0 0 0 3px var(--color-focus-ring-soft);outline:none}.form-field__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.form-field__error{color:var(--color-danger-text);font-size:var(--text-sm)}.form-section{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-3);margin:0 0 var(--space-3);background:var(--color-surface);min-width:0}.form-section>legend{font-weight:700;font-size:var(--text-section-title);padding-inline:var(--space-1)}.form-section__hint{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.form-card{max-width:28rem}.form-card--narrow{max-width:24rem}.section-title{font-size:var(--text-section-title);color:var(--color-text);margin:0 0 .75rem;font-weight:700}.btn{appearance:none;border-radius:var(--radius-control);min-height:44px;padding:0 var(--space-3);font-size:var(--text-base);cursor:pointer;background:var(--color-action);color:var(--color-on-action);width:auto;transition:background-color var(--duration-fast) ease;border:none;justify-content:center;align-items:center;gap:.375rem;font-family:inherit;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-action-hover);color:var(--color-on-action)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--block{width:100%}.btn--secondary{background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-border);color:var(--color-text)}.btn--danger{background:var(--color-danger-action)}.btn--danger:hover{background:var(--color-danger-action-hover)}.btn--ghost{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.btn--ghost:hover{color:var(--color-primary);background:var(--color-primary-tint)}.filter-bar{margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.filter-bar__search{flex:14rem;max-width:28rem}.filter-bar__summary{font-size:var(--text-sm);color:var(--color-text-muted);flex-basis:100%;margin:0}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon svg{color:var(--color-text-muted);pointer-events:none;position:absolute;inset-inline-start:.75rem}.input-with-icon input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font-family:inherit;font-size:var(--text-base);padding-inline:2.25rem .75rem}.filter-select{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);max-width:100%;min-height:44px;color:var(--color-text);font-family:inherit;font-size:var(--text-base);padding-inline:.75rem}@media (width<=639.98px){.filter-select{flex:9rem}}.table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);width:100%;box-shadow:var(--shadow-card);position:relative;overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.data-table caption{text-align:start}.data-table th{text-align:start;border-bottom:1px solid var(--color-border);white-space:nowrap;color:var(--color-text-muted);font-weight:600;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.02em;padding:.75rem 1rem}.data-table td{text-align:start;border-bottom:1px solid var(--color-border);white-space:nowrap;vertical-align:baseline;padding:.75rem 1rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--color-surface-hover)}.data-table .col-wrap{white-space:normal;overflow-wrap:anywhere;min-width:12rem}.data-table .col-wrap--narrow{max-width:18rem;font-size:var(--text-sm)}.data-table .col-numeric{font-variant-numeric:tabular-nums}.table-scroll{container:data-table/inline-size}@container data-table (width<=39.99rem){.data-table .col-min-md{display:none}.data-table th,.data-table td{padding-inline:.75rem}.data-table .col-wrap{min-width:0}.data-table .col-numeric{white-space:normal}}@container data-table (width<=59.99rem){.data-table .col-min-lg{display:none}}.cell-meta{font-size:var(--text-sm);color:var(--color-text-muted);white-space:normal;overflow-wrap:anywhere;margin-top:.125rem;display:block}@container data-table (width>=40rem){.cell-meta--below-md{display:none}}.cell-title{color:var(--color-text);font-weight:600;text-decoration:none}.cell-title:hover{color:var(--color-primary);text-decoration:underline}.sort-button{appearance:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;min-height:24px;padding:0;display:inline-flex}.sort-button:hover{color:var(--color-text)}.sort-button__indicator{font-size:.75em}.data-table td.data-table__actions{text-align:end;white-space:normal}.data-table__actions>*{margin-block:.125rem}.data-table td:has(>.badge+.badge){white-space:normal}.data-table__actions>*+*{margin-inline-start:var(--space-2)}.badge{border-radius:var(--radius-sm);background:var(--color-surface-hover);color:var(--color-text-muted);white-space:nowrap;padding:.125rem .625rem;font-size:.6875rem;font-weight:600;line-height:1.6;display:inline-block}.badge+.badge{margin-inline-start:.375rem}.badge--success{color:var(--color-success-text);background:var(--color-success-soft)}.badge--warning{color:var(--color-warning-text);background:var(--color-warning-soft)}.badge--danger{color:var(--color-danger-text);background:var(--color-danger-soft)}.badge--info{color:var(--color-info-text);background:var(--color-info-soft)}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--text-page-title);color:var(--color-text);margin:0;font-weight:700}.page-header__lead{color:var(--color-text-muted);font-size:var(--text-md);flex-basis:100%;margin:0}.card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-card);padding:var(--space-4)}.card--spaced{margin-bottom:var(--space-4)}.banner{align-items:center;gap:var(--space-2);border-radius:var(--radius-control);margin:0 0 var(--space-3);font-size:var(--text-md);flex-wrap:wrap;padding:.75rem 1rem;display:flex}.banner a{color:inherit;font-weight:600}.banner__action{margin-inline-start:auto}.banner__text{align-items:center;gap:var(--space-2);display:inline-flex}.banner--info{background:var(--color-info-soft);color:var(--color-info-text)}.banner--warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.banner--danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.session-gate{padding:var(--space-4) var(--space-3)}body[data-auth-ready=true] .session-gate{display:none}.banner--success{background:var(--color-success-soft);color:var(--color-success-text)}.page-header__title{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.page-header~.page-header__lead{margin:calc(var(--space-2) - var(--space-4)) 0 var(--space-4)}.form-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.form-field__optional{color:var(--color-text-muted);font-weight:400}.form-field textarea{resize:vertical;padding-block:.625rem}.choice-group{gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);border:none;flex-wrap:wrap;padding:0;display:flex}.choice-group legend{margin-bottom:var(--space-1);font-size:var(--text-md);flex-basis:100%;padding:0;font-weight:600}.choice-group label{align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-md);display:inline-flex}.data-table code{font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere}.pager{justify-content:center;align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.pager__status{font-size:var(--text-md);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.segmented{margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted);gap:2px;padding:2px;display:inline-flex}.segmented button{appearance:none;min-height:40px;padding:0 var(--space-3);border-radius:calc(var(--radius-control) - 2px);color:var(--color-text-muted);font:inherit;font-size:var(--text-md);cursor:pointer;background:0 0;border:0;font-weight:600}.segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-hairline)}dialog.dialog{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);width:min(32rem,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--color-text);box-shadow:var(--shadow-lg);padding:0}dialog.dialog--wide{width:min(48rem,100vw - 2rem)}dialog.dialog::backdrop{background:#0a0e1073}.dialog__header{align-items:center;gap:var(--space-2);padding:.75rem var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.dialog__header h2{font-size:var(--text-section-title);flex:1;margin:0}.dialog__body{padding:var(--space-3);overflow-y:auto}.dialog__body>.form-field:last-of-type{margin-bottom:var(--space-2)}.dialog__description{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-md)}.dialog__footer{justify-content:flex-end;gap:var(--space-2);padding:.75rem var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.toasts{z-index:var(--z-skip-link);gap:var(--space-2);pointer-events:none;flex-direction:column;max-width:min(24rem,100vw - 2rem);display:flex;position:fixed;inset-block-end:var(--space-3);inset-inline-end:var(--space-3)}.toast{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg);font-size:var(--text-md);border-inline-start-width:4px;padding:.75rem 1rem}.toast--success{border-inline-start-color:var(--color-success)}.toast--error{border-inline-start-color:var(--color-danger)}.toast--info{border-inline-start-color:var(--color-brand-primary)}.auth-card h1{margin:0 0 var(--space-1);color:var(--color-text);font-size:1.125rem;font-weight:700}.auth-card h1:focus{outline:none}.auth-card__product{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.auth-card__lead{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.auth-form{gap:var(--space-3);flex-direction:column;display:flex}.auth-form .form-field{margin-bottom:0}.auth-form .form-field__error:empty{display:none}.auth-form--nested{margin-top:var(--space-2)}.auth-form details summary{cursor:pointer;min-height:44px;font-size:var(--text-md);color:var(--color-primary);align-items:center;display:flex}.auth-steps{gap:var(--space-3);margin:0 0 var(--space-3);font-size:var(--text-md);flex-direction:column;padding-inline-start:1.1rem;display:flex}.otp-input{font-family:var(--font-mono);letter-spacing:.3em;text-align:center;font-size:1.125rem}.code-list{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--color-surface-muted);font-family:var(--font-mono);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;display:grid}.secret-box{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-control);background:var(--color-warning-soft);flex-direction:column;display:flex}.secret-box pre{padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.divider-text{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);margin:0;display:flex}.divider-text:before,.divider-text:after{content:"";border-top:1px solid var(--color-border);flex:1}.link-button{appearance:none;color:var(--color-primary);font:inherit;text-underline-offset:.15em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}
