:root{--palette-emerald-900:#0f2a24;--palette-emerald-800:#183e35;--palette-emerald-700:#22564a;--palette-emerald-100:#e4eee9;--palette-emerald-50:#f0f5f2;--palette-ivory:#f7f6f2;--palette-ivory-200:#eceae2;--palette-gold-500:#c59a45;--palette-gold-700:#7d5a1c;--palette-gold-100:#f6eedc;--palette-white:#fff;--palette-charcoal:#17212b;--palette-slate-600:#4f5b67;--palette-slate-400:#8a94a0;--palette-slate-200:#dcdfe3;--color-canvas:var(--palette-ivory);--color-surface:var(--palette-white);--color-surface-muted:#fbfaf7;--color-surface-sunken:var(--palette-ivory-200);--color-text:var(--palette-charcoal);--color-text-muted:var(--palette-slate-600);--color-text-inverse:var(--palette-white);--color-text-inverse-muted:#c9d6d1;--color-border:#e3e1d9;--color-border-strong:var(--palette-slate-400);--color-primary:var(--palette-emerald-800);--color-primary-hover:var(--palette-emerald-700);--color-primary-subtle:var(--palette-emerald-100);--color-primary-subtle-text:var(--palette-emerald-800);--color-nav-bg:var(--palette-emerald-800);--color-nav-bg-deep:var(--palette-emerald-900);--color-nav-active:#ffffff1f;--color-nav-hover:#ffffff12;--color-accent:var(--palette-gold-500);--color-accent-subtle:var(--palette-gold-100);--color-accent-text:var(--palette-gold-700);--color-focus:#175cd3;--color-focus-inverse:var(--palette-white);--color-danger:#b42318;--color-danger-subtle:#fdecea;--color-warning:#8a4b00;--color-warning-subtle:#fdf1dc;--color-success:#17643f;--color-success-subtle:#e3f3ea;--color-info:#1f4f8f;--color-info-subtle:#e6eef9;--color-demo:#6b3fa0;--color-demo-subtle:#f1eaf9;--color-internal-note:#fff8e6;--color-internal-note-border:#e8c97a;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-sans);--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);--leading-tight:1.2;--leading-normal:1.55;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.02em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--border-width:1px;--shadow-xs:0 1px 2px #17212b0d;--shadow-sm:0 1px 3px #17212b0f, 0 1px 2px #17212b0a;--shadow-md:0 6px 16px -4px #17212b1a, 0 2px 4px #17212b0a;--shadow-lg:0 24px 48px -16px #0f2a2438;--sidebar-width:264px;--topbar-height:64px;--content-max:1240px;--marketing-max:1160px;--tap-target:44px;--duration-fast:.12s;--duration-base:.2s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s}}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-semibold);margin:0}p{margin:0}ul,ol{margin:0;padding:0}a{color:var(--color-primary);text-underline-offset:3px}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}.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{left:var(--space-4);z-index:100;background:var(--color-surface);color:var(--color-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-weight:var(--weight-semibold);position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--color-text-muted)}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.stack-lg{gap:var(--space-8);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.stack>*,.stack-sm>*,.stack-lg>*{min-width:0}
.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-5);border-radius:var(--radius-md);border:var(--border-width) solid transparent;font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast), box-shadow var(--duration-fast);white-space:nowrap;line-height:1;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text);background:0 0}.btn-ghost:hover{background:var(--color-surface-sunken)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border-color:#f0c3be}.btn-danger:hover{background:var(--color-danger-subtle)}.btn-inverse{background:var(--color-surface);color:var(--color-primary)}.btn-inverse:hover{background:var(--color-primary-subtle)}.btn-sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-lg{min-height:52px;padding:0 var(--space-6);font-size:var(--text-md)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-icon{min-width:var(--tap-target);padding:0}.btn-block{width:100%}.card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-xs)}.card-pad{padding:var(--space-6)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6) 0;flex-wrap:wrap;display:flex}.card-title{font-size:var(--text-md);font-weight:var(--weight-semibold)}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-muted)}.card-body{padding:var(--space-5) var(--space-6) var(--space-6)}.card-footer{border-top:var(--border-width) solid var(--color-border);padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}@media (max-width:640px){.card-pad,.card-body,.card-header{padding-left:var(--space-4);padding-right:var(--space-4)}}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;border:1px solid #0000;line-height:1.5;display:inline-flex}.badge-neutral{background:var(--color-surface-sunken);color:var(--color-text)}.badge-primary{background:var(--color-primary-subtle);color:var(--color-primary-subtle-text)}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge-info{background:var(--color-info-subtle);color:var(--color-info)}.badge-accent{background:var(--color-accent-subtle);color:var(--color-accent-text)}.badge-demo{background:var(--color-demo-subtle);color:var(--color-demo)}.badge-outline{border-color:var(--color-border);color:var(--color-text-muted);background:0 0}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.avatar{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--weight-semibold);width:40px;height:40px;font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar[data-initials]:before{content:attr(data-initials)}.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar-lg{width:64px;height:64px;font-size:var(--text-lg)}.avatar-gold{background:var(--color-accent-subtle);color:var(--color-accent-text)}.field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.field-label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.field-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.field-error{font-size:var(--text-sm);color:var(--color-danger);gap:var(--space-1);align-items:flex-start;display:flex}.input,.select,.textarea{width:100%;min-height:var(--tap-target);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-md)}.textarea{resize:vertical;min-height:96px;line-height:var(--leading-normal)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline-offset:0}.input-search{background-image:none;padding-left:40px}.checkbox{gap:var(--space-3);font-size:var(--text-sm);align-items:flex-start;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--color-primary);flex:none;margin:2px 0 0}.form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .span-2{grid-column:1/-1}@media (max-width:720px){.form-grid{grid-template-columns:1fr}}.form-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.notice{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid;align-items:flex-start;display:flex}.notice svg{flex:none;width:20px;height:20px;margin-top:1px}.notice-title{font-weight:var(--weight-semibold)}.notice-info{background:var(--color-info-subtle);color:var(--color-info);border-color:#c5d6ef}.notice-warning{background:var(--color-warning-subtle);color:var(--color-warning);border-color:#f0d3a3}.notice-danger{background:var(--color-danger-subtle);color:var(--color-danger);border-color:#f0c3be}.notice-success{background:var(--color-success-subtle);color:var(--color-success);border-color:#b9dfc9}.notice-demo{background:var(--color-demo-subtle);color:var(--color-demo);border-color:#dccbf0}.notice p+p{margin-top:var(--space-1)}.state{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);flex-direction:column;max-width:560px;margin:0 auto;display:flex}.state-icon{background:var(--color-primary-subtle);width:56px;height:56px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.state-icon svg{width:26px;height:26px}.state-icon-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.state-icon-gold{background:var(--color-accent-subtle);color:var(--color-accent-text)}.state h2{font-size:var(--text-lg)}.state p{color:var(--color-text-muted)}.state-compact{padding:var(--space-8) var(--space-4)}.state-ref{font-size:var(--text-xs);color:var(--color-text-muted);font-family:ui-monospace,monospace}.skeleton{background:linear-gradient(90deg, var(--color-surface-sunken), #f3f2ed, var(--color-surface-sunken));border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.table-wrap{width:100%;position:relative;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th{text-align:left;font-weight:var(--weight-semibold);color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-row-link{cursor:pointer}.table-row-link:hover td{background:var(--color-surface-muted)}.segmented{background:var(--color-surface-sunken);border-radius:var(--radius-md);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);background:0 0;border:0;min-height:36px}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat{padding:var(--space-5);gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.stat-label{font-size:var(--text-sm);color:var(--color-text-muted);align-items:center;gap:var(--space-2);display:flex}.stat-label svg{width:16px;height:16px}.stat-value{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.1}.stat-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.trend-up{color:var(--color-success);font-weight:var(--weight-semibold)}.trend-down{color:var(--color-danger);font-weight:var(--weight-semibold)}.dialog::backdrop{background:#0f2a2473}.dialog{border-radius:var(--radius-lg);width:min(560px,100vw - 32px);box-shadow:var(--shadow-lg);color:var(--color-text);border:0;padding:0}.dialog-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dialog-body{padding:var(--space-5) var(--space-6)}.dialog-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.divider{background:var(--color-border);border:0;height:1px;margin:0}.kbd{font-family:ui-monospace,monospace;font-size:var(--text-xs);border:1px solid var(--color-border);color:var(--color-text-muted);border-bottom-width:2px;border-radius:4px;padding:0 4px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);background:var(--color-surface-sunken);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:2px 6px}.list-plain{list-style:none}.list-divided>li+li{border-top:1px solid var(--color-border)}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.icon-inline{vertical-align:-3px;width:16px;height:16px;display:inline-block}.card[tabindex="-1"]:focus{box-shadow:0 0 0 3px var(--color-focus);outline:none}.notice>div{overflow-wrap:anywhere;min-width:0}.notice .btn{white-space:normal;text-align:left;height:auto;padding-block:var(--space-2)}
.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.shell-main{flex-direction:column;min-width:0;display:flex}.sidebar{background:var(--color-nav-bg);height:100vh;color:var(--color-text-inverse);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar :focus-visible,.drawer :focus-visible{outline-color:var(--color-focus-inverse)}.sidebar-brand{padding:var(--space-5) var(--space-5) var(--space-4);justify-content:space-between;align-items:center;display:flex}.sidebar-logo{color:inherit;text-decoration:none}.sidebar-demo-tag{font-size:var(--text-xs);font-weight:var(--weight-semibold);background:var(--color-accent);color:var(--palette-emerald-900);padding:2px var(--space-2);border-radius:var(--radius-pill)}.logo{align-items:center;gap:var(--space-3);font-weight:var(--weight-bold);letter-spacing:-.01em;color:var(--color-text);font-size:1.0625rem;display:inline-flex}.logo-inverse{color:var(--color-text-inverse)}.sidebar-workspace{padding:0 var(--space-3) var(--space-4)}.workspace-switcher{border-radius:var(--radius-md);width:100%;padding:var(--space-2) var(--space-3);color:inherit;text-align:left;background:#ffffff0f;border:1px solid #ffffff24;display:block}.workspace-button:hover{background:#ffffff1a}.workspace-chip{align-items:center;gap:var(--space-3);min-width:0;display:flex}.workspace-chip>svg{opacity:.8;flex:none;margin-left:auto}.workspace-mark{border-radius:var(--radius-sm);background:var(--color-accent);width:32px;height:32px;color:var(--palette-emerald-900);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.workspace-label{font-size:var(--text-xs);color:var(--color-text-inverse-muted)}.workspace-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);display:block}.sidebar-nav{padding:0 var(--space-3);flex:1}.sidebar-group+.sidebar-group{margin-top:var(--space-5)}.sidebar-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-inverse-muted);padding:0 var(--space-3) var(--space-2);font-size:.6875rem;font-weight:var(--weight-semibold)}.sidebar-link{align-items:center;gap:var(--space-3);min-height:42px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:color-mix(in srgb, var(--color-text-inverse) 88%, transparent);transition:background var(--duration-fast);text-decoration:none;display:flex}.sidebar-link svg{opacity:.9;flex:none}.sidebar-link:hover{background:var(--color-nav-hover);color:var(--color-text-inverse)}.sidebar-link[aria-current=page]{background:var(--color-nav-active);color:var(--color-text-inverse);box-shadow:inset 3px 0 0 var(--color-accent)}.sidebar-count{border-radius:var(--radius-pill);background:var(--color-accent);min-width:22px;height:20px;color:var(--palette-emerald-900);font-size:var(--text-xs);font-weight:var(--weight-bold);place-items:center;margin-left:auto;padding:0 6px;display:grid}.sidebar-footer{padding:var(--space-5);margin-top:var(--space-6);border-top:1px solid #ffffff1a}.sidebar-footnote{font-size:var(--text-xs);color:var(--color-text-inverse-muted)}.topbar{z-index:20;height:var(--topbar-height);align-items:center;gap:var(--space-3);padding:0 var(--space-6);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:saturate(1.2)blur(6px);backdrop-filter:saturate(1.2)blur(6px);background:#f7f6f2f0;display:flex;position:sticky;top:0}.shell-demo .topbar{top:0}.topbar-menu{display:none}.topbar-search{flex:1;min-width:0;max-width:480px}.search-form{position:relative}.search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-form .input{background:var(--color-surface);border-color:var(--color-border);min-height:40px}.search-trigger{align-items:center;gap:var(--space-2);width:100%;min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.topbar-search .popover{width:100%}.topbar-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.campus-switcher{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding-left:var(--space-3);min-height:40px;color:var(--color-text-muted);display:inline-flex;position:relative}.campus-switcher select{min-height:38px;padding:0 var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text);background:0 0;border:0;max-width:180px}.campus-switcher:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.campus-switcher select:focus-visible{outline:none}.notif-dot{background:var(--color-danger);border:2px solid var(--color-canvas);border-radius:50%;width:9px;height:9px;position:absolute;top:9px;right:10px}.popover,.popover>button{position:relative}.popover-panel{z-index:40;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:240px;color:var(--color-text);position:absolute;top:calc(100% + 8px)}.popover-end{right:0}.popover-start{left:0}.popover-notifications{width:min(360px,100vw - 32px)}.popover-note{padding:var(--space-4);font-size:var(--text-sm);width:min(360px,100vw - 32px);color:var(--color-text-muted)}.popover-heading{padding:var(--space-4) var(--space-4) var(--space-2);font-weight:var(--weight-semibold);font-size:var(--text-sm)}.popover-empty{padding:0 var(--space-4) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.notif-item{gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text);align-items:flex-start;text-decoration:none;display:flex}.notif-item:hover{background:var(--color-surface-muted)}.notif-item .dot{margin-top:7px}.notif-unread{color:var(--color-primary)}.notif-title{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.notif-detail{font-size:var(--text-sm);color:var(--color-text-muted)}.popover-menu{padding:var(--space-2)}.popover-user{width:280px}.menu-item{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);text-align:left;background:0 0;border:0;text-decoration:none;display:flex}.menu-item:hover{background:var(--color-surface-sunken)}.menu-item svg{width:18px;height:18px;color:var(--color-text-muted)}.menu-item-start{justify-content:flex-start}.user-card{gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2);display:flex}.user-name{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.user-subtitle{font-size:var(--text-xs);color:var(--color-text-muted)}.breadcrumbs{padding:var(--space-4) var(--space-6) 0;font-size:var(--text-sm);color:var(--color-text-muted)}.breadcrumbs ol{align-items:center;gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex}.breadcrumbs li{align-items:center;gap:var(--space-1);min-width:0;max-width:100%;display:inline-flex}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-text);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--color-text);font-weight:var(--weight-medium)}.crumb-sep{flex:none;width:14px;height:14px}.content{padding:var(--space-5) var(--space-6) var(--space-12);width:100%;max-width:var(--content-max);outline:none}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-title{font-size:var(--text-xl);overflow-wrap:anywhere}.page-description{color:var(--color-text-muted);max-width:680px}.demo-banner{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6);background:var(--color-demo);color:#fff;font-size:var(--text-sm);flex-wrap:wrap;display:flex}.demo-banner strong{font-weight:var(--weight-semibold)}.demo-banner-detail{opacity:.92}.demo-banner-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;margin-left:auto;display:flex}.demo-banner select{border-radius:var(--radius-sm);color:#fff;min-height:32px;padding:0 var(--space-2);font-size:var(--text-sm);background:#ffffff1f;border:1px solid #fff6}.demo-banner select option{color:var(--color-text)}.demo-banner a{color:#fff}.demo-banner :focus-visible{outline-color:#fff}.drawer-layer{z-index:60;position:fixed;inset:0}.drawer-scrim{background:#0f2a2480;border:0;position:absolute;inset:0}.drawer{background:var(--color-nav-bg);width:min(320px,86vw);color:var(--color-text-inverse);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto}.drawer-close{top:var(--space-3);right:var(--space-3);color:#fff;position:absolute}.drawer-close:hover{background:#ffffff1a}.drawer .sidebar-brand{padding-right:calc(var(--space-3) + var(--tap-target,44px) + var(--space-2))}.drawer-campus{padding:0 var(--space-5) var(--space-6)}.drawer-campus .campus-switcher{width:100%}.drawer-campus .campus-switcher select{flex:1;max-width:none}@media (max-width:1024px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar-menu{display:inline-flex}.topbar{padding:0 var(--space-4)}.breadcrumbs,.content{padding-left:var(--space-4);padding-right:var(--space-4)}.demo-banner{padding:var(--space-2) var(--space-4)}}@media (max-width:720px){.topbar-campus,.topbar-search-text{display:none}.search-trigger{width:auto;min-width:var(--tap-target);justify-content:center}.topbar-search{flex:0 auto}.topbar-search .popover{width:auto}.search-form .input{min-height:var(--tap-target)}.demo-banner-detail{display:none}}.standalone{flex-direction:column;min-height:100vh;display:flex}.standalone-header{padding:var(--space-5) var(--space-6)}.standalone-header a{text-decoration:none}.standalone-main{padding:var(--space-8) var(--space-4);flex:1;justify-content:center;align-items:flex-start;display:flex}.standalone-main>*{width:100%;max-width:560px}.standalone-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}@media (max-width:560px){.standalone-card{padding:var(--space-6) var(--space-5)}}@media (min-width:1025px){.shell{background:linear-gradient(to right, var(--color-nav-bg) var(--sidebar-width), var(--color-canvas) var(--sidebar-width))}}
.greeting{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.greeting h1{font-size:var(--text-2xl)}.greeting p{color:var(--color-text-muted);font-size:var(--text-lg);margin-top:var(--space-1)}.greeting-date{font-size:var(--text-sm);color:var(--color-text-muted)}.overview-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;display:grid}.overview-grid>.span-all{grid-column:1/-1}.overview-side{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}@media (max-width:1100px){.overview-grid{grid-template-columns:minmax(0,1fr)}}.attention-card-shell{border-top:3px solid var(--color-accent)}.attention-list{flex-direction:column;display:flex}.attention-card{gap:var(--space-4);padding:var(--space-5) var(--space-6);border-top:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);display:grid}.attention-list>.attention-card:first-child{border-top:0}.attention-icon{border-radius:var(--radius-md);background:var(--color-primary-subtle);width:40px;height:40px;color:var(--color-primary);place-items:center;display:grid}.attention-overdue .attention-icon{background:var(--color-danger-subtle);color:var(--color-danger)}.attention-due_soon .attention-icon{background:var(--color-warning-subtle);color:var(--color-warning)}.attention-informational .attention-icon{background:var(--color-accent-subtle);color:var(--color-accent-text)}.attention-icon-done{background:var(--color-success-subtle);color:var(--color-success)}.attention-main{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.attention-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.attention-kind{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--weight-semibold);color:var(--color-text-muted)}.attention-title{font-size:var(--text-md);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.attention-explanation{font-size:var(--text-sm);color:var(--color-text)}.attention-meta{gap:var(--space-3);margin:var(--space-1) 0 0;font-size:var(--text-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.attention-meta dt{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:2px}.attention-meta dd{min-width:0;margin:0}.attention-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.attention-panel{margin-top:var(--space-2);padding:var(--space-4);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-2);flex-direction:column;display:flex}.attention-resolved{opacity:.85}.chip-radio{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:6px var(--space-3);font-size:var(--text-sm);background:var(--color-surface);cursor:pointer;min-height:36px;display:inline-flex}.chip-radio:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-subtle)}.chip-radio input{accent-color:var(--color-primary)}@media (max-width:640px){.attention-card{padding:var(--space-4);grid-template-columns:minmax(0,1fr)}.attention-icon{display:none}.attention-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.chart{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.chart-caption{font-size:var(--text-sm);color:var(--color-text-muted)}.bars{gap:var(--space-2);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;height:180px;display:grid}.bar-col{flex-direction:column;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.bar-track{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.bar{background:var(--color-primary);border-radius:6px 6px 2px 2px;width:min(28px,70%)}.bar-col:last-child .bar{background:var(--color-accent)}.bar-empty{border:1px dashed var(--color-border-strong);background:repeating-linear-gradient(135deg, var(--color-surface-sunken) 0 6px, transparent 6px 12px)!important}.bar-value{font-size:var(--text-xs);color:var(--color-text-muted)}.bar-label{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.6875rem;overflow:hidden}.item-row{gap:var(--space-3);padding:var(--space-3) 0;align-items:flex-start;min-width:0;display:flex}.item-row+.item-row{border-top:1px solid var(--color-border)}.item-body{flex:1;min-width:0}.item-title{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.item-detail{font-size:var(--text-sm);color:var(--color-text-muted)}.item-aside{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.date-tile{text-align:center;border-radius:var(--radius-md);background:var(--color-surface-sunken);flex:none;width:48px;padding:4px 0}.date-tile-day{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:1.1}.date-tile-month{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase}.link-row{font-size:var(--text-sm);font-weight:var(--weight-semibold);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.link-row svg{width:16px;height:16px}.module-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.module-tile{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-2);background:var(--color-surface-muted);flex-direction:column;display:flex}.module-tile-head{align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);font-size:var(--text-sm);display:flex}.module-tile p{font-size:var(--text-sm);color:var(--color-text-muted)}.filters{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));display:grid}@media (max-width:720px){.filters{padding:var(--space-4);grid-template-columns:1fr}}.person-cell{align-items:center;gap:var(--space-3);min-width:0;display:flex}.person-cell a{font-weight:var(--weight-semibold);color:var(--color-text);overflow-wrap:anywhere;text-decoration:none}.person-cell a:hover{text-decoration:underline}.people-cards{display:none}@media (max-width:720px){.people-table{display:none}.people-cards{display:block}}.person-card-row{gap:var(--space-3);padding:var(--space-4);color:inherit;border-top:1px solid var(--color-border);align-items:center;min-height:64px;text-decoration:none;display:flex}.person-card-row:first-child{border-top:0}.person-card-row .item-title{overflow-wrap:anywhere}.profile-layout{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}@media (max-width:1100px){.profile-layout{grid-template-columns:minmax(0,1fr)}}.profile-hero{gap:var(--space-5);padding:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.profile-hero h1{font-size:var(--text-xl);overflow-wrap:anywhere}.definition-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.definition-grid dt{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.definition-grid dd{font-size:var(--text-sm);overflow-wrap:anywhere;margin:2px 0 0}@media (max-width:560px){.definition-grid{grid-template-columns:1fr}}.timeline{list-style:none;position:relative}.timeline li{padding:0 0 var(--space-5) var(--space-8);position:relative}.timeline li:before{content:"";background:var(--color-border);width:2px;position:absolute;top:26px;bottom:0;left:11px}.timeline li:last-child:before{display:none}.timeline-dot{background:var(--color-primary-subtle);width:24px;height:24px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.timeline-dot svg{width:14px;height:14px}.restricted{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);gap:var(--space-3);align-items:flex-start;display:flex}.restricted svg{flex:none}.inbox{height:calc(100vh - var(--topbar-height) - 140px);grid-template-columns:320px minmax(0,1fr) 300px;min-height:560px;display:grid;overflow:hidden}.inbox-list{border-right:1px solid var(--color-border);flex-direction:column;display:flex;overflow-y:auto}.inbox-list-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:1;position:sticky;top:0}.conv-item{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--color-border);text-align:left;width:100%;color:inherit;background:0 0;text-decoration:none;display:flex}.conv-item[aria-current=true]{background:var(--color-primary-subtle);box-shadow:inset 3px 0 0 var(--color-primary)}.conv-item:hover{background:var(--color-surface-muted)}.conv-top{justify-content:space-between;gap:var(--space-2);display:flex}.conv-name{font-weight:var(--weight-semibold);font-size:var(--text-sm);min-width:0}.conv-preview{font-size:var(--text-sm);color:var(--color-text-muted)}.conv-unread{border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;min-width:20px;height:20px;font-size:var(--text-xs);font-weight:var(--weight-bold);place-items:center;padding:0 6px;display:inline-grid}.thread{flex-direction:column;min-width:0;min-height:0;display:flex}.thread-head{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.thread-controls{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.thread-controls .select{width:auto;min-height:36px;font-size:var(--text-sm);padding:0 var(--space-2)}.thread-body{padding:var(--space-5);gap:var(--space-3);background:var(--color-surface-muted);flex-direction:column;flex:1;display:flex;overflow-y:auto}.msg{max-width:min(560px,85%);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);box-shadow:var(--shadow-xs)}.msg-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1);gap:var(--space-2);flex-wrap:wrap;display:flex}.msg-inbound{background:var(--color-surface);border:1px solid var(--color-border);border-bottom-left-radius:4px;align-self:flex-start}.msg-outbound{background:var(--color-primary-subtle);border-bottom-right-radius:4px;align-self:flex-end}.msg-note{background:var(--color-internal-note);border:1px dashed var(--color-internal-note-border);align-self:stretch;max-width:none}.msg-note-label{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-warning);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;display:inline-flex}.msg-system{box-shadow:none;color:var(--color-text-muted);font-size:var(--text-xs);text-align:center;background:0 0;align-self:center}.composer{border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);gap:var(--space-2);background:var(--color-surface);flex-direction:column;display:flex}.composer-tabs{gap:var(--space-2);display:flex}.composer-mode{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-pill);padding:4px var(--space-3);font-size:var(--text-sm);min-height:36px}.composer-mode[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.composer-mode.note[aria-pressed=true]{background:var(--color-internal-note);border-color:var(--color-internal-note-border);color:var(--color-warning)}.composer .textarea{min-height:72px}.composer-note .textarea{background:var(--color-internal-note);border-color:var(--color-internal-note-border)}.inbox-side{border-left:1px solid var(--color-border);padding:var(--space-5);gap:var(--space-5);flex-direction:column;display:flex;overflow-y:auto}.side-section h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-2)}.inbox-back{display:none}@media (max-width:1200px){.inbox{grid-template-columns:280px minmax(0,1fr)}.inbox-side{display:none}}@media (max-width:760px){.inbox{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}.inbox[data-view=thread] .inbox-list,.inbox[data-view=list] .thread{display:none}.inbox-list{border-right:0}.inbox-back{display:inline-flex}.thread-body{max-height:60vh}}.board{gap:var(--space-4);padding-bottom:var(--space-2);grid-template-columns:repeat(5,minmax(220px,1fr));display:grid;overflow-x:auto}.board-col{background:var(--color-surface-sunken);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.board-col-head{font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:var(--space-1) var(--space-2);justify-content:space-between;align-items:center;display:flex}.task-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-2);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.task-card .select{min-height:36px;font-size:var(--text-sm);padding:0 var(--space-2)}.task-overdue{border-left:3px solid var(--color-danger)}@media (max-width:900px){.board{grid-template-columns:minmax(0,1fr);overflow:visible}}.session-list{flex-direction:column;display:flex}.session-btn{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--color-border);text-align:left;background:0 0;align-items:center;width:100%;display:flex}.session-btn[aria-pressed=true]{background:var(--color-primary-subtle);box-shadow:inset 3px 0 0 var(--color-primary)}.history-grid{gap:4px;display:grid}.mark{width:28px;height:28px;font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:6px;place-items:center;display:grid;position:relative}.mark-present{background:var(--color-primary);color:#fff}.mark-absent{background:var(--color-danger-subtle);color:var(--color-danger);border:1px solid #f0c3be}.mark-excused{background:var(--color-info-subtle);color:var(--color-info)}.mark-unrecorded{color:var(--color-text-muted);border:1px dashed var(--color-border-strong);background:0 0}.mark-cancelled{background:var(--color-surface-sunken);color:var(--color-text-muted)}.legend{gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:var(--space-2);display:inline-flex}.legend .mark{width:20px;height:20px;font-size:.625rem}.checkin-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex}.steps{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;list-style:none;display:flex}.step{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);display:inline-flex}.step-num{background:var(--color-surface-sunken);width:22px;height:22px;font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:50%;place-items:center;display:grid}.step[aria-current=step]{color:var(--color-text);border-color:var(--color-primary);font-weight:var(--weight-semibold)}.step[aria-current=step] .step-num{background:var(--color-primary);color:#fff}.step-done .step-num{background:var(--color-success-subtle);color:var(--color-success)}.option-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:var(--color-surface);align-items:flex-start;display:flex}.option-card:has(input:checked){border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);background:var(--color-primary-subtle)}.option-card:has(input:disabled){opacity:.6;cursor:not-allowed}.option-card input{accent-color:var(--color-primary);flex:none;width:18px;height:18px;margin-top:3px}.phone-preview{max-width:340px;padding:var(--space-5);background:#e9e4da;border-radius:24px}.phone-bubble{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);box-shadow:var(--shadow-xs);background:#fff;border-radius:12px 12px 12px 4px}.cost-table td,.cost-table th{padding:var(--space-2) 0}.cost-table{width:100%;font-size:var(--text-sm);border-collapse:collapse}.cost-table .num{text-align:right;font-variant-numeric:tabular-nums}.cost-table tr.total td{border-top:1px solid var(--color-border);font-weight:var(--weight-semibold);padding-top:var(--space-3)}.settings-grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.grant-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.grant-chip{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:2px 4px 2px var(--space-3);font-size:var(--text-sm);background:var(--color-surface-muted);display:inline-flex}.grant-chip button{color:var(--color-danger);border-radius:var(--radius-pill);background:0 0;border:0;place-items:center;width:28px;height:28px;display:grid}.grant-chip button:hover{background:var(--color-danger-subtle)}.grant-chip button svg{width:14px;height:14px}.staff-row{gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto;align-items:center;display:grid}@media (max-width:860px){.staff-row{grid-template-columns:minmax(0,1fr)}}.inbox-card{overflow:hidden}.filters-wide{grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr))}@media (max-width:1100px){.filters-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-wide>:first-child{grid-column:1/-1}}@media (max-width:720px){.filters-wide{grid-template-columns:minmax(0,1fr)}}.contact-row{gap:var(--space-3);grid-template-columns:130px minmax(0,2fr) 130px auto auto;align-items:start;display:grid}@media (max-width:760px){.contact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-row>:nth-child(2){order:-1;grid-column:1/-1}}.merge-compare{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.merge-side{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);min-width:0}@media (max-width:560px){.merge-compare{grid-template-columns:minmax(0,1fr)}}.attention-item{border-left:4px solid var(--color-warning,#b45309)}.attention-item.attention-positive{border-left-color:var(--color-success,#15803d)}.conv-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}@media (max-width:1100px){.conv-layout{grid-template-columns:minmax(0,1fr)}}.conv-side{padding:var(--space-5);gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.conv-layout .thread-body{min-height:160px;max-height:60vh}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere}.send-facts{gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs);flex-wrap:wrap;align-items:center;display:flex}.send-fact{color:var(--color-text-muted)}.send-fact+.send-fact:before{content:"·";margin-right:var(--space-2)}.send-fact-staff{color:var(--color-text);align-items:center;gap:4px;font-style:italic;display:inline-flex}.send-fact-reason{color:var(--color-danger)}.uncertain-panel{border:1px solid var(--color-warning);background:var(--color-warning-subtle);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.notes-card .msg-note{list-style:none}.template-preview{border-left:3px solid var(--color-border);padding-left:var(--space-3);white-space:pre-wrap}.label-chip{border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text);align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.label-blue{background:var(--color-info-subtle)}.label-green{background:var(--color-success-subtle)}.label-amber{background:var(--color-warning-subtle)}.label-red{background:var(--color-danger-subtle)}.label-purple{background:var(--color-accent-subtle)}.label-remove{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;min-width:24px;min-height:24px;padding:0;display:inline-grid}.fact-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.fact-list dt{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.fact-list dd{font-size:var(--text-sm);margin:0}.stat-grid-5{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.btn-link{color:var(--color-link,var(--color-primary));cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.history-list li{overflow-wrap:anywhere}.disclosure-summary{cursor:pointer;min-height:24px;padding:2px 0;display:list-item}.btn-link{min-height:24px}.area-banner{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);border-left-width:4px;align-items:flex-start;display:flex}.area-banner svg{flex:none;width:20px;height:20px;margin-top:2px}.area-giving{border-left-color:var(--color-primary)}.area-subscription{border-left-color:var(--color-info)}.area-credits{border-left-color:var(--color-accent)}.subnav{gap:var(--space-1);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.subnav a{min-height:40px;padding:0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;text-decoration:none;display:inline-flex}.subnav a[aria-current=page]{color:var(--color-text);border-bottom-color:var(--color-primary)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.code-wrap{padding:var(--space-2) var(--space-3);word-break:break-all;display:block}.alloc-row{gap:var(--space-3);grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;display:grid}@media (max-width:560px){.alloc-row{grid-template-columns:minmax(0,1fr)}}.secret-box{border:1px dashed var(--color-warning);background:var(--color-warning-subtle);border-radius:var(--radius-md);padding:var(--space-4)}
.site{background:var(--color-canvas);flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:var(--marketing-max);padding:0 var(--space-6);margin:0 auto}@media (max-width:640px){.container{padding:0 var(--space-4)}}.site-header{z-index:30;-webkit-backdrop-filter:saturate(1.2)blur(8px);backdrop-filter:saturate(1.2)blur(8px);background:#f7f6f2eb;border-bottom:1px solid #0000;position:sticky;top:0}.site-header[data-scrolled=true]{border-bottom-color:var(--color-border)}.site-header-inner{align-items:center;gap:var(--space-6);height:72px;display:flex}.site-header a.brand{text-decoration:none}.site-nav{gap:var(--space-1);margin-left:var(--space-4);display:flex}.site-nav a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none}.site-nav a:hover{background:var(--color-surface-sunken)}.site-nav a[aria-current=page]{color:var(--color-primary);background:var(--color-primary-subtle)}.site-header-actions{gap:var(--space-2);align-items:center;margin-left:auto;display:flex}.site-menu-toggle,.site-mobile-nav{display:none}@media (max-width:960px){.site-nav,.site-header-actions .hide-mobile{display:none}.site-menu-toggle{display:inline-flex}.site-mobile-nav[data-open=true]{border-top:1px solid var(--color-border);background:var(--color-canvas);padding:var(--space-3) 0 var(--space-6);display:block}.site-mobile-nav ul{flex-direction:column;display:flex}.site-mobile-nav a.nav-link{min-height:48px;padding:0 var(--space-2);color:var(--color-text);font-weight:var(--weight-medium);border-bottom:1px solid var(--color-border);align-items:center;text-decoration:none;display:flex}.site-mobile-nav a.nav-link[aria-current=page]{color:var(--color-primary)}}.section{padding:var(--space-24) 0}.section-tight{padding:var(--space-16) 0}.section-white{background:var(--color-surface)}.section-emerald{background:var(--color-primary);color:var(--color-text-inverse)}.section-emerald .lead,.section-emerald .muted{color:var(--color-text-inverse-muted)}.section-emerald :focus-visible{outline-color:#fff}@media (max-width:720px){.section{padding:var(--space-16) 0}.section-tight{padding:var(--space-12) 0}}.eyebrow{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent-text);letter-spacing:.01em;display:inline-flex}.eyebrow:before{content:"";background:var(--color-accent);border-radius:2px;width:18px;height:2px}.section-emerald .eyebrow{color:var(--palette-gold-100)}.display{font-size:var(--text-3xl);letter-spacing:-.03em;line-height:1.07;font-weight:var(--weight-semibold)}.h2{letter-spacing:-.025em;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);line-height:1.15}.h3{font-size:var(--text-lg)}.lead{color:var(--color-text-muted);font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.6}.section-head{gap:var(--space-4);max-width:720px;margin-bottom:var(--space-12);flex-direction:column;display:flex}.section-head.center{text-align:center;align-items:center;margin-left:auto;margin-right:auto}.hero{padding:var(--space-16) 0 var(--space-20);overflow:hidden}.hero-grid{gap:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}.hero-copy{gap:var(--space-6);flex-direction:column;max-width:760px;display:flex}.hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-note{font-size:var(--text-sm);color:var(--color-text-muted);gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.status-pill{align-self:flex-start;align-items:center;gap:var(--space-2);padding:4px var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text);display:inline-flex}.status-pill .dot{color:var(--color-accent)}.preview-frame{border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);overflow:hidden}.preview-chrome{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.preview-dots{gap:6px;display:flex}.preview-dots span{background:var(--palette-slate-200);border-radius:50%;width:10px;height:10px}.preview-body{grid-template-columns:200px minmax(0,1fr);min-height:420px;display:grid}.preview-side{background:var(--color-nav-bg);color:#fff;padding:var(--space-4) var(--space-3);flex-direction:column;gap:4px;display:flex}.preview-side .logo{margin:0 var(--space-2) var(--space-4)}.preview-nav{align-items:center;gap:var(--space-3);padding:8px var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:#ffffffdb;display:flex}.preview-nav svg{width:18px;height:18px}.preview-nav.active{color:#fff;box-shadow:inset 3px 0 0 var(--color-accent);background:#ffffff1f}.preview-nav .sidebar-count{margin-left:auto}.preview-main{padding:var(--space-6);gap:var(--space-4);background:var(--color-canvas);flex-direction:column;min-width:0;display:flex}.preview-main h3{font-size:var(--text-xl)}.preview-stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.preview-stats .stat{padding:var(--space-4)}.preview-stats .stat-value{font-size:var(--text-xl)}.preview-cols{gap:var(--space-3);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid}.mini-attention{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);align-items:flex-start;display:flex}.mini-attention:first-of-type{border-top:0}.mini-attention .attention-icon{width:32px;height:32px}.mini-attention .attention-icon svg{width:16px;height:16px}.mini-title{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.mini-text{font-size:var(--text-xs);color:var(--color-text-muted)}.mini-bars{height:110px;padding:var(--space-4);align-items:flex-end;gap:6px;display:flex}.mini-bars span{background:var(--color-primary);border-radius:4px 4px 1px 1px;flex:1}.mini-bars span:last-child{background:var(--color-accent)}.preview-caption{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-3)}@media (max-width:960px){.preview-body{grid-template-columns:minmax(0,1fr)}.preview-side{display:none}.preview-cols{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.preview-stats{grid-template-columns:minmax(0,1fr)}.preview-main{padding:var(--space-4)}.preview-stats .stat:nth-child(3){display:none}}.problem-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.problem-card{padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.problem-card .icon-box{border-radius:var(--radius-md);background:var(--color-surface-sunken);width:44px;height:44px;color:var(--color-text-muted);place-items:center;display:grid}.problem-card h3{font-size:var(--text-md)}.problem-card p{color:var(--color-text-muted);font-size:var(--text-sm)}.problem-cost{margin-top:var(--space-10);gap:var(--space-6);border-top:1px solid var(--color-border);padding-top:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.problem-cost p.big{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}@media (max-width:960px){.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-cost{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.problem-grid{grid-template-columns:minmax(0,1fr)}}.split{gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;display:grid}.split-reverse>:first-child{order:2}@media (max-width:960px){.split{gap:var(--space-10);grid-template-columns:minmax(0,1fr)}.split-reverse>:first-child{order:0}}.check-list{gap:var(--space-4);flex-direction:column;list-style:none;display:flex}.check-list li{gap:var(--space-3);align-items:flex-start;display:flex}.check-list .tick{background:var(--color-primary-subtle);width:24px;height:24px;color:var(--color-primary);border-radius:50%;flex:none;place-items:center;margin-top:1px;display:grid}.check-list .tick svg{width:14px;height:14px}.section-emerald .check-list .tick{color:#fff;background:#ffffff1f}.check-list strong{display:block}.check-list p{color:var(--color-text-muted);font-size:var(--text-sm)}.section-emerald .check-list p{color:var(--color-text-inverse-muted)}.journey{gap:var(--space-4);counter-reset:step;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;display:grid}.journey li{padding:var(--space-6) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:var(--space-3);flex-direction:column;display:flex;position:relative}.journey li:not(:last-child):after{content:"";top:44px;right:calc(-1 * var(--space-4));width:var(--space-4);background:var(--color-accent);height:2px;position:absolute}.journey-step{align-items:center;gap:var(--space-3);display:flex}.journey-num{background:var(--color-primary);color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.journey-num svg{width:20px;height:20px}.journey h3{font-size:var(--text-md)}.journey p{font-size:var(--text-sm);color:var(--color-text-muted)}.journey .example{font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface-muted);border-left:3px solid var(--color-accent);padding:var(--space-2) var(--space-3);border-radius:0 var(--radius-sm) var(--radius-sm) 0}@media (max-width:1080px){.journey{grid-template-columns:minmax(0,1fr)}.journey li:not(:last-child):after{top:auto;bottom:calc(-1 * var(--space-4));width:2px;height:var(--space-4);left:38px;right:auto}}.feature-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.feature-card{padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.feature-card .icon-box{border-radius:var(--radius-md);background:var(--color-primary-subtle);width:44px;height:44px;color:var(--color-primary);place-items:center;display:grid}.feature-card h3{font-size:var(--text-lg)}.feature-card p{color:var(--color-text-muted);font-size:var(--text-sm)}.feature-card ul{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;margin-top:auto;list-style:none;display:flex}.feature-card ul li{gap:var(--space-2);display:flex}.feature-card ul svg{width:16px;height:16px;color:var(--color-primary);flex:none;margin-top:3px}.status-legend{gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}@media (max-width:960px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.feature-grid{grid-template-columns:minmax(0,1fr)}}.audience-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.audience-card{padding:var(--space-8) var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.audience-card .kicker{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent-text)}.audience-card p{color:var(--color-text-muted);font-size:var(--text-sm)}@media (max-width:960px){.audience-grid{grid-template-columns:minmax(0,1fr)}}.rollout{margin-top:var(--space-10);padding:var(--space-8);gap:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.rollout-mark{border-radius:var(--radius-lg);background:var(--color-accent-subtle);width:56px;height:56px;color:var(--color-accent-text);place-items:center;display:grid}@media (max-width:640px){.rollout{padding:var(--space-6);grid-template-columns:minmax(0,1fr)}}.trust-grid{gap:var(--space-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.trust-item{gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);background:#ffffff0f;border:1px solid #ffffff1f;flex-direction:column;display:flex}.trust-item svg{color:var(--palette-gold-500)}.trust-item p{font-size:var(--text-sm);color:var(--color-text-inverse-muted)}@media (max-width:960px){.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.trust-grid{grid-template-columns:minmax(0,1fr)}}.section-emerald a:not(.btn){color:#fff}.cta-band{border-radius:var(--radius-xl);padding:var(--space-16) var(--space-10);background:var(--color-surface);border:1px solid var(--color-border);text-align:center;align-items:center;gap:var(--space-5);flex-direction:column;display:flex;position:relative;overflow:hidden}.cta-band:before{content:"";background:var(--color-accent);height:4px;position:absolute;inset:0 0 auto}@media (max-width:640px){.cta-band{padding:var(--space-10) var(--space-5)}}.plan-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.plan{padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.plan-name{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:var(--weight-bold);color:var(--color-accent-text)}.plan-price{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.plan p{font-size:var(--text-sm);color:var(--color-text-muted)}.plan-featured{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary), var(--shadow-md)}.faq{gap:var(--space-3);flex-direction:column;max-width:820px;display:flex}.faq details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-5)}.faq summary{cursor:pointer;min-height:56px;font-weight:var(--weight-semibold);justify-content:space-between;align-items:center;gap:var(--space-3);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:var(--text-xl);color:var(--color-text-muted);font-weight:400}.faq details[open] summary:after{content:"–"}.faq details>div{padding-bottom:var(--space-5);color:var(--color-text-muted)}.page-hero{padding:var(--space-16) 0 var(--space-12)}.page-hero .display{font-size:clamp(2rem,1.5rem + 2vw,3rem)}.page-hero .lead{max-width:720px}.status-table td,.status-table th{vertical-align:top}.prose{gap:var(--space-4);max-width:720px;color:var(--color-text);flex-direction:column;display:flex}.prose p{color:var(--color-text-muted)}.site-footer{background:var(--color-nav-bg-deep);color:var(--color-text-inverse-muted);padding:var(--space-16) 0 var(--space-8);margin-top:auto}.site-footer :focus-visible{outline-color:#fff}.footer-grid{gap:var(--space-8);grid-template-columns:1.4fr repeat(3,minmax(0,1fr));display:grid}.footer-grid h2{font-size:var(--text-sm);color:#fff;margin-bottom:var(--space-3);letter-spacing:0}.footer-grid ul{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.footer-grid a{color:var(--color-text-inverse-muted);font-size:var(--text-sm);text-decoration:none}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-bottom{margin-top:var(--space-12);padding-top:var(--space-6);font-size:var(--text-xs);justify-content:space-between;gap:var(--space-4);border-top:1px solid #ffffff1f;flex-wrap:wrap;display:flex}@media (max-width:860px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.footer-grid{grid-template-columns:minmax(0,1fr)}}
