:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#192c40;background:#f2f5f8;font-size:16px;font-synthesis:none;--teal:#08796e;--line:#e2e8ef;--muted:#607084;--navy:#142a3d}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #43bfb7;outline-offset:3px}input,select{width:100%;padding:10px 11px;border:1px solid #cbd5df;border-radius:7px;background:#fff;color:var(--navy);min-width:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}input:disabled{background:#eef2f6}h1,h2,h3,p{margin:0}h1{font-size:1.35rem;letter-spacing:-.025em}h2{font-size:1.4rem;letter-spacing:-.025em}h3{font-size:1rem}small{font-size:.8rem}button{border:0}strong{font-weight:650}.topbar{height:82px;background:var(--navy);display:flex;align-items:center;padding:0 32px;gap:26px;color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand-icon{display:grid;place-items:center;background:#1da99a;border-radius:11px;width:42px;height:42px;font-size:1.65rem;font-weight:700}.brand strong{font-size:1.3rem;display:block;line-height:1.2}.brand div>span{font-size:.75rem;letter-spacing:.19em;color:#c4d6e1}.service-tag{padding-left:26px;border-left:1px solid #476071;font-size:.9rem;color:#e0e9ef}.service-tag span{display:block;color:#a8bdcd;font-size:.8rem;margin-top:4px}.topbar>.button{margin-left:auto;color:#e0fffa;border:1px solid #4e716f;background:#234439}.workspace{max-width:1680px;display:grid;grid-template-columns:370px minmax(0,1fr);gap:28px;margin:auto;padding:28px 32px 48px}.panel{background:white;border:1px solid var(--line);border-radius:13px}.configuration{align-self:start;overflow:hidden}.panel-heading{padding:23px 22px 18px}.eyebrow{font-size:.76rem;font-weight:650;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.origin{margin:0 20px 21px;padding:14px 11px;background:#edf6f4;border:1px solid #d3eae5;border-radius:8px;display:flex;gap:10px}.origin-symbol{font-size:1.7rem;color:var(--teal)}.origin strong{font-size:.88rem}.origin p{font-size:.88rem;margin-top:3px}.origin small{display:block;line-height:1.45;color:var(--muted);margin-top:5px}.tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 14px}.tabs button{background:transparent;flex:1;padding:15px 3px;font-size:.88rem;color:var(--muted);border-bottom:3px solid transparent}.tabs button[aria-selected=true]{color:var(--teal);border-color:var(--teal);font-weight:650}.tabs span{font-size:.75rem;background:#eaf0f4;border-radius:4px;padding:2px 4px}.tab-panel{padding:19px 20px}.helper{font-size:.88rem;line-height:1.55;color:var(--muted);margin-bottom:16px}.fleet-labels,.bus-row{display:grid;grid-template-columns:minmax(0,1fr) 65px 65px 25px;gap:8px;align-items:center}.fleet-labels{font-size:.75rem;color:var(--muted);margin-bottom:9px}.bus-row{margin-bottom:10px}.bus-name{display:flex;align-items:center;gap:6px;min-width:0}.bus-name i{width:7px;height:22px;border-radius:3px;flex-shrink:0}.bus-row input{padding:8px 5px;font-size:.875rem}.bus-row .bus-name input{border-color:transparent}.bus-row .bus-name input:hover{border-color:#cbd5df}.icon-button{font-size:1.3rem;line-height:1;background:transparent;color:var(--muted);border-radius:4px;padding:5px}.button{padding:10px 14px;border-radius:7px;font-weight:600;font-size:.88rem;line-height:1.35}.button.primary{background:var(--teal);color:white;padding:13px 16px}.button.primary:hover:not(:disabled){background:#05665e}.button.secondary{background:#f7fafc;color:#284253;border:1px solid #ccd9e1}.button.subtle{background:white;color:#466071;border:1px solid var(--line)}.full{width:100%}.capacity-total{background:#f4f7fa;border-radius:8px;padding:13px 14px;margin:18px 0 12px;display:grid;grid-template-columns:1fr auto;gap:6px;font-size:.88rem}.capacity-total strong{color:var(--teal)}.capacity-total small{grid-column:1/-1;color:var(--muted)}.calculate-box{padding:18px 20px;border-top:1px solid var(--line);background:#fbfcfd}.calculate-box .helper{margin-bottom:12px}.calculate-box>small{display:block;text-align:center;color:var(--muted);line-height:1.4;margin-top:10px}.field{display:block;font-size:.88rem;font-weight:550;margin-bottom:17px}.field>input,.field>select,.field>.search-row{margin-top:7px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox{display:flex;align-items:center;gap:9px;font-size:.88rem;margin:5px 0 17px}.priority{border-top:1px solid var(--line);padding-top:15px;font-size:.88rem}.priority ol{padding-left:20px;color:var(--muted);line-height:1.8}.working-area{min-width:0}.result-heading{display:flex;justify-content:space-between;align-items:center;margin:2px 0 23px;gap:12px}.badge{border:1px solid #cfdde6;background:#fff;border-radius:20px;padding:7px 12px;color:#52697b;font-size:.8rem;white-space:nowrap}.badge.demo{background:#fff2d9;color:#755212;border-color:#efd497}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;margin-bottom:22px}.metric{padding:19px 21px;background:#fff;border:1px solid var(--line);border-radius:10px}.metric:first-child{border-top:3px solid var(--teal);padding-top:17px}.metric>span{font-size:.88rem;color:#54687a}.metric>strong{display:block;font-size:2.05rem;letter-spacing:-.035em;margin:7px 0;line-height:1.2}.metric strong small{font-size:.9rem;font-weight:400;color:var(--muted);margin-left:8px;letter-spacing:0}.metric>p{font-size:.8rem;color:var(--muted);line-height:1.4}.map-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.map-toolbar{padding:13px 17px;display:flex;justify-content:space-between;align-items:center;gap:10px}.map-toolbar strong{display:block;font-size:.9rem}.map-toolbar span{display:block;font-size:.8rem;color:var(--muted);margin-top:4px}#map{height:440px;background:#e7eef1;cursor:crosshair}.map-footer{display:flex;gap:17px;align-items:center;flex-wrap:wrap;padding:12px 17px;font-size:.8rem;color:var(--muted)}.map-footer>span{display:flex;align-items:center;gap:6px}.map-footer>span:last-child{margin-left:auto;font-size:.75rem;max-width:400px}.legend-origin{width:9px;height:9px;border-radius:50%;background:#132d44}.legend-boundary{width:15px;border-top:2px dashed #08796e}.routes-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:27px 0 16px}.routes-heading h2{font-size:1.12rem}.routes-heading span{font-size:.8rem;color:var(--muted)}.routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.empty-state{grid-column:1/-1;border:1px dashed #cad6df;border-radius:9px;padding:29px;text-align:center;color:var(--muted)}.empty-state>span{font-size:1.7rem;color:#8da5b4}.empty-state h3{margin:9px 0;color:#455e70}.empty-state p{font-size:.9rem;line-height:1.5}.route-card{background:white;border:1px solid var(--line);border-left:4px solid var(--route-color);border-radius:9px;padding:16px}.route-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}.route-head button{background:transparent;text-align:left;font-weight:650;color:var(--navy);padding:3px 0;font-size:1rem}.route-head strong{white-space:nowrap}.route-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-bottom:13px}.route-bar{height:5px;background:#e8edf2;border-radius:4px;overflow:hidden;margin:12px 0 15px}.route-bar>span{display:block;height:100%;background:var(--route-color);border-radius:4px}.stop-list{list-style:none;margin:0;padding:0}.stop-list li{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:start;padding:8px 0;border-top:1px solid #edf1f4;font-size:.88rem}.stop-order{display:grid;place-items:center;background:#edf3f5;border-radius:50%;width:22px;height:22px;font-size:.75rem}.stop-list strong{font-size:.86rem}.stop-list small{display:block;color:var(--muted);line-height:1.4;margin-top:3px}.stop-list time{font-size:.8rem;font-weight:600;color:#3d586b}.route-card summary{font-size:.85rem;cursor:pointer;color:var(--teal);margin:10px 0}.people-entry{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.people-entry>button:first-child{background:transparent;text-align:left;color:var(--navy);padding:0;min-width:0}.people-entry strong{display:block;font-size:.9rem}.people-entry small{display:block;font-size:.8rem;color:var(--muted);line-height:1.4;margin-top:4px;overflow-wrap:anywhere}.adapted-tag{color:var(--teal)!important}.result-notice{font-size:.8rem;line-height:1.6;color:var(--muted);margin:18px 0}.alert{padding:14px 17px;margin-bottom:18px;border-radius:8px;font-size:.9rem;line-height:1.5;background:#fff4df;border:1px solid #ead1a0;color:#725016}.alert.error{background:#fff1f0;border-color:#edc8c4;color:#963b33}.alert.busy{background:#e8f7f3;border-color:#b9ded6;color:#175f55}.alert.busy:before{content:"";display:inline-block;width:12px;height:12px;border:2px solid #92c7b9;border-top-color:#08796e;border-radius:50%;margin-right:10px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:1px solid #d4e0e5;border-radius:12px;padding:24px;width:min(500px,calc(100% - 30px));color:var(--navy);max-height:90vh;overflow:auto}dialog::backdrop{background:#102b3b99}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.dialog-heading h2{font-size:1.25rem}.search-row{display:flex;gap:8px}.search-row input{min-width:0}.form-error{color:#a03932;font-size:.9rem;margin-bottom:12px}.search-result{display:block;width:100%;text-align:left;background:#edf5f3;border:1px solid #bdd8d2;border-radius:5px;padding:10px;margin:8px 0;font-size:.85rem;color:#284f47}.map-marker{display:grid;place-items:center;border:2px solid white;border-radius:50%;color:white;font-weight:700;font-size:12px;box-shadow:0 2px 6px #1233}.map-marker.depot{border-radius:7px;font-size:15px}.leaflet-container{font-family:inherit}.leaflet-tooltip{font-size:14px}.map-unavailable{display:grid;place-items:center;padding:30px;text-align:center}.ready-summary{color:var(--teal)}[hidden]{display:none!important}
.road-profile{border:1px solid var(--line);border-radius:8px;padding:12px;margin:15px 0 18px}.road-profile>summary{font-size:.88rem;cursor:pointer;font-weight:600;color:var(--teal)}.road-profile .helper{margin-top:12px}.consent{align-items:flex-start;line-height:1.5}.consent input{flex-shrink:0;margin-top:2px}.street-directions>summary{font-size:.8rem;margin-top:8px}.street-directions>ol{padding-left:20px;margin:8px 0}.street-directions>ol>li{display:list-item;border:0;font-size:.8rem;padding:5px 0;color:#405b6d}.street-directions>ol>li>small{display:inline;font-size:.75rem}
@media(min-width:1550px){#map{height:520px}.workspace{grid-template-columns:390px 1fr}}
@media(max-width:1100px){.workspace{grid-template-columns:330px 1fr;padding:22px 20px;gap:20px}.topbar{padding:0 20px}.metrics{gap:10px}.metric{padding:14px}.metric:first-child{padding-top:12px}.metric>span{font-size:.8rem}.metric>strong{font-size:1.8rem}.routes{grid-template-columns:1fr}.result-heading h2{font-size:1.2rem}.map-footer>span:last-child{margin-left:0}#map{height:400px}}
@media(max-width:820px){.workspace{grid-template-columns:1fr;padding:18px 14px;gap:24px}.configuration{width:100%}.topbar{height:auto;min-height:78px;padding:15px;gap:14px;flex-wrap:wrap}.service-tag{display:none}.topbar>.button{font-size:.8rem;padding:8px}.tab-panel{max-height:420px;overflow:auto}.result-heading{margin-top:0}.metrics{gap:8px}.metric{padding:12px 10px}.metric>strong{font-size:1.55rem}.metric>span{font-size:.8rem;line-height:1.3;display:block}.metric>p{font-size:.75rem}.metric strong small{font-size:.75rem;margin-left:4px}.result-heading h2{font-size:1.15rem}.map-toolbar{padding:12px}.map-toolbar span{max-width:220px}.map-toolbar .button{padding:7px;font-size:.8rem}#map{height:380px}.routes-heading{align-items:start}.routes-heading span{max-width:150px;text-align:right}.routes{grid-template-columns:1fr}.badge{font-size:.75rem;padding:6px 8px}}
@media(prefers-reduced-motion:reduce){.alert.busy:before{animation:none}}
/* Saved experiments and transparent calculation states. */
.save-status{font-size:.75rem;line-height:1.5;color:var(--muted);margin-bottom:10px}
.history-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin:0 0 22px}
.history-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.history-heading h2{font-size:1.1rem}.history-heading .eyebrow{font-size:.7rem}
.history-scroll{overflow:auto}.history-card table{border-collapse:collapse;width:100%;font-size:.84rem;white-space:nowrap}.history-card th{text-align:left;font-size:.75rem;font-weight:550;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}.history-card td{padding:12px;border-bottom:1px solid #edf1f4}.history-card td small{display:block;color:var(--muted);margin-top:4px;font-size:.72rem}.selected-plan{background:#edf7f4}.history-footnote{font-size:.75rem;color:var(--muted);margin-top:12px;line-height:1.5}
.search-progress{padding:18px 20px;border:1px solid #badbd5;border-radius:10px;background:#edf8f5;margin-bottom:20px}.search-progress>div{display:flex;justify-content:space-between;gap:16px;color:#126357}.search-progress p{font-size:.85rem;color:#52736c;line-height:1.5;margin-top:8px}.search-progress strong:before{content:'';display:inline-block;width:8px;height:8px;background:#159b83;border-radius:50%;margin-right:10px}
.map-actions{display:flex;align-items:center;gap:8px}.map-actions select{font-size:.8rem;width:auto;max-width:200px;padding:8px}.map-actions .button{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.route-breakdown{display:flex;gap:15px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #edf1f4;color:var(--muted);font-size:.75rem}.route-breakdown strong{display:block;color:#385365;font-size:.84rem;margin-top:3px}
@media(max-width:820px){.history-card{padding:14px}.history-heading{align-items:flex-start}.history-heading .button{font-size:.75rem}.map-toolbar{flex-wrap:wrap}.map-actions{width:100%}.map-actions select{flex:1;max-width:none}.history-card td,.history-card th{padding:9px}.route-breakdown{gap:24px}}
/* A guided client workflow: essentials first, detail on demand. */
:root{background:#f4f7f8;--line:#dfe8eb;--muted:#607481;--navy:#163141}
.topbar{height:76px;background:#15323f}.topbar>.button{background:#224853;color:#e8faf8;border-color:#41636a}.brand-icon{background:#168d81}.workspace{grid-template-columns:370px minmax(0,1fr);gap:30px;padding-top:26px}.configuration{position:sticky;top:22px;display:flex;flex-direction:column;max-height:calc(100vh - 44px);box-shadow:0 6px 24px #16314106}.panel-heading{padding:22px 22px 18px;flex-shrink:0}.panel-heading .helper{margin:8px 0 0;font-size:.85rem}.eyebrow{font-size:.69rem;letter-spacing:.12em}.tabs{padding:0 12px;flex-shrink:0;gap:6px;border-top:0}.tabs button{display:flex;align-items:center;justify-content:center;gap:5px;padding:14px 0;font-size:.78rem}.tabs button i{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#edf2f4;font-style:normal;font-size:.7rem}.tabs button[aria-selected=true] i{background:var(--teal);color:#fff}.tabs span{font-size:.65rem;padding:2px 3px;background:transparent}.tab-panel{overflow:auto;min-height:140px;max-height:560px;padding:20px;scrollbar-width:thin;scrollbar-color:#c6d8d9 transparent}.fleet-labels,.bus-row{grid-template-columns:minmax(0,1fr) 62px 65px 23px;gap:6px}.bus-row{padding:6px 0;margin:0;border-bottom:1px solid #edf2f3}.bus-row input{padding:9px 5px;font-size:.83rem}.fleet-labels{font-size:.72rem}.fleet-labels span:not(:first-child){text-align:center}.bus-name i{width:5px;height:26px}.bus-row>input{text-align:center;background:#fafcfc}.bus-row .bus-name input{padding-left:2px}.icon-button:hover{background:#edf3f4;color:#214751}.capacity-total{display:block;margin-bottom:0;background:#f0f7f5;border:1px solid #d5e8e1}.capacity-total>span{display:block;color:#52716a;font-size:.76rem}.capacity-total strong{display:block;margin-top:7px;font-size:.97rem}.capacity-total small{display:block;font-size:.75rem;line-height:1.5;margin-top:7px}.calculate-box{padding:16px 20px 12px;flex-shrink:0;background:#fafcfc}.calculate-box .helper{font-size:.82rem;margin-bottom:11px;line-height:1.45}.calculate-box .save-status{margin:10px 0 0;text-align:center;font-size:.69rem;color:#738990}.text-button{background:transparent;color:var(--teal);font-size:.83rem;padding:10px 0;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:#054d46}.calculate-box .text-button{padding:9px 0 0;text-decoration:none}.button{border-radius:9px}.button.primary{padding:13px 17px;background:#08796e}.button.secondary{background:#fff;border-color:#c9dadd}.needs-attention{color:#925829}.origin{margin:0 0 20px;padding:13px;background:#f0f7f5;border-color:#d5e8e1}.origin small{font-size:.75rem}.origin-symbol{font-size:1.5rem}.field{font-size:.82rem;margin-bottom:16px}.field-pair{gap:10px}.helper{font-size:.83rem;line-height:1.55}.consent-card{background:#f2f7fa;border:1px solid #dce7ec;border-radius:10px;padding:14px;margin:18px 0}.consent-card .checkbox{margin:0 0 8px;font-weight:600;font-size:.83rem}.consent-card>p,.provider-details p{font-size:.75rem;line-height:1.55;color:#5a7383}.provider-details{margin-top:9px;font-size:.74rem;color:#587182}.provider-details summary{cursor:pointer}.provider-details p{margin-top:8px;overflow-wrap:anywhere}.advanced-settings{border-top:1px solid var(--line);padding-top:15px;margin:18px 0 0}.advanced-settings>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none;font-weight:600;font-size:.85rem;cursor:pointer;padding:4px 0}.advanced-settings>summary:before{content:'+';display:inline-grid;place-items:center;border-radius:50%;width:21px;height:21px;background:#edf3f4;color:#536c78;flex-shrink:0}.advanced-settings[open]>summary:before{content:'−'}.advanced-settings>summary>span{color:#7b8e96;font-size:.7rem;font-weight:400;margin-left:auto}.advanced-content{padding-top:20px}.priority p{margin-top:8px;line-height:1.55;color:var(--muted);font-size:.8rem}.passenger-actions{margin-bottom:16px;text-align:center}.passenger-actions .text-button{font-size:.78rem}.list-summary{font-size:.75rem;color:var(--muted);margin:12px 0 3px}#people-list{max-height:320px;overflow:auto;scrollbar-width:thin}.people-entry{gap:5px;padding:12px 0}.people-entry strong{font-size:.84rem}.people-entry small{font-size:.73rem}.adapted-tag{display:inline-block!important;background:#edf7f3;border:1px solid #cde6dd;border-radius:5px;padding:2px 6px;font-size:.7rem!important}.people-empty{padding:24px 6px;text-align:center;font-size:.86rem;color:#345868}.people-empty p{font-size:.79rem;color:var(--muted);line-height:1.5;margin-top:8px}.result-heading{margin:3px 0 22px}.result-heading h2{font-size:1.55rem}.badge{font-size:.73rem;background:#e9f5f1;border-color:#c8e5da;color:#316857}.badge.demo{background:#fff4df}.setup-guide{background:#fff;border:1px solid var(--line);border-radius:15px;padding:26px;margin-bottom:24px}.guide-heading{display:flex;align-items:start;gap:15px}.guide-symbol{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;background:#e8f5ef;color:#08796e;font-size:1.7rem}.guide-heading h3{font-size:1.15rem;margin:1px 0 8px}.guide-heading p{font-size:.86rem;color:var(--muted);line-height:1.6;max-width:560px}#setup-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:24px 0 0;padding:0}#setup-checklist button{display:flex;align-items:start;gap:9px;text-align:left;background:#fafcfc;border:1px solid #e1eaeb;border-radius:11px;padding:15px 12px;color:var(--navy);height:100%;width:100%}#setup-checklist button:hover{background:#f1f8f5;border-color:#b4d8cb}#setup-checklist .check-symbol{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#edf2f3;color:#58707b;font-size:.73rem;flex-shrink:0}#setup-checklist .complete .check-symbol{background:#dff2e8;color:#08796e}#setup-checklist strong{font-size:.81rem;display:block;margin-top:2px}#setup-checklist small{display:block;font-size:.72rem;line-height:1.5;color:var(--muted);margin-top:6px}#setup-checklist button>span:last-child{margin-left:auto;color:#69838e;font-size:.83rem}.metrics{gap:14px;margin-bottom:16px}.metric{padding:22px;border-radius:12px}.metric:first-child{background:#f0f8f4;border-top:1px solid #c4e3d3;padding-top:22px}.metric>strong{font-size:2rem;margin:11px 0}.metric strong small{font-size:.9rem;color:#536c78;white-space:nowrap}.metric>p{font-size:.75rem}.result-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 23px;padding:0 2px}.result-actions>p{font-size:.86rem;color:#526e7b}.result-actions>div{display:flex;gap:8px;flex-shrink:0}.result-actions .button{font-size:.79rem;padding:10px 13px}.map-card{border-radius:15px}.map-toolbar{padding:16px 20px}.map-toolbar span{font-size:.76rem}.map-actions .button{font-size:.75rem}.map-footer{font-size:.73rem;gap:18px;padding:12px 18px}.legend-adapted{font-style:normal;background:#edf7f2;color:#08796e;border-radius:4px;padding:0 3px}.map-footer>span:last-child{font-size:.7rem}#map{cursor:grab;height:450px}#map.adding-location{cursor:crosshair;outline:3px solid #21aa96;outline-offset:-3px}.map-marker{position:relative}.marker-accessible{position:absolute;right:-7px;bottom:-5px;display:grid;place-items:center;width:15px;height:15px;background:white;color:#126a5d;border:1px solid #a7cfc2;border-radius:50%;font-size:10px}.map-marker.adapted{border-color:#d8fff0;box-shadow:0 0 0 2px #1b705e,0 2px 6px #1233}.route-card{border-radius:12px;padding:18px}.selected-route{box-shadow:0 0 0 2px var(--route-color)}.route-card summary{font-size:.79rem}.route-time-details>summary{color:#617d89;margin:8px 0}.route-breakdown{padding:8px 0;border-top:0;gap:30px}.route-head strong{font-size:.92rem}.route-meta{font-size:.76rem;gap:12px}.route-bar{height:4px;margin:14px 0}.stop-list time{font-size:.75rem}.history-card{padding:0;margin:25px 0 0;border-radius:12px;background:#fff}.history-card>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;padding:18px 20px;cursor:pointer;font-size:.87rem;font-weight:600}.history-card>summary small{color:var(--muted);font-weight:400}.history-toggle{font-size:.75rem;color:var(--teal)}.history-content{padding:0 20px 20px}.history-card[open] .history-toggle{color:var(--muted)}.history-footnote{font-size:.7rem}.history-card td,.history-card th{padding-left:8px;padding-right:8px}.result-details{margin-top:17px;font-size:.78rem;color:#6d8390}.result-details>summary{cursor:pointer}.result-details p{margin:12px 0 0;font-size:.76rem}.alert{font-size:.83rem;border-radius:10px}.alert.success{background:#eaf6ef;border-color:#c5e3d1;color:#286148}.search-progress{padding:22px;border-radius:13px}.search-progress>small{display:block;font-size:.73rem;color:#52736c;line-height:1.5;margin-top:13px}.search-progress>div{align-items:center}.search-progress>div span{font-size:.78rem;white-space:nowrap}.progress-stages{display:flex;gap:7px;list-style:none;margin:17px 0 11px;padding:0;flex-wrap:wrap}.progress-stages li{padding:7px 10px;border-radius:6px;background:#e3eee9;color:#668379;font-size:.74rem}.progress-stages .current{background:#08796e;color:white;font-weight:600}.location-status{padding:10px 12px;margin:12px 0 18px;background:#f3f6f7;border-radius:8px;font-size:.78rem;line-height:1.5;color:#617581}.location-status.located{background:#eaf7f0;color:#297054}dialog .advanced-settings{margin:12px 0 20px}dialog .field{font-size:.86rem}dialog{padding:26px;border-radius:16px}.dialog-heading{margin-bottom:22px}.form-error:not(:empty){background:#fff0ed;padding:10px;border-radius:7px;font-size:.8rem;line-height:1.5}
@media(min-width:1550px){.workspace{grid-template-columns:390px minmax(0,1fr)}#map{height:500px}}
@media(max-width:1150px){.workspace{grid-template-columns:340px minmax(0,1fr);padding:24px 20px;gap:22px}#setup-checklist{grid-template-columns:1fr;gap:8px}#setup-checklist button{align-items:center;padding:12px}#setup-checklist small{margin-top:3px}.result-heading h2{font-size:1.35rem}.metrics{gap:9px}.metric{padding:16px 13px}.metric:first-child{padding-top:16px}.metric>strong{font-size:1.65rem}.metric strong small{font-size:.78rem;margin-left:5px}.result-actions{align-items:flex-start;flex-direction:column}.result-actions>div{width:100%}.result-actions .button{flex:1}}
@media(max-width:820px){.topbar{height:70px;min-height:70px;padding:12px 16px;flex-wrap:nowrap}.brand-icon{width:36px;height:36px;border-radius:10px;font-size:1.4rem}.brand strong{font-size:1.1rem}.brand div>span{font-size:.6rem}.topbar>.button{font-size:.72rem;max-width:150px}.workspace{display:flex;flex-direction:column;padding:18px 14px;gap:25px}.configuration{position:static;max-height:none;width:100%}.tab-panel{max-height:none;overflow:visible;padding:18px}.panel-heading{padding:20px 18px 15px}.tabs button{font-size:.78rem}.calculate-box{padding:14px 18px}.fleet-labels,.bus-row{grid-template-columns:minmax(0,1fr) 65px 68px 24px;gap:7px}.working-area{width:100%}.result-heading{gap:8px;margin-bottom:17px}.result-heading h2{font-size:1.2rem}.setup-guide{padding:20px}.guide-heading{gap:12px}.guide-heading h3{font-size:1rem}.guide-heading p{font-size:.8rem}#setup-checklist{margin-top:18px}.guide-symbol{width:34px;height:34px;font-size:1.3rem}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric:first-child{grid-column:1/-1}.metric:first-child>strong{font-size:2.05rem}.metric{padding:15px}.metric>strong{font-size:1.5rem}.metric>span{font-size:.77rem}.result-actions>div{flex-wrap:wrap}.map-toolbar{padding:13px;gap:12px}.map-actions{width:auto;flex-wrap:wrap}.map-actions select{width:auto;max-width:180px}.map-footer>span:last-child{flex-basis:100%;margin-left:0}#map{height:350px}.history-card>summary{padding:16px}.history-content{padding:0 14px 14px}.history-card td,.history-card th{font-size:.72rem}.routes-heading span{font-size:.72rem}.search-progress{padding:17px}.search-progress>div{flex-direction:column;align-items:flex-start;gap:8px}.progress-stages li{font-size:.7rem;padding:6px}.stop-list li{grid-template-columns:22px minmax(0,1fr) auto}.stop-list time{font-size:.7rem}.stop-list strong{font-size:.79rem}}
@media(max-width:380px){.workspace{padding:14px 10px}.tab-panel{padding:14px}.fleet-labels,.bus-row{grid-template-columns:minmax(0,1fr) 56px 59px 22px;gap:5px}.bus-name input{font-size:.76rem}.tabs{gap:1px}.tabs button{font-size:.73rem}.map-actions{width:100%}.map-actions select{flex:1;max-width:none}.metric strong small{font-size:.7rem}.result-heading{flex-wrap:wrap}}
@media(min-width:821px){.configuration{max-height:calc(100vh - 124px)}}
#people-panel{display:flex;flex-direction:column;overflow:hidden;min-height:230px}.passenger-actions{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-shrink:0}.passenger-actions .button{flex:1;width:auto;padding:10px;font-size:.79rem}.passenger-actions .text-button{padding:10px 4px;font-size:.75rem;text-decoration:none;white-space:nowrap}#people-search,#people-summary{flex-shrink:0}#people-list{flex:1;min-height:100px;max-height:none}.people-entry{padding:11px 0}
@media(max-width:820px){#people-panel{display:block;overflow:visible;min-height:0}#people-list{max-height:300px;min-height:0}}
/* Residence workspace and driver hand-off */
.import-dialog{width:min(850px,95vw);max-height:90vh}.import-dialog textarea{width:100%;margin:12px 0}.import-row{padding:16px;border:1px solid #dce5ec;border-radius:12px;margin:12px 0;display:grid;gap:8px}.import-row label{display:grid;gap:4px}.import-row .checkbox{display:flex}.import-matches{display:grid;gap:6px}.driver-body{background:#f2f6f8}.driver-main{max-width:800px;margin:auto;padding:24px}.driver-stops{padding:0;list-style:none}.driver-stops>li{background:white;border:1px solid #dce5ec;border-radius:16px;padding:20px;margin:16px 0}.driver-stops>li.done{opacity:.55}.driver-stops h2{font-size:19px}.driver-stops .button{margin:5px 8px 5px 0}.driver-stops details{margin-top:12px}#share-url{width:100%;margin:12px 0}#jobs-list{display:grid;gap:8px;padding:12px}.origin .text-button{padding:0}#center-dialog{max-width:520px}#center-dialog input{width:100%}.topbar{gap:12px;flex-wrap:wrap}

.travel-today{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.7rem;color:var(--muted);padding:8px}.travel-today input{width:18px;height:18px;accent-color:#087f8c}.people-entry:has([data-today]:not(:checked)){opacity:.6}
