/* bit.epl — an architectural model and an owner's working day. */
:root{--paper:#f5f5f0;--ink:#173c35;--muted:#738079;--orange:#5267e8;--line:#d8ddd5;--white:#fff;--mono:'Consolas',monospace;--gutter:clamp(22px,4vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',Arial,sans-serif;font-size:14px;line-height:1.6}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0;background:none}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,dl,dd{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}input,select{min-width:0}button{text-align:inherit}svg{max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;left:16px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:13px 22px;font-size:12px;font-weight:700;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#285349}.button-orange{background:var(--orange);color:#fff}.button-orange:hover{background:#7082f5}.button-light{background:white}.small-button{border:1px solid var(--line);padding:9px 13px;min-height:42px;font-size:11px;border-radius:3px;font-weight:700;white-space:normal}.small-button:hover{background:#e6ece3}.quiet-button,.text-link{font-size:11px;border-bottom:1px solid #b5c2b5;padding:5px 0;min-height:36px}.icon-button{width:36px;height:36px;font-size:24px;text-align:center}.eyebrow,.micro{font:10px/1.6 var(--mono);letter-spacing:.06em}.eyebrow{font-size:10px;letter-spacing:.1em}.micro{color:#63766c}.live-dot{display:inline-block;background:#5a876b;border-radius:50%;width:6px;height:6px;margin-right:9px;box-shadow:0 0 0 4px #5a876b14}.text-muted{color:#89988f}.brand{font-weight:800;font-size:35px;letter-spacing:-2px;display:inline-flex;align-items:center;line-height:1}.brand span{color:var(--orange)}.brand i{font-style:normal;font-size:14px;width:21px;height:21px;display:grid;place-items:center;border:1px solid #bbc7be;margin-left:6px;letter-spacing:0}.site-header{height:94px;margin:0 var(--gutter);display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.site-header nav{display:flex;gap:30px;margin:auto;font-size:11px;font-weight:600}.site-header nav a:hover{color:#5267e8}.site-header .button{font-size:11px;min-height:42px}.intro{padding:48px var(--gutter) 35px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end}.intro .eyebrow{margin-bottom:22px}.intro h1{font-size:clamp(58px,6.7vw,116px);line-height:.99;letter-spacing:-.07em;font-weight:650}.intro h1>span{color:#91a192}.intro-right{padding-bottom:5px}.intro-right>p:first-child{font-size:clamp(18px,1.8vw,27px);font-weight:550;letter-spacing:-.025em;line-height:1.5}.intro-secondary{color:#6b7e72;font-size:12px;margin-top:14px}.intro-actions{display:flex;align-items:center;gap:24px;margin-top:28px}.play-button{font-size:11px;min-height:44px;padding:4px 0;border-bottom:1px solid #abbcab}.play-button:hover{color:#4054c9}.experience{padding:0 var(--gutter) 28px;scroll-margin-top:20px}.experience-top{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0 8px}.demo-label{font:9px var(--mono);letter-spacing:.04em;color:#5a6e61}.demo-label .desktop-only{color:#8b988d;margin-left:9px}.demo-time{display:flex;align-items:center;gap:12px;font:10px var(--mono)}.demo-time strong{font-size:15px;font-weight:500}.demo-time>span:last-child{color:#859286}.city-workspace{display:grid;grid-template-columns:minmax(0,1fr) 292px;position:relative;border-bottom:1px solid var(--line);min-height:526px;gap:10px}.city-workspace canvas{display:block;width:100%;height:100%;outline:none}#city-stage{position:relative;min-width:0;height:540px;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#dfe5d9,transparent 67%);border-radius:4px}#scene-loading{position:absolute;inset:0;display:grid;place-items:center;color:#6d8375;font-size:12px;pointer-events:none;z-index:0}#city-stage canvas{position:relative;z-index:1}#city-stage.fallback{background:url('./assets/city-fallback.svg') center/contain no-repeat}#city-stage.fallback canvas{visibility:hidden}.scene-tools{position:absolute;top:10px;left:0;display:flex;gap:5px;z-index:5}.scene-tools button{background:#fffE;box-shadow:0 1px 4px #173c3510;min-width:40px;min-height:40px;padding:8px 12px;font-size:16px;backdrop-filter:blur(8px);border:1px solid #dce4d9;border-radius:3px}.scene-tools button span{font-size:10px;vertical-align:middle;margin-left:5px}.scene-tools button:hover,.scene-tools [aria-pressed=true]{background:var(--ink);color:white}.scene-bottom{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:space-between;gap:16px;align-items:center;z-index:5;font:9px var(--mono);color:#687d6e;background:linear-gradient(transparent,#f5f5f0d9);pointer-events:none;padding:9px 0 2px}.scene-bottom button{pointer-events:auto;font-size:9px;white-space:nowrap}.scene-label{font:10px var(--mono);color:var(--ink);background:#ffffffde;padding:4px 7px;border-radius:2px;pointer-events:none;box-shadow:0 1px 4px #10201710}.inspector{padding:26px 0 24px 22px;border-left:1px solid var(--line);font-size:11px;position:relative;z-index:3}.inspector h3{font-size:25px;font-weight:650;letter-spacing:-.04em;line-height:1.2;margin:12px 0}.inspector-description{color:#6a7b70;line-height:1.8;margin-top:18px}.inspector-top{display:flex;align-items:center;justify-content:space-between}.overview-stat{display:flex;align-items:center;gap:21px;margin:26px 0 18px}.overview-stat>strong{font-size:66px;line-height:1;letter-spacing:-.06em;font-weight:550}.overview-stat>span{font-size:11px;line-height:1.9;color:#728376}.overview-stat b{font-weight:500;color:var(--ink)}.site-links{margin-bottom:22px}.site-links>button{display:flex;gap:16px;width:100%;border-top:1px solid var(--line);padding:11px 0;align-items:center;font-size:11px}.site-links>button span{flex:1}.site-links small{display:block;color:#7b8b7d;font-size:9px;margin-top:2px}.site-links i{font-style:normal}.site-links button:hover{color:#ce5c3b}.inspector .button{font-size:11px;min-height:43px;width:100%;padding:11px 15px}.inspector-note{margin-top:16px;font-size:8px}.machine-icon{height:47px;font-size:44px;color:var(--orange);line-height:1}.machine-specs{margin:20px 0 12px}.machine-specs>div{display:flex;align-items:start;gap:15px;justify-content:space-between;border-top:1px solid var(--line);padding:7px 0}.machine-specs dt{color:#7a897e;font-size:10px}.machine-specs dd{font-size:10px;text-align:right;max-width:145px}.inspector-actions{display:grid;gap:6px;margin-top:16px}.inspector-actions .small-button{font-size:10px;min-height:34px}.status-text{font-size:11px;line-height:1.6}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#547d62;vertical-align:middle;flex-shrink:0;margin-right:7px}.status-dot.working{background:#3d7659}.status-dot.enroute{background:#a3b1ff}.status-dot.free{background:#aabfaf}.status-dot.service{background:#c8ab56}.status-dot.repair{background:#b76d66}.next-task{background:#e9eee5;margin-top:18px;padding:14px;font-size:11px}.next-task>span{display:block;font:8px var(--mono);color:#7a897b}.next-task strong{display:block;margin:7px 0 2px}.next-task p{font-size:11px}.next-task .small-button{margin-top:10px}.site-summary{margin:20px 0;display:grid;gap:5px}.site-summary strong{font-size:33px;font-weight:500}.site-summary small{font-size:12px}.site-summary>span{color:#7c8b7d;font-size:11px}#future-badge{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);background:#173c35;color:white;font:9px var(--mono);padding:10px 15px;white-space:nowrap;z-index:5}.story-strip{display:flex;gap:24px;align-items:center;padding:24px 25px;margin-top:0;background:#e7ece2}.story-number{font:11px var(--mono);color:#889681;white-space:nowrap}.story-strip>div{flex:1}.story-strip strong{font-size:15px;letter-spacing:-.02em}.story-strip p{font-size:11px;color:#6c7d6c;margin-top:4px}.story-strip .button{min-width:185px}.business-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:76px;margin-bottom:30px}.business-head h2{font-size:clamp(31px,3vw,47px);line-height:1.2;letter-spacing:-.05em;font-weight:550;margin-top:15px}.view-switch{display:flex;align-items:end;gap:24px}.view-switch label{display:grid;font-size:8px;gap:5px}.view-switch select{background:none;border:0;border-bottom:1px solid var(--line);font:11px 'Manrope',sans-serif;padding:7px 0}.mode-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.mode-tabs>button{font-size:14px;padding:18px 0;display:flex;justify-content:space-between;margin-right:24px;border-bottom:3px solid transparent;color:#819081}.mode-tabs>button span{font:9px var(--mono)}.mode-tabs>button[aria-selected=true]{color:var(--ink);border-color:var(--orange)}.filter-line{display:flex;align-items:center;gap:22px;padding:18px 0;border-bottom:1px solid var(--line);font-size:9px}.filter-line>span{font:9px var(--mono);margin-right:auto;text-transform:uppercase;color:#8b978a}.filter-line label{display:flex;align-items:center;gap:7px;color:#7c8a7d}.filter-line select{font-size:10px;background:none;border:0;border-bottom:1px solid #cbd4c8;padding:5px;max-width:170px}.filter-line .quiet-button{font-size:9px}.business-panel{padding-top:34px;min-height:450px}.board-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(25px,7vw,120px)}.board-intro h3,.plan-top h3{font-size:clamp(28px,3.1vw,46px);line-height:1.15;font-weight:550;letter-spacing:-.045em;margin:13px 0 20px}.board-intro>p:not(.eyebrow),.plan-top p:not(.eyebrow){max-width:375px;color:#6b7d70;font-size:12px;line-height:1.8}.state-graph{display:flex;height:45px;gap:3px;margin-top:26px;border-radius:3px;overflow:hidden}.seg{text-align:center;min-width:25px;color:white;font-size:13px;transition:flex .3s}.seg.working{background:#3d7659}.seg.enroute{background:#869afa}.seg.free{background:#b4c6b7;color:var(--ink)}.seg.service{background:#c7ac68;color:var(--ink)}.seg.repair{background:#b36e64}.state-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px;margin:20px 0}.state-legend button{display:flex;gap:4px;align-items:center;font-size:10px;padding:2px 0}.state-legend button b{margin-left:auto;font-weight:500}.state-legend [aria-pressed=true]{color:#354bad;font-weight:700}.customer-bars{margin-top:30px}.customer-bars button{display:flex;justify-content:space-between;position:relative;padding:13px 0 19px;border-top:1px solid var(--line);width:100%;font-size:11px}.customer-bars i{position:absolute;bottom:8px;left:0;height:3px;background:#65836a}.list-heading{font:9px var(--mono);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b6c4b3;padding:0 0 12px;color:#7d8e7e}.vehicle-row{display:flex;align-items:center;width:100%;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.vehicle-row>span:nth-child(2){flex:1}.vehicle-row strong{font-size:12px;display:block;font-weight:600}.vehicle-row small{font:9px var(--mono);color:#879382;margin-left:7px}.vehicle-row strong+span{display:block;color:#85917f;font-size:10px;margin-top:3px}.vehicle-symbol{width:30px;font-size:24px;color:#b9744f;text-align:center}.row-arrow{color:#7f927b;font-size:15px}.vehicle-row:hover{background:#e9eee5}.inspector .vehicle-row{gap:7px}.inspector .vehicle-row strong{font-size:11px}.inspector .vehicle-row small{display:block;margin:0;font-size:8px}.inspector .vehicle-symbol{font-size:18px;width:23px}.inspector .vehicle-row strong+span{font-size:9px}.plan-top{display:flex;justify-content:space-between;align-items:start;gap:28px}.plan-top h3{margin-top:10px}.plan-top>.button{margin-top:12px}.plan-numbers{display:flex;gap:20px;justify-content:space-between;margin:20px 0 35px;padding-bottom:24px;border-bottom:1px solid var(--line)}.plan-numbers>span{display:flex;flex-direction:column;font-size:10px;color:#819080}.plan-numbers strong{font-size:34px;line-height:1.4;font-weight:500;color:var(--ink);letter-spacing:-.045em}.plan-numbers .accent strong{color:#5267e8}.planning-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}.request-list{display:grid;gap:8px;align-content:start}.request-card{display:grid;gap:5px;background:#ecefe8;border:1px solid transparent;border-radius:3px;padding:18px;text-align:left;width:100%}.request-card strong{font-size:16px;letter-spacing:-.025em}.request-card>span:not(.micro){font-size:11px;color:#7b8c79}.request-card small{font-size:10px;margin-top:5px}.request-card.selected{border-color:#769378;background:#e5ebe0}.request-card.drag-over{outline:3px solid var(--orange)}.good{color:#3c7455}.warning{color:#5267e8}.candidate{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.candidate>button:first-child{flex:1;padding:0}.candidate strong{font-size:12px;font-weight:600;display:block}.candidate small{display:block;font-size:10px;color:#809080;margin-top:3px}.candidate span{display:block;font-size:10px;margin-top:5px}.candidate>.small-button{font-size:10px;padding:7px 11px;flex-shrink:0}.candidate[draggable=true]{cursor:grab}.hint-text{font-size:10px;line-height:1.8;color:#7e8d7d;margin:14px 0}.timeline-head{display:flex;align-items:center;justify-content:space-between;margin:32px 0 13px}.timeline-head strong{font-size:13px}.timeline-head span{font:9px var(--mono);color:#849381}.schedule{margin-bottom:27px;overflow:hidden}.schedule-scale,.schedule-row{display:grid;grid-template-columns:155px 1fr;width:100%;gap:15px;font-size:10px;align-items:center}.schedule-scale{font:8px var(--mono);color:#82907f}.schedule-scale>div{display:flex;justify-content:space-between}.schedule-row{border-bottom:1px solid var(--line);min-height:39px;padding:6px 0}.schedule-row>span small{display:block;font:8px var(--mono);color:#8d9888}.schedule-row>div{height:26px;position:relative;background:repeating-linear-gradient(to right,transparent,transparent calc(25% - 1px),#dfe4d8 calc(25% - 1px),#dfe4d8 25%)}.schedule-row i{position:absolute;top:1px;bottom:1px;font:8px/24px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:normal;padding:0 8px;border-radius:2px}.shift-bar{background:#c9d9c6;color:#325039}.service-bar{background:#ddd0a2;color:#756334}.repair-bar{background:#dbc0b8;color:#7d5145}.small-tabs{display:flex;gap:6px}.small-tabs [aria-pressed=true]{background:var(--ink);color:white}.readiness-callout{margin:22px 0 28px;background:#ede4d2;border-left:3px solid #c49648;padding:19px 24px;position:relative}.readiness-callout strong{font-size:13px}.readiness-callout p{font-size:11px;color:#8f7754;max-width:620px;margin-top:4px}.readiness-callout .small-button{margin-top:12px;border-color:#cdbb92}.calendar-head,.calendar-row{display:grid;grid-template-columns:190px 1fr;gap:15px;align-items:center;width:100%}.calendar-head{font:9px var(--mono);color:#84927e;margin-bottom:12px}.calendar-head>div{display:grid;grid-template-columns:repeat(var(--days),1fr)}.calendar-row{font-size:11px;min-height:38px;border-bottom:1px solid var(--line);padding:6px 0}.calendar-row small{font:9px var(--mono);color:#879480;margin-left:8px}.calendar-row>div{height:24px;position:relative;background:repeating-linear-gradient(to right,transparent,transparent calc(100% / var(--days) - 1px),#dde4d6 calc(100% / var(--days) - 1px),#dde4d6 calc(100% / var(--days)))}.valid-band{height:10px;top:7px;background:#bfceba;position:absolute;left:0}.calendar-alert{position:absolute;top:2px;height:20px;min-width:18px;padding:2px 7px;font:9px var(--mono);color:#714623;background:#dbc293;border-radius:2px}.calendar-legend{display:flex;gap:23px;margin-top:20px;font-size:10px}.money-total{font-size:clamp(35px,4.3vw,63px);letter-spacing:-.05em;line-height:1.3;font-weight:500;display:block;margin:16px 0}.money-legend{display:grid;gap:13px;margin:25px 0}.money-legend span{display:flex;align-items:center;font-size:11px}.money-legend b{font-weight:500;margin-left:auto;padding-left:12px}.work-bar{position:relative;width:100%;display:flex;justify-content:space-between;gap:20px;text-align:left;padding:15px 0 25px;border-bottom:1px solid var(--line)}.work-bar>span{font-size:11px;font-weight:600}.work-bar small{display:block;font-size:9px;font-weight:400;margin-top:3px;color:#829080}.work-bar>i{position:absolute;height:4px;bottom:10px;left:0;max-width:100%;background:#648b6a;transition:background .3s,width .3s}.work-bar.pending>i{background:#e4a476}.work-bar.disputed>i{background:#b77b71}.work-bar>b{font-size:12px;white-space:nowrap;font-weight:600}.work-bar:hover,.work-bar.selected{background:#e7ede2}.settlement{border-top:1px solid var(--line);padding-top:28px;margin-top:38px}.settlement .plan-numbers strong{font-size:26px}.demo-footnote{font-size:9px;line-height:1.9;color:#91a08d;border-top:1px solid var(--line);margin:42px 0 0;padding-top:17px;max-width:950px}.site-footer{display:flex;align-items:center;gap:25px;padding:34px var(--gutter);border-top:1px solid var(--line)}.site-footer>p{font-size:10px}.site-footer>button{margin-left:auto;font-size:10px}.site-footer>span{font:9px var(--mono);color:#819180}.empty{font-size:12px;color:#809078;padding:30px 0}
dialog{color:var(--ink);background:#f9faf6;border:1px solid #dbe3d5;padding:38px;width:min(640px,calc(100% - 32px));max-height:88svh;overflow-y:auto;border-radius:5px;box-shadow:0 30px 100px #0d211d33}dialog::backdrop{background:#14282077;backdrop-filter:blur(7px)}dialog h2{font-size:34px;letter-spacing:-.045em;line-height:1.16;margin:20px 0;font-weight:550}dialog>p,dialog .dialog-description{font-size:12px;color:#71816f;line-height:1.8;margin:12px 0}.dialog-close{position:absolute;right:14px;top:12px;width:35px;height:35px;font-size:25px;color:#7d8e7c}.action-dialog p{font-size:12px;line-height:1.8;color:#7d8d77}.action-dialog .eyebrow{display:block;margin-right:23px}.action-dialog .button{margin-top:13px}.action-dialog .hint-text{font-size:10px}.action-dialog .warning{color:#5267e8}.action-dialog .micro{font-size:9px}.modal-open{overflow:hidden}form{display:grid;gap:16px;margin-top:22px}form label{font-size:11px;font-weight:600;display:grid;gap:6px}form input:not([type=checkbox]),form select{height:44px;border:1px solid #ced9c8;border-radius:3px;background:#fff;padding:10px 12px;font-weight:400;font-size:13px;width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consent-label{display:flex;flex-direction:row;align-items:start;gap:10px!important;font-size:10px!important;font-weight:400!important}.consent-label input{width:17px;height:17px;margin:2px 0;accent-color:var(--ink)}.field-error{font-size:10px;color:#354bad;font-weight:400}.local-note,.success-note{font-size:10px;line-height:1.8;color:#82907c}.request-success{text-align:left}.request-success>p{font-size:13px;margin:20px 0}.request-success .text-link{margin-left:20px}.success-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#dbe9d6;font-size:23px;margin-bottom:20px}.privacy-dialog>p{font-size:12px;margin:20px 0}.document-brand{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #abbda6;padding:16px 0}.document-brand strong{font-size:26px;letter-spacing:-.07em}.document-brand>span{font:8px var(--mono);color:#82917a}.work-detail{margin:13px 0}.work-detail>div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.work-detail dt{font-size:10px;color:#7e8e76}.phone-action{border:1px solid #beceba;border-radius:17px;padding:22px;background:#edf2e8;margin:23px 0}.phone-action>span{display:block;font:9px var(--mono);color:#7b8b74}.phone-action>strong{display:block;font-size:19px;margin-top:10px}.phone-action .button{width:100%}.document-total{display:flex;align-items:center;justify-content:space-between;font-size:11px;border-bottom:1px solid var(--line);padding:18px 0}.document-total strong{font-size:25px;font-weight:550;letter-spacing:-.04em}.register-rows button{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);width:100%;font-size:10px}.register-rows button>span:first-child{flex:1}.register-rows small{display:block;color:#899880;font-size:9px}.integration-list{list-style:none;padding:0;margin:22px 0}.integration-list li{display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);opacity:.65}.integration-list li.done,.integration-list li.error{opacity:1}.integration-list li>b{font:10px var(--mono);color:#92a087}.integration-list li>span{flex:1;font-size:12px}.integration-list small{display:block;color:#8b9980;font-size:9px;margin-top:5px;max-width:310px}.integration-list .small-button{font-size:9px;padding:7px 10px}.integration-list .done>b{color:#4d7c4d}.integration-list .error small{color:#5267e8}.passport-stats{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0}.passport-stats>span{font-size:24px;letter-spacing:-.04em}.passport-stats small{display:block;font-size:9px;letter-spacing:0;color:#839378}.document-item{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;gap:20px;font-size:12px}.document-item small{display:block;font-size:10px;color:#8b9375;margin-top:4px}.service-detail{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.service-detail strong{font-size:15px}.service-detail p{margin:8px 0 14px}.transfer-targets{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.transfer-targets button{padding:17px;border:1px solid var(--line);font-size:12px}.transfer-targets button small{display:block;font-size:9px;color:#84937a;margin-top:5px}.transfer-targets button:hover{background:#e1ecd9;border-color:#789874}.order-progress{display:flex;gap:6px;margin:20px 0}.order-progress>span{flex:1;height:4px;background:#dce5d5}.order-progress>span.done{background:#5a8660}.approval-step{padding:15px 0;border-top:1px solid var(--line)}.approval-step strong{display:block;font-size:13px;margin-bottom:12px}.approval-step p{font-size:11px}.approval-step .small-button{margin-right:7px;margin-bottom:6px}.approval-controls{display:flex;gap:10px;margin-top:10px}.supplier-response{border-top:1px solid var(--line);padding:20px 0}.supplier-response strong{font-size:16px}.supplier-response>p{margin:8px 0}.story-active .story-strip{background:#dbe7d2}#notice{position:fixed;left:50%;bottom:22px;transform:translate(-50%,25px);padding:12px 22px;background:var(--ink);color:white;z-index:50;border-radius:4px;max-width:min(620px,calc(100% - 32px));font-size:11px;box-shadow:0 7px 24px #173c3524;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#notice.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1700px){.city-workspace{grid-template-columns:minmax(0,1fr) 360px}#city-stage{height:640px}.inspector{padding-left:30px;padding-top:35px}.inspector h3{font-size:32px}.site-links>button{padding:17px 0;font-size:13px}.site-links small{font-size:11px}.intro{padding-top:60px;padding-bottom:48px}.intro h1{font-size:110px}}
@media(max-width:1050px){.city-workspace{grid-template-columns:minmax(0,1fr) 250px}#city-stage{height:505px}.inspector{padding-left:16px}.inspector h3{font-size:23px}.intro{gap:25px}.intro h1{font-size:68px}.intro-actions{gap:14px;flex-wrap:wrap}.intro-right>p:first-child{font-size:19px}.intro .button{font-size:11px;padding:12px 15px}.view-switch{gap:12px}.mode-tabs>button{font-size:12px;margin-right:16px}.filter-line{gap:12px}.board-grid{gap:35px}.planning-layout{gap:24px}.demo-label .desktop-only{display:none}.scene-tools button span{display:none}.site-header nav{gap:20px}.site-header{gap:20px}.calendar-head,.calendar-row{grid-template-columns:160px 1fr}.calendar-row small{display:block;margin:0}.plan-numbers strong{font-size:29px}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{height:77px;gap:12px}.site-header nav{display:none}.site-header .button{margin-left:auto;min-height:38px;font-size:9px;padding:9px 12px;gap:10px}.brand{font-size:32px}.intro{grid-template-columns:1fr;padding-top:33px;padding-bottom:27px;gap:23px}.intro .eyebrow{font-size:8px;margin-bottom:19px}.intro h1{font-size:clamp(53px,14vw,85px);letter-spacing:-.064em}.intro-right>p:first-child{font-size:17px}.intro-secondary{font-size:11px;margin-top:11px}.intro-actions{gap:18px;flex-wrap:nowrap;margin-top:22px}.intro-actions .button{min-height:45px;font-size:10px;gap:12px;padding:11px 13px}.play-button{font-size:9px;flex:1;max-width:150px}.experience-top{padding-top:14px;gap:8px}.demo-label{font-size:7px;letter-spacing:0}.demo-label .live-dot{margin-right:4px;width:4px;height:4px;box-shadow:none}.demo-time{font-size:8px;gap:7px}.demo-time strong{font-size:12px}.demo-time>span:last-child{display:none}.city-workspace{display:flex;flex-direction:column;gap:0;min-height:0}#city-stage{height:430px;margin:0 -15px}.scene-tools{left:15px;top:8px;gap:4px}.scene-tools button{min-width:37px;min-height:37px;padding:6px 10px}.scene-tools button:first-child span{display:inline;font-size:9px}.scene-bottom{bottom:0;left:15px;right:15px;font-size:8px;line-height:1.6;gap:15px}.scene-bottom .quiet-button{font-size:8px}.scene-label{font-size:8px;padding:2px 4px}.inspector{padding:20px 0 23px;border-left:0;border-top:1px solid var(--line);display:block}.inspector>h3{font-size:25px;margin:7px 0 10px}.inspector-description{font-size:11px;margin-top:10px;max-width:330px}.overview-stat{position:absolute;right:0;top:24px;gap:9px;margin:0;display:none}.overview-stat>strong{font-size:39px}.site-links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:18px;margin-bottom:15px}.site-links>button{font-size:10px;gap:5px;padding:10px 0;align-items:start}.site-links small{font-size:8px}.site-links b{font-size:10px}.inspector-note{display:none}.inspector .button{max-width:350px}.inspector .machine-specs{margin-top:16px}.inspector .machine-specs dd,.inspector .machine-specs dt{font-size:11px}.machine-icon{position:absolute;right:7px;top:61px;font-size:49px}.inspector-actions{grid-template-columns:1fr 1fr}.inspector-actions .button{grid-column:1/-1}.next-task{margin-top:14px}.story-strip{margin:0 -22px;padding:22px;gap:15px;flex-wrap:wrap}.story-number{font-size:9px;align-self:start;padding-top:3px}.story-strip>div{flex:1;min-width:220px}.story-strip strong{font-size:13px}.story-strip p{font-size:10px;line-height:1.7}.story-strip .button{font-size:11px;min-width:0;width:100%;justify-content:center}.business-head{margin-top:47px;margin-bottom:20px;align-items:start;flex-direction:column;gap:18px}.business-head .eyebrow{font-size:8px}.business-head h2{font-size:31px;margin-top:10px}.view-switch{justify-content:space-between;width:100%}.view-switch .quiet-button{font-size:9px}.mode-tabs{grid-template-columns:1fr 1fr;gap:0 15px}.mode-tabs>button{font-size:11px;padding:13px 0;margin:0;border-bottom-width:2px}.mode-tabs>button>span{font-size:8px}.filter-line{flex-wrap:wrap;padding:14px 0;gap:10px 15px}.filter-line>span{width:100%;font-size:8px}.filter-line label{font-size:8px;gap:5px;flex:1;min-width:130px}.filter-line select{font-size:9px;max-width:125px;width:100%}.filter-line .quiet-button{font-size:8px;min-height:25px}.business-panel{padding-top:26px}.board-grid,.planning-layout{grid-template-columns:1fr;gap:30px}.board-intro h3,.plan-top h3{font-size:31px;margin-top:10px;margin-bottom:16px}.board-intro>p:not(.eyebrow),.plan-top p:not(.eyebrow){font-size:11px}.board-intro .eyebrow,.plan-top .eyebrow{font-size:8px}.state-graph{height:40px}.state-legend{gap:10px 25px}.customer-bars{margin-top:25px}.vehicle-row{gap:12px;padding:12px 0}.vehicle-row strong{font-size:11px}.vehicle-row small{font-size:8px}.list-heading{font-size:8px}.plan-top{gap:15px;flex-wrap:wrap}.plan-top .button{margin-top:0;min-height:42px;font-size:10px}.plan-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.plan-numbers>span{font-size:9px;line-height:1.5}.plan-numbers strong{font-size:28px}.request-card{padding:15px}.request-card .micro{font-size:8px}.request-card strong{font-size:15px}.request-card>span:not(.micro){font-size:10px}.request-card small{font-size:9px}.candidate strong{font-size:11px}.candidate small,.candidate span{font-size:9px}.candidate>.small-button{font-size:9px;padding:7px 10px}.schedule-scale,.schedule-row{grid-template-columns:98px 1fr;gap:8px}.schedule-row{font-size:9px}.schedule-scale{font-size:7px}.schedule-row i{font-size:7px;padding:0 4px}.timeline-head strong{font-size:11px}.timeline-head span{font-size:8px}.readiness-callout{padding:16px;margin:20px 0}.readiness-callout strong{font-size:12px}.readiness-callout p{font-size:10px}.calendar-head,.calendar-row{grid-template-columns:108px 1fr;gap:8px}.calendar-head{font-size:7px}.calendar-row{font-size:9px}.calendar-row small{font-size:7px}.calendar-alert{font-size:7px;min-width:14px;padding:3px 4px;max-width:100%;overflow:hidden}.calendar-head>div>span:nth-child(even){opacity:.5}.readiness-calendar[style="--days:30"] .calendar-head>div>span:not(:nth-child(5n+1)){visibility:hidden}.calendar-legend{gap:12px;font-size:8px;flex-wrap:wrap}.calendar-legend .status-dot{width:5px;height:5px;margin-right:4px}.money-total{font-size:47px}.money-legend span{font-size:10px}.work-bar>span{font-size:10px}.work-bar small{font-size:8px}.work-bar>b{font-size:11px}.settlement .plan-numbers{grid-template-columns:1fr 1fr}.settlement .plan-numbers strong{font-size:24px}.demo-footnote{font-size:8px;margin-top:30px}.site-footer{flex-wrap:wrap;gap:18px;padding-top:27px;padding-bottom:27px}.site-footer>p{font-size:9px;margin-left:auto}.site-footer>button{margin-left:0;font-size:9px}.site-footer>span{margin-left:auto;font-size:8px}dialog{padding:29px 22px;width:calc(100% - 22px);max-height:92svh}dialog h2{font-size:29px}.form-row{grid-template-columns:1fr;gap:13px}form input:not([type=checkbox]),form select{font-size:16px}.work-detail>div{grid-template-columns:100px 1fr;gap:12px;font-size:11px}.work-detail dt{font-size:9px}.register-rows button{gap:9px;font-size:9px}.document-total strong{font-size:23px}.document-total span{font-size:10px}.integration-list li{gap:10px;flex-wrap:wrap}.integration-list li>span{font-size:11px}.integration-list .small-button{margin-left:25px}.passport-stats>span{font-size:23px}.passport-stats small{font-size:8px}.transfer-targets{grid-template-columns:1fr}.document-brand>span{font-size:7px}.action-dialog p{font-size:11px}#notice{font-size:10px;bottom:15px;width:calc(100% - 28px);padding:11px 16px}#future-badge{font-size:7px;bottom:55px}}
@media(max-width:360px){.site-header .button{font-size:8px;padding:9px 10px}.intro h1{font-size:48px}.intro-actions{gap:12px}.intro-actions .button{font-size:9px}.play-button{font-size:8px}#city-stage{height:365px}.site-links{gap:0 12px}.site-links>button{font-size:9px}.candidate{gap:6px}.candidate>.small-button{padding:6px;font-size:8px}.calendar-head,.calendar-row{grid-template-columns:95px 1fr}.calendar-row{font-size:8px}.plan-numbers{gap:12px}.scene-label{font-size:7px}.story-strip>div{min-width:190px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Inspector and renderer share compact, semantic markup. */
.overview-stat{display:block;margin:25px 0 17px}.overview-stat>strong{white-space:nowrap;font-size:57px;line-height:1.1;display:block}.overview-stat>strong>span{font-size:38px;color:#8da08a}.overview-stat>p{font-size:11px;margin-top:8px;color:#60775f;line-height:1.6}.overview-stat>p>small{font-size:9px;display:block;max-width:230px;color:#8b9983;margin-top:5px}.vehicle-row>span:nth-child(2)>small{display:block;margin:3px 0 0;font-family:inherit;font-size:9px}.vehicle-row>.status-text{font-size:9px;max-width:130px;text-align:right}.vehicle-row>.status-text small{display:block;font-size:7px;margin:3px 0 0}.list-heading h3{font:11px 'Manrope',sans-serif;font-weight:600;color:var(--ink)}.list-heading small{font:8px var(--mono)}.board-intro .customer-bars+button{margin-top:15px}.board-intro>h3:not(:first-of-type){font-size:24px;margin-top:32px}.request-card>button{width:100%;padding:0}.request-card h3{font-size:17px;line-height:1.3;margin:8px 0}.request-card p{font-size:11px;color:#7a8a72}.request-card strong{font-size:11px;margin-top:10px;display:block}.request-card small{display:block;font-size:9px}.candidate-list>.list-heading{margin-bottom:12px}.request-list>h3{font-size:14px;margin-bottom:9px}.schedule-row .shift-bar,.schedule-row .service-bar,.schedule-row .repair-bar{border:0;min-height:0}.state-legend>button{display:block;text-align:left}.state-graph .seg{flex:none;min-width:0}.state-legend>button:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#60825e;margin-right:7px}.state-legend>.enroute:before{background:#869afa}.state-legend>.free:before{background:#b4c6b7}.state-legend>.service:before{background:#c7ac68}.state-legend>.repair:before{background:#b36e64}.inspector .site-links{display:block}.inspector .site-links .site-link{padding:9px 0;font-size:11px}.inspector .next-task>small{font:8px var(--mono);color:#8c9a81}.inspector .next-task>p{font-size:10px;margin-top:5px}.inspector .machine-icon{margin:8px 0 5px;color:#6c80ff}.inspector .status-text{font-size:10px}.inspector .vehicle-row .status-text{display:none}.inspector .overview-stat{margin-top:20px}.inspector .overview-stat>strong{font-size:48px}.inspector .overview-stat>strong>span{font-size:31px}.inspector-actions .button{max-width:100%}.inspector .machine-specs>div{gap:10px}.inspector .machine-specs dd{max-width:135px}.fallback .scene-label{display:none!important}.phone-action{display:flex;gap:10px;flex-direction:column}.phone-action>.button{margin-top:0}.phone-action .small-button{background:#f8faf5}.readiness-calendar{overflow:hidden}.calendar-head>div{font-size:8px}.business-panel section>h3{letter-spacing:-.025em}.inspector-top>.small-button{min-height:30px;padding:5px 8px;font-size:8px}.inspector>h3{margin-top:7px}.money-chart .work-bar.selected{box-shadow:inset 3px 0 #5267e8;padding-left:10px}.document-item>.small-button{flex-shrink:0;max-width:120px}.document-item>div>small{font-size:9px}.document-item p{font-size:10px}.integration-list .error .small-button{border-color:#d4a585}
@media(max-width:760px){.overview-stat{position:static;display:block;margin:15px 0}.overview-stat>strong{font-size:42px}.overview-stat>strong>span{font-size:28px}.overview-stat>p{font-size:10px}.overview-stat>p>small{display:none}.inspector .site-links{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.inspector .site-links .site-link{font-size:10px}.inspector .overview-stat{display:flex;gap:20px;align-items:center;position:static}.inspector .overview-stat>strong{font-size:37px}.inspector .overview-stat>strong>span{font-size:25px}.inspector .overview-stat>p{margin:0}.vehicle-row>.status-text{max-width:75px;font-size:8px}.vehicle-row>.status-text small{font-size:6px}.vehicle-row>span:nth-child(2)>small{font-size:8px}.vehicle-row strong{font-size:10px}.vehicle-symbol{width:25px}.vehicle-symbol svg{width:25px}.inspector .machine-icon{position:static;margin:8px 0 0}.inspector .machine-specs dd{max-width:180px}.inspector .inspector-actions .button{font-size:10px}.inspector .inspector-actions>.small-button{font-size:9px}.request-card h3{font-size:16px}.request-card p{font-size:10px}.register-rows button>span:nth-child(2){max-width:66px}.register-rows button>strong{white-space:nowrap}.document-item{align-items:start;gap:10px}.document-item>.small-button{max-width:94px;font-size:9px;padding:7px 9px}.calendar-head>div{font-size:7px}.calendar-head{grid-template-columns:110px 1fr}.calendar-row{grid-template-columns:110px 1fr}.calendar-row .small-button{font-size:8px}.inspector-top>.small-button{font-size:8px}}
.dispatch-slip{display:grid;gap:6px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.dispatch-slip .small-button{font-size:10px;min-height:34px;background:#e8eee2}.driver-phone{border:1px solid #b6c8af;border-radius:23px;padding:22px;background:#f4f8ef}.driver-phone h3{font-size:24px;line-height:1.25;letter-spacing:-.04em;margin:15px 0 7px}.driver-phone .document-brand{padding-top:0}.driver-task-state{font-size:10px;color:#587e50;margin-top:13px}.driver-phone>p{font-size:12px}.driver-route{width:100%;height:110px;display:block;margin:8px 0}.driver-route-labels{display:flex;justify-content:space-between;gap:25px;font-size:9px}.driver-route-labels>span{color:#819173}.driver-route-labels>strong{text-align:right;font-weight:500}.driver-phone .button{width:100%;margin-top:13px}.driver-phone .work-detail>div{grid-template-columns:90px 1fr;font-size:11px;gap:12px}.driver-phone .work-detail dd{font-size:11px}.candidate>div{flex:1;min-width:0}.candidate>div>p{font-size:10px;line-height:1.6;margin-top:6px}.candidate .vehicle-symbol{flex-shrink:0}.candidate>button{flex-shrink:0}.candidate .small-button{max-width:125px}.schedule-row>button{font-size:9px;padding:3px 0;min-height:25px;border:0}.calendar-row>button{border:0;background:none;font-size:10px;padding:3px 0}.schedule-scale{margin-top:14px}.schedule-scale>div>span:nth-child(even){opacity:.55}@media(max-width:760px){.candidate .vehicle-symbol{display:none}.candidate .small-button{max-width:100px}.candidate>div>p{font-size:9px}.schedule-scale>div>span:nth-child(even){display:none}.driver-phone{padding:18px}.driver-phone h3{font-size:23px}.driver-phone .document-brand>span{font-size:7px}.driver-phone .work-detail>div{grid-template-columns:75px 1fr}.driver-phone .work-detail dd{font-size:10px}.calendar-row>button{font-size:9px}.dispatch-slip{grid-template-columns:1fr 1fr}.dispatch-slip .small-button{font-size:9px}}
.hint-text,.demo-footnote,.candidate small,.work-bar small,.vehicle-row>span:nth-child(2)>small,.plan-numbers>span,.filter-line>span,.filter-line label,.site-links small,.overview-stat>p>small,.machine-specs dt{color:#65755f}.list-heading,.list-heading small,.next-task>span,.scene-bottom{color:#64755e}.candidate .small-button:hover,.dispatch-slip .small-button:hover{background:#dbe7d1}.request-card:hover{border-color:#99b08f}.intro h1{animation:headline-in .8s cubic-bezier(.2,.75,.3,1) both}.intro-right{animation:headline-in .8s .12s cubic-bezier(.2,.75,.3,1) both}@keyframes headline-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.intro h1,.intro-right{animation:none}}

/* Let the city own the viewport; details follow below the map. */
.city-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0}
#city-stage{height:clamp(720px,84svh,1120px);margin:0 calc(-1 * var(--gutter));border-radius:0}
.scene-tools{left:var(--gutter)}
.scene-bottom{left:var(--gutter);right:var(--gutter)}
.inspector{border-left:0;border-top:1px solid var(--line);padding:26px 0}
@media(min-width:761px){
 .inspector{display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:40px;align-items:start}
 .inspector>.inspector-top{grid-column:1;grid-row:1}
 .inspector>h3{grid-column:1;grid-row:2}
 .inspector>.inspector-description{grid-column:1;grid-row:3;margin-top:0}
 .inspector>.overview-stat{grid-column:2;grid-row:1/5;margin:0}
 .inspector>.site-links{grid-column:3;grid-row:1/4;margin:0}
 .inspector>.inspector-actions{grid-column:3;grid-row:4/8;margin-top:12px}
 .inspector:has(.machine-icon)>.machine-icon{grid-column:1;grid-row:2;margin:10px 0}
 .inspector:has(.machine-icon)>h3{grid-row:3}
 .inspector:has(.machine-icon)>.inspector-description{grid-row:4}
 .inspector>.status-text{grid-column:1;grid-row:5}
 .inspector>.machine-specs{grid-column:2;grid-row:2/5;margin-top:0}
 .inspector>.next-task{grid-column:2;grid-row:5/7}
 .inspector:has(.machine-icon)>.inspector-actions{grid-row:2/5;margin-top:0}
 .inspector>.dispatch-slip{grid-column:3;grid-row:5/8}
 .inspector:has(.site-summary)>p:not([class]){grid-column:1;grid-row:4}
 .inspector>.site-summary{grid-column:2;grid-row:1/4;margin-top:0}
 .inspector>.fleet-list{grid-column:3;grid-row:1/4}
 .inspector .button{max-width:100%}
}
@media(max-width:760px){
 #city-stage{height:clamp(560px,78svh,820px)}
 .inspector{display:block}
}
.city-explorer{padding:14px 0 17px;border-bottom:1px solid var(--line)}
.city-explorer>div{display:flex;align-items:center;gap:22px;margin-bottom:10px}
.city-explorer>div>span:last-child{font-size:11px;color:#63765f}
#district-nav{display:flex;gap:7px;overflow-x:auto;padding:3px 3px 7px;scrollbar-width:thin}
.district-button{white-space:nowrap;padding:9px 14px;border:1px solid #c9d1c1;background:#eef1e8;font-size:11px;min-height:38px;border-radius:3px;transition:background .2s,color .2s}
.district-button:hover{background:#dbe5d1}.district-button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:760px){.city-explorer>div{display:block}.city-explorer>div>span{display:block}.city-explorer>div>span:last-child{font-size:10px;margin-top:3px}.district-button{font-size:10px;padding:7px 11px}.scene-tools{gap:3px;left:12px}.scene-tools button{padding:6px 8px;min-width:33px}.scene-bottom{left:15px;right:15px;align-items:end}.scene-bottom>span{max-width:230px;font-size:8px}.scene-tools button:first-child span{font-size:8px}}