:root{--brand:#0f766e;--accent:#f59e0b;--bg:#f6f7f9;--surface:#fff;--text:#111827;--muted:#5b6472;--line:#e4e7ec;--danger:#b42318;--ok:#067647;--warn:#b54708;--radius:14px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--brand-soft:color-mix(in srgb, var(--brand) 10%, white);--brand-ink:color-mix(in srgb, var(--brand) 80%, black);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-contrast=high]{--bg:#fff;--surface:#fff;--text:#000;--muted:#1f1f1f;--line:#000;--brand-soft:#fff;--brand-ink:#000;--shadow:none}html[data-contrast=high] .card,html[data-contrast=high] .session{border:2px solid #000}html[data-contrast=high] a,html[data-contrast=high] .link{text-decoration:underline}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;padding-bottom:calc(72px + env(safe-area-inset-bottom));font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}@media (min-width:900px){body{padding-bottom:0}}a{color:var(--brand-ink)}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{letter-spacing:-.01em;font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.skip{background:var(--surface);z-index:100;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.container{max-width:1040px;margin:0 auto;padding:16px}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:10px;min-width:0;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.brand-logo{width:auto;height:34px}.brand-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topnav{gap:4px;margin-left:auto;display:none}.topbar-login{margin-left:auto}@media (min-width:900px){.topnav{display:flex}.topbar-login{display:none}}.navlink{color:var(--muted);border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.navlink[aria-current=page]{color:var(--brand-ink);background:var(--brand-soft)}.bottomnav{z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;inset:auto 0 0}.bottomnav .navlink{flex-direction:column;gap:2px;min-width:60px;padding:6px 8px;font-size:.72rem}@media (min-width:900px){.bottomnav{display:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.stack{gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.grid-2{gap:12px;display:grid}@media (min-width:700px){.grid-2{grid-template-columns:1fr 1fr}}.grid-3{gap:12px;display:grid}@media (min-width:700px){.grid-3{grid-template-columns:repeat(3,1fr)}}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.page-head{margin:4px 0 16px}.btn{background:var(--brand);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:650;text-decoration:none;transition:filter .15s,transform 50ms;display:inline-flex}.btn:hover{filter:brightness(1.06)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{color:var(--brand-ink);border-color:var(--line);background:0 0}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, white);background:0 0}.btn-small{min-height:36px;padding:0 12px;font-size:.9rem}.btn-block{width:100%}.chips{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex:none;min-height:40px;padding:8px 14px;font-weight:600}.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}.badge{background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;display:inline-block}.badge-ok{color:var(--ok);background:#ecfdf3}.badge-warn{color:var(--warn);background:#fffaeb}.badge-danger{color:var(--danger);background:#fef3f2}.badge-muted{color:var(--muted);background:#f2f4f7}label{gap:4px;font-size:.92rem;font-weight:600;display:grid}input,select,textarea{font:inherit;background:var(--surface);min-height:44px;color:var(--text);border:1px solid #cfd4dc;border-radius:10px;width:100%;padding:8px 12px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--brand)}input[type=color]{width:64px;padding:4px}.check{align-items:flex-start;gap:10px;font-weight:500;display:flex}.form{gap:14px;display:grid}.error{color:var(--danger);font-weight:600}.week-nav{justify-content:space-between;align-items:center;gap:8px;margin:12px 0;display:flex}.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:14px;display:grid}.day{border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;border-radius:12px;justify-items:center;gap:0;padding:8px 0;display:grid}.day .wd{text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.day .dn{font-size:1.1rem;font-weight:750}.day .dot{background:0 0;border-radius:50%;width:6px;height:6px;margin-top:2px}.day.has .dot{background:var(--accent)}.day[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}.day[aria-selected=true] .wd{color:#fff}.day.today:not([aria-selected=true]){border-color:var(--brand)}.session{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--act,var(--brand));border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:64px 1fr;align-items:start;gap:12px;padding:14px;display:grid}.session .time{font-size:1.05rem;font-weight:800}.session .time small{color:var(--muted);font-size:.8rem;font-weight:500;display:block}.session .meta{color:var(--muted);font-size:.88rem}.session .actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.session.cancelled{opacity:.6}.spots{font-size:.88rem;font-weight:700}.spots.low{color:var(--warn)}.spots.full{color:var(--danger)}.meter{background:#eef0f3;border-radius:99px;height:6px;margin-top:6px;overflow:hidden}.meter>span{background:var(--brand);height:100%;display:block}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);padding:28px 16px}.hero{background:linear-gradient(135deg, var(--brand), var(--brand-2,color-mix(in srgb, var(--brand) 65%, var(--accent))));color:#fff;border-radius:20px;margin-bottom:16px;padding:28px 20px}.hero h1{font-size:1.9rem}.hero .btn{color:var(--brand-ink);background:#fff}.hero .btn-ghost{color:#fff;background:0 0;border-color:#fff9}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}th{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:700}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:6px;margin-bottom:16px;display:flex;overflow-x:auto}.tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;min-height:44px;padding:10px 14px;font-weight:650}.tab[aria-selected=true]{color:var(--brand-ink);border-bottom-color:var(--brand)}.toasts{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:50;gap:8px;width:min(92vw,420px);display:grid;position:fixed;transform:translate(-50%)}.toast{color:#fff;border-radius:12px;padding:12px 16px;font-weight:600;box-shadow:0 8px 24px #0000002e}.toast-ok{background:#12372a}.toast-error{background:var(--danger)}@media (min-width:900px){.toasts{bottom:24px}}.progress{background:#eef0f3;border-radius:99px;height:10px;overflow:hidden}.progress>span{background:var(--accent);height:100%;display:block}.big-num{font-size:2rem;font-weight:800;line-height:1}details summary{cursor:pointer;min-height:32px;font-weight:600}@media print{.topbar,.bottomnav,.no-print{display:none!important}body{background:#fff}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.cap{display:block}.cap:first-letter{text-transform:uppercase}
