:root{--background:#fafafa;--surface:#fff;--border:#e5e7eb;--foreground:#12181a;--muted:#5c6663;--accent:#0d9488;--on-accent:#eafbf8;--error:#dc2626;--good:#2f8f5c}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}a{color:inherit}.page{flex-direction:column;gap:32px;max-width:960px;margin:0 auto;padding:56px 24px 96px;display:flex}.pageNarrow{flex-direction:column;gap:32px;max-width:420px;margin:0 auto;padding:96px 24px;display:flex}.title{letter-spacing:-.02em;font-size:28px;font-weight:700}.subtitle{color:var(--muted);font-size:15px;line-height:1.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:16px;padding:28px;display:flex;box-shadow:0 1px 2px #12181a0a}.label{color:var(--foreground);font-size:13px;font-weight:600}.input,.select{background:var(--background);border:1px solid var(--border);color:var(--foreground);border-radius:10px;width:100%;padding:11px 14px;font-size:15px}.input:focus,.select:focus{outline:2px solid var(--accent);outline-offset:1px}.button{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:10px;padding:11px 20px;font-size:15px;font-weight:600}.button:disabled{opacity:.5;cursor:default}.buttonSecondary{border:1px solid var(--border);color:var(--foreground);background:0 0}.error{color:var(--error);font-size:14px}.rowBetween{justify-content:space-between;align-items:center;gap:12px;display:flex}.sessionRow{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:16px 0;display:flex}.sessionRow:last-child{border-bottom:none}.sessionRow:hover{cursor:pointer}.sessionTitle{font-size:16px;font-weight:600}.sessionMeta{color:var(--muted);font-size:13px}.badge{background:var(--on-accent);color:var(--accent);border-radius:999px;width:fit-content;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.filtersRow{flex-wrap:wrap;gap:12px;display:flex}.filtersRow>*{flex:1;min-width:160px}
