:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#413934;background:#eeede7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #bc6a48;outline-offset:3px}[hidden]{display:none!important}#viewport{position:absolute;inset:0;touch-action:manipulation;cursor:default}#map{display:block;width:100%;height:100%;user-select:none}.brand,.panel,.time-controls,.legend,#detail,.panel-toggles button{background:#fffefaf5;border:1px solid #e0ddd4;box-shadow:0 4px 25px #322d1e14;backdrop-filter:blur(12px)}.brand{position:absolute;top:20px;left:20px;z-index:2;display:flex;align-items:center;gap:15px;padding:12px 16px;border-radius:12px}.brand img{width:91px;height:32px}.brand span{font-size:12px;color:#82776d;border-left:1px solid #ded9d0;padding-left:15px}.panel-toggles{position:absolute;top:26px;right:20px;display:flex;gap:8px;z-index:3}.panel-toggles button{padding:13px 16px;border-radius:9px;font-size:12px}.panel{position:absolute;top:94px;z-index:3;border-radius:14px;padding:20px;max-height:calc(100dvh - 180px);overflow:auto;scrollbar-width:thin}#settings{left:20px;width:302px}#results{right:20px;width:340px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel-title>div{display:flex;align-items:center;gap:10px}h1,h2{font-size:16px;letter-spacing:-.3px;margin:0;font-weight:650}.panel-title button{border:0;border-radius:50%;background:#f1ece7;width:25px;height:25px;font-size:20px;color:#857568}select{background:#f5f1eb;border:0;border-radius:6px;padding:6px;color:#796b60;font-size:11px}#settings-form label{display:grid;grid-template-columns:1fr 77px;align-items:center;gap:8px;font-size:11px;margin-bottom:14px;line-height:1.4}#settings-form input{width:100%;border:1px solid #ded8cf;border-radius:7px;background:white;padding:9px 6px;font-size:14px;font-weight:550;color:#653538;text-align:right}.field-note,.muted{font-size:10px;color:#93877b;line-height:1.5}.field-note{text-align:right;margin-top:-7px}.assumptions{margin-top:18px;font-size:11px;color:#786b60}.assumptions summary{cursor:pointer;margin-bottom:13px}.assumptions p{font-size:10px;line-height:1.8}.settings-summary{border-top:1px solid #e6e0d7;padding-top:16px;margin-top:18px;font-size:11px;color:#807568;display:flex;flex-direction:column;gap:7px}.settings-summary strong{font-size:16px;font-weight:600;color:#654138}.apply-row{display:flex;align-items:center;gap:12px;margin-top:18px}#apply-settings{border:0;border-radius:8px;background:#7b3032;color:white;padding:11px 16px;font-size:12px}#applied{color:#477660;font-size:11px}#settings-error{font-size:11px;color:#a43432;margin-top:8px}#finishing-summary{margin-top:12px}.scenario{border-top:1px solid #e6e0d7;padding-top:16px;margin-top:15px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.scenario button{background:#f3eee7;border:1px solid #e1d8cc;border-radius:7px;padding:9px 12px;font-size:11px}.text-button{border:0;background:transparent;color:#8e7770;font-size:10px;padding:14px 0 0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.metric{display:flex;flex-direction:column;gap:5px}.metric strong{font-size:23px;letter-spacing:-.7px;font-weight:600;color:#633a37}.metric span{font-size:10px;color:#8b7b6f}.metric small{font-size:12px;font-weight:400;letter-spacing:0}.result-note{font-size:9px;color:#a39586;margin:16px 0}.orders-heading{border-top:1px solid #e6e0d7;padding-top:18px;margin-top:12px;display:flex;align-items:center;justify-content:space-between}.orders-heading h2{font-size:14px}.orders-heading h2 span{font-size:11px;color:#9e8c7d;font-weight:400}#order-list{margin-top:10px;max-height:335px;overflow:auto;scrollbar-width:thin}.order-row{display:block;width:100%;border:0;border-top:1px solid #eee8df;background:transparent;text-align:left;padding:12px 0;color:inherit}.order-row:hover,.order-row.selected{background:#f5eee7}.order-row:first-child{border-top:0}.order-head,.order-sub{display:flex;justify-content:space-between;gap:6px;align-items:center}.order-head b{font-size:11px;font-weight:600}.order-sub{font-size:10px;color:#988777;margin-top:7px}.order-basket{font-size:10px;color:#796d63;margin-top:6px;line-height:1.5}.badge{font-size:9px;padding:4px 6px;border-radius:5px;white-space:nowrap;background:#f1e8dc;color:#947341}.badge.delivered{background:#e4f0e8;color:#42785f}.badge.onboard,.badge.collecting{background:#e7edf1;color:#52758a}.badge.unbooked,.badge.risk{background:#f6e4df;color:#a0584a}.empty{font-size:11px;line-height:1.8;color:#a19080;padding:20px 0}.event-log{border-top:1px solid #e6e0d7;padding-top:15px;margin-top:12px;font-size:11px;color:#85766a}.event-log summary{cursor:pointer}#events{max-height:180px;overflow:auto;font-size:10px;line-height:1.6}#events p{margin:9px 0}#events time{color:#ab9b89;margin-right:8px}.time-controls{position:absolute;left:50%;transform:translateX(-50%);bottom:25px;z-index:4;border-radius:11px;padding:7px;display:flex;align-items:center;gap:10px;white-space:nowrap}.time-controls button{border:0;background:#f2ece4;border-radius:6px;padding:8px 10px;font-size:12px}#clock{font-size:12px;color:#675b50}.legend{position:absolute;left:20px;bottom:25px;z-index:2;border-radius:9px;display:flex;gap:12px;padding:11px 13px;font-size:10px;color:#736b60}.legend span{display:flex;align-items:center;gap:5px}.legend b{font-weight:500}.legend i{width:6px;height:6px;border-radius:50%}.resident-dot{background:#87383d}.shop-dot{background:#b58544}.vehicle-dot{background:#36725d}.reference{position:absolute;right:20px;bottom:16px;font-size:9px;color:#7a776b;z-index:2;text-shadow:0 1px 3px white}.home-dot{fill:#88373d;stroke:white;stroke-width:1.4;cursor:pointer}.home-dot.waiting{fill:#ec9e39;stroke-width:2}.home-dot.delivered{fill:#278963;stroke-width:2}.shop-pin,.vehicle{cursor:pointer}.route{fill:none;stroke:#658777;stroke-width:2;stroke-opacity:.35;stroke-dasharray:5 6;pointer-events:none}.route.selected{stroke:#7b3032;stroke-width:4;stroke-opacity:.8}.pickup-dot{fill:#eda443;stroke:white;stroke-width:1.5}.vehicle text{font-size:10px;font-weight:650;fill:#fff;text-anchor:middle}#detail{position:absolute;left:340px;bottom:88px;width:300px;max-height:calc(100dvh - 200px);overflow:auto;z-index:5;border-radius:12px;padding:18px;font-size:11px;line-height:1.7}#detail .detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#detail b{font-size:13px;color:#633232}#detail button{border:0;border-radius:6px;background:#f1e9df;padding:6px 9px;font-size:10px}#detail .detail-head button{font-size:17px;padding:0 7px}#detail p{margin:7px 0}#detail ol{padding-left:17px}#detail .warning{color:#b75a43}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:1100px){#settings{width:275px;padding:17px}#results{width:310px;padding:17px}.legend{bottom:78px}.reference{bottom:6px}#detail{left:310px;width:280px}}@media(max-width:720px){.brand{top:12px;left:12px;padding:10px}.brand img{width:72px;height:27px}.brand span{display:none}.panel-toggles{top:18px;right:12px;gap:5px}.panel-toggles button{padding:10px;font-size:11px}.panel{top:76px;max-height:calc(100dvh - 170px)}#settings{left:12px;width:calc(100% - 24px);max-width:340px}#results{right:12px;width:calc(100% - 24px);max-width:340px}.time-controls{bottom:20px;gap:7px}#clock{font-size:11px}.legend{left:12px;bottom:76px;padding:8px 11px;font-size:9px}#detail{left:12px;bottom:120px;width:calc(100% - 24px);max-height:calc(100dvh - 210px)}.reference{font-size:8px;right:12px}.metrics{gap:12px}.metric strong{font-size:21px}}
