@charset "UTF-8";
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172432;background:#f2f4f7;font-synthesis:none;--navy:#172432;--yellow:#ffcf30;--ink:#172432;--muted:#596979;--line:#dce2e8;--white:#fff;--radius:16px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #187cb8;outline-offset:3px}button svg,a svg{width:20px;height:20px;flex:none}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:11px 15px;min-height:44px;font-weight:650}button:hover{background:#f4f6f8}button.primary,.primary{background:var(--yellow);border-color:var(--yellow);color:#152431}button.primary:hover{background:#ffd950}button.dark{background:var(--navy);color:#fff;border-color:var(--navy)}button.small{padding:7px 10px;min-height:36px;font-size:14px}button.icon{padding:10px;width:44px;min-width:44px}button.quiet{background:transparent;border-color:transparent;color:var(--muted)}button.danger{color:#a12832;border-color:#edc2c6}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.9px;line-height:1.2;margin-bottom:7px}h2{font-size:22px;letter-spacing:-.45px;margin-bottom:14px}h3{font-size:17px;margin-bottom:7px}p{line-height:1.5}small,.meta{font-size:13px;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{display:grid;gap:16px}.hidden{display:none!important}
.shell{min-height:100dvh;display:grid;grid-template-columns:220px 1fr}.sidebar{background:var(--navy);color:#fff;position:fixed;inset:0 auto 0 0;width:220px;padding:30px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-size:21px;letter-spacing:-.6px;font-weight:780}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--yellow);color:var(--navy);font-size:25px;font-weight:850;border-radius:10px}.brand small{display:block;color:#a6b2bd;font-size:12px;font-weight:450;letter-spacing:0}.side-nav{display:grid;gap:8px;margin-top:47px}.nav-item{justify-content:flex-start;background:none;border:none;color:#b9c6d1;padding:13px 15px;font-size:15px}.nav-item:hover{background:#223544}.nav-item.active{background:var(--yellow);color:var(--navy)}.side-bottom{margin-top:auto;display:grid;gap:10px}.side-note{font-size:12px;color:#a6b2bd;line-height:1.5;padding:6px 10px}.side-bottom button{color:#c7d1da;background:transparent;border-color:#364858;justify-content:flex-start}.main{grid-column:2;min-width:0;padding:30px 34px 34px;max-width:1800px;width:100%;margin:auto}.topbar{display:flex;gap:15px;justify-content:space-between;align-items:flex-start;margin-bottom:27px}.topbar p{margin:0;font-size:14px;color:var(--muted)}.top-actions{display:flex;gap:10px}.mobile-nav{display:none}.statusbar{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.statusbar svg{width:15px;height:15px}.dot{width:6px;height:6px;border-radius:50%;background:#537168}.week-control{display:flex;gap:8px;align-items:center}.week-control input{width:155px;border:0;background:transparent;padding:8px;font-size:14px;color:var(--muted)}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.panel-pad{padding:25px}.work-area{display:grid;grid-template-columns:minmax(340px,1.05fr) minmax(360px,1fr);gap:22px;align-items:start}.list-panel{overflow:hidden}.panel-title{padding:21px 22px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-title h2{font-size:19px;margin:0}.day-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:21px}.day-tile{display:block;text-align:left;background:white;border:1px solid var(--line);border-radius:12px;padding:15px 17px;min-height:112px;position:relative}.day-tile.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 5px 15px #17243212}.day-tile.active .muted,.day-tile.active small{color:#becad4}.day-tile .day-name{font-size:14px;font-weight:600;display:block;margin-bottom:9px}.day-tile strong{font-size:23px;letter-spacing:-.5px;display:block;margin-bottom:5px}.day-tile .day-num{position:absolute;right:14px;top:16px;font-size:12px;font-weight:500;color:var(--muted)}.day-tile.active .day-num{color:#becad4}.day-tile .load{height:3px;background:#e8edf1;border-radius:5px;margin-top:13px;overflow:hidden}.day-tile .load span{display:block;height:100%;background:#50768b}.day-tile.active .load{background:#415364}.day-tile.active .load span{background:var(--yellow)}
.summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:19px 22px;gap:12px}.summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.summary strong{font-size:21px;font-weight:750;letter-spacing:-.4px}.summary strong.warn{color:#a86416}.route-start,.route-end{display:flex;gap:12px;padding:18px 22px;align-items:center;font-size:14px}.route-start .base-icon,.route-end .base-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--line);border-radius:50%;color:var(--muted)}.base-icon svg{width:16px;height:16px}.route-start strong,.route-end strong{display:block;font-size:14px}.route-start span,.route-end span{color:var(--muted);font-size:12px}.route-end{background:#f8fafb;border-top:1px solid var(--line)}.stop{position:relative;display:grid;grid-template-columns:33px 1fr;gap:12px;padding:20px 22px;border-top:1px solid #e9edf1;transition:background .15s}.stop:hover{background:#fcfdfe}.stop.selected{background:#fffbee}.stop.drag-over{box-shadow:inset 0 3px 0 #ffcf30}.stop-number{display:flex;align-items:center;justify-content:center;border:1px solid #d0d9e2;color:#354b5d;background:#f7f9fb;width:31px;height:31px;border-radius:50%;font-size:13px;font-weight:700}.stop.done .stop-number{background:#e1f1e7;color:#267145;border-color:#e1f1e7}.stop.doing .stop-number{background:var(--yellow);border-color:var(--yellow)}.stop-body{min-width:0}.stop-heading{display:flex;align-items:center;gap:8px;margin-bottom:5px}.stop-heading h3{font-size:18px;margin:0;letter-spacing:-.3px}.stop-address{font-size:14px;color:var(--muted);line-height:1.45;margin-bottom:12px;overflow-wrap:anywhere}.stop-time{font-size:14px;font-weight:700;white-space:nowrap;margin-left:auto}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.tag{font-size:12px;font-weight:600;padding:4px 7px;border-radius:5px;background:#edf2f6;color:#496072;line-height:1.2}.tag.amber{background:#fff1c5;color:#805700}.tag.green{background:#e1f1e7;color:#256845}.tag.blue{background:#e7f0ff;color:#285798}.tag.red{background:#fae8e9;color:#a12832}.stop-footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.nav-link{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:8px;background:var(--navy);color:#fff;text-decoration:none;font-size:13px;font-weight:600;min-height:38px}.nav-link svg{width:16px;height:16px}.stop-footer button{font-size:13px}.stop-footer .move-button{min-width:32px;padding:7px;border:0;min-height:34px;background:transparent;color:#6c7f90}.stop-footer .move-button svg{width:16px;height:16px}.stop-actions{margin-left:auto;display:flex}.leg{font-size:12px;color:#627788;display:flex;gap:5px;align-items:center;margin:0 22px 0 66px;padding:0 0 12px}.leg svg{width:13px;height:13px}.map-panel{overflow:hidden;position:sticky;top:20px}.map-toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line)}.map-toolbar h3{margin:0;font-size:15px}.map-toolbar button{font-size:12px}.map-canvas{height:480px;background:#e8edf1;z-index:1}.map-foot{padding:13px 17px;font-size:12px;color:var(--muted);line-height:1.5;display:flex;justify-content:space-between;gap:15px}.map-note{padding:14px 16px;background:#f5f8fb;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted)}.map-pin{background:var(--navy);color:white;border:3px solid #fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 12px -apple-system,sans-serif;box-shadow:0 2px 9px #0004;cursor:pointer}.map-pin.active{background:#ffcf30;color:var(--navy)}.map-pin.base{background:#557385;border-radius:8px}.map-pin.pending{background:#9b712b}.map-pin.candidate{background:#fff;color:var(--navy);border:2px dashed #9aa7b3;font-size:16px}.map-pin.candidate:hover{background:#fff8de;border-color:var(--yellow)}.leaflet-container{font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.leaflet-control-attribution{font-size:11px!important}.leaflet-popup-content{overflow-wrap:anywhere;max-width:240px}.leaflet-popup-content a{display:inline-block;margin-top:8px;color:#0e5b91}.list-empty{text-align:center;padding:42px 25px;color:var(--muted)}.list-empty svg{width:34px;height:34px;margin-bottom:12px;stroke:#8395a5}.list-empty h3{color:var(--ink)}
.notice{border:1px solid #e5c46c;background:#fffae9;color:#715218;border-radius:11px;padding:14px 17px;line-height:1.5;font-size:14px;display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}.notice svg{width:19px;height:19px;flex:none;margin-top:1px}.notice .grow{flex:1}.notice button{background:transparent;border-color:#ddc781;color:#715218}.notice.info{background:#eaf3fa;border-color:#c5ddeb;color:#315b77}.notice.info button{border-color:#b3cddd;color:#315b77}.notice.error{background:#fcebed;border-color:#ebc2c8;color:#972e3a}.notice p{margin:0}.notice strong{display:block}.empty-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.import-drop{border:2px dashed #c1ccd7;border-radius:15px;background:#f9fbfd;padding:40px 28px;text-align:center;cursor:pointer}.import-drop.drag-over{border-color:#c29410;background:#fff9df}.import-drop .import-symbol{display:grid;place-items:center;margin:0 auto 20px;width:66px;height:66px;border-radius:17px;background:#fff2bd;color:#6a5214}.import-symbol svg{width:30px;height:30px}.import-drop h2{font-size:23px;margin-bottom:8px}.import-drop p{max-width:370px;margin:0 auto 20px;color:var(--muted);font-size:15px}.import-bottom{margin-top:16px;display:flex;gap:8px;justify-content:center;color:var(--muted);font-size:12px}.intro-step{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.intro-step:last-child{border:0}.intro-step>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #cfd8e1;border-radius:50%;font-weight:700;font-size:12px;flex:none}.intro-step strong{display:block;font-size:15px;margin-bottom:4px}.intro-step p{font-size:14px;color:var(--muted);margin:0}.file-history{padding:18px 0;border-top:1px solid var(--line);margin-top:22px}.file-history h3{margin-bottom:15px}.file-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f4}.file-row button{margin-left:auto;flex:none}.file-row>svg{width:23px;color:#4a6b58}.file-row strong{display:block;font-size:14px}.file-row small{font-size:12px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:12px;font-weight:650;color:var(--muted);padding:14px 17px;border-bottom:1px solid var(--line);background:#f8fafb}.data-table td{padding:16px 17px;border-bottom:1px solid #edf0f4;font-size:14px;vertical-align:top}.data-table tr:last-child td{border:0}.data-table td strong{display:block;margin-bottom:5px}.table-wrap{overflow:auto}.empty-summary{display:flex;gap:15px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.metric{flex:1}.metric strong{font-size:27px;display:block;margin-bottom:3px}.metric span{font-size:12px;color:var(--muted)}
label.field{display:grid;gap:7px;font-size:14px;font-weight:600}input,select,textarea{width:100%;padding:12px 13px;min-height:46px;border:1px solid #cdd7df;border-radius:9px;background:white;color:var(--ink);font-size:16px}textarea{resize:vertical;line-height:1.5;min-height:100px}input:focus,select:focus,textarea:focus{outline:2px solid #417c9d;outline-offset:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.field-hint{font-size:12px;color:var(--muted);font-weight:400;line-height:1.5}.form-section{padding:24px 0;border-bottom:1px solid var(--line)}.form-section:first-child{padding-top:0}.form-section:last-child{border:0;padding-bottom:0}.form-section>p{font-size:14px;color:var(--muted)}.day-checks{display:flex;flex-wrap:wrap;gap:8px}.day-checks label{position:relative}.day-checks input{position:absolute;opacity:0;width:1px;height:1px}.day-checks span{display:block;padding:10px 13px;border:1px solid var(--line);border-radius:8px;font-size:14px;cursor:pointer}.day-checks input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}.day-checks input:focus-visible+span{outline:3px solid #417c9d}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.check-row input{width:20px;height:20px;min-height:20px;padding:0;margin:0;accent-color:#172432;flex:none}.settings-layout{display:grid;grid-template-columns:minmax(340px,700px) minmax(250px,350px);gap:22px}.settings-aside{align-self:start}.settings-aside p,.settings-aside li{font-size:14px;color:var(--muted);line-height:1.6}.settings-aside ol{padding-left:20px}.settings-aside li{margin-bottom:10px}.base-info{background:#f3f7fa;border-radius:10px;padding:13px 15px;margin-top:12px;font-size:14px}.base-info strong{display:block;margin-bottom:4px}.settings-actions{display:flex;gap:10px;margin-top:24px}.toolbar{display:flex;gap:12px;margin-bottom:18px;align-items:center}.toolbar input{max-width:380px}.toolbar select{width:auto;max-width:230px}
dialog{border:0;padding:0;border-radius:18px;width:min(640px,calc(100% - 28px));max-height:calc(100dvh - 40px);color:var(--ink);box-shadow:0 24px 90px #101c3655}dialog::backdrop{background:#12243480;backdrop-filter:blur(3px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:5}.modal-header h2{font-size:21px;margin:0}.modal-content{padding:24px 25px;overflow:auto}.modal-footer{padding:18px 25px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:#f9fbfc}.job-detail{padding:18px 0;border-bottom:1px solid var(--line)}.job-detail:first-child{padding-top:0}.job-detail:last-child{border:0}.job-detail p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;color:#3e5160}.job-detail .field{max-width:170px}.job-detail h3{margin-bottom:9px}.job-detail .note{padding:12px;background:#fff6d6;border-radius:9px;font-size:14px;margin-top:13px;white-space:pre-wrap;line-height:1.5}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.source-details{font-size:13px;margin-top:16px}.source-details summary{cursor:pointer;color:var(--muted)}.source-details dl{display:grid;grid-template-columns:40% 60%;gap:8px;margin-top:15px;font-size:12px;overflow-wrap:anywhere}.source-details dt{color:var(--muted)}.source-details dd{margin:0}.location-result{display:block;text-align:left;width:100%;margin-top:9px;line-height:1.4;font-size:14px}.location-result small{display:block;margin-top:5px}.mini-map{height:250px;border-radius:10px;margin:17px 0;background:#edf1f4}.progress-box{padding:20px;background:#f2f6fa;border-radius:12px}.progress-box progress{width:100%;height:8px;accent-color:var(--navy);margin:15px 0}.progress-box strong{display:block;font-size:15px}.progress-box p{font-size:14px;color:var(--muted);margin:0}.issue-list{padding-left:20px;font-size:14px;line-height:1.6;color:#7b5817;max-height:190px;overflow:auto}.badge-count{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:6px;padding:0 4px;background:#ffffff22;font-size:11px;margin-left:auto}.nav-item.active .badge-count{background:#17243215}.filter-count{font-size:14px;color:var(--muted)}.pill{background:#eef2f5;color:#496074;border-radius:8px;font-size:12px;padding:7px 10px}.privacy-text{font-size:12px;line-height:1.6;color:var(--muted)}.boot{padding:50px;text-align:center}.boot strong{font-size:28px}.boot p{margin:16px 0;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);background:#172432;color:#fff;border-radius:11px;box-shadow:0 5px 25px #0002;padding:14px 20px;z-index:1500;max-width:calc(100% - 30px);font-size:14px;line-height:1.45;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.offline-banner{background:#e7eef5;padding:10px 16px;color:#39536b;border-radius:9px;margin-bottom:16px;font-size:13px}.install-instructions{font-size:14px;line-height:1.6}.install-instructions ol{padding-left:23px}.install-instructions li{padding-bottom:10px}.update-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;background:#e7efff;border:1px solid #c8d9ee;border-radius:10px;margin-bottom:18px;font-size:14px}
@media(min-width:1550px){.map-canvas{height:620px}.main{padding:35px 45px}.work-area{grid-template-columns:1fr 1.18fr}.day-tile{padding:18px 21px}}
@media(max-width:1150px){.shell{grid-template-columns:180px 1fr}.sidebar{width:180px;padding:25px 13px}.brand{font-size:18px}.brand-mark{width:33px;height:33px}.main{padding:25px 22px}.work-area{grid-template-columns:minmax(310px,1fr) minmax(280px,1fr);gap:16px}.stop{padding:18px 16px;gap:9px}.summary{padding:18px 16px}.day-tile{padding:14px 11px}.day-tile .day-num{right:10px}.topbar{flex-wrap:wrap}.empty-grid{grid-template-columns:1.2fr 1fr}.settings-layout{grid-template-columns:1fr}.settings-aside{display:none}.stop-heading{flex-wrap:wrap}.stop-time{font-size:13px}.map-canvas{height:470px}}
@media(max-width:850px){.shell{display:block}.sidebar{display:none}.main{padding:22px 18px calc(100px + env(safe-area-inset-bottom));}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dce2e8;padding:7px 7px calc(7px + env(safe-area-inset-bottom));z-index:900;box-shadow:0 -4px 15px #17243208}.mobile-nav button{border:0;background:none;display:flex;flex-direction:column;gap:5px;color:#687b8b;min-height:54px;font-size:11px;font-weight:550;padding:8px 3px}.mobile-nav button.active{color:#172432;background:#fff3c4;border-radius:9px;font-weight:700}.mobile-nav svg{width:21px;height:21px}.topbar{margin-bottom:22px;gap:14px;align-items:center}.topbar h1{font-size:26px}.topbar .eyebrow{font-size:10px;margin-bottom:7px}.topbar p{font-size:12px}.top-actions{gap:7px}.top-actions button{font-size:13px;padding:10px 12px}.top-actions .desktop-label{display:none}.day-grid{gap:8px;margin-bottom:17px}.day-tile{padding:13px 10px;min-height:99px}.day-tile .day-name{font-size:13px}.day-tile .day-num{display:none}.day-tile strong{font-size:20px}.day-tile small{font-size:11px}.day-tile .load{margin-top:10px}.work-area{grid-template-columns:1.1fr 1fr}.empty-grid{grid-template-columns:1fr}.empty-grid .aside-intro{display:none}.panel-pad{padding:22px}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none}.filter-count{margin-left:auto}.data-table th,.data-table td{padding:13px}.data-table .hide-mobile{display:none}#toast{bottom:calc(86px + env(safe-area-inset-bottom))}.notice{font-size:13px;padding:12px}.notice button{font-size:12px}.week-control input{font-size:13px;width:141px}.map-canvas{height:450px}}
@media(max-width:650px){.main{padding:21px 14px calc(95px + env(safe-area-inset-bottom))}.work-area{display:block}.map-panel{margin-top:17px;position:relative;top:0}.map-canvas{height:340px}.topbar h1{font-size:24px}.topbar .header-title{flex:1;min-width:150px}.top-actions{width:100%;display:grid;grid-template-columns:1fr 1.2fr}.top-actions button{width:100%;font-size:14px}.day-tile .day-name{font-size:12px;margin-bottom:8px}.day-tile{border-radius:10px;padding:12px 8px;min-height:94px}.day-tile strong{font-size:18px}.day-grid{gap:6px}.day-tile small{font-size:10px;white-space:nowrap}.day-tile .day-name .day-long{display:none}.summary{padding:16px 18px}.summary strong{font-size:22px}.summary span{font-size:11px}.stop{padding:19px 17px;grid-template-columns:28px 1fr;gap:10px}.stop-number{width:28px;height:28px;font-size:12px}.stop-heading h3{font-size:18px}.stop-time{margin-left:auto;font-size:13px}.stop-address{font-size:14px}.stop-footer{gap:6px}.stop-footer button.small,.nav-link{font-size:12px;min-height:39px;padding:8px 10px}.stop-footer .move-button{min-height:34px;padding:5px;min-width:27px}.stop-actions{margin-left:auto}.route-start,.route-end{padding:16px 18px}.panel-title{padding:18px}.panel-title h2{font-size:17px}.empty-summary{gap:10px}.metric strong{font-size:25px}.metric span{font-size:11px}.import-drop{padding:32px 20px}.import-drop h2{font-size:22px}.import-drop p{font-size:14px}.form-grid,.detail-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.panel-pad{padding:20px}.modal-header{padding:17px 19px}.modal-content{padding:20px 19px}.modal-footer{padding:15px 19px}.modal-header h2{font-size:19px}.form-grid.time-fields{grid-template-columns:1fr 1fr}.notice{gap:9px}.notice .flex{flex-wrap:wrap}.data-table .hide-small{display:none}.table-wrap{margin:0 -4px}.data-table td{font-size:13px}.data-table th{font-size:11px}.nav-link .desktop-label{display:none}.settings-layout{display:block}.settings-actions{flex-wrap:wrap}.settings-actions button{flex:1}.privacy-text{font-size:12px}.map-foot{font-size:11px}.week-control{gap:0}.week-control .icon{width:32px;min-width:32px;padding:7px}.week-control input{width:129px;padding:5px;font-size:12px}.map-note{font-size:12px}}
.map-toolbar h3{display:flex;align-items:center;gap:8px}.map-toolbar h3 svg{width:18px;height:18px}.stop-number svg{width:16px;height:16px}.form-grid select{max-width:100%}
.stop.candidate{background:#fbfcfd}.stop.candidate:hover{background:#f5f8fb}.route-end strong.warn{color:#a86416}.stop-time.warn{color:#a86416}.route-end.overnight{background:#f3f0fb}.day-tile.overnight .day-name{color:#6a4fb0}.day-tile.active.overnight .day-name{color:#e3d8ff}.layer-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:14px}.layer-toggles label{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.layer-toggles input{width:18px;height:18px;min-height:18px;padding:0;margin:0;accent-color:#172432;flex:none}.map-base-picker{background:#f8fafb;border:1px solid var(--line);padding:10px;border-radius:10px}.map-base-title{font-size:11px;font-weight:750;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0 2px}.map-base-row{display:flex;gap:8px;flex-wrap:wrap}.map-base-thumb{position:relative;width:68px;height:68px;border-radius:8px;border:2px solid transparent;background-size:cover;background-position:center;background-color:#dfe5ea;padding:0;min-height:0;overflow:hidden;flex:none}.map-base-thumb.active{border-color:var(--yellow);box-shadow:0 0 0 1px var(--yellow)}.map-base-thumb span,.map-base-thumb small{position:absolute;z-index:1;left:0;right:0;text-align:center;color:#fff;text-shadow:0 1px 3px #000a;line-height:1.15}.map-base-thumb span{bottom:17px;font-size:11px;font-weight:750}.map-base-thumb small{bottom:4px;font-size:9px;font-weight:600}.map-base-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#000a,transparent 60%)}
.streetview-link{background:#f4511e;border-color:#f4511e}.streetview-link:hover{background:#e0451a}
.parcel-toggle{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;margin-top:12px;font-size:13px;cursor:pointer}.parcel-toggle input{width:18px;height:18px;min-height:18px;padding:0;margin:0;accent-color:#172432;flex:none}.parcel-toggle svg{width:17px;height:17px;flex:none;color:var(--muted)}.leaflet-container.parcels-active{cursor:pointer}
.day-tile{border-left-width:4px;border-left-color:var(--day-color,var(--line))}
.map-pin.day0{background:#2f6fed}.map-pin.day1{background:#16a34a}.map-pin.day2{background:#d97706}.map-pin.day3{background:#db2777}.map-pin.day4{background:#7c3aed}.map-pin.day5{background:#0891b2}.map-pin.day6{background:#b91c1c}
.map-pin.active{background:var(--yellow);color:var(--navy)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
