:root{color-scheme:light;--ink:#202823;--muted:#657269;--line:#dde3dc;--accent:#d5f37b;--paper:#f5f6f0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif}header{display:flex;align-items:center;gap:24px;padding:20px 5vw;background:#fff;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:25px;font-weight:750;letter-spacing:-1px;color:var(--ink)}.brand span{color:#587b21}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--muted)}header form{margin-left:auto}.readonly{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:5px 12px}main{max-width:1100px;margin:auto;padding:42px 24px}h1{font-size:clamp(30px,4vw,45px);line-height:1.14;letter-spacing:-1.8px;margin:8px 0 16px}p{color:var(--muted)}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:#52683b}.title{display:flex;align-items:center;justify-content:space-between;gap:25px}.title p{margin:8px 0 20px}button,input,select{font:inherit;border-radius:10px}button{cursor:pointer;padding:11px 17px;font-weight:600;border:1px solid var(--line)}.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.quiet{background:#fff;color:var(--ink)}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #749733;outline-offset:3px}.notice{padding:14px 18px;border-radius:12px;font-size:14px;margin:18px 0}.warning{background:#fff0d6;border:1px solid #e5cb98;color:#695120}.fresh{background:#e8f4d7;border:1px solid #bcd1a0;color:#3b562a}.filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:30px 0}label{display:grid;gap:7px;font-size:13px;font-weight:650}input,select{border:1px solid #cbd4c8;background:#fff;color:var(--ink);padding:11px 12px;min-height:47px}nav{display:flex;gap:18px;margin-left:auto;padding:12px 0;font-size:13px}h2{font-size:21px;display:flex;align-items:center;gap:15px}h2 small{font-size:12px;font-weight:400;color:var(--muted)}.sessions{display:grid;gap:14px}.session{display:flex;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.time{flex:0 0 100px;background:#edf1e8;display:flex;flex-direction:column;align-items:center;padding:22px 12px;gap:4px}.time strong{font-size:23px}.time span{font-size:13px;color:var(--muted)}.session-body{padding:20px 24px;flex:1;min-width:0}.session-top{display:flex;justify-content:space-between;gap:15px;align-items:center}h3{font-size:19px;margin:0}.badge{font-size:11px;background:#eff2e9;padding:4px 10px;border-radius:30px}.meta{font-size:13px;margin:6px 0 17px}.cancelled{border-color:#e3b9b3}.cancelled .badge{background:#f9e2de;color:#8b3226}summary{cursor:pointer;font-size:13px;font-weight:650}.people{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}.people li{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #edf0e9}.people small{color:var(--muted)}.footnote,.hint{font-size:13px;color:var(--muted)}.footnote{margin:25px 0}.empty{padding:40px;background:#fff;border:1px dashed #c5cfc1;border-radius:14px}.login{max-width:440px;margin:35px auto}.login form{display:grid;gap:19px;margin:28px 0}.login .primary{display:flex;justify-content:space-between;padding:15px 18px}.login h1{font-size:44px}footer{text-align:center;padding:25px;font-size:12px;color:var(--muted)}@media(max-width:620px){header{gap:12px;padding:15px}.brand{font-size:21px}header button{font-size:12px;padding:8px}.readonly{font-size:10px;padding:4px 8px}main{padding:25px 15px}.title{align-items:start;flex-direction:column;gap:0}.filters{gap:12px}.filters nav{width:100%;justify-content:space-between}.time{flex-basis:73px}.time strong{font-size:19px}.session-body{padding:16px 13px}.session-top{align-items:start;flex-direction:column;gap:5px}h3{font-size:17px}.people li{font-size:14px}h2{flex-wrap:wrap}.login h1{font-size:38px}}@media print{body{background:white;font-size:12px}header form,.filters,.title button,footer{display:none}header{padding:0 0 12px}main{padding:15px 0;max-width:none}h1{font-size:25px}.session{break-inside:avoid;margin-bottom:8px}.session-body{padding:10px}.time{padding:10px}.notice{font-size:11px}.footnote{font-size:10px}}
