.school-banner{margin-bottom:var(--s-4)}.seat-meter{gap:var(--s-3);flex-direction:column;display:flex}.seat-meter__head{justify-content:space-between;align-items:baseline;gap:var(--s-2) var(--s-4);flex-wrap:wrap;display:flex}.seat-meter__figure{font-size:var(--text-2xl);line-height:var(--lh-2xl);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;color:var(--text)}.seat-meter__figure small{font-size:var(--text-md);color:var(--text-tertiary);letter-spacing:var(--tracking-normal)}.seat-meter__note{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-secondary);margin:0}.facts{gap:var(--s-1) var(--s-4);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.facts dt{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary)}.facts dd{margin:0 0 var(--s-2);font-size:var(--text-md);line-height:var(--lh-md);color:var(--text);overflow-wrap:anywhere}@media (width>=480px){.facts{grid-template-columns:minmax(8rem,11rem) minmax(0,1fr)}.facts dd{margin-bottom:0}}.enroll-steps{gap:var(--s-2) var(--s-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.enroll-steps__item{align-items:center;gap:var(--s-2);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary);display:inline-flex}.enroll-steps__num{border:1px solid var(--border-strong);border-radius:var(--radius-full);width:24px;height:24px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:inline-flex}.enroll-steps__item[aria-current=step]{color:var(--text);font-weight:var(--w-medium)}.enroll-steps__item[aria-current=step] .enroll-steps__num{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-solid)}.enroll-steps__item.is-done .enroll-steps__num{background:var(--success-soft);border-color:var(--success-border);color:var(--success-on-soft)}.dropzone{align-items:center;gap:var(--s-2);padding:var(--s-6) var(--s-4);border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-sunken);color:var(--text-secondary);text-align:center;cursor:pointer;transition:background var(--dur-moderate) var(--ease-out);flex-direction:column;display:flex;position:relative}.dropzone:hover,.dropzone.is-dragover{background:var(--accent-soft);border-color:var(--accent-border)}.dropzone:focus-within{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}.dropzone[aria-busy=true]{cursor:progress}.dropzone input[type=file]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dropzone__title{font-size:var(--text-base);line-height:var(--lh-base);font-weight:var(--w-medium);color:var(--text);margin:0}.dropzone__hint{font-size:var(--text-sm);line-height:var(--lh-sm);margin:0}.row-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row-card{gap:var(--s-1);padding:var(--s-3) 0;flex-direction:column;display:flex}.row-card+.row-card{border-top:1px solid var(--border)}.row-card__head{justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.row-card__who{flex-direction:column;min-width:0;display:flex}.row-card__name{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--w-medium);color:var(--text);overflow-wrap:anywhere}.row-card__sub{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary);overflow-wrap:anywhere}.row-card__tags{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.issue-list,.warn-list{font-size:var(--text-sm);line-height:var(--lh-sm);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.issue-list{color:var(--danger)}.warn-list{color:var(--warning)}.issue-list li,.warn-list li{overflow-wrap:anywhere}:root{--c-brand:var(--accent);--c-brand-strong:var(--accent-on-soft);--c-success:var(--success);--c-danger:var(--danger);--c-danger-soft:var(--danger-soft);--c-warning-ink:var(--warning);--c-surface:var(--accent-soft);--c-accent:var(--warning-soft);--c-ink:var(--text);--c-ink-hover:var(--surface-inverse-hover);--c-ghost-hover:var(--fill-hover);--c-bg:var(--surface-raised);--c-theme:var(--theme-color);--c-border:var(--border);--c-on-dark:var(--on-solid);--c-ink-70:var(--text-secondary);--c-ink-55:var(--text-tertiary);--c-ink-40:var(--text-tertiary);--c-ink-05:var(--fill-subtle);--grad-brand:linear-gradient(var(--accent-solid), var(--accent-solid));--grad-cyan:linear-gradient(var(--accent-soft), var(--accent-soft));--grad-yellow:linear-gradient(var(--warning-soft), var(--warning-soft));--grad-deep:linear-gradient(var(--accent-solid), var(--accent-solid));--grad-wash:var(--page-glow);--r-ring:var(--radius-xl);--r-card:var(--radius-lg);--r-chip:var(--radius-sm);--r-pill:var(--radius-full);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--gap:8px;--shell:96rem;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--ls:var(--tracking-snug);--ls-wide:var(--tracking-caps);--w-light:300;--w-normal:400;--w-medium:500;--dur:.15s;--dur-slow:.28s;--ease:cubic-bezier(.4, 0, .2, 1);--glass-bg:var(--surface-raised);--glass-blur:0px;--shadow:var(--shadow-lg);--shadow-sm:0 1px 3px #09090b14, 0 1px 2px #09090b0a;--brand-50:#eff4ff;--brand-100:#dfe8ff;--brand-200:#c3d5fe;--brand-300:#9dbafd;--brand-400:#76a0fc;--brand-500:#4a80fb;--brand-600:#1a5bfa;--brand-700:#134ad8;--brand-800:#0d3baf;--brand-900:#0f3289;--brand-950:#0c1f55;--zinc-0:#fff;--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--zinc-300:#d4d4d8;--zinc-350:#b4b4bc;--zinc-400:#9898a0;--zinc-500:#8a8a93;--zinc-600:#65656e;--zinc-700:#52525b;--zinc-750:#3f3f46;--zinc-800:#27272a;--zinc-850:#1f1f23;--zinc-900:#18181b;--zinc-925:#0f0f11;--zinc-950:#09090b;--emerald-50:#ecfdf5;--emerald-200:#a7f3d0;--emerald-300:#6ee7b7;--emerald-400:#34d399;--emerald-600:#059669;--emerald-700:#047857;--emerald-800:#065f46;--amber-50:#fffbeb;--amber-200:#fde68a;--amber-300:#fcd34d;--amber-400:#fbbf24;--amber-600:#d97706;--amber-700:#b45309;--amber-800:#92400e;--red-50:#fef2f2;--red-200:#fecaca;--red-300:#fca5a5;--red-400:#f87171;--red-600:#dc2626;--red-700:#b91c1c;--red-800:#991b1b;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-page:var(--zinc-50);--surface-raised:var(--zinc-0);--surface-overlay:var(--zinc-0);--surface-sunken:var(--zinc-100);--surface-inverse:var(--zinc-900);--surface-inverse-hover:var(--zinc-800);--surface-media:#000;--control-bg:var(--zinc-0);--control-bg-disabled:var(--zinc-100);--btn-secondary-bg:var(--zinc-0);--scrim:#09090b7a;--page-glow:none;--text:var(--zinc-950);--text-secondary:var(--zinc-700);--text-tertiary:var(--zinc-600);--text-disabled:var(--zinc-400);--text-on-inverse:var(--zinc-50);--on-solid:#fff;--border:var(--zinc-200);--border-strong:var(--zinc-300);--border-control:var(--zinc-500);--fill-subtle:#09090b0d;--fill-hover:#09090b0a;--fill-pressed:#09090b14;--accent:var(--brand-600);--accent-solid:var(--brand-600);--accent-solid-hover:var(--brand-700);--accent-solid-active:var(--brand-800);--accent-soft:var(--brand-50);--accent-on-soft:var(--brand-800);--accent-border:var(--brand-200);--focus:var(--brand-600);--success:var(--emerald-700);--success-solid:var(--emerald-700);--success-soft:var(--emerald-50);--success-on-soft:var(--emerald-800);--success-border:var(--emerald-200);--warning:var(--amber-700);--warning-solid:var(--amber-700);--warning-soft:var(--amber-50);--warning-on-soft:var(--amber-800);--warning-border:var(--amber-200);--danger:var(--red-700);--danger-solid:var(--red-700);--danger-solid-hover:var(--red-800);--danger-soft:var(--red-50);--danger-on-soft:var(--red-800);--danger-border:var(--red-200);--info:var(--accent);--info-solid:var(--accent-solid);--info-soft:var(--accent-soft);--info-on-soft:var(--accent-on-soft);--info-border:var(--accent-border);--shadow-xs:0 1px 2px #09090b0d;--shadow-md:0 8px 20px -6px #09090b1f, 0 2px 6px #09090b0d;--shadow-lg:0 24px 48px -12px #09090b3d, 0 4px 12px #09090b0f;--public-card-shadow:var(--shadow-md);--theme-color:#fff;--logo-tile-bg:#fff;--logo-tile-border:var(--border);--skeleton-base:#09090b0f;--skeleton-highlight:#09090b05;--segmented-thumb:var(--surface-raised);--segmented-thumb-border:transparent;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365656e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");--chart-1:var(--brand-600);--chart-2:var(--emerald-600);--chart-3:var(--amber-600);--chart-4:var(--zinc-600);--chart-grid:var(--border);--chart-axis:var(--text-tertiary);--chart-cursor:var(--border-strong);--chart-fill-opacity:.2;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--text-2xs:.6875rem;--lh-2xs:1rem;--text-xs:.75rem;--lh-xs:1rem;--text-sm:.8125rem;--lh-sm:1.125rem;--text-md:.875rem;--lh-md:1.25rem;--text-base:1rem;--lh-base:1.5rem;--text-lg:1.125rem;--lh-lg:1.625rem;--text-xl:1.375rem;--lh-xl:1.75rem;--text-2xl:1.75rem;--lh-2xl:2.125rem;--tracking-tight:-.02em;--tracking-snug:-.011em;--tracking-normal:0;--tracking-caps:.06em;--dur-fast:.1s;--dur-moderate:.2s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--z-sticky:20;--z-tabbar:40;--z-overlay:50;--z-drawer-backdrop:55;--z-drawer:60;--z-toast:70;--z-progress:999;--z-skip:1000;--focus-width:2px;--focus-offset:2px;--page-gutter:16px;--card-pad:16px;--stack-page:24px;--stack-section:16px;--list-inset:12px;--content-max:72rem;--form-max:100%;--sidebar-w:260px;--tabbar-h:64px}@media (width>=640px){:root{--page-gutter:24px;--card-pad:20px;--stack-page:32px;--form-max:36rem}}@media (width>=1200px){:root{--page-gutter:32px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:var(--zinc-925);--surface-raised:var(--zinc-900);--surface-overlay:var(--zinc-850);--surface-sunken:var(--zinc-950);--surface-inverse:var(--zinc-100);--surface-inverse-hover:var(--zinc-300);--control-bg:var(--zinc-950);--control-bg-disabled:var(--zinc-900);--btn-secondary-bg:#ffffff0a;--scrim:#000000a3;--page-glow:none;--text:var(--zinc-100);--text-secondary:var(--zinc-350);--text-tertiary:var(--zinc-400);--text-disabled:var(--zinc-700);--text-on-inverse:var(--zinc-950);--border:var(--zinc-800);--border-strong:var(--zinc-750);--fill-subtle:#ffffff12;--fill-hover:#ffffff0d;--fill-pressed:#ffffff1a;--accent:var(--brand-400);--accent-soft:#76a0fc24;--accent-on-soft:var(--brand-300);--accent-border:#76a0fc52;--focus:var(--brand-400);--success:var(--emerald-400);--success-soft:#34d39924;--success-on-soft:var(--emerald-300);--success-border:#34d39952;--warning:var(--amber-400);--warning-soft:#fbbf2424;--warning-on-soft:var(--amber-300);--warning-border:#fbbf2452;--danger:var(--red-400);--danger-solid:var(--red-600);--danger-solid-hover:var(--red-700);--danger-soft:#f8717124;--danger-on-soft:var(--red-300);--danger-border:#f8717152;--shadow-xs:0 0 0 transparent;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px -6px #0000008c;--shadow-lg:0 24px 64px -12px #000000b3;--public-card-shadow:none;--theme-color:#18181b;--logo-tile-border:transparent;--skeleton-base:#ffffff0f;--skeleton-highlight:#ffffff1c;--segmented-thumb:var(--surface-overlay);--segmented-thumb-border:var(--border-strong);--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239898a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--chart-1:var(--brand-400);--chart-2:var(--emerald-400);--chart-3:var(--amber-400);--chart-4:var(--zinc-400);--chart-fill-opacity:.28}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:var(--zinc-925);--surface-raised:var(--zinc-900);--surface-overlay:var(--zinc-850);--surface-sunken:var(--zinc-950);--surface-inverse:var(--zinc-100);--surface-inverse-hover:var(--zinc-300);--control-bg:var(--zinc-950);--control-bg-disabled:var(--zinc-900);--btn-secondary-bg:#ffffff0a;--scrim:#000000a3;--page-glow:none;--text:var(--zinc-100);--text-secondary:var(--zinc-350);--text-tertiary:var(--zinc-400);--text-disabled:var(--zinc-700);--text-on-inverse:var(--zinc-950);--border:var(--zinc-800);--border-strong:var(--zinc-750);--fill-subtle:#ffffff12;--fill-hover:#ffffff0d;--fill-pressed:#ffffff1a;--accent:var(--brand-400);--accent-soft:#76a0fc24;--accent-on-soft:var(--brand-300);--accent-border:#76a0fc52;--focus:var(--brand-400);--success:var(--emerald-400);--success-soft:#34d39924;--success-on-soft:var(--emerald-300);--success-border:#34d39952;--warning:var(--amber-400);--warning-soft:#fbbf2424;--warning-on-soft:var(--amber-300);--warning-border:#fbbf2452;--danger:var(--red-400);--danger-solid:var(--red-600);--danger-solid-hover:var(--red-700);--danger-soft:#f8717124;--danger-on-soft:var(--red-300);--danger-border:#f8717152;--shadow-xs:0 0 0 transparent;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px -6px #0000008c;--shadow-lg:0 24px 64px -12px #000000b3;--public-card-shadow:none;--theme-color:#18181b;--logo-tile-border:transparent;--skeleton-base:#ffffff0f;--skeleton-highlight:#ffffff1c;--segmented-thumb:var(--surface-overlay);--segmented-thumb-border:var(--border-strong);--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239898a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--chart-1:var(--brand-400);--chart-2:var(--emerald-400);--chart-3:var(--amber-400);--chart-4:var(--zinc-400);--chart-fill-opacity:.28}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background-color:var(--surface-page)}body{margin:0}img,svg,video,iframe{max-width:100%;display:block}img,video{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4,h5,h6,strong,b,th{font-weight:var(--w-medium)}ul{margin:0;padding:0;list-style:none}body{background:var(--surface-page);min-height:100dvh;color:var(--text);font-family:var(--font-sans);font-weight:var(--w-normal);font-size:var(--text-base);letter-spacing:var(--tracking-snug);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5;overflow-x:hidden}.display{font-size:var(--text-2xl);line-height:var(--lh-2xl);font-weight:var(--w-medium);letter-spacing:var(--tracking-tight)}.h1{font-size:var(--text-xl);line-height:var(--lh-xl);font-weight:var(--w-medium);letter-spacing:var(--tracking-tight);overflow-wrap:anywhere}@media (width>=640px){.h1{font-size:var(--text-2xl);line-height:var(--lh-2xl)}}.h2{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--w-medium);letter-spacing:var(--tracking-snug)}.stat-num{font-size:var(--text-2xl);line-height:var(--lh-2xl);font-weight:var(--w-normal);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-num--text{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--w-medium);letter-spacing:var(--tracking-snug)}.eyebrow{font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:var(--w-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary)}.muted{color:var(--text-secondary)}.muted-2{color:var(--text-tertiary)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}.skip-link{top:var(--s-2);left:var(--s-2);z-index:var(--z-skip);padding:var(--s-2) var(--s-4);border-radius:var(--radius-md);background:var(--surface-inverse);color:var(--text-on-inverse);font-size:var(--text-md);font-weight:var(--w-medium);text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible,.skip-link:focus{transform:none}#main:focus{outline:none}.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);will-change:opacity, transform;transform:translateY(16px)}.reveal.is-in{opacity:1;transform:none}.shell{width:100%;max-width:var(--shell);padding-inline:var(--page-gutter);margin-inline:auto}.gradient-shell{background:var(--surface-page);min-height:100dvh;padding:var(--s-6) var(--s-4);place-items:center;display:grid}.public-stack{align-items:center;gap:var(--s-6);flex-direction:column;width:100%;display:flex}.stack{gap:var(--stack-section);flex-direction:column;display:flex}.stack--xs{gap:var(--s-1)}.stack--sm{gap:var(--s-2)}.stack--md{gap:var(--s-3)}.stack--lg{gap:var(--s-6)}.stack--xl{gap:var(--s-8)}.row{align-items:center;gap:var(--s-3);display:flex}.cluster{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.cluster--xs{gap:var(--s-1)}.cluster--md{gap:var(--s-3)}.cluster--start{align-items:flex-start}.cluster--end{justify-content:flex-end}.cluster--bottom{align-items:flex-end}.grid{gap:var(--s-4);display:grid}@media (width>=640px){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid--auto{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.quick-link{align-items:flex-start;gap:var(--s-3);text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;flex-direction:column;display:flex}@media (width<=639px){.hide-below-sm{display:none}}.grid--stats{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=639px){.grid--stats>:last-child:nth-child(odd){grid-column:1/-1}}@media (width>=640px){.grid--stats{gap:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){.grid--stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.page{gap:var(--stack-page);flex-direction:column;min-width:0;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.page-header__text{gap:var(--s-1);flex-direction:column;flex:20rem;min-width:0;display:flex}.page-header__desc{max-width:60ch;font-size:var(--text-md);line-height:var(--lh-md);color:var(--text-secondary)}.page-header__actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.page-header__back{margin:0 0 var(--s-1) -10px;align-self:flex-start}.app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.app-sidebar{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--s-3);min-height:56px;padding:var(--s-1) var(--s-2) var(--s-1) var(--page-gutter);background:var(--surface-raised);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.app-nav{gap:var(--s-1);display:flex;overflow-x:auto}.app-main{min-width:0;padding:var(--s-6) 0 var(--s-16);isolation:isolate}.app-main .shell{max-width:calc(var(--content-max) + 2 * var(--page-gutter))}@media (width>=900px){.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:1fr}.app-sidebar{justify-content:flex-start;align-items:stretch;gap:var(--s-5);height:100dvh;min-height:0;padding:var(--s-4) var(--s-3);border-right:1px solid var(--border);border-bottom:none;flex-direction:column;overflow:hidden}.app-nav{flex-direction:column;flex:auto;gap:0;min-height:0;overflow:hidden auto}.app-main{padding-top:var(--s-8)}}.sidebar-brand{align-items:center;gap:10px;min-width:0;display:flex}@media (width>=900px){.sidebar-brand{padding-inline:var(--s-1)}}.sidebar-brand__text{flex-direction:column;min-width:0;display:flex}.sidebar-brand__name{font-size:.9375rem;line-height:1.25rem;font-weight:var(--w-medium);letter-spacing:var(--tracking-snug);color:var(--text)}.sidebar-brand__role{font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-tertiary)}.sidebar-brand__page{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-base);line-height:var(--lh-base);font-weight:var(--w-medium);color:var(--text);display:none;overflow:hidden}@media (width<=899.98px){.app--tabs .sidebar-brand__text{display:none}.app--tabs .sidebar-brand__page{display:block}}.sidebar-close{flex:none;margin-left:auto}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-section+.nav-section{margin-top:var(--s-5)}.nav-section__label{margin-bottom:var(--s-1);font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:var(--w-medium);color:var(--text-tertiary);padding:0 10px}.nav-link{border-radius:var(--radius-md);min-height:36px;color:var(--text-secondary);font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--w-normal);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:0 10px;display:flex;position:relative}.nav-link__icon{color:var(--text-tertiary);transition:color var(--dur-fast) var(--ease);flex:none}.nav-link__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-link:hover{background:var(--fill-hover);color:var(--text)}.nav-link:hover .nav-link__icon{color:var(--text-secondary)}.nav-link:focus-visible{outline-offset:-2px}.nav-link.is-active{background:var(--accent-soft);color:var(--accent);font-weight:var(--w-medium)}.nav-link.is-active .nav-link__icon{color:var(--accent)}.nav-link.is-active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:3px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-link__badge{margin-left:auto}.nav-link[aria-disabled=true]{opacity:.45;pointer-events:none}.app-sidebar__foot{align-items:center;gap:var(--s-1);display:flex}.app-user{border-radius:var(--radius-md);min-width:0;transition:background-color var(--dur-fast) var(--ease);flex:auto;align-items:center;gap:10px;padding:6px;display:flex}.app-user:hover{background:var(--fill-hover)}.app-user__meta{flex-direction:column;min-width:0;display:none}.app-user__name{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--w-medium);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-user__email{font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width>=900px){.app-sidebar__foot{padding-top:var(--s-3);border-top:1px solid var(--border);flex:none;margin-top:auto}.app-user__meta{display:flex}}.app-topbar{z-index:var(--z-sticky);align-items:center;gap:var(--s-2);min-height:56px;padding:var(--s-1) var(--page-gutter) var(--s-1) var(--s-2);background:var(--surface-raised);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.drawer-backdrop{z-index:var(--z-drawer-backdrop);background:var(--scrim);animation:overlay-in var(--dur-moderate) var(--ease-out);position:fixed;inset:0}@media (width<=899.98px){.app--tabs .app-nav{display:none}.app--tabs .app-main{padding-bottom:calc(var(--tabbar-h) + var(--s-8) + env(safe-area-inset-bottom,0px))}.app-sidebar--drawer{z-index:var(--z-drawer);justify-content:flex-start;align-items:stretch;gap:var(--s-5);width:min(84vw,300px);height:100dvh;min-height:0;padding:var(--s-4) var(--s-3);background:var(--surface-overlay);border-right:1px solid var(--border);transition:transform var(--dur-slow) var(--ease-out);border-bottom:none;flex-direction:column;position:fixed;inset:0 auto 0 0;overflow:hidden;transform:translate(-100%)}.app-sidebar--drawer.is-open{box-shadow:var(--shadow-lg);transform:translate(0)}.app-sidebar--drawer .app-nav{flex-direction:column;flex:auto;gap:0;min-height:0;overflow:hidden auto}.app-sidebar--drawer .app-sidebar__foot{padding-top:var(--s-3);border-top:1px solid var(--border);flex:none;margin-top:auto}.app-sidebar--drawer .app-user__meta{display:flex}}@media (width>=900px){.app-topbar,.drawer-backdrop,.icon-btn.sidebar-close{display:none}}.bottom-tab{z-index:var(--z-tabbar);padding:6px var(--s-1);padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));background:var(--surface-raised);border-top:1px solid var(--border);gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab__item{border-radius:var(--radius-md);min-width:0;min-height:52px;color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:var(--w-normal);letter-spacing:var(--tracking-snug);transition:color var(--dur-fast) var(--ease);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:2px;padding:2px 0;display:flex;position:relative}.bottom-tab__pill{border-radius:var(--radius-full);width:48px;height:28px;transition:background-color var(--dur-fast) var(--ease);place-items:center;display:grid;position:relative}.bottom-tab__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-tab__item:hover{color:var(--text)}.bottom-tab__item:focus-visible{outline-offset:-2px}.bottom-tab__item.is-active{color:var(--accent);font-weight:var(--w-medium)}.bottom-tab__item.is-active .bottom-tab__pill{background:var(--accent-soft)}.bottom-tab__badge{position:absolute;top:-4px;left:calc(50% + 6px)}@media (width>=900px){.bottom-tab{display:none}}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;padding:var(--card-pad);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.card--hover:hover,.card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.card--interactive{text-align:left;width:100%;color:inherit;cursor:pointer;display:block}.card--flush{padding:0}.card__header{justify-content:space-between;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.card__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.card__title{font-size:var(--text-base);line-height:var(--lh-base);font-weight:var(--w-medium)}.card__desc{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary)}.stat-card__head{justify-content:space-between;align-items:flex-start;gap:var(--s-2);display:flex}.stat-card__label{min-width:0;font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:var(--w-medium);color:var(--text-secondary);padding-top:6px}.glass:not(.card){background:var(--surface-raised);border:1px solid var(--border)}.btn{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--radius-md);min-height:40px;font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--w-medium);letter-spacing:var(--tracking-snug);text-align:center;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border:1px solid #0000;padding:6px 14px;text-decoration:none;display:inline-flex}.btn>svg,.btn>.iconify{flex:none}.btn[aria-busy=true]>.iconify{display:none}.btn--sm{min-height:32px;font-size:var(--text-sm);line-height:var(--lh-sm);gap:6px;padding:4px 10px}.btn--lg{min-height:48px;padding:10px 18px;font-size:.9375rem}.btn--block{width:100%}.btn--icon{min-width:40px;padding-inline:0}.btn--sm.btn--icon{min-width:32px}@media (pointer:coarse){.btn,.btn--sm{min-height:44px}.btn--icon,.btn--sm.btn--icon{min-width:44px}}.btn--primary{background:var(--accent-solid);color:var(--on-solid)}.btn--primary:not(:disabled):not([aria-pressed]):hover{background:var(--accent-solid-hover)}.btn--primary:not(:disabled):not([aria-pressed]):active{background:var(--accent-solid-active)}.btn--secondary,.btn--ghost{background-color:var(--btn-secondary-bg);border-color:var(--border-strong);color:var(--text)}.btn--secondary:not(:disabled):not([aria-pressed]):hover,.btn--ghost:not(:disabled):not([aria-pressed]):hover{background-image:linear-gradient(var(--fill-hover), var(--fill-hover));border-color:var(--border-control)}.btn--secondary:not(:disabled):not([aria-pressed]):active,.btn--ghost:not(:disabled):not([aria-pressed]):active{background-image:linear-gradient(var(--fill-pressed), var(--fill-pressed))}.btn--quiet{color:var(--text-secondary);background:0 0}.btn--quiet:not(:disabled):not([aria-pressed]):hover{background:var(--fill-hover);color:var(--text)}.btn--quiet:not(:disabled):not([aria-pressed]):active{background:var(--fill-pressed)}.btn--danger{background-color:var(--btn-secondary-bg);border-color:var(--danger);color:var(--danger)}.btn--danger:not(:disabled):not([aria-pressed]):hover{background:var(--danger-soft)}.btn--danger-solid{background:var(--danger-solid);color:var(--on-solid)}.btn--danger-solid:not(:disabled):not([aria-pressed]):hover{background:var(--danger-solid-hover)}.btn--dark{background:var(--surface-inverse);color:var(--text-on-inverse)}.btn--dark:not(:disabled):not([aria-pressed]):hover{background:var(--surface-inverse-hover)}.btn[aria-pressed]{border-radius:var(--radius-full);background:var(--btn-secondary-bg);border-color:var(--border-strong);min-height:32px;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--lh-sm);gap:6px;padding:4px 12px}.btn[aria-pressed=false]:not(:disabled):hover{background:var(--fill-hover);color:var(--text)}.btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-on-soft)}.btn[aria-pressed=true]:before{content:"";width:14px;height:14px;-webkit-mask:var(--icon-check) center / contain no-repeat;-webkit-mask:var(--icon-check) center / contain no-repeat;mask:var(--icon-check) center / contain no-repeat;background:currentColor;flex:none}@media (pointer:coarse){.btn[aria-pressed]{min-height:44px}}.chip-count{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.btn[aria-pressed=true] .chip-count{color:inherit}.btn:disabled,.btn[aria-disabled=true]{background:var(--fill-subtle);color:var(--text-disabled);cursor:not-allowed;border-color:#0000}.btn[aria-busy=true]{cursor:progress}.chip-row{align-items:center;gap:var(--s-2);flex-wrap:wrap;max-width:100%;display:flex}@media (width<=639.98px){.chip-row{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;margin:-3px;padding:3px;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip-row>*{flex:none}}.segmented{background:var(--fill-subtle);border-radius:var(--radius-md);flex-wrap:wrap;gap:2px;max-width:100%;padding:2px;display:inline-flex}.segmented--block{display:flex}.segmented--block>.btn{flex:1 1 0}.segmented .btn,.segmented .btn[aria-pressed]{border-radius:var(--radius-sm);min-height:32px;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--lh-sm);box-shadow:none;background:0 0;border:1px solid #0000;padding:4px 12px}.segmented .btn[aria-pressed]:before{content:none}.segmented .btn[aria-pressed]:not(:disabled):hover{color:var(--text);background:0 0}.segmented .btn[aria-pressed=true],.segmented .btn[aria-pressed=true]:not(:disabled):hover{background:var(--segmented-thumb);border-color:var(--segmented-thumb-border);color:var(--text);box-shadow:var(--shadow-sm)}.segmented .btn:disabled{color:var(--text-disabled)}@media (pointer:coarse){.segmented .btn,.segmented .btn[aria-pressed]{min-height:40px}}.chip{align-items:center;gap:var(--s-1);min-height:24px;padding:2px var(--s-2);border-radius:var(--radius-sm);background:var(--fill-subtle);color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:var(--w-normal);overflow-wrap:anywhere;display:inline-flex}.chip--line{box-shadow:inset 0 0 0 1px var(--border-strong);background:0 0}.chip--success{background:var(--success-soft);color:var(--success-on-soft)}.badge{align-items:center;gap:var(--s-1);min-height:20px;padding:2px var(--s-2);border-radius:var(--radius-sm);background:var(--fill-subtle);color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:var(--w-medium);letter-spacing:var(--tracking-normal);vertical-align:middle;overflow-wrap:anywhere;display:inline-flex}.badge>svg,.badge>.iconify{flex:none;width:12px;height:12px}.badge--neutral{background:var(--fill-subtle);color:var(--text-secondary)}.badge--info,.badge--brand{background:var(--info-soft);color:var(--info-on-soft)}.badge--success{background:var(--success-soft);color:var(--success-on-soft)}.badge--warning,.badge--accent{background:var(--warning-soft);color:var(--warning-on-soft)}.badge--danger{background:var(--danger-soft);color:var(--danger-on-soft)}.badge--outline{box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text-secondary);background:0 0}.badge--tabular,.tabular{font-variant-numeric:tabular-nums}.count-badge,.nav-link__badge,.bottom-tab__badge{border-radius:var(--radius-full);background:var(--accent-solid);min-width:18px;height:18px;color:var(--on-solid);font-size:var(--text-2xs);line-height:18px;font-weight:var(--w-medium);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-normal);flex:none;place-items:center;padding:0 5px;display:inline-grid}.icon-tile,.icon-badge{border-radius:var(--radius-md);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);flex:none;place-items:center;display:grid}.icon-tile--sm{width:32px;height:32px}.icon-tile--lg{border-radius:var(--radius-lg);width:48px;height:48px}.icon-tile--brand,.icon-badge--surface,.icon-tile--accent{background:var(--accent-soft);color:var(--accent)}.icon-tile--neutral{background:var(--fill-subtle);color:var(--text-secondary)}.icon-tile--success{background:var(--success-soft);color:var(--success)}.icon-tile--warning{background:var(--warning-soft);color:var(--warning)}.icon-tile--danger{background:var(--danger-soft);color:var(--danger)}.icon-tile--info{background:var(--info-soft);color:var(--info)}.brand{font-size:.9375rem;line-height:1.25rem;font-weight:var(--w-medium);letter-spacing:var(--tracking-snug);color:var(--text);align-items:center;gap:10px;display:inline-flex}.brand__mark,.sidebar-brand__mark{border-radius:var(--radius-md);background:var(--logo-tile-bg);border:1px solid var(--logo-tile-border);flex:none;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.brand__mark img{object-fit:cover;width:100%;height:100%;transform:scale(1.28)}.status-pill{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:var(--radius-full);border:1px solid var(--border);font-size:var(--text-xs);color:var(--text-secondary);display:inline-flex}.dot{border-radius:var(--radius-full);background:var(--success);flex:none;width:8px;height:8px;position:relative}.dot:after{content:"";border-radius:inherit;background:var(--success);animation:pulse-dot 2s var(--ease) infinite;position:absolute;inset:0}.dot--accent,.dot--accent:after{background:var(--accent)}.dot--static:after{content:none}@keyframes pulse-dot{0%{opacity:.6;transform:scale(1)}70%{opacity:0;transform:scale(2.6)}to{opacity:0}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--w-medium);color:var(--text)}.field__hint{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary)}.input,.textarea,.field__control,.input-group{border:1px solid var(--border-control);border-radius:var(--radius-md);background-color:var(--control-bg);width:100%;min-height:44px;color:var(--text);font-size:var(--text-base);line-height:var(--lh-base);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.input{height:44px;padding:0 12px}.textarea{resize:vertical;min-height:96px;padding:10px 12px;display:block}.field__control,.input-group{align-items:center;gap:var(--s-2);padding:0 12px;display:flex}.field__control>.iconify,.field__control>svg,.input-group>.iconify,.input-group>svg{color:var(--text-tertiary);flex:none}.field__control input,.field__control select{min-width:0;height:42px;color:inherit;font-size:var(--text-base);background:0 0;border:none;outline:none;flex:1;padding:0}.input-group .input{min-width:0;height:42px;min-height:0;box-shadow:none;background:0 0;border:none;flex:1;padding-inline:0}.field__control input:focus-visible,.input-group .input:focus-visible{outline:none}.input::placeholder,.textarea::placeholder,.field__control input::placeholder{color:var(--text-tertiary);opacity:1}.input:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus),.field__control:hover:not(:focus-within),.input-group:hover:not(:focus-within){border-color:var(--text-tertiary)}.input:focus,.textarea:focus,.field__control:focus-within,.input-group:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);outline:none}.input-group:focus-within .input{box-shadow:none}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.field__control:has([aria-invalid=true]){border-color:var(--danger)}.input-group:has([aria-invalid=true]){border-color:var(--danger)}.input[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.field__control:has([aria-invalid=true]):focus-within{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.input-group:has([aria-invalid=true]):focus-within{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.input:disabled,.textarea:disabled{background-color:var(--control-bg-disabled);border-color:var(--border);color:var(--text-disabled);cursor:not-allowed}.field__control:has(input:disabled){background-color:var(--control-bg-disabled);border-color:var(--border);color:var(--text-disabled);cursor:not-allowed}.input-group:has(.input:disabled){background-color:var(--control-bg-disabled);border-color:var(--border);color:var(--text-disabled);cursor:not-allowed}.input[readonly],.textarea[readonly]{background-color:var(--surface-sunken);border-color:var(--border)}select.input{appearance:none;background-image:var(--select-chevron);text-overflow:ellipsis;cursor:pointer;background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}input[type=date]{text-align:left;min-width:0}input[type=date]::-webkit-date-and-time-value{text-align:left}input[type=date]::-webkit-calendar-picker-indicator{opacity:.7;cursor:pointer}:where(input[type=checkbox],input[type=radio]),.checkbox{width:20px;height:20px;accent-color:var(--accent-solid);cursor:pointer;flex:none;margin:0}:where(input[type=range]){width:100%;accent-color:var(--accent-solid);cursor:pointer}@media (pointer:coarse){:where(input[type=range]){height:44px}}.check-row{min-height:44px;font-size:var(--text-md);line-height:var(--lh-md);color:var(--text);cursor:pointer;align-items:flex-start;gap:10px;padding-block:10px;display:flex}.check-row>input{margin:0}.check-row__text{flex:1;min-width:0}.check-row__desc{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary);margin-top:2px;display:block}.fieldset{gap:var(--s-4);min-width:0;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;margin:0;display:flex}.fieldset>legend{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--w-medium);color:var(--text);margin-left:-6px;padding:0 6px}.form{gap:var(--s-4);max-width:var(--form-max);flex-direction:column;display:flex}.callout{align-items:flex-start;gap:var(--s-2) 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--fill-subtle);color:var(--text-secondary);font-size:var(--text-md);line-height:var(--lh-md);flex-wrap:wrap;padding:12px 14px;display:flex}.callout__icon{flex:none;width:18px;height:18px;margin-top:1px}.callout__body{overflow-wrap:anywhere;flex:12rem;min-width:0}.callout__title{font-weight:var(--w-medium);display:block}.callout__action{flex:none;align-self:center;margin-left:auto}.callout--compact{gap:var(--s-2);padding:var(--s-2) var(--s-3);font-size:var(--text-sm);line-height:var(--lh-sm)}.callout--compact .callout__icon{width:16px;height:16px}.callout--info{background:var(--info-soft);border-color:var(--info-border);color:var(--info-on-soft)}.callout--info .callout__icon{color:var(--info)}.callout--success{background:var(--success-soft);border-color:var(--success-border);color:var(--success-on-soft)}.callout--success .callout__icon{color:var(--success)}.callout--warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-on-soft)}.callout--warning .callout__icon{color:var(--warning)}.callout--danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-on-soft)}.callout--danger .callout__icon{color:var(--danger)}.form-error{padding:var(--s-2) var(--s-3);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger-on-soft);font-size:var(--text-sm);line-height:var(--lh-sm);overflow-wrap:anywhere}.media-frame{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-media);overflow:hidden}.pdf-frame{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);width:100%;height:420px}.public-main{justify-content:center;width:100%;display:flex}.login-card,.public-main>.card{width:100%;max-width:440px;padding:var(--s-6);border-radius:var(--radius-xl);box-shadow:var(--public-card-shadow)}@media (width>=640px){.login-card,.public-main>.card{padding:var(--s-8)}}.splash{align-items:center;gap:var(--s-4);flex-direction:column;display:flex}.splash__status{align-items:center;gap:var(--s-2);font-size:var(--text-md);line-height:var(--lh-md);color:var(--text-secondary);display:inline-flex}.splash__status .spinner{color:var(--accent)}.legal-links{justify-content:center;gap:var(--s-1) var(--s-3);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary);flex-wrap:wrap;display:flex}.legal-links a{text-underline-offset:2px;text-decoration:underline}.legal-links a:hover{color:var(--text)}.overlay,.overlay--sheet{z-index:var(--z-overlay);background:var(--scrim);overscroll-behavior:contain;animation:overlay-in var(--dur-moderate) var(--ease-out);place-items:end center;padding:0;display:grid;position:fixed;inset:0}.modal:focus,.sheet:focus{outline:none}.modal,.sheet{overscroll-behavior:contain;width:100%;max-height:92dvh;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface-overlay);color:var(--text);box-shadow:var(--shadow-lg);animation:sheet-in var(--dur-slow) var(--ease-out);border-bottom:none;overflow-y:auto}.modal__header{justify-content:space-between;align-items:center;gap:var(--s-3);margin:-6px -10px var(--s-4) 0;display:flex}.modal__title{min-width:0;font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--w-medium);letter-spacing:var(--tracking-snug);overflow-wrap:anywhere}.modal__footer{justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.sheet__handle{width:36px;height:4px;margin:-8px auto var(--s-3);border-radius:var(--radius-full);background:var(--border-strong);display:block}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}@media (width>=640px){.overlay,.overlay--sheet{padding:var(--s-4);place-items:center}.modal,.sheet{max-width:480px;max-height:calc(100dvh - var(--s-8));padding:var(--s-6);border-bottom:1px solid var(--border);border-radius:var(--radius-lg);animation:modal-in var(--dur-moderate) var(--ease-out)}.sheet,.modal--wide{max-width:640px}.sheet__handle{display:none}}.progress{border-radius:var(--radius-full);background:var(--fill-subtle);width:100%;height:6px;overflow:hidden}.progress__bar{border-radius:inherit;background:var(--accent);height:100%;transition:width var(--dur-slow) var(--ease)}.progress--complete .progress__bar{background:var(--success)}.progress--warning .progress__bar{background:var(--warning)}.progress-label{justify-content:space-between;gap:var(--s-2);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-secondary);margin-bottom:6px;display:flex}.avatar{border-radius:var(--radius-full);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-on-soft);font-size:var(--text-md);font-weight:var(--w-medium);letter-spacing:var(--tracking-normal);text-transform:uppercase;flex:none;place-items:center;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar--sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar--lg{width:56px;height:56px;font-size:var(--text-lg)}.empty-state,.error-state{text-align:center;align-items:center;gap:var(--s-2);padding:var(--s-10) var(--s-4);color:var(--text-secondary);flex-direction:column;display:flex}.empty-state__icon,.error-state__icon{width:48px;height:48px;margin-bottom:var(--s-1);border-radius:var(--radius-full);background:var(--fill-subtle);color:var(--text-secondary);place-items:center;display:grid}.error-state__icon{background:var(--danger-soft);color:var(--danger)}.empty-state__title,.error-state__title{font-size:var(--text-base);line-height:var(--lh-base);font-weight:var(--w-medium);color:var(--text)}.empty-state__text,.error-state__text{max-width:40ch;font-size:var(--text-md);line-height:var(--lh-md);color:var(--text-secondary)}.empty-state>.btn,.error-state>.btn,.empty-state__action,.error-state__action{margin-top:var(--s-2)}.empty-state--compact,.error-state--compact{padding:var(--s-6) var(--s-4)}.empty-state--compact .empty-state__icon,.error-state--compact .error-state__icon{width:40px;height:40px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-highlight) 37%, var(--skeleton-base) 63%);animation:skeleton-shimmer 1.6s var(--ease) infinite;background-size:400% 100%;display:block}.skeleton--lg{border-radius:var(--radius-lg)}.skeleton--full{border-radius:var(--radius-full)}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.spinner{vertical-align:middle;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.spinner--lg{width:20px;height:20px}@keyframes spin{to{transform:rotate(360deg)}}.list-item{align-items:center;gap:var(--s-3);width:calc(100% + 2 * var(--list-inset));min-height:44px;margin-inline:calc(-1 * var(--list-inset));padding:10px var(--list-inset);border-radius:var(--radius-md);text-align:left;color:inherit;display:flex}.card--flush .list-item{width:100%;margin-inline:0}.list-item__body{flex:1;min-width:0}.list-item__title{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--w-medium);color:var(--text);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-item__sub{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-item__trail{align-items:center;gap:var(--s-2);color:var(--text-tertiary);flex:none;display:flex}.list-item--wrap{flex-wrap:wrap}.list-item--wrap .list-item__body{flex:10rem}.list-item--wrap .list-item__title,.list-item--wrap .list-item__sub{white-space:normal;overflow-wrap:anywhere}.list-item--wrap .list-item__trail{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;max-width:100%;margin-left:auto}.list-item--button{transition:background-color var(--dur-fast) var(--ease)}.list-item--button:hover{background:var(--fill-hover)}.list-item--button:active{background:var(--fill-pressed)}.list-item--button:focus-visible{outline-offset:-2px}.list-item__unread{border-radius:var(--radius-full);background:var(--accent);flex:none;width:8px;height:8px}.list--divided>*+*{border-top:1px solid var(--border)}.list--divided>.list-item+.list-item{border-radius:0}.kv{gap:var(--s-2) var(--s-4);grid-template-columns:minmax(8rem,12rem) minmax(0,1fr);margin:0;display:grid}.kv dt{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary);padding-top:1px}.kv dd{min-width:0;font-size:var(--text-md);line-height:var(--lh-md);color:var(--text);overflow-wrap:anywhere;margin:0}@media (width<=639.98px){.kv{grid-template-columns:minmax(0,1fr);gap:2px}.kv dd+dt{margin-top:10px}}.divider{background:var(--border);border:0;height:1px;margin:0}.divider--vertical{align-self:stretch;width:1px;height:auto}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--s-2) var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.section-header__text{min-width:0}.section-header__title{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--w-medium);letter-spacing:var(--tracking-snug)}.section-header__desc{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary);margin-top:2px}.icon-btn{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-secondary);transition:color var(--dur-fast) var(--ease);flex:none;place-items:center;display:inline-grid;position:relative}.icon-btn:before{content:"";border-radius:var(--radius-md);transition:background-color var(--dur-fast) var(--ease);position:absolute;inset:4px}.icon-btn>*{position:relative}.icon-btn:hover{color:var(--text)}.icon-btn:hover:before{background:var(--fill-hover)}.icon-btn:active:before{background:var(--fill-pressed)}.icon-btn:focus-visible{outline-offset:-2px}.icon-btn:disabled{color:var(--text-disabled);cursor:not-allowed}.icon-btn:disabled:before{background:0 0}.icon-btn--sm{margin:-6px}.icon-btn--sm:before{border-radius:var(--radius-sm);inset:6px}.toast-stack{left:var(--s-4);right:var(--s-4);bottom:calc(var(--tabbar-h) + var(--s-4) + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);gap:var(--s-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}@media (width>=900px){.toast-stack{left:auto;bottom:calc(var(--s-6) + env(safe-area-inset-bottom,0px));width:min(24rem, calc(100vw - 2 * var(--s-6)));right:var(--s-6)}}.toast-region{gap:var(--s-2);flex-direction:column;display:flex}.toast{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-overlay);color:var(--text);box-shadow:var(--shadow-md);pointer-events:auto;animation:toast-in var(--dur-moderate) var(--ease-out);display:flex}.toast__icon{color:var(--text-tertiary);flex:none;margin-top:1px}.toast--success{border-left-color:var(--success)}.toast--success .toast__icon{color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--error .toast__icon{color:var(--danger)}.toast--info{border-left-color:var(--info)}.toast--info .toast__icon{color:var(--info)}.toast__msg{min-width:0;font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--w-normal);color:var(--text);overflow-wrap:anywhere;flex:1}.toast__close{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-tertiary);transition:color var(--dur-fast) var(--ease);flex:none;place-items:center;margin:-12px -14px -12px 0;display:grid;position:relative}.toast__close:before{content:"";border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease);position:absolute;inset:6px}.toast__close>*{position:relative}.toast__close:hover{color:var(--text)}.toast__close:hover:before{background:var(--fill-hover)}.toast__close:focus-visible{outline-offset:-4px}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.route-progress{z-index:var(--z-progress);background:0 0;height:2px;position:fixed;top:0;left:0;right:0;overflow:hidden}.route-progress:before{content:"";background:var(--accent);width:40%;animation:route-progress 1.1s var(--ease) infinite;position:absolute;inset:0 auto 0 0}@keyframes route-progress{0%{transform:translate(-100%)}to{transform:translate(250%)}}.pager{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.pager__range{font-size:var(--text-sm);line-height:var(--lh-sm);font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.data-table-wrap{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;max-width:100%;position:relative;overflow-x:auto}.data-table-wrap--sticky{overflow-y:auto}.data-table-wrap:focus-visible{outline-offset:-2px}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-md);line-height:var(--lh-md);color:var(--text)}.data-table__caption{caption-side:top;text-align:left;padding:var(--s-3) var(--s-4) 0;font-weight:var(--w-medium)}.data-table__cell{padding:var(--s-2) var(--s-3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--border)}.data-table tbody tr:last-child>.data-table__cell{border-bottom:0}.data-table__cell:first-child{padding-left:var(--s-4)}.data-table__cell:last-child{padding-right:var(--s-4)}.data-table__cell--center{text-align:center}.data-table__cell--end{text-align:right}.data-table__cell--nowrap{white-space:nowrap}.data-table__head{background:var(--surface-sunken);color:var(--text-tertiary);font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:var(--w-medium);white-space:nowrap}.data-table-wrap--sticky .data-table__head{z-index:1;position:sticky;top:0}.data-table__rowhead{font-weight:var(--w-medium)}.data-table__sort{align-items:center;gap:var(--s-1);margin:calc(-1 * var(--s-1)) calc(-1 * var(--s-2));padding:var(--s-1) var(--s-2);border-radius:var(--radius-sm);color:inherit;font-weight:inherit;text-align:inherit;display:inline-flex}.data-table__sort:hover{background:var(--fill-hover);color:var(--text)}.data-table__head[aria-sort=ascending] .data-table__sort,.data-table__head[aria-sort=descending] .data-table__sort{color:var(--text)}.data-table__sort-icon{opacity:.7;flex:none}.data-table__row--clickable{cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.data-table__row--clickable:hover>.data-table__cell{background:var(--fill-hover)}.data-table__row.is-selected>.data-table__cell{background:var(--accent-soft)}.data-table__row-action{text-align:left;font-weight:inherit;color:inherit;border-radius:var(--radius-sm);padding:0;display:inline}.data-table__row-action:hover{color:var(--accent)}.data-table__primary{display:block}.data-table__sub{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-tertiary);font-weight:var(--w-normal);display:block}.data-table__num{font-variant-numeric:tabular-nums}.data-table__nowrap{white-space:nowrap;flex-wrap:nowrap}@media (width<=899.98px){.data-table__cell--hide-md{display:none}}@media (width<=639.98px){.data-table__cell--hide-sm{display:none}.data-table__cell{padding:var(--s-2)}.data-table__cell:first-child{padding-left:var(--s-3)}.data-table__cell:last-child{padding-right:var(--s-3)}}.route-error{gap:var(--s-3)}.ref-code{padding:var(--s-1) 10px;border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text);font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--w-medium);font-variant-numeric:tabular-nums;letter-spacing:.06em;overflow-wrap:anywhere;display:inline-block}.bubble-row{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.bubble-row--mine{align-items:flex-end}.bubble{max-width:75%;padding:var(--s-2) var(--s-3);border-radius:var(--radius-xl);background:var(--fill-subtle);color:var(--text);font-size:var(--text-base);line-height:var(--lh-base);white-space:pre-wrap;overflow-wrap:anywhere;border-bottom-left-radius:4px}.bubble--mine{border-bottom-left-radius:var(--radius-xl);background:var(--accent-solid);color:var(--on-solid);border-bottom-right-radius:4px}.bubble__meta{padding-inline:var(--s-1);font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-tertiary)}.chat-date{align-items:center;gap:var(--s-3);font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-tertiary);display:flex}.chat-date:before,.chat-date:after{content:"";background:var(--border);flex:1;height:1px}.chart{width:100%;height:260px}.chart--tall{height:300px}.chart-figure{margin:0}.chart-legend{gap:var(--s-1) var(--s-4);margin-bottom:var(--s-3);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.chart-legend__item{align-items:center;gap:6px;display:inline-flex}.chart-legend__swatch{border-top:2px solid;width:16px;height:0}.chart-legend__swatch--dashed{border-top-style:dashed}.demo-banner{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);padding:var(--s-2) var(--s-3);border:1px solid var(--info-border);border-radius:var(--radius-md);background:var(--info-soft);color:var(--info-on-soft);font-size:var(--text-sm);line-height:var(--lh-sm);display:flex}.demo-banner>svg{color:var(--info);flex:none}.text-center{text-align:center}.link{color:var(--accent);font-weight:var(--w-medium);text-underline-offset:2px;transition:color var(--dur-fast) var(--ease)}.link:hover{color:var(--accent-on-soft);text-decoration:underline}.prose a:not(.btn),.link--inline{text-underline-offset:2px;text-decoration:underline}.full{width:100%}.spread{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}header.spread{flex-wrap:wrap}.mt-2{margin-top:var(--s-2)}.mt-4{margin-top:var(--s-4)}.mt-6{margin-top:var(--s-6)}.mb-2{margin-bottom:var(--s-2)}.gap-2{gap:var(--s-2)}.grow{flex:1;min-width:0}.text-xs{font-size:var(--text-xs);line-height:var(--lh-xs)}.text-sm{font-size:var(--text-sm);line-height:var(--lh-sm)}.text-md{font-size:var(--text-md);line-height:var(--lh-md)}.text-base{font-size:var(--text-base);line-height:var(--lh-base)}.text-lg{font-size:var(--text-lg);line-height:var(--lh-lg)}.fw-normal{font-weight:var(--w-normal)}.fw-medium{font-weight:var(--w-medium)}.text-primary{color:var(--text)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.break-anywhere{overflow-wrap:anywhere}.is-inactive{color:var(--text-tertiary)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important}.reveal{opacity:1!important;transform:none!important}*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}.spinner{animation-duration:2.4s!important;animation-iteration-count:infinite!important}.route-progress:before{opacity:.6;width:100%;animation:none!important}}
