:root{font-family:system-ui,sans-serif;color:#000;background:#f7f8fc;line-height:1.5;--navy: #243b79;--magenta: #ec008c;--cyan: #009cde;--surface: #fff;--surface-muted: #f3f5f8;--border: #d8dde6;--input-border: #7b8495;--muted: #505969;--danger: #a32332;--success: #23613f;--radius: .75rem;--action: #d6007e}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh;display:flex;flex-direction:column}main{width:100%;max-width:44rem;margin:1.25rem auto;padding:0 1.25rem 1.25rem;flex:1}section{padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:.75rem 0}h1,h2,h3{color:var(--navy);line-height:1.25}h1{font-size:1.75rem}h2{font-size:1.35rem}a{color:var(--navy);overflow-wrap:anywhere;text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}.brand{display:inline-flex;align-items:center;flex-shrink:0;max-width:100%}.brand img{display:block;width:200px;max-width:100%;height:auto}.app-header{background:var(--surface);border-bottom:1px solid var(--border)}.header-inner{max-width:90rem;margin:auto;padding:.5rem 1.25rem;display:flex;align-items:center;gap:1.5rem}.app-nav{display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin:0}.app-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .75rem;border-radius:.5rem;text-decoration:none;font-weight:600}.app-nav a:hover{background:var(--surface-muted);text-decoration:underline}.app-nav a[aria-current]{background:var(--surface-muted);color:var(--navy);box-shadow:inset 0 -3px var(--magenta)}.menu-toggle{display:none}.app-footer{padding:1rem 1.25rem;background:var(--surface);color:var(--muted);font-size:.85rem}@media(max-width:767px){.header-inner{flex-wrap:wrap;justify-content:space-between;gap:.5rem}.brand img{width:160px}.menu-toggle.secondary{display:inline-block;border-color:transparent;background:var(--surface-muted)}.app-nav{display:none;width:100%}.app-nav[data-open=true]{display:flex}}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:20;padding:.75rem 1rem;background:var(--navy);color:#fff;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.page-content{min-width:0;scroll-margin-top:1rem}fieldset{padding:0;border:0;min-width:0}label{display:block;margin:1rem 0;font-weight:600}input,select,textarea{display:block;width:100%;min-height:44px;padding:.7rem .75rem;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--input-border);border-radius:.35rem;margin-top:.25rem}textarea{min-height:7rem;resize:vertical}input[readonly]{background:var(--surface-muted)}.choice{display:flex;gap:.75rem;align-items:flex-start;font-weight:400;min-height:44px}.choice input{width:1.25rem;height:1.25rem;min-height:0;flex-shrink:0;margin-top:.15rem;accent-color:var(--navy)}.settings-surface{overflow-wrap:anywhere}.settings-surface .settings-section,.settings-surface .notification-settings{padding:1rem 0;margin:0;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;background:transparent}.settings-surface h2{margin-top:0}.settings-surface legend{font-weight:600}.settings-surface .units-choice{align-items:center;margin:.25rem 0}.settings-surface .actions a{display:inline-flex;align-items:center;min-height:44px}button{background:var(--action);color:#fff;border:1px solid var(--action);border-radius:.35rem;padding:.65rem 1rem;font:inherit;font-weight:600;cursor:pointer;min-height:44px}button:hover:not(:disabled):not([aria-disabled=true]){background:#b8006c}button:disabled,button[aria-disabled=true]{opacity:.6;cursor:not-allowed}input:disabled,select:disabled,textarea:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}.secondary{color:var(--navy);background:var(--surface);border-color:var(--border)}.secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-muted)}.actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}:focus-visible{outline:3px solid var(--navy);outline-offset:3px}button:focus-visible{outline:3px solid var(--cyan);box-shadow:0 0 0 2px #fff}[role=alert]{color:var(--danger)}p[role=status],p[role=alert],.feedback{padding:.65rem .75rem;border:1px solid var(--border);border-left:3px solid var(--navy);border-radius:.35rem;background:var(--surface-muted);overflow-wrap:anywhere}p[role=alert],.feedback-error{border-left-color:var(--danger);background:#fff3f4}.feedback-success{color:var(--success);border-left-color:var(--success);background:#eff8f2}.feedback-warning{color:#755000;border-left-color:#906400;background:#fff8e8}[role=status]:empty,[role=alert]:empty{display:none}.badge{display:inline-block;padding:.15rem .5rem;border:1px solid var(--border);border-radius:.3rem;color:var(--navy);background:var(--surface-muted);font-size:.85rem;font-weight:600}@media(max-width:480px){main{margin:.5rem auto;padding:0 1.25rem 1rem}section{padding:1rem}.app-nav{gap:.25rem}.app-nav a{padding-inline:.6rem;font-size:.9rem}}.applications{list-style:none;padding:0}.applications li{border-top:1px solid var(--border);padding:1rem 0;overflow-wrap:anywhere}nav{margin:1rem 0}.route{padding:1rem;margin:1rem 0;border:1px solid var(--border);border-left:5px solid;border-radius:.3rem;overflow-wrap:anywhere}.route-blue{border-left-color:#2362a5}.route-red{border-left-color:#b73838}.route-pink{border-left-color:#b52e79}.route legend{font-weight:700;padding:0 .25rem}.route-link{display:inline-block;padding:.6rem 0;min-height:44px;font-weight:650}.ride-notes{white-space:pre-wrap;overflow-wrap:anywhere}[aria-invalid=true]{border-color:var(--danger)}.draft-editor{margin-top:.5rem}.advanced-name{margin:.75rem 0}.advanced-name summary{cursor:pointer;min-height:44px;padding:.5rem 0;overflow-wrap:anywhere}.save-toolbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .65rem;margin:.75rem 0;background:#fff;border:1px solid var(--input-border);border-radius:.25rem}.save-toolbar [role=status]{font-weight:650}.save-toolbar button{flex-shrink:0}.just-published{background:#e8f3ec;padding:.75rem!important;border-left:3px solid var(--navy)}.publication-confirmation{font-weight:600}.publication-notifications{display:contents}.publication-notification-panel{grid-column:1 / -1;min-width:0;margin:.25rem 0}.publication-notification-panel p{margin:.5rem 0}.notification-toggle{grid-column:6;grid-row:1;min-height:44px;padding:.5rem}.public-page{max-width:52rem;margin:1rem auto}.public-rides{padding:.25rem 0;border:0;border-radius:0;background:transparent;margin:.5rem 0}.ride-page-heading>h1{font-size:1.5rem;margin:.5rem 0}.ride-page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 .75rem}.share-ride{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:44px;flex-shrink:0}.share-ride>svg{flex-shrink:0}.share-feedback{grid-column:1 / -1;min-width:0}.share-feedback label{font-size:.9rem;margin:.5rem 0}.ride-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0}.ride-filters button{padding:.5rem .7rem}.ride-details h2{font-size:1.15rem;margin:.5rem 0 .25rem}.ride-details p{margin:.2rem 0;overflow-wrap:anywhere}.ride-details .meeting{font-size:1rem}.ride-week+.ride-week{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.route-list{list-style:none;padding:0;margin:.5rem 0}.route-row{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:.75rem;border-bottom:1px solid var(--border);border-left-width:3px;border-left-style:solid;padding:.6rem .7rem;overflow-wrap:anywhere}.route-row h3{font-size:1rem;line-height:1.4;margin:0}.group-label{font-weight:750;margin-right:.35rem}.route-row .route-link{max-width:13rem;padding:.45rem 0}.route-copy p{font-size:.95rem}.route-card{width:100%;max-width:240px;min-width:0}.route-card-image{display:block;width:100%;height:auto}.card-fallback{font-size:.9rem;color:var(--muted)}.route-lookup{margin:.5rem 0}.lookup-status{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.9rem}.text-action{background:transparent;color:var(--navy);border:0;padding:.4rem 0;font-size:.9rem;text-decoration:underline;min-height:44px}.route-body{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:1rem;align-items:start}.route-editor-fields{min-width:0}.route-editor-fields label:first-child{margin-top:0}.coordinator-page{max-width:64rem}.prepared-rides{list-style:none;margin:.5rem 0;padding:0}.prepared-rides>li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.9fr) auto auto auto;gap:.25rem .75rem;align-items:center;border-top:1px solid var(--border);padding:.35rem 0;font-size:.9rem;overflow-wrap:anywhere}.prepared-date{font-weight:600}.edit-ride{padding:.65rem .25rem;min-height:44px}.published-links{grid-column:1 / -1;margin:.1rem 0}@media(min-width:481px)and (max-width:1023px){.route-row,.route-body{grid-template-columns:minmax(0,1fr) 200px}.route-card{max-width:200px}.prepared-rides>li{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.prepared-status{grid-column:2}.edit-ride{grid-column:3;grid-row:1 / 3}}.event-link{display:inline-block;min-height:44px;padding:.5rem 0}@media(max-width:480px){.public-page{margin:0 auto}.route-row{grid-template-columns:minmax(0,1fr);gap:.1rem;padding:.5rem .55rem}.route-body{grid-template-columns:minmax(0,1fr)}.route-card{max-width:300px;justify-self:center}.prepared-rides>li{grid-template-columns:minmax(0,1fr) auto;padding:.45rem 0;gap:.1rem .5rem}.prepared-type,.prepared-status{grid-column:1}.edit-ride{grid-column:2;grid-row:1 / 4}}nav a{display:inline-block;min-height:44px;padding:.5rem 0}.draft-editor input,.draft-editor textarea,.draft-editor summary{scroll-margin-top:8rem}.my-intentions li{overflow-wrap:anywhere;margin:.5rem 0}.rider-status{margin:.4rem 0}.rider-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.rider-actions a{min-height:44px;padding:.6rem 0;font-size:.9rem}.group-participation{margin:.35rem 0;font-size:.9rem}.group-participation .social-roster{margin:.3rem 0}.group-participation button{margin-top:.35rem}.intention-plan{display:contents}.intention-plan>button{grid-column:5;grid-row:1;padding:.5rem}.intention-plan>p,.intention-plan>ul{grid-column:1 / -1}@media(min-width:481px)and (max-width:1023px){.prepared-rides>li{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto}.intention-plan>button{grid-column:4;grid-row:1 / 3}}@media(max-width:480px){.prepared-rides>li{grid-template-columns:minmax(0,1fr) auto auto}.intention-plan>button{grid-column:3;grid-row:1 / 4}}.intention-plan p{margin:.35rem 0}.hint{font-size:.9rem;color:var(--muted)}.host-rota-page{overflow-wrap:anywhere;--rota-blue: #f1f7fe;--rota-red: #fff3f4;--rota-pink: #fff0f7}.host-rota-page>h1{font-size:1.5rem;margin:.25rem 0 .5rem}.host-rota-page>p{margin:.5rem 0;font-size:.9rem}.host-rota-page .rota-scroll{max-width:100%}.host-rota-page .host-rota{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.85rem}.host-rota-page .host-rota caption{text-align:left;padding:.6rem 0;color:var(--muted)}.host-rota-page .host-rota th,.host-rota-page .host-rota td{border:1px solid var(--border);padding:.5rem;text-align:left;vertical-align:top;overflow-wrap:anywhere}.host-rota-page .host-rota th:first-child{width:8rem}.host-rota-page .rota-blue{background:var(--rota-blue)}.host-rota-page .rota-red{background:var(--rota-red)}.host-rota-page .rota-pink{background:var(--rota-pink)}.host-rota-page th.rota-blue{background:#e2efff}.host-rota-page th.rota-red{background:#ffe5e9}.host-rota-page th.rota-pink{background:#ffe0ef}.host-rota-page .mobile-group{display:none}.host-rota-page .confirmed-host{margin:0;font-size:.9rem;font-weight:650}.host-rota-page .missing-assignment:has(select) .confirmed-host,.host-rota-page .missing-assignment:has(select) .assignment-state{display:none}.host-rota-page .missing-assignment select{margin-top:0}.host-rota-page .assignment-state{color:var(--muted);font-size:.75rem;margin:.15rem 0 .3rem}.host-rota-page .own-assignment{box-shadow:inset 3px 0 var(--navy)}.host-rota-page .own-marker{color:var(--navy)}.host-rota-page .replacement-marker{display:block;color:#8a351e;font-weight:700}.host-rota-page .replacement-assignment{outline:1px dashed #8a351e;outline-offset:-3px}.host-rota-page .host-rota select{width:100%;min-width:0;padding:.45rem .25rem;min-height:44px;font-size:.85rem}.host-rota-page .slot-content{min-width:0}.host-rota-page .editing-marker{display:none;font-size:.75rem;color:var(--navy);margin-top:.25rem}.host-rota-page .slot-content:focus-within .editing-marker{display:block}.host-rota-page .rota-slot:focus-within{outline:2px solid var(--navy);outline-offset:-2px}.host-rota-page .rota-slot.slot-error{outline:2px solid var(--danger);outline-offset:-2px}.host-rota-page .slot-error-message{color:var(--danger);font-size:.75rem;margin:.3rem 0 0;font-weight:600}.host-rota-page .slot-saving{display:block;font-size:.75rem;color:var(--navy);margin-top:.25rem;font-weight:600}.host-rota-page .rota-navigation{padding:0;border:0;margin:.75rem 0}.host-rota-page .rota-navigation label{max-width:13rem;margin:.5rem 0}.host-rota-page .rota-navigation .actions{gap:.4rem}.host-rota-page .rota-navigation button{max-width:100%;font-size:.85rem;padding:.5rem .65rem}.host-rota-page .host-candidates{list-style:none;padding:0}.host-rota-page .host-candidates li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:.5rem;border-top:1px solid var(--border);padding:.5rem 0;font-size:.85rem;overflow-wrap:anywhere}.host-rota-page .host-candidates button{font-size:.85rem}.host-rota-page .eligibility-state{color:var(--navy);font-weight:600}@media(max-width:767px){.host-rota-page{padding:.75rem}.host-rota-page .host-rota,.host-rota-page .host-rota tbody,.host-rota-page .host-rota caption{display:block}.host-rota-page .host-rota thead{display:none}.host-rota-page .host-rota tr{display:block;margin:.6rem 0;border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.host-rota-page .host-rota th:first-child{display:block;width:auto;border:0;padding:.5rem .65rem;background:var(--surface-muted);color:var(--navy)}.host-rota-page .host-rota td{display:flex;flex-wrap:wrap;gap:.5rem;border:0;border-top:1px solid var(--border);padding:.5rem .65rem}.host-rota-page .slot-content{flex:1 1 8rem}.host-rota-page .mobile-group{display:block;flex:0 0 3.5rem;font-weight:700;color:var(--navy)}.host-rota-page .host-candidates li{grid-template-columns:minmax(0,1fr);gap:.25rem}.host-rota-page .host-candidates button{justify-self:start;max-width:100%;white-space:normal}.host-rota-page>section[aria-label="Host eligibility"]{padding:.75rem}}.check-in{overflow-wrap:anywhere;max-width:48rem;margin:.5rem auto;padding:.85rem}.check-in-page{max-width:51rem;margin:.5rem auto}.check-in h1{font-size:1.5rem;margin:.25rem 0 .6rem}.check-in-heading h2{font-size:1.1rem;margin:.25rem 0}.check-in-heading>p{font-size:.9rem;margin:.25rem 0}.check-in .window-state{color:var(--muted);font-size:.8rem;font-weight:650}.check-in .window-open{color:var(--success)}.check-in-warning{font-size:.85rem;margin:.65rem 0;border-left:3px solid var(--navy);padding:.25rem .6rem}.check-in-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem}.check-in-tools button,.check-in-tools a{font-size:.85rem}.check-in-tools a{display:inline-flex;align-items:center;min-height:44px}.check-in-status{margin:.4rem 0;font-size:.9rem}.check-in-status>span:not(:empty){display:block}.check-in-status .feedback{padding:.5rem .65rem}.check-in .attendance-summary{font-size:.85rem;padding:.5rem .65rem;margin:.5rem 0;background:var(--surface-muted);border:1px solid var(--border);border-radius:.35rem}.check-in .attendance-window{font-size:.85rem;margin:.25rem 0}.check-in .attendance-window summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline}.check-in .check-in-selector{margin:.25rem 0 .65rem;font-size:.9rem}.check-in input,.check-in select{width:100%;min-height:48px}.check-in .check-in-group{padding:0;border:0;margin:.5rem 0}.check-in-group>h2{margin:.5rem 0 .25rem;font-size:1.15rem;padding-left:.5rem;border-left:5px solid var(--border)}.check-in-group.group-blue>h2{border-color:#2362a5}.check-in-group.group-red>h2{border-color:#b73838}.check-in-group.group-pink>h2{border-color:#b52e79}.check-in-group>p{margin:.25rem 0;font-size:.85rem}.attendance-riders{padding:0;list-style:none;margin:.5rem 0}.attendance-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.65rem .5rem;border-bottom:1px solid var(--border)}.attendance-row.is-recorded{background:#f1f8f4}.attendance-row>div{flex:1 1 7rem;min-width:0;overflow-wrap:anywhere}.attendance-row strong{font-size:1rem}.attendance-row small,.attendance-row .recorded-state{display:block}.attendance-row small{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.attendance-row .recorded-state{font-size:.85rem;color:var(--muted)}.attendance-row.is-recorded .recorded-state{color:var(--success);font-weight:650}.attendance-row button{min-height:48px;min-width:min(100%,78px);max-width:100%;margin:0;padding:.6rem;font-size:.9rem}.attendance-row .rider-saving{color:var(--navy);font-size:.85rem;font-weight:600}.attendance-row>small{max-width:6rem}.check-in .rider-lookup{border-top:1px solid var(--border);padding-top:.75rem;margin:1rem 0 .4rem;font-size:.95rem}.check-in .hint{font-size:.8rem}.member-reference{overflow-wrap:anywhere}.event-edit-actions{grid-column:4;grid-row:1;display:flex;align-items:center;gap:.5rem}.event-edit-actions a{display:flex;align-items:center;min-height:44px;white-space:nowrap}@media(min-width:481px)and (max-width:1023px){.event-edit-actions{grid-column:3;grid-row:1 / 3;flex-direction:column;gap:0}}@media(max-width:480px){.event-edit-actions{grid-column:2;grid-row:1 / 4;flex-direction:column;gap:0}}@media(max-width:480px){.prepared-rides>li{line-height:1.2;padding:.3rem 0;column-gap:.35rem}}@media(min-width:481px)and (max-width:1023px){.prepared-rides>li{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto auto}.notification-toggle{grid-column:5;grid-row:1 / 3}}@media(max-width:480px){.intention-plan>button{grid-row:1 / 4;align-self:start}.notification-toggle{grid-column:3;grid-row:1 / 4;align-self:end}}.ice-view{max-width:42rem;margin:auto;overflow-wrap:anywhere}.ice-heading h1{margin:.4rem 0 .75rem}.ice-restriction{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem;margin:0}.ice-restriction svg,.ice-window svg,.ice-refresh svg{flex-shrink:0}.ice-ride-context{color:var(--navy);margin-bottom:1rem}.ice-ride-context p{margin:.15rem 0}.ice-ride-context p:first-child{font-weight:650}.ice-refresh{display:inline-flex;align-items:center;gap:.5rem}.ice-access,.ice-search,.ice-confirmation{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.ice-view h2{margin:0 0 .75rem}.ice-undertaking{white-space:pre-line}.ice-search label{color:var(--navy);font-size:1.25rem;margin:0 0 .5rem}.ice-search-controls{display:flex;align-items:stretch;gap:.5rem}.ice-search-controls input{margin:0;min-width:0;flex:1}.ice-search-controls button{flex-shrink:0}.ice-view .hint{color:var(--muted);font-size:.9rem}.ice-search-status{margin-top:.75rem;color:var(--muted)}.ice-search-status:empty{display:none}.ice-results{padding:0;margin:.75rem 0 0;list-style:none}.ice-results li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 0;border-bottom:1px solid var(--border)}.ice-results li>div{min-width:0}.ice-results strong{color:var(--navy);font-size:1.05rem}.ice-results small{display:block;color:var(--muted);margin-top:.3rem}.ice-results button{flex-shrink:0}.ice-rider-name{font-size:1.15rem;font-weight:650;color:var(--navy);margin:.3rem 0}.ice-view .member-reference{color:var(--muted);font-size:.85rem;margin:.3rem 0 1rem}.ice-view .choice{padding:.6rem;border:1px solid var(--border);border-radius:.35rem}.ice-view button,.ice-view input:not([type=checkbox]),.ice-view select{min-height:48px}.ice-contact{border:2px solid var(--navy);margin:1.25rem 0 0;padding:1rem;background:#f5f8fc}.ice-contact-details{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.ice-contact-label{color:var(--muted);font-size:.85rem;margin:0 0 .25rem}.ice-contact-name{font-size:1.25rem;font-weight:650;margin:0 0 .35rem}.ice-relationship{margin:0 0 1rem}.ice-phone{font-size:clamp(1.75rem,6vw,2.25rem);line-height:1.25;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;margin:.25rem 0 1rem}.ice-call{display:flex;align-items:center;justify-content:center;min-height:52px;padding:.75rem;border-radius:.35rem;background:var(--navy);color:#fff;text-align:center;font-weight:650;text-decoration:none}.ice-call:hover{text-decoration:underline}.ice-hide{width:100%;margin-top:.75rem}.ice-window{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:var(--muted);border-top:1px solid var(--border);padding-top:1rem;margin-top:1.25rem}.ice-procedures{color:var(--muted);font-size:.9rem}.ice-navigation{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:0}.ice-navigation a{display:inline-flex;align-items:center;min-height:44px}@media(max-width:599px){.ice-search-controls,.ice-results li{flex-direction:column;align-items:stretch}.ice-contact{padding:.75rem}.ice-confirmation>button,.ice-access>button{width:100%}}.text-action:hover:not(:disabled):not([aria-disabled=true]){color:var(--navy);background:var(--surface-muted)}.save-toolbar[data-state=saved]{border-left:3px solid var(--success)}.save-toolbar[data-state=unsaved]{border-left:3px solid #906400;background:#fff8e8}.save-toolbar[data-state=saving]{border-left:3px solid var(--cyan);background:#eff7fc}.save-toolbar[data-state=error]{border-left:3px solid var(--danger);background:#fff3f4}.public-page{max-width:86rem}.ride-page-heading>h1{font-size:1.125rem;margin:.5rem 0}.icon-heading{display:flex;align-items:center;gap:.6rem}.icon-heading img{flex:0 0 auto;object-fit:contain}.published-details{margin:1rem 0 .25rem}:is(.published-details,.draft-editor) .event-heading{max-width:50rem}:is(.published-details,.draft-editor) .event-heading h2{font-size:clamp(1.5rem,3vw,1.85rem);margin:.3rem 0 .7rem;line-height:1.2}:is(.published-details,.draft-editor) .ride-title{color:var(--navy);font-size:.72rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase;margin:0}:is(.published-details,.draft-editor) .meeting-panel{max-width:50rem;margin:0 0 .6rem;background:#edf8fe;border:1px solid #d1e7f3;border-radius:.65rem;color:var(--navy)}:is(.published-details,.draft-editor) .meeting-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:.65rem;padding:.7rem .85rem}:is(.published-details,.draft-editor) .meeting-row+.meeting-row{border-top:1px solid #d1e7f3}:is(.published-details,.draft-editor) .meeting-row>svg{margin-top:.1rem}:is(.published-details,.draft-editor) .meeting-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.075em;color:#445b77;font-weight:700;margin:0 0 .2rem}:is(.published-details,.draft-editor) .meeting-time{font-size:2rem;font-weight:750;line-height:1.1;margin:0}:is(.published-details,.draft-editor) .meeting-time small{font-size:.75rem;font-weight:400;color:#445b77;margin-left:.5rem;white-space:nowrap}:is(.published-details,.draft-editor) .meeting-location{font-size:1.1rem;font-weight:650;margin:0;line-height:1.35}:is(.published-details,.draft-editor) .public-ride-notes{display:flex;align-items:flex-start;gap:.6rem;max-width:50rem;padding:.6rem .75rem;margin:.6rem 0;background:var(--surface-muted);border:1px solid var(--border);border-radius:.45rem}:is(.published-details,.draft-editor) .public-ride-notes>svg{flex-shrink:0;color:var(--muted);margin-top:.1rem}:is(.published-details,.draft-editor) .public-ride-notes>div{min-width:0}:is(.published-details,.draft-editor) .notice-label{font-size:.8rem;font-weight:650;color:var(--navy);margin:0 0 .15rem}:is(.published-details,.draft-editor) .public-ride-notes .ride-notes{font-size:.9rem;margin:0}:is(.published-details,.draft-editor) .routemeister{font-size:.8rem;color:var(--muted);margin:.45rem 0 .7rem}:is(.published-details,.draft-editor) .routemeister span{font-weight:550}.published-details .group-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .65rem;border-top:1px solid var(--border);padding-top:.5rem;margin-top:.65rem}.published-details .group-heading{min-width:0;overflow-wrap:anywhere;font-size:1.125rem;margin:0}.published-details .rider-refresh{display:inline-flex;gap:.35rem;align-items:center;font-size:.8rem;padding:.45rem .65rem}.published-details .rider-refresh>svg{width:16px;height:16px;flex-shrink:0}.published-details>.intention-note{color:var(--muted);font-size:.8rem;margin:.2rem 0 .4rem}.published-route-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:.6rem;align-items:start}.published-route{display:block;max-width:27rem;border:1px solid var(--border);border-left-width:7px;border-radius:.75rem;background:var(--surface);padding:.75rem}.published-route.route-blue{border-left-color:#2362a5}.published-route.route-red{border-left-color:#b73838}.published-route.route-pink{border-left-color:#b52e79}.published-route .route-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;min-width:0;min-height:0}.published-route .route-copy:has(>.group-participation){grid-template-columns:minmax(0,1fr) 8rem}.published-route h3{margin:0;min-width:0;font-size:1rem}.published-route .group-label{display:inline-block;max-width:100%;padding:.2rem .5rem;margin:0;border-radius:.4rem;color:var(--navy);background:var(--surface-muted);font-size:.8rem;line-height:1.5}.published-route.route-blue .group-label{color:#2362a5;background:#e6f1ff}.published-route.route-red .group-label{color:#b73838;background:#fff0f2}.published-route.route-pink .group-label{color:#b52e79;background:#ffedf7}.published-route .route-title{display:block;margin:.4rem 0 0;font-size:1.1rem;line-height:1.3;color:var(--navy)}.published-route a.route-title{min-height:44px;text-decoration-thickness:1px}.published-route .route-metadata{grid-column:1 / -1}.published-route .route-metadata p{font-size:.9rem;font-weight:400;margin:.2rem 0;line-height:1.5}.published-route .group-participation{grid-column:2;grid-row:1;align-self:start;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;margin:0;padding:0;border:0;min-width:0}.published-route .planning-total{align-self:flex-end;margin:0;padding:.2rem .5rem;border-radius:.4rem;background:var(--surface-muted);color:var(--navy);font-size:.8rem}.published-route .group-participation button{min-height:44px;font-size:.8rem;font-weight:650;padding:.55rem .4rem;margin:0}.route-disclosure{grid-column:1 / -1;min-width:0;color:var(--navy)}.route-disclosure summary{cursor:pointer;min-height:44px;font-size:.9rem;font-weight:650;padding:.6rem .75rem;border:1px solid var(--border);border-radius:.35rem}.route-expanded{border-top:1px solid var(--border);padding-top:.5rem;margin-top:.5rem;font-size:.9rem;color:#000}.route-expanded .route-card{max-width:240px;margin:.5rem auto 0}.route-image-link{display:block}.published-route .selected-group{color:#fff;background:var(--navy);border-color:var(--navy)}.published-route .selected-group:hover:not(:disabled):not([aria-disabled=true]){background:#192b5b}.published-details .rider-status p[role=status]{margin:.25rem 0 .5rem;padding:.35rem .6rem}.button-link{display:inline-flex;align-items:center;min-height:44px;background:var(--action);color:#fff;border-radius:.35rem;padding:.6rem 1rem;font-weight:600;text-decoration:none}.button-link:hover{background:#b8006c}.my-intentions ul{list-style:none;padding:0;margin:.5rem 0}.my-intentions li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;padding:.65rem 0;margin:0;border-top:1px solid var(--border)}.my-intentions li>div{min-width:0}.my-intentions li p{margin:.25rem 0}.my-intentions li a{display:inline-flex;align-items:center;min-height:44px}@media(max-width:480px){.published-route-list{gap:.6rem}}.account-surface{padding:1.1rem;margin:.75rem auto;overflow-wrap:anywhere}.account-surface>h1,.account-surface>h2{font-size:1.5rem;margin:0 0 .75rem}.auth-surface{max-width:28rem}.account-surface label{margin:.6rem 0;font-size:.95rem}.account-surface input{padding:.55rem .65rem}.account-surface p{margin:.5rem 0}.account-surface .hint{line-height:1.45}.account-surface form>fieldset{margin:0}.form-section{margin:0 0 1rem;padding:.75rem 0 0;border-top:1px solid var(--border)}.form-section>legend{padding:0 .5rem 0 0;color:var(--navy);font-size:1.05rem;font-weight:700}.form-section>label:first-of-type{margin-top:.25rem}.form-grid{display:grid;gap:0 .85rem;grid-template-columns:minmax(0,1fr)}.form-grid>*{min-width:0}.password-field{margin:.6rem 0}.password-field>label{margin-bottom:.25rem}.password-control{display:flex;align-items:stretch;gap:.4rem}.password-control input{min-width:0;margin-top:0;flex:1}.password-control button{padding:.5rem .65rem;font-size:.9rem;flex-shrink:0}.account-link{display:inline-flex;min-height:44px;align-items:center;padding:.5rem 0}.account-surface .invitation-note{border-top:1px solid var(--border);padding-top:.75rem}.form-disclosure{margin:.3rem 0 .5rem}.form-disclosure summary{min-height:44px;padding:.6rem 0;color:var(--navy);font-weight:600;cursor:pointer}.legal-document{max-width:70ch;line-height:1.65;overflow-wrap:anywhere}.legal-document h2{font-size:1.3rem;margin:1rem 0}.legal-document h3{font-size:1.1rem;margin:1.5rem 0 .6rem}.legal-document p,.account-surface .legal-document p{margin:.8rem 0}.legal-document ul{padding-left:1.4rem}.legal-document li{margin:.4rem 0}.legal-page{max-width:75ch}.account-surface .member-reference{font-weight:600}.account-surface .member-reference code{font-size:1.05rem;color:var(--navy)}.profile-surface>section[aria-label="Hosting preferences"]{border:0;border-top:1px solid var(--border);border-radius:0;padding:1rem 0 0;margin:1rem 0 .5rem}.profile-surface>section[aria-label="Hosting preferences"] h2{font-size:1.05rem;margin:0 0 .5rem}.profile-surface>section[aria-label="Hosting preferences"] h3{font-size:1rem}@media(min-width:600px){.account-surface:not(.auth-surface) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.account-surface{padding:.85rem}}.ride-edit-page{max-width:58rem;margin-inline:auto}.ride-edit-page>p:first-child{margin-top:0;font-size:.85rem}.ride-edit-page>p:first-child a{display:inline-flex;align-items:center;min-height:44px}.editor-page-title{font-size:1.125rem;margin:.25rem 0 .8rem}.draft-editor{margin:0}.draft-editor .editor-publication{font-size:.8rem;color:var(--muted);margin:.4rem 0}.draft-editor .editor-publication .badge{margin-right:.35rem}.draft-editor .save-toolbar{margin:.85rem 0 1.15rem;font-size:.85rem}.draft-editor .save-toolbar>div{flex:1;min-width:0}.draft-editor .save-toolbar small{display:block;font-size:.72rem;color:var(--muted)}.draft-editor h3{font-size:1.125rem;margin:.75rem 0}.draft-editor h4{font-size:.85rem;color:var(--navy);margin:.85rem 0 .4rem}.draft-editor label{font-size:.85rem;margin:.5rem 0}.draft-editor input,.draft-editor textarea{font-size:1rem;font-weight:400;min-width:0}.draft-editor button,.draft-editor summary{font-size:.85rem}.draft-editor .editor-help,.draft-editor .route-editor-fields>p,.draft-editor .publication-actions p{font-size:.8rem;color:var(--muted)}.editor-meeting{max-width:50rem}.editor-date-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem 1.25rem;align-items:start}.editor-date-fields p{font-size:.75rem;color:var(--muted);margin:.4rem 0 .75rem}.editor-date-fields .actions{gap:.35rem}.editor-date-fields button{padding-inline:.5rem}.draft-editor .meeting-panel{margin-top:.5rem}.draft-editor .meeting-row label{margin:0;min-width:0}.draft-editor .meeting-row>svg{margin-top:.2rem}.draft-editor .meeting-row small{grid-column:2;font-size:.75rem;color:var(--muted);margin-top:-.4rem}.draft-editor .meeting-row input{color:var(--navy);font-weight:650}.draft-editor .meeting-row input[type=time]{max-width:13rem;font-size:1.5rem}.draft-editor .public-ride-notes>div{flex:1}.draft-editor .public-ride-notes textarea{min-height:5.25rem}.draft-editor .notice-label{margin:0}.draft-editor .routemeister{max-width:28rem;font-weight:400}.editor-groups-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--border);margin-top:1.25rem;padding-top:.25rem}.draft-editor .editor-group{border:1px solid var(--border);border-left:7px solid var(--border);border-radius:.65rem;padding:.6rem .85rem .85rem;margin:1.1rem 0;background:var(--surface-muted)}.draft-editor .editor-group legend{color:var(--navy);font-size:1rem}.draft-editor .route-blue,.editor-review .route-blue{background:#f1f7fe;border-left-color:#2362a5}.draft-editor .route-red,.editor-review .route-red{background:#fff3f4;border-left-color:#b73838}.draft-editor .route-pink,.editor-review .route-pink{background:#fff0f7;border-left-color:#b52e79}.draft-editor .route-blue legend{color:#2362a5}.draft-editor .route-red legend{color:#b73838}.draft-editor .route-pink legend{color:#b52e79}.editor-group-heading{display:flex;gap:.75rem;justify-content:space-between;align-items:end;border-bottom:1px solid var(--border);padding-bottom:.65rem;margin-bottom:.75rem}.editor-group-heading>label{flex:1;max-width:22rem}.draft-editor .group-actions{gap:.25rem;margin-bottom:.5rem}.group-actions button{padding:.5rem}.group-actions .remove-group{color:var(--danger)}.draft-editor .route-body{grid-template-columns:minmax(0,1fr) 240px;gap:1.25rem}.editor-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .75rem}.editor-field-grid .wide-field{grid-column:1 / -1}.editor-map h4{margin-top:0}.draft-editor .route-card{max-width:240px}.draft-editor .route-lookup{margin-top:0}.draft-editor .lookup-status{justify-content:space-between;gap:.25rem}.draft-editor .lookup-status [role=status]{padding:.2rem .4rem;border-radius:.25rem;background:#fff;border:1px solid var(--border);font-size:.75rem}.draft-editor .lookup-status[data-state=retrieved] [role=status]{color:var(--success);border-color:var(--success)}.draft-editor .lookup-status[data-state=fetching] [role=status]{color:var(--navy);border-color:var(--cyan)}.draft-editor .lookup-status[data-state=manually-adjusted] [role=status]{color:#755000;border-color:#906400}.draft-editor .lookup-status[data-state=failed] [role=status]{color:var(--danger);border-color:var(--danger)}.draft-editor .route-lookup small,.draft-editor .route-lookup p{font-size:.8rem}.publication-actions{border-top:1px solid var(--border);padding-top:.65rem;margin-top:1.25rem}.editor-review .ride-details{padding-top:.5rem}.editor-review .route-row{border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-left-width:7px;border-radius:.65rem;margin:.6rem 0;padding:.85rem}@media(max-width:767px){.ride-edit-page{padding:0;border:0;background:transparent}.editor-date-fields,.draft-editor .route-body{grid-template-columns:minmax(0,1fr)}.editor-date-fields{gap:0}.editor-group-heading{display:block}.draft-editor .editor-group{padding:.5rem .65rem .75rem}.draft-editor .group-actions{margin-bottom:0}.draft-editor .route-card{margin-inline:auto}}@media(max-width:389px){.editor-field-grid{grid-template-columns:minmax(0,1fr)}.draft-editor .save-toolbar small{display:none}}@media(min-width:768px)and (max-width:1023px){.draft-editor .route-body{grid-template-columns:minmax(0,1fr) 200px}.draft-editor .route-card{max-width:200px}}.ride-edit-page{container-type:inline-size}.draft-editor{overflow-wrap:anywhere}.draft-editor legend,.draft-editor button{max-width:100%}.draft-editor .save-toolbar{flex-wrap:wrap}@container (max-width: 36rem){.draft-editor .route-body,.editor-date-fields{grid-template-columns:minmax(0,1fr)}.editor-group-heading{display:block}}@container (max-width: 16rem){.editor-field-grid{grid-template-columns:minmax(0,1fr)}.draft-editor .meeting-row{grid-template-columns:minmax(0,1fr);padding:.6rem;gap:.3rem}.draft-editor .meeting-row small{grid-column:1;margin-top:0}.draft-editor .public-ride-notes{display:block;padding:.5rem}.draft-editor .save-toolbar small{display:none}}.install-help{overflow-wrap:anywhere}.install-help ol{padding-left:1.4rem}.install-help li+li{margin-top:.5rem}.app-footer a{display:inline-block;min-height:44px;padding-block:.6rem}.notification-settings{margin-block:1.5rem;padding:1rem;border:1px solid var(--border, #cbd2df);border-radius:.75rem;overflow-wrap:anywhere}.notification-settings .actions{flex-wrap:wrap}.user-management{max-width:60rem}.user-results,.user-roles{list-style:none;padding:0}.user-results li,.user-roles li{border-bottom:1px solid #cbd5e1;padding:1rem 0;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.member-reference{overflow-wrap:anywhere;font-size:.875em}.managed-user{border-top:2px solid #cbd5e1;margin-top:1.5rem;padding-top:1rem}.user-management button,.user-management input{min-height:44px}.user-management button{white-space:normal}.role-confirmation{width:min(32rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;border:2px solid #243a53;border-radius:.75rem;padding:1.25rem;color:#243a53}.role-confirmation::backdrop{background:#0000008c}.role-history{padding-left:1.5rem}.role-history li{padding-block:.5rem}@media(min-width:48rem){.user-roles li{flex-direction:row;align-items:center;justify-content:space-between}.user-roles li>div{flex:1}.user-roles button{flex:0 0 auto;max-width:14rem}}.account-page{max-width:50rem}.account-layout{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;margin:.75rem auto 1.5rem;overflow-wrap:anywhere}.account-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem}.account-header h1{font-size:1.65rem;margin:0 0 .25rem}.account-name{margin:0 0 .6rem;font-weight:600}.account-status{display:flex;gap:.4rem .6rem;flex-wrap:wrap;align-items:center;margin:0;color:var(--muted);font-size:.9rem}.account-status .account-approved{color:var(--success);border-color:#c2ddcc;background:#eff8f2}.account-header>button{flex-shrink:0}.account-tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);margin:0;border-block:1px solid var(--border)}.account-tabs a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:.7rem .2rem;text-align:center;color:var(--navy);font-weight:600;text-decoration:none;border-bottom:3px solid transparent}.account-tabs a[aria-current=page]{border-bottom-color:var(--action);background:#f5f7fb}.account-tabs a:hover{background:var(--surface-muted)}.account-content{padding:1.25rem}.account-content h2{font-size:1.3rem;margin:0 0 .8rem}.account-content h3{font-size:1.1rem;margin:0 0 .6rem}.account-content section{border:0;border-radius:0;box-shadow:none;background:transparent;padding:1rem 0;margin:0}.account-content>section:first-child{padding-top:0}.account-content>section+section{border-top:1px solid var(--border)}.account-content p{margin:.5rem 0}.account-overview-actions,.details-save{display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap;margin-top:1rem}.account-overview-actions .text-action{font-size:.9rem}.account-content label{font-size:.95rem;margin:.6rem 0}.account-content input{padding:.55rem .65rem}.account-content .form-section:first-child{border-top:0;padding-top:0}.account-content .member-reference{margin-top:1rem;font-size:.9rem}.account-content .member-reference code{-webkit-user-select:text;user-select:text;color:var(--navy)}.account-content .settings-section:first-of-type{padding-top:0}.account-content .settings-section:last-child{border-bottom:0;padding-bottom:0}.account-staff{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.account-staff>summary{min-height:44px;padding:.7rem 0;color:var(--navy);font-weight:600;cursor:pointer}@media(max-width:480px){.account-header,.account-content{padding:1rem}.account-header{gap:.6rem}.account-header>button{padding-inline:.6rem;font-size:.9rem}}.ride-weather{margin:.75rem 0;font-size:.9rem}.ride-weather p{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .5rem;margin:0}.ride-weather img{flex:0 0 24px}.ride-weather small{display:block;margin-top:.2rem;line-height:1.4}.people-layout{max-width:60rem;margin:auto}.people-tabs{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);margin-bottom:1rem}.people-layout .ice-view{max-width:none}
