*{box-sizing:border-box} :root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#36383d;background:#f4f5f7;font-synthesis:none}body{margin:0}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer;border:0;border-radius:8px;background:#d94b61;color:white;padding:11px 16px;min-height:44px;font-size:13px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:6px;text-decoration:none}button:hover,a.button:hover{filter:brightness(1.13)}button:disabled{opacity:.45;cursor:not-allowed}.light{background:#eceef1;color:#d94b61}.green{background:#37634d}.danger{background:#f5e3dc;color:#923e29}.outline{background:white;color:#d94b61;border:1px solid #d5d8dd}input,select,textarea{border:1px solid #d5d8dd;border-radius:7px;background:white;color:#36383d;padding:10px;width:100%;min-height:44px;font-size:14px}input[type=checkbox]{min-height:20px;width:20px;accent-color:#d94b61}label{display:grid;gap:6px;font-size:12px;font-weight:650}textarea{min-height:90px;resize:vertical}form{display:grid;gap:15px}.demo-strip{background:#e6d8bd;color:#554126;padding:8px 24px;display:flex;justify-content:center;gap:18px;font-size:11px;letter-spacing:.2px}.demo-strip b{letter-spacing:1.3px}header{background:#ffffff;border-bottom:1px solid #e1e3e7;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;gap:20px}.brand{display:flex;gap:12px;align-items:center;color:#d94b61;text-decoration:none;font-size:25px;letter-spacing:2px;font-weight:850}.brand small{display:block;font-size:9px;letter-spacing:2.2px;margin-top:3px}.wheat{font-size:36px;border:1px solid #dc4b63;border-radius:50%;width:49px;height:49px;display:grid;place-items:center;color:#dc4b63}.head-controls{display:flex;gap:14px;align-items:end}.head-controls select{max-width:225px}.workspace{display:grid;grid-template-columns:210px 1fr;max-width:1600px;margin:auto}aside{padding:26px 18px;border-right:1px solid #e1e3e7;min-height:calc(100vh - 132px)}aside button{display:flex;width:100%;margin-bottom:6px;justify-content:start;background:none;color:#555960;font-size:13px;font-weight:600}aside button.active{background:#d94b61;color:white}aside small{display:block;line-height:1.7;margin:24px 12px;color:#747880}main{padding:30px;min-width:0}h1{font-size:32px;letter-spacing:-1px;margin:5px 0 12px}h2{font-size:20px;letter-spacing:-.3px;margin:0 0 15px}h3{font-size:17px;margin:0 0 9px}p{line-height:1.6}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#dc4b63}.muted,small{color:#70747c}.lead{font-size:14px;color:#70747c;margin:0}.toolbar,.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar{justify-content:space-between;margin:0 0 23px}.row.end{justify-content:flex-end}.card{background:#ffffff;border:1px solid #e1e3e7;border-radius:13px;padding:22px;margin-bottom:17px}.hero-card{background:#d94b61;color:#ffffff;border-radius:14px;padding:25px;margin:18px 0}.hero-card .muted,.hero-card small{color:#666a72}.hero-card .eyebrow{color:#dc4b63}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:23px 0}.metric{border:1px solid #e1e3e7;border-radius:12px;background:#ffffff;padding:18px}.metric strong{display:block;font-size:29px;margin-top:10px}.metric span{font-size:12px;color:#70747c}.metric:first-child{background:#fcecef}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.grid .card{margin:0}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.badge{font-size:10px;font-weight:750;background:#eceef1;color:#565b63;padding:5px 9px;border-radius:6px;display:inline-block}.badge.good{background:#dfeddf;color:#366148}.badge.warn{background:#fae8c5;color:#936222}.badge.bad{background:#f3ddd5;color:#923c28}.note{background:#f3f4f6;padding:12px 15px;border-left:3px solid #dc4b63;font-size:13px;line-height:1.6;border-radius:4px}.notice{border:1px solid #ddbc7c;background:#fff3d8;padding:15px;border-radius:10px;margin-bottom:15px;font-size:13px}.empty{text-align:center;padding:38px 20px;border:1px dashed #d5d8dd;border-radius:10px;color:#70747c;font-size:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.fields.three{grid-template-columns:1fr 1fr 1fr}.full{width:100%}.wide{grid-column:1/-1}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e1e3e7;vertical-align:top}th{color:#70747c;font-weight:650;white-space:nowrap}td{line-height:1.5}td .badge{margin-top:4px}.roster td{min-width:130px}.roster th:first-child{min-width:140px}.roster button{display:block;background:none;padding:0;min-height:32px;color:#555960;text-align:left;justify-content:start}.section-tabs{display:flex;gap:7px;margin-bottom:19px;flex-wrap:wrap}.section-tabs button{background:#eceef1;color:#565b63}.section-tabs button.active{background:#d94b61;color:white}.stop{display:grid;grid-template-columns:33px 1fr;gap:12px}.number{width:32px;height:34px;background:#fcecef;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:bold}.stop .row{margin-top:15px}.stop h3{margin:3px 0 7px}.stop p{margin:8px 0;font-size:13px}.mini{padding:7px 10px;min-height:36px;font-size:12px}.checkline{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:500}.checkline span{flex:1}.checkline input[type=number]{width:70px}.photo{width:100%;max-height:240px;object-fit:contain;background:#f2eadf;border-radius:8px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery figure{margin:0}.gallery figcaption{font-size:12px;color:#766451}.kpi-line{display:flex;justify-content:space-between;font-size:12px;padding:8px 0;border-bottom:1px solid #e1e3e7}.trace{border-left:2px solid #d8c39f;padding:0 0 18px 18px;margin-left:7px;font-size:13px}.trace b{display:block}.trace small{display:block;margin:5px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.plan-line{display:flex;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid #e1e3e7}.plan-line>span:nth-child(2){flex:1;min-width:0}.plan-line small{display:block}.caption{font-size:11px;line-height:1.7;color:#70747c;margin-top:20px}dialog{border:0;border-radius:16px;background:#ffffff;color:#36383d;padding:25px;width:min(760px,calc(100% - 24px));max-height:92dvh}dialog::backdrop{background:#292018aa}#close{margin-top:20px}#toast{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:15px 22px;background:#3d4148;color:white;border-radius:10px;font-size:13px;z-index:100;max-width:90vw;box-shadow:0 4px 20px #0002}#toast.visible{display:block}button:focus-visible,a:focus-visible{outline:3px solid #dc4b63;outline-offset:3px}.map-panel{height:310px;border-radius:12px;background:#eceef1;border:1px solid #d5d8dd;margin:15px 0}.map-pin{display:grid;place-items:center;width:34px;height:38px;background:#d94b61;border:3px solid white;border-radius:18px 18px 18px 3px;box-shadow:0 2px 7px #0005;color:white;font-size:14px;font-weight:800}.rk-map{position:relative;overflow:hidden;touch-action:none;cursor:grab;isolation:isolate}.rk-tiles,.rk-lines,.rk-markers{position:absolute;inset:0;width:100%;height:100%}.rk-tiles img{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none;user-select:none}.rk-lines,.rk-markers{pointer-events:none}.rk-marker{position:absolute;left:0;top:0;width:34px;height:42px;pointer-events:auto;touch-action:none;cursor:grab}.rk-zoom{position:absolute;left:10px;top:10px;display:grid;gap:2px}.rk-zoom button{width:42px;height:42px;padding:0;background:white;color:#d94b61;box-shadow:0 1px 6px #0003;font-size:24px}.rk-attribution{position:absolute;bottom:0;right:0;background:#fffe;color:#d94b61;padding:3px 6px;font-size:10px;line-height:1.4}.rk-attribution a{color:inherit}.rk-tile-message{position:absolute;bottom:28px;left:8px;right:8px;background:#fffdf0;font-size:11px;pointer-events:none}.rk-tile-message:empty{display:none}.version-link{color:#70747c;font-size:12px;display:block;margin:18px 12px;line-height:1.5}.run-state{font-size:12px;color:#a38358;margin-top:7px}@media(max-width:1100px){.grid{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:170px 1fr}main{padding:24px 20px}.split{grid-template-columns:1fr}}@media(max-width:760px){.demo-strip{padding:7px 12px;display:block;text-align:center;font-size:10px}.demo-strip span{display:block;margin-top:3px}header{padding:15px;align-items:start;flex-direction:column;gap:16px}.brand{font-size:23px}.head-controls{width:100%;gap:8px;flex-wrap:wrap}.head-controls label{flex:1;min-width:110px}.head-controls button{font-size:11px;max-width:180px;min-height:44px}.workspace{display:block}aside{padding:10px 12px;min-height:0;border-right:0;border-bottom:1px solid #e1e3e7;display:flex;gap:4px;overflow-x:auto;align-items:center}aside button{width:auto;white-space:nowrap;margin:0;padding:9px 12px;font-size:12px}aside small,aside .version-link{display:none}main{padding:23px 15px 70px}h1{font-size:28px}.grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.card{padding:18px}.hero-card{padding:20px}.fields.three{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.map-panel{height:290px}.stop .actions>*{flex:1}.toolbar{align-items:start}.fields input,.fields select{min-width:0}dialog{padding:20px}.plan-line{font-size:12px}.plan-line .number{flex-shrink:0}.row select{max-width:100%}}

[hidden]{display:none!important}

.hero-card{background:#fff;border:1px solid #e1e3e7;border-left:4px solid #dc4b63;color:#36383d}.hero-card .muted,.hero-card small{color:#70747c}.overview-map{height:560px}.brand{color:#575a60}.workspace{grid-template-columns:225px 1fr} @media(max-width:760px){.workspace{display:block}.overview-map{height:440px}}

.store-map-marker{z-index:2}.store-map-marker:hover,.store-map-marker:focus{z-index:20}.store-map-label{position:absolute;left:39px;top:-5px;width:175px;padding:7px 9px;background:#ffffffee;border:1px solid #d5d8dd;border-radius:7px;box-shadow:0 2px 6px #0002;color:#36383d;font-size:11px;line-height:1.4;cursor:pointer}.store-map-label strong{display:block}.map-time{display:block;color:#a92940;font-size:13px}.map-route-order{display:block;padding-left:5px;margin-top:3px;font-size:10px}.map-route-order b{font-size:12px}.compact-map .store-map-label{display:none}.store-map-marker:hover .store-map-label,.store-map-marker:focus .store-map-label{display:block}.map-toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:12px;background:white;border:1px solid #e1e3e7;border-radius:10px;flex-wrap:wrap}.map-toolbar select{max-width:300px}#overviewShell{min-width:0}#overviewShell.map-expanded{position:fixed;inset:0;z-index:200;background:#fff;display:flex;flex-direction:column;padding:12px;height:100dvh}#overviewShell.map-expanded .overview-map{flex:1;min-height:0;height:auto;margin:10px 0 0}.map-fullscreen-open{overflow:hidden}.coordinate-paste input{font-weight:400}.coordinate-paste output{font-size:12px}.membership-info{margin:8px 0}.map-expanded .rk-tile-message{max-width:550px}#toast{z-index:500}@media(max-width:760px){.map-toolbar{gap:8px}.map-toolbar label:first-child{flex:1;min-width:150px}.map-toolbar button{font-size:12px}.store-map-label{width:145px;font-size:10px}.map-time{font-size:12px}#overviewShell.map-expanded{padding:6px}.map-toolbar .checkline{font-size:11px}}

.tour-toggles{display:flex;flex-wrap:wrap;gap:8px 15px;padding:12px;background:#fff;border-bottom:1px solid #ddd}.tour-toggles label{font-size:11px}.tour-toggles input{width:17px;height:17px}.map-expanded .tour-toggles{max-height:145px;overflow:auto}.map-expanded #roadOverviewStatus{margin:4px 0;font-size:10px}.month-grid{min-width:1600px}.month-grid th:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:160px}.month-grid button{font-size:10px;padding:5px;min-width:85px}.depot-pin{background:#30343b!important}.depot-marker{z-index:25}.depot-label{position:absolute;left:38px;top:0;display:block;background:#30343b;color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;min-width:160px}.depot-label small{color:#eee}@media(max-width:760px){.tour-toggles{max-height:160px;overflow:auto}.map-expanded .tour-toggles{max-height:110px}.depot-label{min-width:125px;font-size:10px}}

.dense-map .store-map-label{display:none}.dense-map .store-map-marker .map-pin{width:12px;height:12px;border-width:1px;border-radius:50%;font-size:0;margin-left:11px;margin-top:25px}.dense-map .store-map-marker:hover .store-map-label,.dense-map .store-map-marker:focus .store-map-label{display:block;left:39px!important;top:-5px!important}
