:root{--green:#143d35;--green2:#1f5c4f;--mint:#e8f3ef;--orange:#e9973e;--red:#c94b4b;--bg:#f4f7f6;--line:#dce5e1;--text:#1d2a27;--muted:#6d7b77;--white:#fff;--shadow:0 8px 30px rgba(18,54,47,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--green);color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 27px;border-bottom:1px solid #ffffff1c}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--orange);font-weight:900;font-size:24px}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:#b9cec7;margin-top:4px}.sidebar nav{display:grid;gap:6px;margin-top:24px}.sidebar nav button{border:0;background:transparent;color:#c6d8d2;text-align:left;padding:13px 15px;border-radius:10px;cursor:pointer;font-weight:600}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff16;color:#fff}.sidebar nav button span{margin-left:9px}.sidebar-foot{margin-top:auto;padding:15px 8px 0;border-top:1px solid #ffffff1c;display:flex;gap:10px;align-items:center}.sidebar-foot b,.sidebar-foot small{display:block;font-size:11px}.sidebar-foot small{color:#a9c1ba;margin-top:3px}.online-dot{width:9px;height:9px;border-radius:50%;background:#62d7a9;box-shadow:0 0 0 4px #62d7a922}main{margin-left:246px;min-height:100vh}.topbar{height:99px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;gap:16px;position:sticky;top:0;z-index:12}.topbar h1{font-size:24px;margin:0}.topbar p{font-size:13px;color:var(--muted);margin:5px 0 0}.top-actions{margin-left:auto;display:flex;gap:10px}button{cursor:pointer}.primary,.secondary,.danger{border:0;border-radius:9px;padding:10px 15px;font-weight:700}.primary{background:var(--green2);color:#fff}.primary:hover{background:var(--green)}.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}.danger{background:#fff0f0;color:var(--red);border:1px solid #f2cccc}.icon-btn,#menuBtn{border:0;background:transparent;font-size:25px}#menuBtn{display:none}#content{padding:28px 32px 50px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.stat{padding:20px}.stat-head{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:28px;margin:12px 0 5px}.stat small{color:var(--muted)}.accent{color:var(--green2)}.warn{color:var(--orange)}.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}.section-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.section-head h2{font-size:16px;margin:0}.vehicle-list{padding:8px 20px 18px}.vehicle-row{padding:15px 0;border-bottom:1px solid #edf1ef}.vehicle-row:last-child{border:0}.vehicle-line{display:flex;justify-content:space-between;align-items:center}.vehicle-line b{font-size:14px}.vehicle-line span{font-size:13px;color:var(--muted)}.progress{height:8px;background:#edf2f0;border-radius:8px;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;background:var(--green2);border-radius:8px}.progress i.high{background:var(--orange)}.summary-list{padding:15px 20px}.summary-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf1ef}.summary-item:last-child{border:0}.summary-item span{color:var(--muted);font-size:13px}.toolbar{display:flex;gap:10px;margin-bottom:15px}.search{flex:1;max-width:420px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#fff}.table-card{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #e8eeeb;font-size:13px}th{background:#f8faf9;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:#fbfdfc}.badge{display:inline-flex;padding:5px 8px;border-radius:20px;background:var(--mint);color:var(--green2);font-size:11px;font-weight:700}.badge.orange{background:#fff2e3;color:#a65d16}.badge.gray{background:#eef1f0;color:#65716e}.link-btn{border:0;background:transparent;color:var(--green2);font-weight:700}.map-layout{display:grid;grid-template-columns:330px 1fr;gap:16px;height:calc(100vh - 158px)}.map-panel{overflow:auto}.map-panel .section-head{position:sticky;top:0;background:#fff;z-index:2}.route-option{padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer}.route-option:hover,.route-option.active{background:var(--mint)}.route-option div{display:flex;justify-content:space-between}.route-option small{display:block;color:var(--muted);margin-top:5px}.map-card{overflow:hidden;position:relative}#mainMap{height:100%;min-height:500px}.map-empty{position:absolute;z-index:500;top:15px;left:50%;transform:translateX(-50%);background:#fff;padding:9px 13px;border-radius:8px;box-shadow:var(--shadow);font-size:12px}.notice{margin:18px 32px 0;padding:12px 15px;border-radius:9px;background:#fff6e7;color:#86520e;border:1px solid #f3d6a6}.hidden{display:none!important}.dialog-notice{margin:0 0 14px;padding:11px 14px;border-radius:9px;background:#fff6e7;color:#86520e;border:1px solid #f3d6a6;font-size:13px}.dialog-notice:empty{display:none}.dialog-notice.ok{background:#e9f7f0;color:#1f6e46;border-color:#bfe3cf}
.transition-section{padding:14px 20px;border-bottom:1px solid var(--line)}
.transition-section:last-child{border-bottom:0}
.transition-section h3{margin:0 0 4px;font-size:14px}
.transition-list{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--muted)}
.transition-item{padding:10px 0;border-top:1px solid #edf1ef}
.transition-item:first-of-type{border-top:0}
.transition-choices{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px;font-size:13px}
.transition-choices label{display:flex;align-items:center;gap:5px}
.transition-choices select{padding:5px 7px;border:1px solid var(--line);border-radius:6px}
.app-lock-screen{position:fixed;inset:0;z-index:999;background:var(--green);display:flex;align-items:center;justify-content:center}
.demo-banner{background:linear-gradient(90deg,#0f766e,#134e4a);color:#fff;padding:10px 20px;font-size:13px;text-align:center;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.demo-banner b{font-weight:800}
.demo-banner button{background:#fff;color:#0f766e;border:0;border-radius:7px;padding:6px 12px;font-weight:700;cursor:pointer;font-size:12px}
.demo-banner button:hover{background:#eafff9}
.app-lock-box{background:#fff;border-radius:16px;padding:36px 32px;width:min(360px,calc(100% - 40px));text-align:center;box-shadow:0 24px 80px #071b1666}
.app-lock-mark{margin:0 auto 16px;width:56px;height:56px;border-radius:16px;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:900;font-size:28px}
.app-lock-box h1{font-size:18px;margin:0 0 6px}
.app-lock-box p{color:var(--muted);font-size:13px;margin:0 0 18px}
.app-lock-box input{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;text-align:center;font-size:16px;letter-spacing:2px;margin-bottom:10px;box-sizing:border-box}
.lock-text-mask{-webkit-text-security:disc;text-security:disc}
.app-lock-error{color:var(--red);font-size:12px;min-height:16px;margin-bottom:10px}
.app-lock-box button{width:100%;padding:12px}dialog{border:0;border-radius:16px;width:min(720px,calc(100% - 30px));padding:0;box-shadow:0 24px 80px #071b1666}dialog::backdrop{background:#09241e88}.dialog-head{display:flex;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:20px}.dialog-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.form-grid{padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:12px;font-weight:700;color:#52605c}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#fff}.span-2{grid-column:span 2}.pin-box{display:flex;align-items:center;gap:8px;padding:13px;background:#f5f8f7;border-radius:9px}.pin-box div{margin-right:auto}.pin-box b,.pin-box small{display:block}.pin-box small{font-weight:400;color:var(--muted);margin-top:4px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:17px 24px;border-top:1px solid var(--line)}.map-picker-dialog{width:min(900px,calc(100% - 30px))}#pickerMap{height:520px}.settings-form{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-form label{font-size:12px;font-weight:700}.settings-form input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:8px}.empty{padding:50px;text-align:center;color:var(--muted)}
.form-grid .check-line{display:flex;align-items:center;gap:9px;padding:10px 0}.form-grid .check-line input{display:inline;width:auto;margin:0}
.route-check{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);cursor:pointer}.route-check:hover{background:#f6faf8}.route-check>i{width:14px;height:14px;border-radius:4px;box-shadow:0 0 0 2px #fff,0 0 0 3px #d6dfdb}.route-check>span{display:block;flex:1}.route-check b,.route-check small{display:block}.route-check small{margin-top:4px;color:var(--muted);font-size:11px}.layer-switches{display:grid;gap:10px;padding:15px 16px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.layer-switches label{display:flex;gap:8px;align-items:center}.action-stack{display:grid!important;gap:8px}.action-stack button{width:100%}.map-progress{margin:0 15px 15px;padding:11px;background:var(--mint);border-radius:8px;color:var(--green2);font-size:12px}.notice.ok{background:#e9f7f1;color:#176147;border-color:#bde4d3}
.factory-marker{background:transparent!important;border:0!important}.factory-marker span{display:block;background:#111827;color:#fff;border:3px solid #f59e0b;border-radius:8px;padding:5px 7px;font-size:10px;font-weight:900;text-align:center;box-shadow:0 4px 14px #0004;white-space:nowrap}
#analysisScenarioMap{height:540px}.scenario-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.scenario-map-btn{font-size:11px;padding:7px 9px}.scenario-map-btn.active{background:var(--green2);color:#fff;border-color:var(--green2)}.scenario-caption{padding:13px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.ai-layout{grid-template-columns:1.2fr .8fr;margin-top:0}.ai-chat{height:480px;overflow:auto;padding:20px;background:#f8faf9;display:flex;flex-direction:column;gap:12px}.ai-message{max-width:85%;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.55;white-space:pre-wrap}.ai-message.assistant{background:#fff;border:1px solid var(--line);align-self:flex-start}.ai-message.user{background:var(--green2);color:#fff;align-self:flex-end}.ai-message.error{background:#fff0f0;color:var(--red);border:1px solid #f2cccc}.ai-proposal{margin-top:8px}.ai-proposal .apply-proposal-btn{font-size:12px;background:#eef7f2;border-color:var(--green2);color:var(--green2)}.ai-form{padding:15px;border-top:1px solid var(--line);display:flex;gap:10px}.ai-form textarea{flex:1;padding:11px;border:1px solid var(--line);border-radius:9px;resize:vertical}.ai-prompts{padding:16px;display:grid;gap:9px}.ai-prompts button{text-align:left}
.section-sub{font-size:12px;color:var(--muted);margin:5px 0 0}
@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.map-layout{grid-template-columns:270px 1fr}.topbar{padding:0 20px}#content{padding:20px}.notice{margin:15px 20px 0}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.sidebar.open:after{content:"";position:fixed;inset:0 0 0 246px;background:#0006}.topbar{height:84px}.topbar p{display:none}main{margin-left:0}#menuBtn{display:block}.top-actions .secondary{display:none}.stats{grid-template-columns:1fr}.map-layout{display:block;height:auto}.map-panel{margin-bottom:15px;max-height:270px}#mainMap{height:60vh}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.pin-box{align-items:stretch;flex-direction:column}.pin-box div{margin:0}.topbar h1{font-size:19px}#content{padding:15px}.topbar{padding:0 14px}.primary,.secondary{padding:9px 11px}}

button:disabled{opacity:.5;cursor:not-allowed}.toolbar.wrap{flex-wrap:wrap}.compact-select{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.actions-cell{display:flex;gap:8px;align-items:center}.danger-text{color:var(--red)!important}.table-wrap td small{display:block;color:var(--muted);margin-top:4px;white-space:normal}.bulk-progress{padding:13px 16px;margin-bottom:14px;background:var(--mint);font-size:13px}.field-help{display:block!important;margin-top:6px;color:var(--muted);font-size:11px;font-weight:400}.upload-box{border:1px dashed #b7c9c2;padding:12px;border-radius:9px}.upload-box input{border:0!important;padding:6px 0!important}.photo-preview{height:170px;border-radius:10px;overflow:hidden;background:#edf2f0}.photo-preview img{width:100%;height:100%;object-fit:cover}.vehicle-cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.card-actions{display:flex;gap:8px;margin-top:15px}.card-actions button{flex:1}.map-legend{display:grid;gap:9px;padding:14px 16px;color:var(--muted);font-size:11px}.map-legend span{display:flex;gap:9px;align-items:center}.solid-line,.dashed-line{width:30px;height:0;border-top:4px solid var(--green2);display:inline-block}.dashed-line{border-top-style:dashed}.stop-popup{min-width:260px}.stop-popup>b,.stop-popup>small{display:block}.stop-popup>small{margin:4px 0 8px;color:var(--muted)}.stop-popup-photo,.streetview-frame{width:100%;height:150px;border:0;border-radius:7px;object-fit:cover;margin:5px 0}.streetview-placeholder{padding:12px;background:#f2f5f4;border-radius:7px;font-size:11px;color:var(--muted);margin:6px 0}.popup-link{display:block;margin:5px 0 9px;color:var(--green2);font-size:11px;font-weight:700}.popup-title{border-top:1px solid var(--line);padding-top:8px}.stop-popup ol{max-height:125px;overflow:auto;margin:5px 0 0;padding-left:22px;font-size:12px}.scenario-grid{display:grid;gap:18px;margin-top:18px}.scenario-card{overflow:hidden}.scenario-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.scenario-kpis span{background:#fff;padding:14px 20px}.scenario-kpis small,.scenario-kpis b{display:block}.scenario-kpis small{color:var(--muted);font-size:11px}.scenario-kpis b{font-size:20px;margin-top:4px}.empty-inline{padding:20px;color:var(--muted);margin:0}.report-map-card{margin-top:18px;overflow:hidden}.report-map-head{gap:15px}.report-map-head>div:first-child{min-width:260px}.map-layer-hint{margin-left:10px}.print-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vehicle-directives{display:grid;grid-template-columns:1fr;gap:16px;padding:16px}
.am-pm-layout{display:grid;grid-template-columns:1fr 1fr;gap:0}
.am-pm-col{border-top:1px solid var(--line)}
.am-pm-col+.am-pm-col{border-left:1px solid var(--line)}
.am-pm-col h3{margin:0;padding:10px 14px;font-size:12px;background:#f6f9f8;border-bottom:1px solid var(--line)}
.leg-summary{display:grid;gap:6px;padding:10px 14px;font-size:11px}
.leg-summary>div{display:flex;justify-content:space-between;align-items:center;gap:8px}
.leg-summary small{color:var(--muted)}
.leg-summary b{white-space:nowrap}
.directive-badges{display:flex;gap:8px;align-items:center}
.route-warning-inline{padding:0 14px 8px;font-size:11px;color:var(--orange)}
.scenario-summary-row{cursor:pointer}
.scenario-summary-row:hover td{background:#f3f8f6}
.scenario-summary-row.active td{background:var(--mint)}
.audit-list{display:grid}
.audit-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 20px;border-bottom:1px solid var(--line);font-size:12px}
.audit-row:last-child{border-bottom:0}
.audit-row small{color:var(--muted);white-space:nowrap}
#liveRouteCheckBody.empty{padding:20px;color:var(--muted)}
.api-keys-unlock{display:flex;gap:8px;margin-top:8px}
.api-keys-unlock input{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.google-find-box{background:#f5f8f7;border-radius:9px;padding:13px;display:grid;gap:8px}
.google-find-box .field-help{margin:0}
.google-paste-row{display:flex;gap:8px}
.google-paste-row input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.active-plan-row td{background:#f0f7f4}
@media(max-width:900px){.am-pm-layout{grid-template-columns:1fr}.am-pm-col+.am-pm-col{border-left:0;border-top:2px solid var(--line)}}.directive-block{border:1px solid var(--line);border-radius:10px;overflow:hidden}.directive-title{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#f6f9f8;font-size:12px}.directive-title b,.directive-title small{display:block}.directive-title small{color:var(--muted);margin-top:3px}.directive-title>span{color:var(--muted);text-align:right}.privacy-note,.settings-notes{padding:18px 20px;color:var(--muted);font-size:12px;line-height:1.6}.settings-notes code{background:#edf2f0;padding:2px 4px;border-radius:4px}.settings-actions{display:flex;gap:8px;margin-top:18px}.settings-form textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:8px}.inline-actions{padding:0;border:0}.settings-layout{align-items:start}.leaflet-popup-content{margin:14px}.leaflet-tooltip{font-size:10px}.route-warning{color:var(--orange)}
.color-field{display:flex!important;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#52605c}.color-field input[type=color]{width:38px;height:38px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:0!important}
.form-grid input[type=color]{padding:3px;height:44px;cursor:pointer}
.manual-layout{display:grid;grid-template-columns:1.35fr .85fr;gap:20px;padding:16px 20px 20px}
.manual-layout .manual-top{padding-left:0;padding-right:0}
.manual-layout .manual-load-preview{padding-left:0;padding-right:0}
.manual-layout .manual-form-warning{padding-left:0;padding-right:0}
.manual-layout .dialog-actions{padding-left:0;padding-right:0}
.manual-layout #manualScenarioForm{min-width:0}
.manual-map-card{padding:0;overflow:hidden;position:sticky;top:115px;align-self:start}
#manualPreviewMap{height:460px}
.manual-map-caption{margin:0;padding:11px 14px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:900px){.manual-layout{grid-template-columns:1fr}.manual-map-card{position:static}}
.stop-order-list{list-style:none;margin:8px 0 0;padding:0;max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:9px}
.stop-order-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #edf1ef;font-size:12px;background:#fff}
.stop-order-list li:last-child{border-bottom:0}
.stop-order-list .order-num{width:20px;height:20px;border-radius:50%;background:var(--mint);color:var(--green2);display:grid;place-items:center;font-size:10px;font-weight:800;flex:none}
.stop-order-list .order-name{flex:1;min-width:0}
.stop-order-list .order-name small{display:block;color:var(--muted)}
.stop-order-list .order-btns{display:flex;gap:4px;flex:none}
.stop-order-list .order-btns button{width:26px;height:26px;border:1px solid var(--line);background:#fff;border-radius:6px;font-weight:800;padding:0;cursor:pointer}
.stop-order-list .order-btns button:disabled{opacity:.3;cursor:not-allowed}
.stop-order-list .remove-stop{color:var(--red);border-color:#f2cccc}
.section-head-mini{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:8px}
.section-head-mini b{font-size:12px;color:#52605c}
.map-order-pin{display:grid;place-items:center;border-radius:50%;font:800 11px Arial,sans-serif;border:2px solid #fff;box-shadow:0 1px 5px #0007}
dialog.wide-dialog{width:min(1060px,calc(100% - 30px))}
.vehicle-layout{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:0 24px 22px}
.vehicle-layout .form-grid{padding:22px 0}
.stop-order-panel{padding:22px 0;min-width:0}
.stop-order-actions{display:flex;gap:14px}
.stop-order-list.wide{max-height:none;height:420px}
.stop-order-list.wide li{padding:10px 12px;font-size:13px;cursor:grab}
.stop-order-list.wide li.dragging{opacity:.35}
.stop-order-list.wide li.drag-over-top{box-shadow:inset 0 3px 0 var(--green2)}
.stop-order-list.wide li.drag-over-bottom{box-shadow:inset 0 -3px 0 var(--green2)}
.stop-order-list .drag-handle{cursor:grab;color:var(--muted);flex:none;font-size:14px;letter-spacing:-2px}
.add-stop-row{display:flex;gap:6px;margin-top:10px}
.add-stop-row select{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px}
.add-stop-row button{white-space:nowrap;font-size:12px;padding:8px 10px}
@media(max-width:820px){.vehicle-layout{grid-template-columns:1fr}.stop-order-list.wide{height:260px}.add-stop-row{flex-wrap:wrap}}
.leaflet-control-layers{border-radius:9px!important;box-shadow:var(--shadow)!important;border:1px solid var(--line)!important;font-family:inherit!important}.leaflet-control-layers-toggle{width:32px!important;height:32px!important}.leaflet-control-layers label{font-size:12px;font-weight:600;padding:2px 0}
#accessKeyDialog .dialog-head{border-bottom:0}
@media(max-width:1100px){.vehicle-directives{grid-template-columns:1fr}.report-map-head{align-items:flex-start;flex-direction:column}.scenario-buttons{justify-content:flex-start}.actions-cell{min-width:270px}}
@media(max-width:760px){.toolbar.wrap>*{flex:1 1 100%}.actions-cell{min-width:250px}.scenario-kpis{grid-template-columns:1fr 1fr 1fr}.report-map-card #analysisScenarioMap{height:60vh}.vehicle-directives{padding:10px}.print-controls{width:100%}.print-controls>*{flex:1}.settings-actions{flex-direction:column}}
.manual-builder,.manual-saved{margin-top:18px;overflow:hidden}.manual-top{display:grid;grid-template-columns:minmax(260px,.45fr) 1fr;gap:22px;padding:18px 20px;border-bottom:1px solid var(--line)}.manual-top>label{font-size:12px;font-weight:700}.manual-top input[name=name]{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:8px}.manual-vehicle-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.manual-vehicle-checks label{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:11px;font-weight:700}.manual-vehicle-checks i{width:11px;height:11px;border-radius:3px}.manual-load-preview{display:flex;gap:8px;flex-wrap:wrap;padding:13px 20px 4px}.manual-form-warning{display:grid;gap:5px;padding:8px 20px 14px;color:#a65d16;font-size:12px}.manual-form-warning span{display:block}.ok-text{color:var(--green2)!important}.manual-table{max-height:560px;border-top:1px solid var(--line)}
.manual-table tr.row-unassigned td{background:#fff3e0}
.manual-table tr.row-unassigned .manual-stop-vehicle{border-color:#e8871e;background:#fffaf2}
.backup-list{margin-top:10px}
.route-warning{color:var(--orange)}
.traffic-curve-wrap{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:9px;margin:0 18px 14px}
.traffic-curve-wrap table{width:100%}
.traffic-curve-wrap th,.traffic-curve-wrap td{padding:6px 10px;text-align:center;border-bottom:1px solid var(--line);font-size:12px}
.traffic-curve-wrap th:first-child,.traffic-curve-wrap td:first-child{text-align:left;font-weight:600}
.traffic-curve-wrap thead th{position:sticky;top:0;background:#fff;z-index:1;border-bottom:2px solid var(--line)}
.traffic-section-row td{background:#f6f9f8;font-weight:700;text-align:left;padding:8px 10px}
.traffic-curve-input{width:64px;padding:5px;border:1px solid var(--line);border-radius:6px;text-align:center}
.traffic-mode-toggle{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.traffic-mode-btn.active{background:var(--green);color:#fff;border-color:var(--green)}
.traffic-simple-grid{padding:6px 18px 18px;display:grid;gap:14px}
.traffic-simple-row{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:10px}
.traffic-simple-row label{font-weight:700}
.traffic-simple-input-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.traffic-simple-input{width:80px;padding:8px;border:1px solid var(--line);border-radius:7px;text-align:center;font-size:15px}
.traffic-simple-hint{color:var(--muted);font-size:12px;flex:1;min-width:180px}
@media(max-width:900px){.manual-top{grid-template-columns:1fr}.manual-saved-list>div{align-items:stretch;flex-wrap:wrap}.manual-saved-list>div>span{flex:1 1 100%}}
