:root{--ink:#293e37;--muted:#64736c;--primary:#24745f;--green:#e5f3ed;--line:#dce3dc;--bg:#fbf9ed;--orange:#aa612b;--red:#ac4540;--accent:#4ba98f;--vehicle-head:#76756e;--shadow:0 3px 12px #343e2b0a;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);font-size:14px;line-height:1.65;background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:9px;color:var(--ink);padding:9px 14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.45}button:hover{background:var(--surface-soft);border-color:var(--line-strong)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--red)}button.small{padding:6px 10px;font-size:12px}button.ghost{background:transparent;border-color:transparent}button.icon-btn{padding:6px;min-width:32px}svg.icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}input,select,textarea{border:1px solid var(--line-strong);border-radius:7px;background:#fff;padding:8px 10px;color:var(--ink);min-width:0}input[type=checkbox]{accent-color:var(--primary);width:17px;height:17px;vertical-align:middle}input[type=number]{width:100%}input[type=date]{font-size:13px}label{cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.4;letter-spacing:.03em;font-weight:700}h2{font-size:17px;line-height:1.5}h3{font-size:15px}.muted{color:var(--muted)}.tiny{font-size:11px}.small-text{font-size:12px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--muted)}.flex{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:14px}.grow{flex:1}.nowrap{white-space:nowrap}.spacer{height:14px}
.layout{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:31px 18px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:30px;font-weight:760;letter-spacing:-1.6px;color:var(--primary);padding:0 13px;line-height:1.1;margin-bottom:28px}.brand span{font-size:11px;display:block;letter-spacing:.08em;margin-top:11px;font-weight:500;color:var(--muted)}.nav{display:grid;gap:6px}.nav button{justify-content:flex-start;text-align:left;padding:12px;border-color:transparent;color:var(--muted);background:none;font-weight:500;gap:12px}.nav button.active{background:var(--nav-soft);color:var(--primary);font-weight:700}.nav .count{margin-left:auto;font-size:11px;background:var(--surface-soft);padding:0 6px;border-radius:4px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:19px 11px 0;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4aa58b;margin-right:5px}
.workspace{min-width:0}.topbar{height:66px;border-bottom:1px solid var(--line);padding:0 35px;display:flex;justify-content:space-between;align-items:center;background:var(--surface);font-size:12px}.topbar .prototype{background:var(--surface-soft);color:var(--muted);padding:4px 10px;border-radius:5px;font-size:11px;font-weight:600}.avatar{width:28px;height:28px;border-radius:50%;background:var(--nav-soft);display:grid;place-items:center;color:var(--primary);font-size:11px}.content{padding:30px 35px 48px;max-width:1540px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}.page-heading .eyebrow{margin-bottom:7px}.page-heading p{margin-top:6px;font-size:12px;color:var(--muted)}.demo-note{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);padding:10px 14px;border-radius:8px;font-size:11px;display:flex;align-items:center;gap:9px;margin-bottom:20px}.demo-note svg{width:16px;height:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.segmented{padding:4px;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;display:flex;gap:3px}.segmented button{padding:7px 17px;background:transparent;border-color:transparent;border-radius:6px;font-size:12px;color:var(--muted)}.segmented button.active{background:#fff;box-shadow:0 1px 5px #21483212;color:var(--primary)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.metric{border:1px solid var(--line);border-radius:11px;background:#fff;padding:16px 18px;box-shadow:var(--shadow)}.metric-label{font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:space-between}.metric-value{font-size:29px;line-height:1.3;margin:9px 0 5px;font-weight:650;letter-spacing:-.04em}.metric-value small{font-size:12px;margin-left:5px;font-weight:500;letter-spacing:0}.metric-foot{font-size:11px;color:var(--muted)}.metric.alert .metric-value{color:var(--orange)}.metric-icon{width:25px;height:25px;background:var(--nav-soft);color:var(--primary);display:grid;place-items:center;border-radius:6px}.metric-icon svg{width:15px;height:15px}
.panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.panel-header{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:9px}.panel-header h2{font-size:15px}.panel-body{padding:20px}.plan-grid{display:block}.status-tag{font-size:11px;padding:3px 8px;background:#eff1eb;border-radius:5px;color:#627367;display:inline-flex;align-items:center;gap:5px;font-weight:600}.status-tag.success{background:#e2f2e9;color:#286c50}.status-tag.warning{background:#f8ecd8;color:#9b6d30}.status-tag.bad{background:#f9e6e2;color:var(--red)}.route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;align-items:start}.route-card{padding:18px;border:1px solid var(--line);border-top:3px solid var(--route);border-radius:10px;min-width:0}.route-number{font-size:11px;font-weight:700;width:30px;height:30px;display:grid;place-items:center;background:var(--tint);color:var(--route);border-radius:8px;flex-shrink:0}.route-title{font-size:13px;font-weight:700}.route-meta{font-size:11px;color:var(--muted);margin-top:2px}.route-line{display:flex;align-items:center;gap:10px;font-size:11px;margin:15px 0 10px}.route-line .line{height:2px;flex:1;background:var(--tint);position:relative}.route-line .line:after{position:absolute;content:'';width:6px;height:6px;background:var(--route);border-radius:50%;right:0;top:-2px}.stop-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.stop-chip{border:1px solid var(--line);border-radius:5px;padding:3px 6px;font-size:11px;color:var(--ink);background:var(--surface)}.stop-chip.wc{border-color:var(--blue-line);background:var(--blue-soft)}.route-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-actions .muted{font-size:11px}.scenario{padding:17px 20px}.scenario select{width:100%;margin:10px 0 8px;font-size:12px}.scenario p{font-size:11px;color:var(--muted);min-height:36px;margin-bottom:10px}.scenario button{width:100%}.bottom-actions{padding:17px 19px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:9px;background:var(--surface-soft)}.empty{padding:35px 24px;color:var(--muted);text-align:center}.notice{padding:13px 17px;background:#fff4e5;border:1px solid #ecdbc1;border-radius:9px;margin-bottom:16px;font-size:12px;color:#876338}.notice.bad{background:#fff0ee;color:#98453b;border-color:#edcdc7}.notice ul{margin:7px 0 0;padding-left:20px}.notice button{margin-top:8px}.notice.success{background:#edf6ee;color:#3a6c46;border-color:#cde0d0}.diff{border:1px solid var(--line);border-radius:9px;margin-bottom:17px;padding:12px 16px;background:white}.diff summary{font-size:12px;cursor:pointer;font-weight:600}.diff ul{font-size:11px;color:var(--muted);padding-left:19px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{background:var(--surface-soft);color:var(--muted);font-weight:500;font-size:11px;text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}td .sub{display:block;font-size:11px;color:var(--muted);margin-top:3px}.table-intro{font-size:12px;margin:0 0 16px;color:var(--muted)}.row-muted td{color:var(--muted);background:var(--surface-soft)}.check-label{display:inline-flex;align-items:center;gap:6px;font-size:12px}.section-title{margin-bottom:15px}.vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.vehicle-card{padding:19px}.vehicle-card.disabled{opacity:.65}.vehicle-card header{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px}.vehicle-icon{width:43px;height:43px;background:var(--nav-soft);border-radius:10px;display:grid;place-items:center;color:var(--primary)}.vehicle-icon svg{width:25px;height:25px}.config-list{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;margin:12px 0;font-size:11px}.config-row{padding:8px 11px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:6px}.config-row:last-child{border-bottom:0}.config-row strong{color:var(--primary)}.vehicle-card footer{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.help-grid .panel-body{font-size:13px}.help-grid h2{margin-bottom:12px}.help-grid p,.help-grid li{margin-bottom:10px}.help-grid ol,.help-grid ul{padding-left:21px}.help-grid .wide{grid-column:1/-1}.checklist{display:grid;gap:9px}.driver-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.driver-stop{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.driver-stop:last-child{border-bottom:0}.driver-stop .num{background:var(--nav-soft);border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:11px}.driver-stop select{font-size:12px;max-width:115px}.driver-header{padding:14px 18px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.footer-note{font-size:11px;color:var(--muted);margin-top:26px;display:flex;justify-content:space-between;gap:12px}
dialog{border:1px solid var(--line);border-radius:14px;padding:0;max-width:650px;width:calc(100% - 28px);box-shadow:0 30px 90px #122b2440;color:var(--ink);max-height:90vh}dialog::backdrop{background:#18332b50;backdrop-filter:blur(3px)}.modal-head{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-content{padding:22px 24px;max-height:67vh;overflow:auto}.modal-content p{margin-bottom:13px}.modal-actions{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:6px;font-size:12px}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%}.field .hint{font-size:11px;color:var(--muted)}.form-group{margin-top:19px;padding-top:16px;border-top:1px solid var(--line)}.form-group h3{margin-bottom:12px}.checkboxes{display:flex;gap:13px;flex-wrap:wrap}.config-inputs{display:grid;grid-template-columns:minmax(80px,1.5fr) 1fr 1fr 30px;gap:8px;align-items:end;margin-bottom:12px}.config-inputs label{font-size:11px;display:grid;gap:4px}.config-inputs input{width:100%;padding:7px}.config-inputs button{height:36px}.order-row{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;padding:10px;margin:8px 0}.order-row strong{flex:1}.form-error{color:var(--red);font-size:12px;margin-top:12px}.form-error:empty{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);opacity:0;background:var(--primary);color:#fff;padding:12px 21px;border-radius:9px;box-shadow:0 6px 22px #10291f20;z-index:1000;font-size:12px;transition:.2s;pointer-events:none;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.busy{animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.5}}.print-heading{display:none}
@media(min-width:1600px){.content{padding-left:44px;padding-right:44px}}
@media(max-width:1150px){.layout{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.content{padding:25px 23px}.topbar{padding:0 23px}.plan-grid{display:block}.metric{padding:14px}.page-heading{align-items:flex-start}.page-heading .actions{flex-wrap:wrap;justify-content:flex-end}.route-actions{flex-wrap:wrap}.vehicle-grid{grid-template-columns:1fr}}
@media(max-width:850px){.layout{display:block}.sidebar{position:static;height:auto;padding:15px 18px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:24px;padding:0;display:flex;gap:16px;align-items:center}.brand span{margin:0;font-size:11px}.facility,.sidebar-bottom{display:none}.nav{display:flex;overflow:auto;margin-top:15px;gap:4px;padding-bottom:1px}.nav button{white-space:nowrap;font-size:11px;padding:8px 10px;gap:6px}.nav button .icon{width:15px}.nav .count{display:none}.topbar{height:45px;font-size:11px;padding:0 20px}.topbar .avatar{display:none}.content{padding:23px 20px}.plan-grid{display:block}.page-heading{flex-wrap:wrap}h1{font-size:24px}.metric-value{font-size:25px}.driver-cards{grid-template-columns:1fr}}
@media(max-width:680px){.content{padding:22px 14px 30px}.topbar{padding:0 14px}.page-heading{gap:12px;margin-bottom:17px}.page-heading .actions{width:100%;justify-content:flex-start}.page-heading .actions button{font-size:11px;padding:8px 10px}.demo-note{font-size:11px;align-items:flex-start}.toolbar{align-items:flex-start;flex-wrap:wrap}.toolbar>.flex{flex-wrap:wrap}.metrics{grid-template-columns:repeat(2,1fr);gap:9px}.metric{padding:12px 14px}.metric-foot{font-size:11px}.plan-grid{display:block}.help-grid{grid-template-columns:1fr}.help-grid .wide{grid-column:auto}.vehicle-grid{grid-template-columns:1fr}.panel-header,.panel-body{padding:16px}.bottom-actions{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.config-inputs{grid-template-columns:1.2fr 1fr 1fr 25px;gap:5px}.config-inputs input{font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.footer-note{display:block}.table-wrap{scrollbar-width:thin}td,th{padding-left:12px;padding-right:12px}table{min-width:620px}.driver-stop select{font-size:16px}.modal-head,.modal-content,.modal-actions{padding-left:17px;padding-right:17px}}
@media print{body{background:#fff;font-size:10pt}.sidebar,.topbar,.page-heading,.demo-note,.toolbar,.metrics,.scenario,.route-actions,.bottom-actions,.footer-note,.notice,.diff,dialog,#toast,button{display:none!important}.layout,.workspace,.content{display:block;padding:0;max-width:none}.plan-grid{display:block}.panel{border:0;box-shadow:none}.panel-header{padding:0 0 10px}.route-card{break-inside:avoid;padding:13px 0;border:0;border-bottom:1px solid var(--line);border-radius:0}.route-list{display:block;padding:0}.route-title{font-size:12pt}.route-meta,.stop-chip,.route-line{font-size:10pt}.print-heading{display:block;margin:0 0 15px}.print-heading h1{font-size:16pt}.print-heading p{font-size:9pt}.route-number{print-color-adjust:exact;-webkit-print-color-adjust:exact}.stop-chips{gap:8px}@page{size:A4;margin:15mm}}

.map-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 13px;border:1px solid var(--line);border-radius:8px;color:var(--green-dark,var(--primary));text-decoration:none;font-size:12px;font-weight:600;max-width:100%;overflow-wrap:anywhere}.map-link:hover{background:var(--surface-soft)}.map-link.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.map-link.small{padding:7px 10px;font-size:11px}.map-segment{border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:14px}.map-segment ol{padding-left:24px;line-height:1.8}.map-route-actions{margin-top:10px}.map-route-actions .small{flex:1;min-width:150px}@media print{.map-link{display:none!important}}

.trial-connection{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:14px 0;font-size:13px}.trial-buttons{margin:14px 0}.trial-results,.trial-baseline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.trial-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.trial-stats dt{font-size:11px;color:var(--muted)}.trial-stats dd{font-size:25px;font-weight:700;margin:3px 0}.trial-stats small{font-size:12px;margin-left:4px}.trial-result-status{margin-top:12px;font-size:12px;color:var(--primary)}.trial-result-status.bad{color:#a34035}.trial-route{border-top:1px solid var(--line);padding-top:13px;margin-top:13px;overflow-wrap:anywhere}.trial-route p{margin:10px 0;line-height:1.9}.trial-baseline-fields{margin:15px 0}.trial-baseline-fields fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px}.trial-baseline-fields legend{font-size:13px;font-weight:600}.trial-baseline-fields .field{margin:12px 0}.trial-attribution{margin-top:15px;font-size:11px}.google-attribution{font-family:Arial,sans-serif;font-size:13px;font-style:normal;font-weight:400;color:#5e5e5e;letter-spacing:normal;white-space:nowrap}.sample-notice{border-left:4px solid #b18a47}.wrap{flex-wrap:wrap}@media(max-width:680px){.trial-results,.trial-baseline-fields{grid-template-columns:1fr}.trial-connection{align-items:flex-start;flex-wrap:wrap}}
.mode-badge{display:inline-flex;align-items:center;border-radius:5px;background:#dff1e8;color:#226b55;font-size:11px;font-weight:700;padding:4px 8px;line-height:1.5}
.workflow{margin:0 0 22px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:15px 17px}.workflow-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:12px}.workflow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}.workflow-steps button{width:100%;height:100%;justify-content:flex-start;text-align:left;padding:12px;background:var(--surface-soft);font-weight:500}.workflow-steps button.current{border-color:var(--primary);background:var(--surface-soft)}.workflow-steps strong{display:block;font-size:13px}.workflow-steps small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.workflow-steps .icon{margin-left:auto;width:15px}.step-number{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--nav-soft);color:var(--primary);font-weight:700;flex-shrink:0}.current .step-number{background:var(--primary);color:white}
.scenario summary{cursor:pointer;font-size:13px;font-weight:600}.scenario-content{padding-top:5px}.map-open-button{min-height:44px}.map-external-note{padding:12px;background:var(--blue-soft);border-radius:8px;font-size:12px;display:grid;gap:4px;margin:14px 0}.map-external-note span{color:var(--muted)}
.maps-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(210px,1fr);gap:24px;margin-bottom:22px}.maps-intro h2{margin:10px 0 6px;font-size:18px}.maps-intro p{font-size:12px;color:var(--muted)}.maps-intro-note{display:grid;align-content:center;gap:6px;font-size:12px;padding-left:20px;border-left:1px solid var(--line)}.maps-intro-note span{color:var(--muted)}.dispatch-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:22px 0 16px}.dispatch-heading .field{min-width:180px}.dispatch-heading p{margin-top:5px}.dispatch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dispatch-card header{padding:17px 20px;background:var(--surface-soft);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:start}.dispatch-card header h3{font-size:16px}.dispatch-card header p{font-size:12px;color:var(--muted);margin-top:4px}.dispatch-trip{padding:18px 20px;border-bottom:1px solid var(--line)}.dispatch-trip:last-child{border-bottom:0}.visit-order{font-size:13px;padding-left:26px;margin:14px 0;line-height:1.9}.visit-order li{padding-left:3px}.visit-order li::marker{color:#547e64;font-size:11px}.visit-order .facility-stop{color:var(--muted);font-size:12px}.trip-location-status{font-size:11px;color:#97642e;margin:12px 0 7px}.trip-location-status.ready{color:#2f7053}.dispatch-trip button{width:100%}.location-setup{margin-top:24px}.location-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.location-details summary{cursor:pointer;font-size:13px;font-weight:600}.location-details .table-wrap{margin-top:12px}.future-options p,.help-grid details p{margin-top:14px}.help-grid summary{cursor:pointer;font-weight:600}
@media(max-width:1050px){.workflow-steps small{font-size:11px}.workflow-steps button{padding:10px;gap:7px}.workflow-steps .icon{display:none}.maps-intro{grid-template-columns:1fr}.maps-intro-note{border-left:0;border-top:1px solid var(--line);padding:13px 0 0}.maps-intro{gap:14px}}
@media(max-width:680px){.workflow{padding:12px}.workflow-heading{gap:6px;font-size:11px}.workflow-steps{grid-template-columns:1fr;gap:6px}.workflow-steps button{padding:10px 12px;min-height:56px}.workflow-steps .icon{display:block}.workflow-steps small{font-size:11px}.dispatch-grid{grid-template-columns:1fr}.dispatch-heading{align-items:start;flex-wrap:wrap}.dispatch-heading .field{width:100%}.dispatch-heading select{font-size:16px}.dispatch-trip{padding:16px}.dispatch-trip>.flex{flex-wrap:wrap}.dispatch-card header{padding:16px}.map-route-actions .small{font-size:13px}.stop-chip{font-size:12px}.route-title{font-size:15px}.route-meta{font-size:11px}.map-external-note{font-size:13px}.map-segment .map-link{width:100%;min-height:44px}.maps-intro h2{font-size:17px}}
@media print{.workflow,.map-external-note,.map-route-actions,.map-dispatch,.maps-intro,.location-setup{display:none!important}}


.plan-handoff{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;margin-bottom:20px;background:var(--surface)}.plan-handoff h2{font-size:15px;margin-bottom:5px}.plan-handoff p{font-size:12px;color:var(--muted);max-width:660px}.plan-handoff button{min-height:44px;flex-shrink:0}.plan-supplement{margin-top:20px;display:grid;gap:12px}.plan-supplement .scenario select{max-width:420px}.plan-supplement .scenario button{width:auto;min-width:220px}.route-list>.empty{grid-column:1/-1}.route-card>.flex:first-child{align-items:flex-start}.route-card .route-title{font-size:15px}.route-card .route-meta{font-size:11px}.route-card .stop-chip{font-size:11px}.route-card .map-route-actions{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.route-card .map-route-actions>span{max-width:140px}.page-heading>div:first-child{min-width:0}.page-heading .actions{flex-shrink:0}.panel-header>.flex{flex-wrap:wrap}.metrics{gap:14px}.dispatch-grid{align-items:start}.dispatch-card h3,.route-title{overflow-wrap:anywhere}
@media(max-width:1150px){.page-heading{flex-wrap:wrap;row-gap:14px}.page-heading .actions{justify-content:flex-start}.plan-handoff{gap:16px}.plan-handoff p{max-width:480px}}
@media(max-width:1000px){.route-list{grid-template-columns:1fr}.plan-handoff{align-items:flex-start;flex-wrap:wrap}.route-card .map-route-actions>span{max-width:none}.dispatch-grid{grid-template-columns:1fr}}
@media(max-width:680px){.route-list{padding:12px;gap:12px}.route-card{padding:15px}.plan-handoff{padding:16px;gap:12px}.plan-handoff button{width:100%}.route-card .map-route-actions{align-items:stretch;flex-direction:column;gap:9px}.route-card .map-route-actions .small{width:100%;flex:auto;min-width:0}.route-card .stop-chip{font-size:12px}.plan-supplement .scenario button{width:100%;min-width:0}.panel-header>.tiny{white-space:nowrap}.page-heading .actions{flex-wrap:wrap}.page-heading .actions .primary{flex:1}.metric-label{font-size:11px}.metric-foot{font-size:11px}}
@media print{.plan-handoff,.plan-supplement{display:none!important}.route-list{display:block;padding:0}.route-card .route-title{font-size:12pt}.route-card .route-meta,.route-card .stop-chip{font-size:10pt}}

/* 0.6 当日の変更・計画再利用 */
.planning-tools{margin:0 0 18px;display:grid;gap:8px}.planning-tools button{font-size:12px}.day-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#e9f5ec;border-color:#c5dfce;color:#2c694b}.day-notice p{font-size:12px;margin-top:5px}.day-notice button{flex-shrink:0}.history-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px}fieldset{border:1px solid var(--line);border-radius:8px;padding:14px;min-width:0}fieldset:disabled{opacity:.55}legend{font-size:12px;padding:0 5px}.table-wrap select[data-day-client]{max-width:220px;font-size:12px}
@media(max-width:680px){.day-notice{align-items:flex-start;flex-direction:column}.planning-tools .flex{display:grid;grid-template-columns:1fr 1fr;gap:8px}.planning-tools button{font-size:11px;min-height:44px;padding:8px}.history-entry{flex-wrap:wrap}}
@media print{.planning-tools,.day-notice{display:none!important}}
/* 施設選択・ログインと保存状態 */
.entry{max-width:900px;margin:0 auto;padding:40px 20px}.entry-brand{font-size:30px;font-weight:800;margin-bottom:26px;color:var(--primary)}.entry-brand span{display:block;font-size:14px;font-weight:400;margin-top:6px}.entry h1{font-size:25px;margin:12px 0}.entry p{margin:14px 0;line-height:1.8}.entry form{display:grid;gap:16px;margin:20px 0}.entry button{margin:5px 6px 5px 0}.facility-list{display:grid;gap:12px;margin:20px 0}.facility-list button{text-align:left;padding:20px}.facility-list span{display:block;font-size:13px;margin-top:6px}.driver-trip{margin:18px 0}.runtime-status{padding:12px 18px;background:#ecf6e9;border:1px solid #c7dec5;border-radius:12px;margin-bottom:16px;font-size:13px}.runtime-status.bad{background:#fff1ed;border-color:#dba18f}.session-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.entry #portal-error{color:#a13822;white-space:pre-line}.entry .driver-stop{flex-wrap:wrap}.entry .toolbar{flex-wrap:wrap}.role-help{margin-bottom:18px}.runtime-status button{margin-left:12px}@media(max-width:650px){.entry{padding:20px 12px}.entry .panel-body{padding:16px}.session-actions .user-label{display:none}}@media print{.runtime-status,.session-actions{display:none!important}}

/* 担当便・乗降場所・送迎日報 */
.dispatch-receipts{margin-top:20px}.driver-focused{display:grid;gap:20px}.driver-focused .driver-trip{padding:0;margin:0}.driver-focused h2{font-size:19px}.driver-focused .driver-header{padding:16px 20px}.driver-focused .driver-header p{margin:6px 0 0;font-size:13px}.next-visit{border:1px solid var(--line-strong);border-left:5px solid var(--accent);background:var(--surface);border-radius:9px;padding:20px;margin:16px 0}.next-visit h3{font-size:25px;margin:7px 0}.next-visit p{margin:8px 0;overflow-wrap:anywhere}.next-map{display:flex;min-height:50px;font-size:15px;margin:16px 0}.next-actions{display:flex;flex-wrap:wrap;gap:10px}.next-actions button{min-height:48px;flex:1}.pickup-note{background:#fff4d9;border:1px solid #e2cd9e;border-radius:7px;padding:12px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.driver-all-stops{border-top:1px solid var(--line);padding-top:14px;margin:16px 0}.driver-all-stops summary{cursor:pointer;font-weight:700}.vehicle-check{margin:15px 0;display:flex}.driver-focused button{min-height:44px}.report-actions{margin-top:15px}.daily-report td{white-space:nowrap}.location-setup td{max-width:330px;overflow-wrap:anywhere}.entry #driver-update:empty{display:none}.driver-focused [aria-disabled=true]{pointer-events:none}
@media(max-width:680px){.next-visit{padding:15px}.next-visit h3{font-size:23px}.driver-focused .panel-body{padding:14px}.next-actions button{min-width:120px}.entry .toolbar input,.entry .toolbar select{font-size:16px}.dispatch-receipts .panel-body{padding:12px}.location-setup table{min-width:780px}}
@media print{.daily-report{display:block!important}.daily-report .panel-header,.daily-report .panel-body{display:block;padding:8px 0}.daily-report .report-actions,.dispatch-receipts,.driver-focused{display:none!important}.daily-report .table-wrap{overflow:visible}.daily-report table{min-width:0;font-size:8pt}.daily-report th,.daily-report td{padding:6px;white-space:normal}.daily-report tr{break-inside:avoid}.daily-report .status-tag{color:#000;background:#fff}}

/* 施設向け体験の入口とガイド */
.experience-welcome{padding:34px}.experience-welcome h1{font-size:34px;line-height:1.55;margin:18px 0}.experience-welcome .experience-lead{max-width:650px;font-size:15px}.experience-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}.experience-facts>span{padding:15px;background:var(--surface-soft);border-radius:10px;font-size:12px;display:grid;gap:5px}.experience-facts strong{font-size:19px;color:var(--primary)}.experience-start-note{background:var(--bg);border:1px solid var(--line);padding:18px;border-radius:10px}.experience-start-note h2{font-size:15px}.experience-start-note ul{padding-left:20px;font-size:13px;line-height:1.9;margin:10px 0 15px}.experience-start-note .check-label{font-size:14px;align-items:flex-start}.experience-start-note input{flex-shrink:0;margin-top:4px}.entry .experience-start{margin-top:22px;min-height:50px;font-size:15px}.experience-link{color:var(--primary);text-underline-offset:4px;font-weight:600;line-height:1.8}.experience-intro{padding:25px;display:grid;grid-template-columns:1fr 130px;gap:25px;align-items:center}.experience-intro h2{font-size:23px;margin:12px 0}.experience-intro p{margin:12px 0;font-size:14px}.experience-progress{display:grid;text-align:center;gap:8px;color:var(--primary);font-size:12px}.experience-progress>strong{font-size:45px;line-height:1.1}.experience-progress small{font-size:20px;font-weight:400;color:var(--muted)}.experience-progress progress{width:100%;height:8px;accent-color:var(--primary)}.experience-utilities{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin:18px 0;font-size:12px;color:var(--muted)}.experience-steps{padding:0;margin:0;list-style:none;display:grid;gap:16px}.experience-step{padding:23px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:15px}.experience-step>.step-number{background:var(--primary);color:#fff}.experience-step h2{font-size:17px}.experience-step p{margin:12px 0;font-size:14px;line-height:1.95}.experience-step-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.experience-step-actions .check-label{font-size:13px;line-height:1.7}.experience-step-actions input{flex-shrink:0}.experience-feedback,.experience-boundary{margin-top:20px}.experience-feedback p{font-size:13px;margin:10px 0 20px}.experience-feedback form{display:grid;gap:17px}.experience-feedback .field{font-size:13px}.experience-feedback input[type=number]{width:100px}.experience-feedback textarea{width:100%;font-size:15px;resize:vertical}.experience-boundary{background:var(--surface-soft)}.experience-boundary h2{font-size:15px}.experience-boundary ul{padding-left:20px;font-size:13px;line-height:1.9}.experience-document{max-width:850px;margin:0 auto;padding:30px 24px 50px;background:var(--surface)}.experience-document-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.experience-document-nav a{color:var(--primary)}.experience-document header{display:flex;gap:18px;align-items:center;margin-bottom:25px}.experience-document h1{font-size:26px;margin:8px 0}.experience-document p{margin:10px 0;line-height:1.9}.experience-document ol{padding-left:25px}.experience-document li{padding:10px 0;break-inside:avoid}.experience-document li h2{font-size:17px}.experience-document h2 small{font-size:12px;color:var(--muted);font-weight:400}.experience-document .guide-check{font-size:12px;color:var(--primary)}.experience-document footer{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;font-size:11px;color:var(--muted)}
@media(max-width:680px){.experience-welcome{padding:20px}.experience-welcome h1{font-size:27px}.experience-facts{grid-template-columns:1fr;gap:7px}.experience-facts>span{display:flex;align-items:center;gap:15px;padding:10px 12px}.experience-facts strong{font-size:17px}.experience-intro{grid-template-columns:1fr;padding:18px;gap:10px}.experience-intro h2{font-size:21px}.experience-progress{grid-template-columns:auto 1fr;align-items:center;text-align:left}.experience-progress>strong{font-size:28px}.experience-progress progress{grid-column:1/-1}.experience-step{padding:16px;grid-template-columns:25px minmax(0,1fr);gap:12px}.experience-step .step-number{width:25px;height:25px}.experience-step h2{font-size:16px}.experience-step p{font-size:14px}.experience-step-actions{gap:12px}.experience-step-actions button{width:100%;min-height:44px}.experience-step-actions .check-label{align-items:flex-start}.experience-step-actions input{margin-top:3px}.experience-document{padding:20px 15px}.experience-document h1{font-size:23px}.topbar .prototype{white-space:normal}.experience-start{width:100%}}
@media print{.experience-document{max-width:none;padding:0;background:#fff;font-size:10pt}.experience-document-nav{display:none!important}.experience-document .notice{display:block!important;font-size:9pt;background:#fff;color:#000}.experience-document header{margin-bottom:14px}.experience-document h1{font-size:18pt}.experience-document li h2{font-size:12pt}.experience-document p{line-height:1.65}.experience-document li{padding:5px 0}.experience-document .guide-check{color:#000}.experience-utilities,.experience-step-actions button,.experience-feedback{display:none!important}.experience-step,.experience-intro,.experience-boundary{break-inside:avoid}.experience-step-actions .check-label{display:flex}}
