:root{color-scheme:light;--ink:#162e37;--muted:#53676f;--line:#d8e1df;--green:#006951;--cream:#f5f7f3;--nav:#102f38}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 "Segoe UI",Arial,sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:0;min-height:44px;font-weight:600}button:disabled{cursor:not-allowed;opacity:.46}a{color:inherit;text-decoration:none}button,input,a{outline-offset:4px}:focus-visible{outline:3px solid #d08b22}input:not([type=checkbox]):not([type=radio]){width:100%;min-height:46px;border:1px solid #a8bab7;border-radius:8px;background:white;padding:10px 12px;color:var(--ink)}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:19px;height:19px;flex-shrink:0}input:disabled{cursor:not-allowed}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--nav);color:#ebf3ed;padding:35px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-size:28px;letter-spacing:-1px;font-weight:700;margin-bottom:58px;gap:9px}.brand-icon{display:grid;place-items:center;background:#cbe8a1;color:#173c32;border-radius:9px;width:37px;height:37px;font-size:25px}.brand-sub{font-weight:400;font-size:15px;letter-spacing:0;color:#c1d6d7;align-self:end;margin-bottom:5px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted)}.sidebar .eyebrow{color:#a5bdc1}nav{margin:17px -10px;display:grid;gap:8px}nav a{padding:13px 12px;border-radius:8px;font-size:14px;color:#c5d8da}nav a.selected{background:#27464c;color:white}nav a span{float:right}.device{margin-top:auto;font-size:13px;color:#e0ece6}.device small{display:block;color:#a8c0c4;margin-top:9px;line-height:1.8}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#788d91;margin-right:8px;flex-shrink:0}.device .dot{background:#cbe8a1}main{margin-left:230px;padding:40px clamp(22px,3vw,54px) 20px;max-width:1600px}header{display:flex;justify-content:space-between;gap:18px;margin-bottom:32px}h1{font-size:clamp(27px,3vw,38px);line-height:1.2;font-weight:600;letter-spacing:-1.3px;margin:12px 0}header p{margin:0;color:var(--muted);font-size:14px}.badge,.count{font-size:12px;font-weight:600;padding:5px 10px;border-radius:20px;background:#e6ebe2;white-space:nowrap}.badge{align-self:flex-start;margin-top:10px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}fieldset{border:0;margin:0;padding:0;min-width:0}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:18px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}h2{font-size:21px;letter-spacing:-.4px;font-weight:600;margin:5px 0 0}.hint,small{font-size:12px;color:var(--muted);line-height:1.6}.hint{margin:12px 0 0}.mode-row{display:flex;flex-wrap:wrap;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.mode-row label{display:flex;align-items:center;gap:8px;min-height:44px}.station-tools{display:flex;align-items:center;gap:8px;margin:16px 0}.search-label{flex:1;min-width:80px}.text-button{background:transparent;color:var(--green);padding:4px 8px;font-size:12px}.stations{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:316px;overflow:auto;padding:4px}.station{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px;min-height:61px;cursor:pointer}.station:has(input:checked){background:#eef7ee;border-color:#5e9377}.station strong{font-size:14px}.station small{display:block;font-size:11px}.station[hidden]{display:none}.add-station{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:16px}.add-station label{grid-column:1/-1;font-size:12px;font-weight:600}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label{font-size:13px;font-weight:600}.fields input{margin-top:8px}.fields small{display:block;font-weight:400;margin-top:6px}.fields .wide{grid-column:1/-1}.wide input{max-width:160px;display:block}.week-head,.day{display:grid;grid-template-columns:1.1fr 1fr 1fr 78px;align-items:center;gap:10px}.week-head{color:var(--muted);font-size:11px;margin:20px 0 6px}.day{border-top:1px solid #edf0ed;padding:8px 0;min-height:62px}.day label{display:flex;align-items:center;min-height:44px;gap:6px}.day input[type=time]{padding:8px 5px;min-width:0}.day label:last-child{justify-content:center}.stop-option{display:flex;gap:12px;align-items:start;padding:8px 0;cursor:pointer}.stop-option strong{display:block;font-size:14px}.stop-option small{display:block;margin-top:6px}.save-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted);padding:2px 0 22px}.secondary{border:1px solid #bacbc7;border-radius:8px;background:#fff;color:var(--ink);padding:10px 16px}.secondary:hover:not(:disabled){background:#eaf2ec}.session-rail{position:sticky;top:24px}.session-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:12px;padding:24px}.status-heading{display:flex;align-items:center;margin-top:12px}.status-heading h2{font-size:20px;line-height:1.4;margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:24px}.metrics strong{display:block;font-size:25px;font-weight:600;font-variant-numeric:tabular-nums}.metrics span{font-size:10px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:24px 0}.summary{padding:0;list-style:none;font-size:13px;margin:10px 0 20px}.summary li{padding:5px 0}.summary li:before{content:'✓';color:var(--green);margin-right:8px}.primary,.stop{width:100%;border-radius:8px;padding:13px;margin-top:14px}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:#00513e}.stop{background:#f4f6f4;color:#8a372a;border:1px solid #d8dfd8;margin-top:9px}.compact{text-align:center}.evidence{font-size:11px;color:var(--muted);margin-top:16px;overflow-wrap:anywhere}.rail-note{font-size:12px;color:var(--muted);padding:0 10px;line-height:1.6}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;font-size:11px;color:var(--muted);gap:16px}#message{padding:14px 18px;border:1px solid #93b49d;border-radius:8px;background:#edf6ed;margin-bottom:20px}#message.error{border-color:#d7a5a0;background:#fff1ee;color:#7d231c}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:2}.skip:focus{top:8px}.busy{cursor:wait} @media(max-width:1150px){.sidebar{width:186px;padding:30px 18px}.brand{font-size:24px;gap:6px}.brand-sub{font-size:12px}main{margin-left:186px;padding:30px 20px}.layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px}.card,.session-card{padding:18px}.stations{grid-template-columns:1fr}.week-head,.day{grid-template-columns:1fr 1fr 1fr 65px;gap:6px}}@media(max-width:900px){.sidebar{position:static;width:auto;padding:16px 22px;display:block}.brand{margin:0;font-size:24px}.sidebar nav,.sidebar>.eyebrow,.device{display:none}main{margin-left:0;padding:26px 18px}.layout{grid-template-columns:minmax(0,1fr) 275px}.badge{display:none}h1{font-size:29px}}@media(max-width:680px){.layout{display:flex;flex-direction:column}.layout>*,.session-rail{width:100%}.session-rail{position:static}.stations{grid-template-columns:1fr 1fr}.station{min-width:0}.station small{font-size:10px}.station-tools{flex-wrap:wrap}.search-label{flex-basis:100%}.card{padding:18px 14px}.week-head,.day{grid-template-columns:72px 1fr 1fr 67px;gap:4px}.week-head{font-size:10px}.day input[type=time]{font-size:13px;padding:7px 3px}.day label{font-size:13px}h1{font-size:27px}.fields{gap:14px}footer{flex-direction:column;gap:5px}.save-bar{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.station span{min-width:0;overflow-wrap:anywhere}.station strong{font-size:13px;line-height:1.4}@media(max-width:680px){.stations{grid-template-columns:1fr}}
/* Account settings: readable rows and consistent units. */
.account-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.account-status p{font-size:12px;color:var(--muted);margin:0}.account-status button{flex-shrink:0;font-size:12px}.stations{grid-template-columns:1fr;max-height:430px;gap:0}.station{border:0;border-bottom:1px solid var(--line);border-radius:0;justify-content:space-between;padding:13px 8px;min-height:70px}.station:has(input:checked){background:#f4f9f5;border-color:var(--line)}.station strong{font-weight:500;font-size:14px}.station small{margin-top:3px}.switch[type=checkbox]{appearance:none;position:relative;width:42px;height:26px;border-radius:16px;background:#c6d1cf;border:1px solid #8da19b;cursor:pointer;margin:0;transition:background .15s}.switch[type=checkbox]:before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:white;box-shadow:0 1px 3px #0003;transition:transform .15s}.switch[type=checkbox]:checked{background:var(--green);border-color:var(--green)}.switch[type=checkbox]:checked:before{transform:translateX(16px)}.switch[type=checkbox]:disabled{cursor:not-allowed}.field{min-width:0}.stepper{display:flex;align-items:center;gap:6px;margin-top:8px;max-width:245px}.stepper button{background:#e8f0ec;border-radius:7px;color:var(--green);font-size:22px;min-width:38px;padding:0 8px}.stepper input[type=number]{margin:0;text-align:center;font-variant-numeric:tabular-nums;min-width:0;padding:8px 3px;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.wide .stepper input{max-width:none}.fields small{max-width:65ch}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:16px}.setting-row small{display:block}.day:has(.enabled:not(:checked)) input[type=time]{color:var(--muted);background:#f5f7f5}.day .switch{width:36px;height:24px}.day .switch:before{width:16px;height:16px}.day .switch:checked:before{transform:translateX(12px)}
@media(max-width:680px){.account-status{align-items:flex-start;flex-direction:column;gap:8px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.stepper{max-width:280px}.day label{gap:4px}.station strong{font-size:14px}.save-bar{position:sticky;bottom:0;background:var(--cream);border-top:1px solid var(--line);padding:12px 0;z-index:1}.save-bar button{flex:1}.day .switch{width:32px}.day .switch:checked:before{transform:translateX(8px)}}
@media(prefers-reduced-motion:reduce){.switch[type=checkbox],.switch[type=checkbox]:before{transition:none}}
dialog{border:1px solid var(--line);border-radius:20px;max-width:570px;width:calc(100% - 32px);max-height:85vh;overflow:auto;padding:28px;color:var(--ink);box-shadow:0 24px 80px #102f3833}dialog::backdrop{background:#102f3877}dialog p{line-height:1.65;font-size:14px}dialog h2{margin-top:0}.help-button{background:transparent;border:1px solid var(--green);border-radius:50%;width:44px;color:var(--green);font-size:20px;font-family:Georgia,serif}
.booking-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;margin-top:18px}.booking{padding:18px;border:1px solid var(--line);border-radius:10px;min-width:0}.booking-details{white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.booking .secondary{margin-top:12px}#cancel-dismiss{width:100%;margin-top:12px}#calendar-section .section-heading{flex-wrap:wrap;gap:12px}#calendar-section[aria-busy=true]{opacity:.7}
