:root{--color-neutral-0:#fff;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-accent-50:#eff6ff;--color-accent-100:#dbeafe;--color-accent-500:#3b82f6;--color-accent-600:#2563eb;--color-accent-700:#1d4ed8;--color-success-50:#ecfdf5;--color-success-200:#a7f3d0;--color-success-700:#047857;--color-warning-50:#fffbeb;--color-warning-200:#fde68a;--color-warning-700:#b45309;--color-danger-50:#fef2f2;--color-danger-200:#fecaca;--color-danger-500:#ef4444;--color-danger-600:#dc2626;--color-danger-700:#b91c1c;--color-surface:var(--color-neutral-0);--color-surface-sunken:var(--color-neutral-50);--color-surface-raised:var(--color-neutral-100);--color-border:var(--color-neutral-200);--color-border-strong:var(--color-neutral-300);--color-text:var(--color-neutral-900);--color-text-muted:var(--color-neutral-500);--color-text-inverted:var(--color-neutral-0);--color-focus-ring:var(--color-accent-500);--color-overlay:#0f172a8c;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--font-family-base:system-ui, -apple-system, "Segoe UI", roboto, sans-serif;--font-family-mono:ui-monospace, "SF Mono", "Cascadia Mono", menlo, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:600;--line-height-tight:1.25;--line-height-base:1.5;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-pill:9999px;--border-width:1px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a1a;--shadow-lg:0 16px 40px #0f172a2e;--control-height:2.25rem;--content-width:72rem;--duration-fast:.12s}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-surface-sunken);margin:0}h1,h2,h3,h4,p{margin:0}code,kbd,pre,samp{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}a{color:var(--color-accent-700)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}
.ui-stack{display:flex}.ui-stack--vertical{flex-direction:column}.ui-stack--horizontal{flex-direction:row}.ui-stack--wrap{flex-wrap:wrap}.ui-stack--gap-none{gap:var(--space-0)}.ui-stack--gap-xs{gap:var(--space-1)}.ui-stack--gap-sm{gap:var(--space-2)}.ui-stack--gap-md{gap:var(--space-4)}.ui-stack--gap-lg{gap:var(--space-5)}.ui-stack--gap-xl{gap:var(--space-7)}.ui-stack--align-start{align-items:flex-start}.ui-stack--align-center{align-items:center}.ui-stack--align-end{align-items:flex-end}.ui-stack--align-stretch{align-items:stretch}.ui-stack--justify-start{justify-content:flex-start}.ui-stack--justify-center{justify-content:center}.ui-stack--justify-end{justify-content:flex-end}.ui-stack--justify-between{justify-content:space-between}.ui-page{width:100%;max-width:var(--content-width);padding:var(--space-6) var(--space-5) var(--space-8);margin:0 auto}.ui-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}.ui-page-header__text{gap:var(--space-1);flex-direction:column;display:flex}.ui-page-header__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);margin:0}.ui-page-header__description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.ui-page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}
.ui-card{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.ui-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}.ui-card__heading{gap:var(--space-1);flex-direction:column;display:flex}.ui-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);margin:0}.ui-card__description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.ui-card__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-card__body{padding:var(--space-5)}.ui-card__body--flush{padding:var(--space-0)}.ui-card__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);background-color:var(--color-surface-sunken);border-top:var(--border-width) solid var(--color-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;display:flex}
.ui-button{gap:var(--space-2);min-height:var(--control-height);padding:var(--space-0) var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);color:var(--color-text);cursor:pointer;background-color:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;justify-content:center;align-items:center;display:inline-flex}.ui-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button--sm{min-height:var(--space-6);padding:var(--space-0) var(--space-3);font-size:var(--font-size-xs)}.ui-button--block{width:100%}.ui-button--primary{color:var(--color-text-inverted);background-color:var(--color-accent-600);border-color:var(--color-accent-600)}.ui-button--primary:hover:not(:disabled){background-color:var(--color-accent-700);border-color:var(--color-accent-700)}.ui-button--secondary:hover:not(:disabled){background-color:var(--color-surface-raised)}.ui-button--ghost{color:var(--color-text-muted);background-color:#0000;border-color:#0000}.ui-button--ghost:hover:not(:disabled){color:var(--color-text);background-color:var(--color-surface-raised)}.ui-button--danger{color:var(--color-text-inverted);background-color:var(--color-danger-600);border-color:var(--color-danger-600)}.ui-button--danger:hover:not(:disabled){background-color:var(--color-danger-700);border-color:var(--color-danger-700)}.ui-button__spinner{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-pill);border:2px solid;border-top-color:#0000;animation:.7s linear infinite ui-button-spin}@media (prefers-reduced-motion:reduce){.ui-button__spinner{animation-duration:2.4s}}@keyframes ui-button-spin{to{transform:rotate(360deg)}}
.ui-badge{gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);white-space:nowrap;border:var(--border-width) solid transparent;border-radius:var(--radius-pill);align-items:center;display:inline-flex}.ui-badge__dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background-color:currentColor}.ui-badge--neutral{color:var(--color-neutral-700);background-color:var(--color-surface-raised);border-color:var(--color-border)}.ui-badge--info{color:var(--color-accent-700);background-color:var(--color-accent-50);border-color:var(--color-accent-100)}.ui-badge--success{color:var(--color-success-700);background-color:var(--color-success-50);border-color:var(--color-success-200)}.ui-badge--warning{color:var(--color-warning-700);background-color:var(--color-warning-50);border-color:var(--color-warning-200)}.ui-badge--danger{color:var(--color-danger-700);background-color:var(--color-danger-50);border-color:var(--color-danger-200)}
.ui-alert{gap:var(--space-3);padding:var(--space-4);font-size:var(--font-size-sm);border:var(--border-width) solid transparent;border-radius:var(--radius-md);flex-direction:column;display:flex}.ui-alert__content{gap:var(--space-1);flex-direction:column;display:flex}.ui-alert__title{font-weight:var(--font-weight-bold);margin:0}.ui-alert__text{color:var(--color-text)}.ui-alert__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-alert--neutral{background-color:var(--color-surface-sunken);border-color:var(--color-border)}.ui-alert--neutral .ui-alert__title{color:var(--color-neutral-700)}.ui-alert--info{background-color:var(--color-accent-50);border-color:var(--color-accent-100)}.ui-alert--info .ui-alert__title{color:var(--color-accent-700)}.ui-alert--success{background-color:var(--color-success-50);border-color:var(--color-success-200)}.ui-alert--success .ui-alert__title{color:var(--color-success-700)}.ui-alert--warning{background-color:var(--color-warning-50);border-color:var(--color-warning-200)}.ui-alert--warning .ui-alert__title{color:var(--color-warning-700)}.ui-alert--danger{background-color:var(--color-danger-50);border-color:var(--color-danger-200)}.ui-alert--danger .ui-alert__title{color:var(--color-danger-700)}
.ui-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-spinner{color:var(--color-accent-600);justify-content:center;align-items:center;display:inline-flex}.ui-spinner__circle{border:2px solid var(--color-border-strong);border-radius:var(--radius-pill);border-top-color:currentColor;width:100%;height:100%;animation:.8s linear infinite ui-spinner-turn}.ui-spinner--sm{width:var(--space-4);height:var(--space-4)}.ui-spinner--md{width:var(--space-5);height:var(--space-5)}.ui-spinner--lg{width:var(--space-6);height:var(--space-6)}@media (prefers-reduced-motion:reduce){.ui-spinner__circle{animation-duration:2.4s}}@keyframes ui-spinner-turn{to{transform:rotate(360deg)}}.ui-loading-state,.ui-empty-state{gap:var(--space-2);padding:var(--space-7) var(--space-5);text-align:center;flex-direction:column;align-items:center;display:flex}.ui-empty-state{background-color:var(--color-surface-sunken);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-lg)}.ui-loading-state__label,.ui-empty-state__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.ui-loading-state__description,.ui-empty-state__description{max-width:44ch;font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.ui-empty-state__action{margin-top:var(--space-2)}
.ui-field{gap:var(--space-2);flex-direction:column;display:flex}.ui-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.ui-field__required{margin-left:var(--space-1);color:var(--color-danger-600)}.ui-field__hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.ui-field__error{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-danger-700);margin:0}.ui-input{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md)}.ui-input::placeholder{color:var(--color-neutral-400)}.ui-input:focus-visible{border-color:var(--color-focus-ring);outline:2px solid var(--color-focus-ring);outline-offset:1px}.ui-input:disabled{color:var(--color-text-muted);cursor:not-allowed;background-color:var(--color-surface-sunken)}.ui-input--multiline{min-height:var(--space-8);resize:vertical}.ui-input--select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-neutral-500) 50%), linear-gradient(135deg, var(--color-neutral-500) 50%, transparent 50%);background-repeat:no-repeat;background-position:right var(--space-4) center, right var(--space-3) center;padding-right:var(--space-7);background-size:5px 5px,5px 5px}.ui-field--invalid .ui-input{border-color:var(--color-danger-500)}.ui-checkbox{gap:var(--space-3);align-items:flex-start;display:flex}.ui-checkbox__control{width:var(--space-4);height:var(--space-4);margin-top:var(--space-1);accent-color:var(--color-accent-600)}.ui-checkbox__control:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.ui-checkbox__text{gap:var(--space-1);flex-direction:column;display:flex}.ui-checkbox__label{font-size:var(--font-size-sm);color:var(--color-text)}.ui-checkbox__hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}
.ui-table-wrapper{width:100%;overflow-x:auto}.ui-table{width:100%;font-size:var(--font-size-sm);border-collapse:collapse}.ui-table__caption{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:left}.ui-table__head{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background-color:var(--color-surface-sunken);border-bottom:var(--border-width) solid var(--color-border)}.ui-table__row:not(:last-child) .ui-table__cell{border-bottom:var(--border-width) solid var(--color-border)}.ui-table__row:hover .ui-table__cell{background-color:var(--color-surface-sunken)}.ui-table__cell{padding:var(--space-3) var(--space-4);color:var(--color-text);vertical-align:top}.ui-table__cell--end{text-align:right}
.ui-dl{gap:var(--space-4);font-size:var(--font-size-sm);margin:0;display:grid}.ui-dl--columns{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.ui-dl__item{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ui-dl__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.ui-dl__value{color:var(--color-text);overflow-wrap:anywhere;margin:0}
.ui-dialog{width:min(32rem, calc(100vw - var(--space-6)));padding:var(--space-0);color:var(--color-text);background-color:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.ui-dialog::backdrop{background-color:var(--color-overlay)}.ui-dialog__panel{flex-direction:column;display:flex}.ui-dialog__header{gap:var(--space-1);padding:var(--space-5) var(--space-5) var(--space-3);flex-direction:column;display:flex}.ui-dialog__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}.ui-dialog__description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.ui-dialog__body{padding:var(--space-0) var(--space-5) var(--space-4);font-size:var(--font-size-sm)}.ui-dialog__consequence{color:var(--color-text);margin:0}.ui-dialog__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);background-color:var(--color-surface-sunken);border-top:var(--border-width) solid var(--color-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap;display:flex}

.shell{flex-direction:column;min-height:100vh;display:flex}.shell__bar{align-items:center;gap:var(--space-5);padding:var(--space-3) var(--space-5);border-bottom:var(--border-width) solid var(--color-border);background:var(--color-surface);display:flex}.shell__brand{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);text-decoration:none}.shell__brand:hover{color:var(--color-accent-700)}.shell__nav{gap:var(--space-1);flex:1;align-items:center;display:flex}.shell__link{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border-radius:var(--radius-md);text-decoration:none}.shell__link:hover{color:var(--color-text);background:var(--color-surface-raised)}.shell__link--current{color:var(--color-accent-700);background:var(--color-accent-50)}.shell__user{gap:var(--space-3);align-items:center;display:flex}.shell__user-text{line-height:var(--line-height-tight);text-align:end;flex-direction:column;display:flex}.shell__user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.shell__user-email{font-size:var(--font-size-xs);color:var(--color-text-muted)}.shell__content{background:var(--color-surface-sunken);flex:1}.shell-tiles{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));margin:0;padding:0;list-style:none;display:grid}.shell-tiles__item{display:flex}.shell-tile{gap:var(--space-4);padding:var(--space-4);color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);flex:1;align-items:center;text-decoration:none;display:flex}.shell-tile:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.shell-tile:focus-visible{outline:var(--border-width) solid var(--color-focus-ring);outline-offset:var(--space-1)}.shell-tile__icon{width:var(--space-6);height:var(--space-6);color:var(--color-accent-600);flex:none}.shell-tile__text{gap:var(--space-1);min-width:0;line-height:var(--line-height-tight);flex-direction:column;flex:1;display:flex}.shell-tile__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.shell-tile__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.shell-tile__badge{flex:none}.shell-centered{min-height:100vh;padding:var(--space-5);background:var(--color-surface-sunken);justify-content:center;align-items:center;display:flex}.shell-centered__box{width:100%;max-width:26rem}@media (max-width:40rem){.shell__bar{gap:var(--space-2);flex-wrap:wrap}.shell__user-text{display:none}}
