:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#182f37;background:#f3f5f2;line-height:1.6;--surface:#fff;--border:#d9e1db;--muted:#5c7075;--accent:#14695b}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1380px;margin:auto;padding:24px 36px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}h1,h2,p{margin:0}h1{font-size:30px;letter-spacing:-1px}h2{font-size:18px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:700}header p:not(.eyebrow){color:var(--muted);font-size:14px}.badge{background:#e3eee8;color:#29594c;border-radius:20px;padding:7px 14px;font-size:13px;white-space:nowrap}.access{display:grid;grid-template-columns:minmax(280px,1fr) 1fr;align-items:center;gap:28px}label{display:block;font-size:13px;font-weight:650;margin-bottom:5px}.row{display:flex;gap:8px;flex-wrap:wrap}input,select,button{font:inherit;border:1px solid var(--border);border-radius:7px;min-height:40px;padding:8px 12px;background:var(--surface);color:inherit}input{min-width:100px;flex:1}select{width:100%}button{cursor:pointer;font-size:13px;font-weight:600}button:hover{border-color:var(--accent);color:var(--accent)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #85b5a8;outline-offset:2px}#connect{background:var(--accent);color:#fff}.hint{font-size:12px;color:var(--muted);margin-top:7px}.notice{font-size:13px;margin:20px 0;padding:10px 14px;background:#e9efea;min-height:40px}.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sessions,.events,.tasks{list-style:none;padding:0;margin:18px 0}.sessions{max-height:560px;overflow:auto}.sessions li+li{margin-top:6px}.sessions button{width:100%;text-align:left;border-color:transparent;background:transparent;overflow-wrap:anywhere}.sessions button[aria-current=true]{background:#e6f1eb;border-color:#b4d0c4;color:#165d4b}.sessions small{display:block;color:var(--muted);font-weight:400}.history{min-height:500px}.events{max-height:650px;overflow:auto;padding-right:8px}.events li{padding:15px 0;border-bottom:1px solid var(--border)}.event-meta{font-size:11px;color:var(--muted);margin-bottom:5px}.event-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.empty{color:var(--muted);font-size:14px;padding:25px 0}.tasks li{padding:10px;border-bottom:1px solid var(--border);overflow-wrap:anywhere;font-size:13px}summary{cursor:pointer;font-size:14px;font-weight:600}.privacy{margin-top:20px}.privacy p{font-size:13px;color:var(--muted);max-width:950px;margin:8px 0 14px}footer{font-size:12px;color:var(--muted);padding-top:0}[hidden]{display:none!important}@media(max-width:900px){header,main,footer{padding:20px 16px}.access,.layout{grid-template-columns:1fr}.badge{white-space:normal}header{align-items:flex-start}.sessions{max-height:220px}.events{max-height:65vh}.section-heading{align-items:flex-start}}@media(prefers-color-scheme:dark){:root{color:#dbe8df;background:#15201e;--surface:#1d2b28;--border:#344b43;--muted:#a0b5aa;--accent:#80cdb2}.badge,.notice{background:#263e34;color:#b8dbc9}.sessions button[aria-current=true]{background:#29483a;color:#c2edd8;border-color:#52765f}#connect{color:#102d23}}

/* Shared touch/keyboard foundations; preserve the existing control palette. */
:root{color-scheme:light dark;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-height:100svh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}
header{flex-wrap:wrap}header>div{min-width:0;flex:1 1 240px}
input,select,button{min-height:44px;font-size:16px;max-width:100%;touch-action:manipulation}
input,select{min-width:0;scroll-margin-block:24px}button{overflow-wrap:anywhere}a{text-underline-offset:3px}
h1,h2,.hint,.notice,#invite-expiry,#admin-message,#login-error,#enroll-message{overflow-wrap:anywhere}
.auth-page header,.auth-page main{max-width:620px}.auth-page h1{font-size:clamp(26px,5vw,30px)}
.auth-panel{display:grid;gap:20px}.auth-page form{display:grid;gap:18px}.auth-page form p{display:grid;gap:6px}
.auth-page label{margin:0}.auth-page input{width:100%}.auth-page #submit{width:100%;min-height:48px}
.auth-page .hint{margin:0}.auth-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.auth-links a,.back-link{display:inline-flex;align-items:center;min-height:44px}.back-link{justify-self:start}
#submit,#create-invite{background:var(--accent);color:#fff}#login-error:empty,#enroll-message:empty,#admin-message:empty{display:none}
.account-page header,.account-page main{max-width:960px}.account-page header>a{display:inline-flex;align-items:center;min-height:44px}
.account-page form{display:grid;gap:10px;margin-top:16px}.account-page form input{width:100%}.account-page form button{justify-self:start}
#invite-result{display:grid;gap:12px;padding-top:20px}#invite-result input{width:100%}
#users{list-style:none;padding:0;margin:16px 0 0}#users li{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
#users li span{flex:1;min-width:0;overflow-wrap:anywhere}#users button{flex-shrink:0}
#account-access{min-width:0}#account-access>a{display:inline-flex;align-items:center;min-height:44px;margin-bottom:8px}
#token-fields{display:block;margin-bottom:8px}#token-fields input{width:100%}.section-heading>div{min-width:0}.section-heading>button{flex-shrink:0}
.mobile-history-link{display:none}#session-title{scroll-margin-top:20px}#more-events{margin-bottom:20px}
summary{min-height:44px;padding-block:10px}
@media(max-width:900px){
 header,main,footer{padding:20px 16px}.panel{padding:18px}.access,.layout{grid-template-columns:minmax(0,1fr)}
 .layout{gap:16px}.mobile-history-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:8px}
 .sessions{max-height:200px;overscroll-behavior-y:contain}.history{min-height:0}.events{max-height:none;overflow:visible;padding-right:0}
 .event-text{font-size:16px}.event-meta{font-size:12px;overflow-wrap:anywhere}.hint{font-size:14px}.notice{font-size:14px}
 .section-heading{flex-wrap:wrap}.section-heading>div{flex:1 1 180px}.privacy .row>button{flex:1 1 220px}
 .auth-page main{padding-bottom:max(28px,env(safe-area-inset-bottom))}.auth-links{display:grid;gap:4px}
 .account-page form button{justify-self:stretch}.account-page #users li{align-items:stretch;flex-direction:column;gap:12px}
 #invite-result button,#signout,#more-events{width:100%}#invite-result input{font-family:ui-monospace,monospace}
 .row>button{flex:1 1 100px}.auth-page h1{letter-spacing:-.5px}
}
@media(prefers-color-scheme:dark){#submit,#create-invite{color:#102d23}}

input::placeholder{color:var(--muted);opacity:1}
@media(max-width:900px){label{font-size:14px}}
