:root{font-family:Arial,Helvetica,sans-serif;color:#20392d;background:#f6f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1480px;margin:auto;padding:0 5vw}header{height:100px;justify-content:space-between;border-bottom:1px solid #d8ddd3}.brand,header{display:flex;align-items:center}.brand{gap:12px;color:inherit;text-decoration:none;font-size:35px}.brand span{font-size:13px;letter-spacing:2px;font-weight:700}.edition{font-size:13px;color:#687268}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:65px 0 48px;gap:30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 18px}h1{font-size:clamp(42px,5.5vw,76px);line-height:1.06;letter-spacing:-3px;margin:0;font-weight:500}h1 em{font-family:Georgia,serif;font-weight:400}.intro-copy{font-size:14px;color:#637267;line-height:1.8;max-width:310px;margin-bottom:5px}.tracking{display:grid;grid-template-columns:minmax(0,1fr) 320px;border:1px solid #d4dacd;border-radius:16px;overflow:hidden;background:#fffef9}.map-wrap{position:relative;min-height:490px}.map{inset:0}.map,.map-label{position:absolute}.map-label{top:24px;left:24px;padding:12px 15px;background:#fffef5e8;border-radius:30px;font-size:9px;font-weight:700;letter-spacing:1.5px;display:flex;align-items:center;gap:8px;pointer-events:none}.dot{height:7px;width:7px;border-radius:50%;background:#4d8565}.map-note{position:absolute;bottom:35px;left:20px;right:20px;font-size:12px;line-height:1.5;color:#405646;background:#fffef1ec;border-radius:7px;padding:10px 14px}aside{padding:34px 28px;border-left:1px solid #d4dacd}h2{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.2;min-height:85px}dl{margin:28px 0}dl div{padding:16px 0;border-bottom:1px solid #e0e3d9}dt{font-size:11px;color:#718071;margin-bottom:8px}dd{margin:0;font-size:14px}.privacy{font-size:11px;line-height:1.7;color:#718071}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0;font-size:11px;color:#6d786d}@media(max-width:760px){header{height:78px}.intro{padding:40px 0 30px;display:block}.intro-copy{margin-top:24px}.tracking{grid-template-columns:1fr}.map-wrap{min-height:390px}aside{border-left:none;border-top:1px solid #d4dacd}h2{min-height:0}footer{font-size:10px}.edition{display:none}}.tracker-version{position:fixed;right:10px;bottom:10px;z-index:1000;padding:5px 8px;border:1px solid #b9c4b8;border-radius:6px;background:#fffef0e8;box-shadow:0 2px 8px #0002;color:#536458;font-size:10px;line-height:1;pointer-events:none}.dashboard-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0;font-size:12px}.dashboard-login{max-width:520px;margin:0 auto 60px;padding:32px;background:#fffef9;border:1px solid #d4dacd;border-radius:16px}.dashboard-login h2{min-height:0}.dashboard-login p{line-height:1.6}.dashboard-login label{display:block;font-size:12px;margin:22px 0 8px}.dashboard-login input{width:100%;padding:12px;border:1px solid #a5b3a8;border-radius:6px;margin-bottom:16px}.dashboard-login small{color:#637267;line-height:1.6}button,select{font:inherit}button{cursor:pointer;border:1px solid #a4b4a7;background:#fffef9;color:#235b46;border-radius:6px;padding:9px 13px}button:disabled{opacity:.5;cursor:default}select{margin-left:8px;padding:8px;border:1px solid #a4b4a7;border-radius:6px}.raw-dashboard{padding:20px 0 45px}.raw-dashboard h2{min-height:0;margin:32px 0 18px}.sensor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.sensor-grid>div{border:1px solid #d4dacd;background:#fffef9;padding:18px;border-radius:10px;overflow-wrap:anywhere}.sensor-grid span{display:block;font-size:11px;color:#637267;margin-bottom:9px}.sensor-grid strong{font-size:17px;font-weight:500}.history-scroll{max-height:480px;overflow:auto;border:1px solid #d4dacd;border-radius:8px}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}td,th{text-align:left;padding:12px;border-bottom:1px solid #e0e3d9}th{position:sticky;top:0;background:#e8ece2}td{background:#fffef9}details{margin-top:24px}summary{cursor:pointer;font-size:14px}pre{overflow:auto;background:#e8ece2;padding:20px;border-radius:8px;font-size:12px;line-height:1.6;max-height:500px}.dashboard-link{color:#235b46;text-decoration:none;border:1px solid #a4b4a7;border-radius:6px;padding:10px 14px;font-size:13px}.dashboard-link:hover{background:#e8ece2}.dashboard-link:focus-visible{outline:2px solid #235b46;outline-offset:3px}.trip-charts{margin-top:32px;border:1px solid #d4dacd;background:#fffef9;border-radius:14px;padding:24px}.chart-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.chart-heading h2{margin:0 0 18px}.chart-heading .eyebrow{margin-bottom:9px}.chart-heading>p{font-size:12px;line-height:1.7;color:#637267;text-align:right}.chart-readout{display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:13px;margin:4px 0 12px;padding:13px 16px;background:#f2f4ed;border-radius:8px}.chart-readout strong{font-weight:500}.elevation-value{color:#28654d}.speed-value{color:#a46020}.profile-svg{width:100%;height:auto;display:block;touch-action:pan-y;cursor:crosshair}.chart-slider{display:flex;align-items:center;gap:16px;font-size:12px;color:#637267}.chart-slider input{flex:1 1;min-width:40px;accent-color:#28654d}.chart-slider span{min-width:48px;text-align:right}.chart-note{color:#738174;font-size:11px;line-height:1.6;margin-bottom:0}@media(max-width:600px){.trip-charts{padding:14px}.chart-heading>p{display:none}.chart-readout{gap:9px 16px;font-size:12px}.chart-readout>span{width:100%}.profile-svg{min-height:205px}.chart-slider{gap:8px}}.trip-cursor-dot{width:18px;height:18px;border:3px solid white;border-radius:50%;background:#e13e39;box-shadow:0 0 0 5px #e13e3926,0 2px 7px #0005;z-index:3;pointer-events:none}.trip-charts>.chart-heading h2{min-height:0}@media(min-width:761px){.tracking--inspector .map-wrap{min-height:340px}.tracking--inspector aside{padding:18px 22px}.tracking--inspector h2{font-size:24px;min-height:0;margin:6px 0 12px}.tracking--inspector dl{margin:10px 0}.tracking--inspector dl div{padding:8px 0}.tracking--inspector .eyebrow{margin-bottom:10px}.tracking--inspector .privacy{margin-bottom:0}}.dashboard-tabs{display:flex;gap:8px;border-bottom:1px solid #d4dacd;padding-bottom:14px;margin-bottom:28px}.dashboard-tabs button{display:inline-flex;align-items:center;gap:7px}.dashboard-tabs button[aria-current=page]{background:#235b46;color:white;border-color:#235b46}.nav-alert-badge{display:inline-grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border-radius:999px;background:#c7372f;color:#fff;font-size:11px;font-weight:700;line-height:1;box-shadow:0 0 0 2px #fffef9}.dashboard-tabs button[aria-current=page] .nav-alert-badge{box-shadow:0 0 0 2px #235b46}.planner-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.planner-heading h2{min-height:0;margin:0 0 15px}.server-date{display:flex;flex-direction:column;gap:5px;text-align:right;font-size:13px}.server-date small,.server-date span{color:#667565}.stage-legend{display:flex;gap:18px}.stage-legend span{display:flex;gap:7px;align-items:center}.stage-legend i{height:10px;width:10px;border-radius:50%}.planner-grid{display:grid;grid-template-columns:330px minmax(0,1fr);border:1px solid #d4dacd;border-radius:14px;overflow:hidden;background:#fffef9}.stage-editor{padding:18px;border-right:1px solid #d4dacd}.stage-editor h3{margin:0 0 14px;font-family:Georgia,serif;font-size:22px;font-weight:400}.settings-grid label,.stage-editor label{display:block;font-size:12px;font-weight:600}.settings-grid input,.settings-grid select,.stage-editor input{width:100%;min-width:0;border:1px solid #b4c0b3;border-radius:6px;padding:10px;font:inherit;margin:8px 0 0;background:white}.village-search{margin-top:14px}.village-query{display:flex;gap:6px;align-items:stretch}.village-query button{margin-top:8px;padding:8px}.place-results{list-style:none;padding:0;margin:6px 0}.place-results button{width:100%;text-align:left;margin-bottom:5px;white-space:normal}.place-results span,.place-results strong{display:block}.place-results span{font-size:11px;color:#667565;line-height:1.5;margin-top:4px}.place-choice{margin-top:8px;font-size:11px;color:#a3661e;display:flex;gap:8px;align-items:center}.place-choice.confirmed{color:#23805b}.place-choice button{font-size:10px;padding:5px;flex-shrink:0}.editor-actions{display:flex;gap:8px;margin-top:16px}.editor-actions button:first-child{background:#235b46;color:white}.planner-help{font-size:12px;line-height:1.7;color:#667565}.stage-editor small{font-size:10px}.stage-map-wrap{position:relative;min-height:560px}.stage-map{position:absolute;inset:0}.stage-confirmations{position:absolute;left:15px;bottom:46px;right:15px;display:flex;gap:10px;pointer-events:none}.stage-confirmations>div{background:#fffef9f5;border:1px solid #d3bd9b;box-shadow:0 5px 18px #0002;border-radius:8px;padding:12px;max-width:280px;pointer-events:auto}.stage-confirmations span,.stage-confirmations strong{display:block;font-size:12px}.stage-confirmations span{font-size:11px;line-height:1.4;margin:5px 0 10px}.stage-confirmations button{font-size:11px;color:#8b5517}.stage-map-note{position:absolute;bottom:24px;left:10px;max-width:90%;background:#fffef9df;font-size:10px;padding:5px 8px;border-radius:4px;pointer-events:none}.stage-map-error{position:absolute;top:10px;left:10px;right:55px;z-index:5;background:#fff1e8;padding:12px;font-size:12px}.stage-marker{width:34px;height:40px;border-radius:16px 16px 16px 3px;background:var(--stage-color);border:2px solid white;box-shadow:0 3px 8px #0005;color:var(--stage-color)}.stage-marker.end{border-radius:8px 8px 3px 8px}.stage-marker svg{width:100%;height:100%}.stage-list{margin:28px 0 45px}.stage-list table{white-space:normal}.stage-list td{min-width:120px}.stage-list td:last-child{min-width:215px}.stage-list h3{font-family:Georgia,serif;font-size:24px;font-weight:400}.stage-status{font-size:12px;font-weight:600}.planner-error{background:#fff0e6;padding:12px 16px;border-radius:6px;color:#943e20}.server-settings{background:#fffef9;border:1px solid #d4dacd;border-radius:14px;padding:28px;margin-bottom:40px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}.settings-grid small{display:block;font-weight:400;font-size:11px;color:#667565;margin-top:7px;line-height:1.5}.settings-grid select{margin-left:0}.trip-planner{margin-bottom:30px}@media(max-width:900px){.planner-grid{grid-template-columns:1fr}.stage-editor{border-right:none;border-bottom:1px solid #d4dacd}.stage-map-wrap{min-height:460px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.planner-heading{display:block}.server-date{text-align:left;margin-bottom:20px}.settings-grid{grid-template-columns:1fr}.dashboard-tabs button{font-size:12px}.stage-confirmations{flex-direction:column;max-width:280px}.server-settings{padding:18px}}.stage-marker,.stage-marker.end{width:38px;height:48px;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 3px 3px #0005);color:var(--stage-color)}.stage-marker:after,.stage-marker:before{content:"";position:absolute;inset:0;clip-path:polygon(15% 0,85% 0,100% 12%,100% 67%,50% 100%,0 67%,0 12%);background:white}.stage-marker:after{inset:2px 2px 3px;background:var(--stage-color)}.stage-marker svg{position:absolute;left:3px;top:1px;width:32px;height:32px;z-index:1}.stage-marker.draggable{cursor:grab}.stage-marker.draggable:active{cursor:grabbing}.stage-marker.combined:after{background:linear-gradient(90deg,var(--stage-color) 50%,var(--next-color) 50%)}.address-fields{margin-top:10px}.address-fields label{margin-top:8px}.stage-address{display:block;color:#667565;margin-top:5px}.stage-schedule-fields{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px;margin-top:12px}.stage-schedule-fields label{min-width:0}.stage-schedule-fields input{padding:8px 5px}.stage-editor .all-day-field{display:flex;align-items:center;gap:7px;margin-top:10px}.stage-editor .all-day-field input{width:auto;margin:0}.stage-editor .schedule-help{margin:7px 0 0;line-height:1.35}.map-jump-controls{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:25;max-width:calc(100% - 24px);padding:5px;background:#fffef9ed;border:1px solid #d4dacd;border-radius:10px;box-shadow:0 3px 12px #0002}.map-jump-controls button{font-size:12px;white-space:nowrap;padding:9px 10px;background:#fffef9;color:#235b46}.map-jump-controls button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.map-jump-controls{gap:3px;bottom:40px}.map-jump-controls button{font-size:11px;padding:9px 6px}}.map-jump-controls{flex-wrap:wrap;justify-content:center;width:max-content}.map-jump-controls button{flex:0 0 auto}@media(max-width:600px){.map-jump-controls{width:300px}.map-jump-controls button{flex:1 1 40%}}.waypoint-editor{border-top:1px solid #d4dacd;margin-top:24px;padding-top:10px}.waypoint-item{padding:12px;margin:12px 0;background:#f2f3eb;border-radius:8px}.waypoint-item>div{margin-top:8px}.waypoint-number{position:absolute;z-index:1;top:7px;left:0;width:100%;text-align:center;font-weight:700;color:white;font-size:16px}.stage-confirmations{max-height:220px;overflow:auto;flex-wrap:wrap;z-index:22}.stage-editor{max-height:780px;overflow-y:auto}@media(max-width:900px){.stage-editor{max-height:650px}}.tracking--inspector .map-wrap{aspect-ratio:1/1;min-height:0;align-self:start;width:100%}.trip-charts{padding:16px 20px;margin-top:20px}.chart-heading h2{font-size:26px;margin:0 0 8px}.chart-heading .eyebrow{margin:0 0 5px}.chart-heading>p{margin:0 0 8px}.chart-readout{padding:8px 12px;margin:0 0 8px}.profile-svg{min-height:0}.chart-slider{margin-top:6px}.chart-note{margin-top:8px;line-height:1.4}@media(max-width:600px){.trip-charts{padding:12px}.profile-svg{min-height:155px}.chart-heading h2{font-size:23px}}.map-basemap{position:absolute;top:16px;right:52px;display:flex;gap:3px;background:#fffef9ef;padding:4px;border-radius:8px;z-index:25;box-shadow:0 2px 8px #0002}.map-basemap button{font-size:11px;padding:7px 9px;background:#fffef9}.map-basemap button[aria-pressed=true]{background:#235b46;color:white;border-color:#235b46}@media(max-width:600px){.tracking .map-label{top:66px;left:12px;padding:8px 10px}}.position-icon-picker{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:12px}.position-icon-picker select{font:inherit;margin-left:8px;background:#fffef9;border:1px solid #b4c0b3;border-radius:6px;padding:8px 10px}.position-icon-picker small{color:#667565}.current-position-marker{z-index:24!important;width:42px;height:53px}.current-position-marker svg{width:34px;height:34px;left:4px;top:3px}@media(max-width:600px){.position-icon-picker{flex-wrap:wrap;gap:5px}}.current-position-marker{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:38px;line-height:1;background:transparent;border:0;filter:drop-shadow(0 1px 2px white) drop-shadow(0 2px 3px #0006);-webkit-user-select:none;user-select:none}.position-manager{margin-bottom:45px}.position-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:#fffef9;border:1px solid #d4dacd;border-radius:12px;padding:18px;margin:18px 0}.position-filters label{font-size:12px;font-weight:600}.position-filters input,.position-filters select{display:block;width:100%;margin:8px 0 0;padding:9px;border:1px solid #a5b3a8;border-radius:6px;background:white}.position-filters span{display:block;color:#667565;font-size:10px;margin-top:4px}.position-manager-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;border:1px solid #d4dacd;border-radius:14px;overflow:hidden;background:#fffef9}.position-manage-map{position:relative;min-height:500px}.position-summary{display:flex;flex-direction:column;gap:12px;padding:24px;border-left:1px solid #d4dacd}.position-summary span{font-size:12px;line-height:1.5;color:#526359}.position-summary hr{border:0;border-top:1px solid #d4dacd;width:100%}.position-inaccurate td{background:#fff0e6}.position-inactive td{background:#ededE8;color:#777;text-decoration:none}.position-table tr[aria-selected=true] td{background:#dcebf4;box-shadow:inset 0 2px #277fba,inset 0 -2px #277fba;font-weight:600}.position-table tbody tr{cursor:pointer}.managed-selected-point{width:18px;height:18px;border:4px solid white;border-radius:50%;background:#d24a2e;box-shadow:0 1px 7px #0008}@media(max-width:900px){.position-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.position-manager-grid{grid-template-columns:1fr}.position-summary{border-left:0;border-top:1px solid #d4dacd}.position-manage-map{min-height:420px}}@media(max-width:560px){.position-filters{grid-template-columns:1fr}.position-manage-map{min-height:350px}}.position-bulk-tools{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,.45fr) auto;gap:14px;align-items:end;margin:-4px 0 18px;padding:16px 18px;border:1px solid #d8c3bd;border-radius:12px;background:#fff8f5}.position-bulk-tools p{margin:4px 0 0;color:#667565;font-size:12px}.position-bulk-tools label{font-size:12px;font-weight:600}.position-bulk-tools input,.position-bulk-tools select{display:block;width:100%;margin-top:7px;padding:8px;border:1px solid #a5b3a8;border-radius:6px;background:#fff}.position-bulk-actions{display:flex;gap:7px;flex-wrap:wrap}.position-bulk-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;padding-top:14px;border-top:1px solid #e1cac3}.position-bulk-preview>span{font-size:12px;color:#526359}.position-bulk-preview>div{display:flex;gap:7px;flex-wrap:wrap}.position-bulk-preview>label{grid-column:1/3}.position-bulk-preview>.danger-button{justify-self:start}@media(max-width:900px){.position-bulk-preview,.position-bulk-tools{grid-template-columns:1fr}.position-bulk-preview>label{grid-column:auto}}.stage-marker.waypoint-marker{width:26px;height:26px;border-radius:50%;border:2px solid white;background:var(--stage-color);box-shadow:0 1px 5px #0005;filter:none;box-sizing:border-box}.stage-marker.waypoint-marker:after,.stage-marker.waypoint-marker:before{display:none}.waypoint-marker .waypoint-number{inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;width:100%;height:100%}.stage-marker.route-place-marker{width:28px;height:28px;border-radius:50%;border:2px solid white;background:#7c3fb5;box-shadow:0 2px 7px #0006;filter:none;box-sizing:border-box}.stage-marker.route-place-marker:after,.stage-marker.route-place-marker:before{display:none}.route-place-marker .waypoint-number{inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;width:100%;height:100%}.route-places-editor{margin:12px 0;padding:16px;border:1px solid #ac89cc;border-radius:9px;background:#faf7fd}.route-places-editor header{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-places-editor h3{margin:0;font-size:17px}.route-places-editor ol{margin:14px 0;padding-left:28px}.route-places-editor li{margin:7px 0}.route-places-editor li>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-places-editor li strong{min-width:150px}.route-places-editor small{color:#667565}.route-place-search{display:flex;gap:7px;margin-top:12px}.route-place-search input{min-width:220px}.route-place-results{list-style:none!important;padding:0!important;display:flex;flex-wrap:wrap;gap:6px}.route-place-results button{text-align:left}.route-place-results span{display:block;font-size:10px;color:#667565}.route-switch-marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:3px solid white;border-radius:50%;background:#7c3fb5;color:white;font-weight:800;box-shadow:0 1px 7px #0008}.difficulty-legend{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:12px 0 6px;padding:9px 13px;border:1px solid #d4dacd;border-radius:8px;background:#fffef9;font-size:11px}.difficulty-legend strong{font-size:12px}.difficulty-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.difficulty-legend i{width:9px;height:9px;border-radius:50%;background:#74a96b}.difficulty-legend i.moderate{background:#d5aa43}.difficulty-legend i.hard{background:#d57b3e}.difficulty-legend i.very-hard{background:#b84b4b}.difficulty-legend small{color:#667565}.difficulty-formula{flex:1 1 100%;padding-top:4px;border-top:1px solid #e3e7df}.difficulty-formula b{color:#405044}.bike-route-summary,.final-route-editor,.reference-route-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-radius:8px;padding:12px 16px;margin:12px 0}.bike-route-summary{background:#fff5e8;border:1px solid #ddb47f}.reference-route-summary{background:#edf7fc;border:1px solid #8bbbd5}.final-route-editor{background:#f5effb;border:1px solid #ac89cc}.bike-route-summary span,.final-route-editor span,.reference-route-summary span{font-size:12px;color:#4d6070}.stage-list td:last-child{min-width:540px}.route-info-copy{display:flex;flex:1 1 420px;gap:8px 14px;align-items:center;flex-wrap:wrap}.route-info-copy>span{display:block}.route-info-copy>div{display:flex;gap:6px;flex-wrap:wrap}.route-elevation{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:1 1 390px;min-width:320px}.route-elevation-score{display:flex;flex-direction:column;min-width:150px}.route-elevation-score strong{font-size:13px;white-space:nowrap}.route-elevation-score small{font-size:10px;color:#667565}.route-elevation svg{display:block;width:clamp(250px,42vw,560px);height:88px;overflow:visible}.route-elevation svg text{font:9px Arial,sans-serif;fill:#45554a}.route-elevation-missing{display:block;width:min(250px,42vw);padding:12px;border:1px dashed #9aa99d;border-radius:6px;text-align:center;font-size:10px!important}@media(max-width:700px){.route-elevation{min-width:100%;justify-content:space-between}.route-elevation svg,.route-elevation-missing{width:min(320px,55vw);height:72px}}.route-info-copy>.confirmed-route-step{width:100%;align-items:center;padding:7px 9px;border-radius:7px;background:#fff9}.confirmed-route-step>b{flex:0 0 100%;font-size:12px;color:#463354}.stage-list tbody tr[data-stage-id]{cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease}.stage-list tbody tr[data-stage-id]:hover{background:#f7f3df}.stage-list tbody tr[data-stage-id]:focus-visible{outline:3px solid #235b46;outline-offset:-3px}.stage-list tbody tr.active-trip{background:#fff3c9;box-shadow:inset 0 2px #d99a19,inset 0 -2px #d99a19}.stage-list tbody tr.active-trip td{background:transparent}.stage-list tbody tr.active-trip td:first-child{font-weight:700}.stage-list tbody tr.active-trip td:first-child:before{content:"ACTIVE";display:block;width:max-content;margin:0 0 5px;padding:2px 6px;border-radius:999px;background:#8a5b00;color:#fff;font-size:9px;letter-spacing:.08em}.stage-list{max-height:52vh;overflow:auto;scroll-behavior:smooth;border-radius:8px}.stage-list>h3{position:sticky;top:0;z-index:3;margin:0;padding:12px 4px;background:#fff}.stage-list thead{position:sticky;top:46px;z-index:2;background:#f4f7f2;box-shadow:0 1px #cfd8ce}.stage-list .journey-group-row th{padding:11px 14px;text-align:left;background:#e8eee6;color:#235b46;border-top:2px solid #aebdab;font-family:Georgia,serif;font-size:17px}.stage-list .journey-group-row:first-child th{border-top:0}.journey-group-row small{margin-left:10px;color:#667565;font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}.journey-group-row th>button{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0!important;background:transparent!important;color:inherit!important;text-align:left;font:inherit;box-shadow:none!important}.journey-group-row th>button>span{width:14px;font:700 16px Arial,sans-serif}.journey-group-row th>button:hover{color:#173f31!important}.journey-group-row th>button:focus-visible{outline:2px solid #235b46;outline-offset:4px}.gpx-import-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.gpx-import-panel form{display:flex;align-items:flex-start;gap:10px;flex-direction:column;padding:16px;border:1px solid #cbd6ca;border-radius:10px;background:#fffef9}.gpx-import-panel span{font-size:12px;color:#667565}.gpx-import-panel input,.gpx-import-panel select{max-width:100%}@media(max-width:760px){.gpx-import-panel{grid-template-columns:1fr}}.journey-panel{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:14px;margin:18px 0}.journey-panel>div,.journey-panel>form{display:flex;flex-direction:column;gap:9px;padding:16px;border:1px solid #b9c9bb;border-radius:10px;background:#f7faf5}.journey-panel input{min-width:0;padding:9px;border:1px solid #a4b4a7;border-radius:6px}.journey-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;border-top:1px solid #d7dfd5}.journey-summary small,.journey-summary span{display:block}.journey-summary small{margin-top:3px;color:#667565}.stage-journey-fields{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-top:12px}.stage-journey-fields select{width:100%;min-width:0;margin:8px 0 0;padding:9px}.journey-gap{display:block;color:#a34c27;margin-top:6px;white-space:normal}@media(max-width:760px){.journey-panel{grid-template-columns:1fr}}.journey-summary{align-items:flex-start;flex-wrap:wrap}.journey-profiles{flex:1 1 100%;display:grid;grid-template-columns:minmax(190px,1fr) 2fr;gap:8px 14px;padding:12px;border-radius:8px;background:#fff;border:1px solid #d7dfd5}.journey-panel select,.journey-profiles select{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #a4b4a7;border-radius:6px;background:#fff}.journey-profiles p{margin:0;font-size:12px;color:#52665b}.journey-profiles fieldset{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;border:0;padding:0;margin:3px 0}.journey-profiles fieldset label{display:flex;align-items:center;gap:5px}.journey-profiles fieldset input{padding:0}.profile-totals{grid-column:1/-1;width:100%;border-collapse:collapse;font-size:12px}.profile-totals td,.profile-totals th{text-align:left;padding:6px;border-bottom:1px solid #e0e6df}@media(max-width:760px){.journey-profiles{grid-template-columns:1fr}.journey-profiles p{grid-column:1}}.admin-users{margin:16px 0;padding:16px;border:1px solid #b9c9bb;border-radius:10px;background:#f7faf5}.admin-users>p{color:#52665b;font-size:13px}.admin-users form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.admin-users form label{flex:1 1 220px}.admin-users input{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid #a4b4a7;border-radius:6px}.admin-user-list{margin-top:12px}.admin-user-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #d7dfd5}.admin-user-list small{display:block;color:#667565;margin-top:3px}.backup-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 16px;border:1px solid #c8b98f;border-radius:10px;background:#fff9e9}.backup-panel>div{display:flex;flex:1 1 320px;flex-direction:column;gap:3px}.backup-panel span{font-size:11px;color:#75664a}.backup-import{cursor:pointer;border:1px solid #a4b4a7;background:#fffef9;color:#235b46;border-radius:6px;padding:9px 13px;font-size:13px}.backup-import input{display:none}.device-view-switch{display:flex;gap:6px;margin-bottom:20px}.device-view-switch button[aria-pressed=true]{background:#235b46;color:white}.fleet-map-wrap{position:relative;aspect-ratio:1;max-height:750px;border-radius:14px;overflow:hidden;border:1px solid #d4dacd}.fleet-marker{display:flex;flex-direction:column;align-items:center;gap:3px}.fleet-marker>span{font-size:34px;filter:drop-shadow(0 1px 2px white)}.fleet-marker strong{font-size:11px;color:white;background:var(--device-color);border:2px solid white;padding:3px 7px;border-radius:5px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.fleet-legend{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.fleet-legend label{display:flex;align-items:center;gap:8px;border:1px solid #d4dacd;border-radius:9px;padding:12px;font-size:12px;flex-wrap:wrap}.fleet-legend i{height:10px;width:10px;border-radius:50%}.fleet-legend span{color:#667565;font-size:11px}.device-icon-editor{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0 14px;font-size:12px}.device-icon-editor select{margin-left:8px;padding:7px;background:#fffef9;border:1px solid #b4c0b3;border-radius:6px;font:inherit}.device-icon-editor small{color:#667565}.device-icon-editor [role=alert]{color:#943e20}.fleet-device{border:1px solid #d4dacd;border-radius:10px;padding:10px}.fleet-legend .fleet-device label{border:0;padding:0}.fleet-device .device-icon-editor{margin:10px 0 0}.site-branding{min-height:100vh;background:var(--brand-background);color:var(--brand-text)}.site-branding header{height:auto;min-height:100px;gap:20px;padding:18px 0}.brand-logo{display:block;width:220px;max-height:90px;object-fit:contain}.partner-logo{max-width:160px;max-height:70px;object-fit:contain}.branded-intro{background:var(--brand-primary);color:white;padding:38px;border-radius:16px;margin:24px 0 32px}.branded-intro h1{font-family:Georgia,serif;font-size:clamp(32px,4.2vw,62px);letter-spacing:-1px;max-width:850px}.branded-intro .eyebrow{color:var(--brand-accent)}.branded-intro .intro-copy{color:#fff;opacity:.85}.site-branding .dashboard-login,.site-branding .sensor-grid>div,.site-branding .server-settings,.site-branding .stage-editor,.site-branding .tracking,.site-branding .trip-charts,.site-branding td{background:var(--brand-surface)}.site-branding .dashboard-link,.site-branding button,.site-branding select{color:var(--brand-text);background:var(--brand-surface)}.site-branding a{color:inherit}.site-branding input{accent-color:var(--brand-primary)}.site-branding .dashboard-tabs button[aria-selected=true]{background:var(--brand-primary);color:white;border-color:var(--brand-primary)}.branding-settings{border:1px solid #b7c8d1;border-radius:12px;margin:24px 0;padding:22px}.branding-settings legend{font-size:23px;font-family:Georgia,serif}.branding-settings input[type=color]{height:42px;padding:4px;width:100%}.branding-preview{padding:28px;border:2px solid;border-radius:12px;margin-top:24px}.branding-preview img{width:180px;max-height:90px;object-fit:contain}.branding-preview h3{font-family:Georgia,serif;font-size:28px;margin:12px 0}.branding-preview span{display:inline-block;padding:8px 12px;border-radius:6px;color:#fff}.branding-preview p{max-width:650px;line-height:1.6}@media(max-width:760px){.branded-intro{padding:24px}.brand-logo{width:150px}.site-branding header{flex-wrap:wrap}.branding-settings{padding:14px}}.site-branding .branded-intro{border-bottom:4px solid var(--brand-secondary)}.site-branding button:hover:not(:disabled){border-color:var(--brand-secondary)}.site-branding footer a{text-decoration-color:var(--brand-secondary);text-decoration-thickness:2px}.site-branding .branding-preview span{color:var(--brand-text)}.stage-trip-title{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:white;color:#15384f;border:1px solid #b8c6ce;border-radius:5px;padding:4px 7px;font:700 10px/1.3 Arial,sans-serif;box-shadow:0 1px 4px #0002;pointer-events:none}.planned-day-select{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;flex:1 1}.planned-day-select select{margin-left:0;min-width:0;max-width:100%;width:min(100%,650px);text-overflow:ellipsis}@media(max-width:600px){.planned-day-select{flex-basis:100%;flex-direction:column;align-items:stretch}}.device-details{margin-top:28px;border-top:1px solid #ccd6dc;padding-top:14px}.device-details h2{min-height:0;margin:12px 0}.device-details>.dashboard-bar{margin-bottom:0}.device-details .trip-charts{margin-top:16px}.fleet-map-profile{display:grid;grid-template-columns:1fr;gap:8px}.fleet-map-profile .fleet-map-wrap{height:clamp(320px,42vh,460px);min-height:260px;max-height:85vh;aspect-ratio:auto}.map-resize-handle{position:absolute;z-index:40;bottom:0;left:50%;transform:translateX(-50%);width:96px;height:24px;display:flex;align-items:flex-end;justify-content:center;cursor:ns-resize;touch-action:none}.map-resize-handle span{width:52px;height:7px;margin-bottom:4px;border-radius:5px;background:#fffef0;border:1px solid #6f7f74;box-shadow:0 1px 5px #0004}.map-resize-handle:focus span,.map-resize-handle:hover span{background:#235b46;border-color:white;outline:2px solid #fff}.map-resize-help{font-size:10px;color:#667565;text-align:center;margin:4px 3px 0}.fleet-map-profile .fleet-map-column>.chart-note{margin:3px 4px 5px}.fleet-map-profile .device-details{margin:0;border:1px solid #d4dacd;border-radius:14px;padding:10px 18px;background:#fffef9;max-height:none;min-height:0;overflow:visible}.fleet-map-profile .device-details>.dashboard-bar{margin:0}.fleet-map-profile .device-details>p{font-size:11px;margin:3px 0}.fleet-map-profile .device-details>p[role=status]{margin-top:5px}.fleet-map-profile .trip-charts{border:0;padding:0;margin-top:2px}.fleet-map-profile .trip-charts .chart-heading{display:none}.fleet-map-profile .trip-charts .chart-slider{margin:4px 0 8px;padding:8px 10px;background:#f2f4ed;border-radius:8px}.fleet-map-profile .trip-charts .chart-readout{margin-bottom:2px}.fleet-map-profile .trip-charts .profile-svg{max-height:230px}.fleet-map-profile .trip-charts .chart-note{display:none}.fleet-map-profile .raw-dashboard{margin-top:18px;border-top:1px solid #d4dacd}@media(max-width:760px){.fleet-map-profile .fleet-map-wrap{height:45vh;min-height:320px}.fleet-map-profile .trip-charts .profile-svg{max-height:none}.fleet-map-profile .trip-charts .chart-note{display:block}}.device-setup{padding:24px;border:2px solid var(--brand-secondary);border-radius:10px;margin-top:24px}.device-setup label{display:block;margin:12px 0}.device-setup input{display:block;width:100%;padding:10px;margin-top:5px}.dashboard-tabs{flex-wrap:wrap}.site-branding .dashboard-link,.site-branding button:where(:not(.maplibregl-ctrl button):not(.maplibregl-popup button)){background:var(--brand-button-background);color:var(--brand-button-text);border-color:var(--brand-button-background);transition:background-color .15s,color .15s,border-color .15s}.site-branding :is(button[aria-current=page],button[aria-pressed=true],.editor-actions button:first-child,.dashboard-login button){background:var(--brand-button-selected);color:var(--brand-button-selected-text);border-color:var(--brand-button-selected)}.site-branding .button-preview .preview-hover,.site-branding .dashboard-link:hover,.site-branding button:where(:not(.maplibregl-ctrl button):not(.maplibregl-popup button)):hover:not(:disabled){background:var(--brand-button-hover);color:var(--brand-button-hover-text);border-color:var(--brand-button-hover)}.site-branding .dashboard-link:focus-visible,.site-branding button:focus-visible{outline:3px solid var(--brand-secondary);outline-offset:3px}.button-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.repair-position-icon{display:block;width:48px;height:48px;object-fit:contain}.current-position-marker:has(.repair-position-icon){width:48px;height:48px;font-size:0}.fleet-marker>span:has(.repair-position-icon){font-size:0;filter:none}.device-icon-preview{width:32px;height:32px;object-fit:contain;vertical-align:middle;margin-right:6px}.routing-data{margin-top:28px;padding-top:22px;border-top:1px solid #d4dacd}.routing-data h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 8px}.routing-data>p{font-size:12px;line-height:1.6;color:#667565}.routing-upload{display:inline-flex;align-items:center;gap:12px;margin:10px 0 16px;padding:11px 14px;border:1px solid #a4b4a7;border-radius:7px;background:#f7faf5;cursor:pointer;font-size:13px}.routing-upload input{max-width:300px}.routing-data-table{max-height:320px;overflow:auto;border:1px solid #d4dacd;border-radius:8px}.routing-data-table td:last-child,.routing-data-table th:last-child{text-align:right}@media(max-width:600px){.routing-upload{display:flex;align-items:flex-start;flex-direction:column}.routing-upload input{max-width:100%}}.journey-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.journey-rider-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.journey-rider-actions select{max-width:180px;padding:7px;border:1px solid #a4b4a7;border-radius:6px}.stage-riders summary{cursor:pointer;white-space:nowrap}.stage-riders label{display:block;margin-top:6px;white-space:nowrap}.stage-riders input{margin-right:6px}.journey-actions .danger-button{border-color:#9f3f37;color:#8b2f29;background:#fff5f3}.journey-actions .danger-button:hover{background:#8b2f29;color:#fff}.journey-facts{display:grid!important;grid-template-columns:repeat(3,minmax(120px,1fr));gap:7px 12px;flex:1 1 100%;margin:0;padding:10px 12px;border-radius:8px;background:#eef4ed}.journey-facts span{display:flex;flex-direction:column;gap:2px}.journey-facts b{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#667565}.journey-facts strong{font-size:13px;color:#234c3b}.journey-facts .journey-route-pending{color:#a34c27}@media(max-width:760px){.journey-facts{grid-template-columns:repeat(2,minmax(110px,1fr))}}.website-user-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#e2f3e8;color:#17643b;font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.website-users{margin:26px 0;padding:20px;border:1px solid #d4dacd;border-radius:10px;background:#f7f8f3}.website-users .planner-heading h3{margin:0}.website-users .planner-heading p{margin:6px 0 0}.website-users .website-user-badge{margin-left:0}.website-users td small{color:#667565}.website-user-identity{display:flex;align-items:center;gap:10px;min-width:210px}.website-user-identity>img,.website-user-identity>span:first-child{width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:cover}.website-user-identity>span:first-child{display:grid;place-items:center;background:#dfe8df;color:#1f4636;font-weight:700}.website-user-identity small{display:block;margin-top:2px}.website-user-muted{color:#667565;font-size:12px}.day-navigation{display:flex;gap:5px;flex-wrap:wrap}.day-navigation button{white-space:nowrap}.site-branding button.unavailable-route:disabled,.stage-list button.unavailable-route:disabled{background:#dfe3df!important;color:#707873!important;border-color:#bcc4bd!important;opacity:1;box-shadow:none}.stage-list .route-toggle[aria-pressed=true]{font-weight:700;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px currentColor}.stage-list .route-ridden[aria-pressed=true]{background:#2676a8!important;color:#fff!important;border-color:#2676a8!important}.stage-list .route-calculated[aria-pressed=true]{background:#cf812e!important;color:#fff!important;border-color:#cf812e!important}.stage-list .route-confirmed[aria-pressed=true]{background:#7c3fb5!important;color:#fff!important;border-color:#7c3fb5!important}.stage-route-actions{display:flex;flex-direction:column;gap:7px}.route-action-row{display:flex;align-items:center;gap:6px;min-height:34px;padding:5px 7px;border-radius:7px}.route-action-row>span{width:92px;flex:0 0 92px;font-size:11px;font-weight:700}.confirmed-actions{background:#f5effb;border-left:4px solid #7c3fb5}.calculated-actions{background:#fff5e8;border-left:4px solid #cf812e}.ridden-actions{background:#edf7fc;border-left:4px solid #2676a8}.route-action-row button{white-space:nowrap}.stage-general-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;padding-top:9px;border-top:1px solid #d4dacd}@media(max-width:760px){.route-action-row{align-items:flex-start;flex-wrap:wrap}.route-action-row>span{width:100%;flex-basis:100%}}