:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#4595cf;--brand-hover:#3379ac;--brand-tint:#eaf4fb;--brand-tint-strong:#d3e9f6;--background:#f4f8fb;--ink:#1a2733;--muted:#5b6b79;--border:#d7e1e9;--surface:#fff;--success:#1f8a4c;--success-tint:#e7f6ed;--warning:#a5680a;--warning-tint:#fdf1dd;--danger:#c22a2a;--danger-tint:#fbe9e9;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #1a27330f;--shadow-md:0 4px 16px #1a273314;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font-sans:"Avenir Next", "Avenir", "Nunito Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-weight-body:400;--font-weight-heading:800}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--background);color:var(--ink);font-family:var(--font-sans);font-weight:var(--font-weight-body);margin:0;line-height:1.55}h1,h2,h3,h4{font-weight:var(--font-weight-heading);letter-spacing:-.01em;margin:0 0 var(--space-3);line-height:1.2}h1{font-size:clamp(1.75rem,1.5rem + 1vw,2.25rem)}h2{font-size:1.375rem}h3{font-size:1.125rem}p{margin:0 0 var(--space-3)}a{color:var(--brand-hover)}button,input,select,textarea{font:inherit}button{background:var(--brand);border:1px solid var(--brand);border-radius:var(--radius-sm);color:#fff;cursor:pointer;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);justify-content:center;font-weight:700;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}button:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);min-height:48px;padding:0 var(--space-3);width:100%;font-size:16px}textarea{min-height:96px;padding:var(--space-3)}input:focus,select:focus,textarea:focus,button:focus{outline:none}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}label{font-weight:600}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface);border-bottom:3px solid var(--brand);align-items:center;gap:var(--space-4);min-height:64px;padding:var(--space-2) var(--space-5);z-index:10;flex-wrap:wrap;justify-content:space-between;display:flex;position:sticky;top:0;transform:translateZ(0)}.brand-link{align-items:center;text-decoration:none;display:inline-flex}.nav-links{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--muted);min-height:44px;padding:0 var(--space-3);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.nav-link[aria-current=page]{background:var(--brand-tint);color:var(--brand-hover)}.app-footer{background:var(--surface);border-top:3px solid var(--brand);align-items:center;column-gap:var(--space-4);padding:var(--space-2) var(--space-5);justify-content:space-between;row-gap:var(--space-1);flex-wrap:wrap;margin-top:auto;display:flex}.app-footer-credit{color:var(--muted);margin:0;font-size:.875rem}.app-footer-credit a{color:var(--brand-hover);font-weight:700;text-decoration:none}.nav-link-sm{min-height:36px;font-size:.875rem;font-weight:600}.nav-logout{border-color:var(--border);color:var(--muted);min-height:44px;padding:0 var(--space-3);background:0 0;font-weight:700}.nav-logout:hover:not(:disabled){background:var(--danger-tint);border-color:var(--danger-tint);color:var(--danger)}@media (max-width:480px){.app-header{min-height:56px;padding:var(--space-2) var(--space-3)}.nav-links{gap:var(--space-1)}.nav-link,.nav-logout{padding:0 var(--space-2);font-size:.875rem}.app-footer{padding:var(--space-2) var(--space-3);justify-content:center}}.page{max-width:1100px;padding:var(--space-6) var(--space-5);width:100%;margin:0 auto}.page-narrow{max-width:440px;padding:var(--space-7) var(--space-5);width:100%;margin:0 auto}.page-center{flex-direction:column;flex:1;justify-content:center;display:flex}.narrow-page{max-width:440px;padding:var(--space-7) var(--space-5);width:100%;margin:0 auto}.page-header{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);justify-content:space-between;display:flex}.page-header h1{margin-bottom:var(--space-1)}.page-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.stack{gap:var(--space-4);display:grid}.stack-sm{gap:var(--space-2);display:grid}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.grid-auto{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.muted{color:var(--muted)}.badge{background:var(--brand-tint);color:var(--brand-hover);align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:999px;font-size:.8125rem;font-weight:700;display:inline-flex}.divider{background:var(--border);height:1px;margin:var(--space-4) 0;border:none}.alert{background:var(--brand-tint);border:1px solid var(--brand-tint-strong);border-radius:var(--radius-md);color:var(--ink);padding:var(--space-4)}.alert-warning{background:var(--warning-tint);border-color:var(--warning-tint);color:#6e4a08}.alert-danger{background:var(--danger-tint);border-color:var(--danger-tint);color:#7a1c1c}.error-text{color:var(--danger);font-weight:600}.form-stack,.panel-stack{gap:var(--space-4);display:grid}.field{gap:var(--space-1);display:grid}.actions-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.session-list{gap:var(--space-3);display:grid}.session-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:flex-start;gap:var(--space-4);padding:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.session-item h2{margin:0 0 var(--space-1);font-size:1.125rem}.session-item p{color:var(--muted);margin:0 0 var(--space-1)}.session-actions{gap:var(--space-2);justify-items:end;display:grid}.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}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block}html,body{background:#fff}.page,.page-narrow,.narrow-page{max-width:none;padding:0}.card,.panel,.session-item{box-shadow:none}@page{margin:16mm}}
