/* The phone is the primary interface at every viewport width. */
body{--action:#b5e036;--action-text:#14210c;--action-readable:#b5e036;background:#09100b;min-height:100dvh;display:grid;place-items:center;font-size:14px}
body[data-section=routes]{--action:#ff2e2e;--action-text:#fff;--action-readable:#ff8e85}body[data-section=intelligence]{--action:#1f7dd4;--action-text:#fff;--action-readable:#74c1f6}body[data-section=impact]{--action:#ffed00;--action-text:#18200a;--action-readable:#ffed00}
html[data-theme=light] body{--action-readable:#497600;background:#dce5d7}html[data-theme=light] body[data-section=routes]{--action-readable:#b02b22}html[data-theme=light] body[data-section=intelligence]{--action-readable:#146ba4}html[data-theme=light] body[data-section=impact]{--action-readable:#756900}
.sidebar{display:none!important}.shell{width:100%;max-width:430px;height:100dvh;margin:0;background:var(--bg);display:flex;flex-direction:column;position:relative;overflow:hidden}.topbar{height:70px;min-height:70px;flex-shrink:0;padding:0 18px;gap:8px;background:var(--bg);z-index:4}.mobile-brand{display:block;width:100px}.mobile-brand img{width:100%;display:block}html[data-theme=light] .mobile-brand img{filter:invert(1)}.breadcrumb{display:none}.top-actions{gap:6px}.demo-badge{font-size:7px;padding:6px 7px;letter-spacing:.3px;border-radius:20px}.top-actions .icon-btn[data-action=guide],.role-btn{display:none}.icon-btn{width:42px;height:42px;font-size:23px}.app-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none}.app-scroll::-webkit-scrollbar{display:none}main{padding:19px 18px 0;min-height:0;max-width:none;margin:0;outline:none}.app-footer{display:block;padding:20px 18px 18px;text-align:center}.app-footer>span{display:none}.app-footer button{font-size:10px}.eyebrow{font-size:8px;letter-spacing:.8px;margin-bottom:13px}.eyebrow span:last-child{max-width:49%;text-align:right;font-size:7px}
.hero{min-height:0;padding:22px 18px;border-radius:18px;gap:12px;align-items:center;margin-bottom:18px}.hero h1,.hero.blue h1,.hero.red h1,.hero.yellow h1{font-size:27px;line-height:1.07;letter-spacing:-1px;margin:8px 0 12px}.hero p{font-size:12px;line-height:1.6;max-width:none;margin:0}.hero .kicker{font-size:7px;letter-spacing:.9px}.hero-visual.original-hero{width:82px;height:145px;position:relative;inset:auto;margin:0;opacity:1;flex-shrink:0}.hero-visual.original-hero img{width:100%;height:100%}.hero.red,.hero.red h1,.hero.red p{color:white}.hero.red .tag{background:#ffffff22!important;color:white!important}.hero .tag{white-space:normal;max-width:210px;font-size:7px;line-height:1.5}.hero .btn{margin-top:14px}
.btn{background:var(--action);color:var(--action-text);min-height:46px;border-radius:11px;padding:12px 15px;font-size:13px}.btn.small{min-height:42px;padding:9px 12px;font-size:12px}.btn.secondary{background:var(--card2);color:var(--text)}.btn.dark{background:#13200c;color:white}.btn.full{width:100%}.text-btn{color:var(--action-readable);min-height:40px;font-size:12px}.chip{min-height:40px;border-radius:20px;padding:9px 13px;font-size:12px;white-space:nowrap}.chip.active{background:var(--action);color:var(--action-text);border-color:var(--action)}.chip-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 16px;padding-bottom:2px}.chip-row::-webkit-scrollbar{display:none}
.two-col,.overview-grid,.citizen-grid{grid-template-columns:1fr;gap:16px;margin-bottom:18px}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.stat{padding:16px;border-radius:13px}.stat-label{font-size:11px}.stat-number{font-size:28px}.stat-foot{font-size:10px}.panel{border-radius:16px}.panel-head,.padded,.impact-main{padding:18px}.section-head h2{font-size:17px}.section-head p{font-size:11px}.section-head{gap:10px;margin-bottom:14px}.view-title{font-size:28px;line-height:1.08;letter-spacing:-1px}.view-intro{font-size:12px;line-height:1.7;margin-bottom:19px}.tag{font-size:9px;padding:5px 8px}.controls{gap:9px;margin-bottom:14px}.search-wrap{flex-basis:100%}.controls select{flex:1;min-width:120px}.search-wrap input{padding-left:40px!important}.search-wrap svg{top:15px;left:14px;width:18px;height:18px}input[type=search],input[type=text],input[type=number],select,textarea{font-size:14px;min-height:46px;border-radius:10px;padding:11px 12px;max-width:100%;background:var(--card);color:var(--text);border:1px solid var(--line)}input[type=range]{height:42px;accent-color:var(--action)}textarea{font-size:14px;line-height:1.6;min-height:100px}
.screen-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.screen-top h1{font-family:Bandeins,Arial,sans-serif;font-size:28px;line-height:1.08;letter-spacing:-1px;margin:0 0 8px;font-weight:normal}.screen-top p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.home-welcome{display:flex;align-items:center;gap:12px;padding:24px 20px;background:#b5e036;color:#13200c;border-radius:19px;margin-bottom:16px}.home-welcome>div{flex:1;min-width:0}.home-welcome .kicker{font-size:8px;letter-spacing:1px}.home-welcome h1{font-family:Bandeins,Arial,sans-serif;font-weight:normal;font-size:31px;line-height:1.03;letter-spacing:-1.2px;margin:12px 0}.home-welcome p{font-size:12px;line-height:1.5;margin:0}.home-welcome img{width:82px;height:145px;flex-shrink:0}.home-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:21px}.quick-card{border:1px solid var(--line);border-radius:15px;background:var(--card);padding:15px;text-align:left;min-height:125px}.quick-label{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center}.quick-card b{font-size:30px;line-height:1.15;font-weight:normal;display:block;letter-spacing:-1px;margin:9px 0 4px}.quick-card small{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}.quick-card small svg{width:14px}.quick-card.route-quick{background:#ff2e2e14;border-color:#ff2e2e44}.quick-card.route-quick b{color:#ff8a81}.next-card{display:flex;align-items:center;gap:12px;min-height:78px;width:100%;border:1px solid var(--line);border-radius:15px;background:var(--card);padding:16px;text-align:left;margin-bottom:20px}.next-card>span:nth-child(2){flex:1}.next-card .next-icon{width:40px;height:44px;display:grid;place-items:center;border-radius:9px;color:#ff8a81;background:#ff2e2e15}.next-card strong{font-size:14px;display:block;margin-bottom:4px}.next-card small{font-size:11px;color:var(--muted)}.next-card b{font-size:23px;font-weight:normal;color:#ff8a81}
.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:20px}.topic-card{position:relative;min-height:161px;border:0;border-radius:17px;padding:15px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:4px;color:#14210c;overflow:hidden}.topic-card img{position:absolute;right:13px;top:13px;width:57px;height:91px;object-fit:contain}.topic-card .topic-number{position:absolute;top:16px;left:15px;font-size:9px;letter-spacing:.5px;opacity:.75}.topic-card b{font-size:15px;line-height:1.15;margin-top:92px}.topic-card small{font-size:10px;line-height:1.4;opacity:.85}.topic-card.blue{background:#1f7dd4;color:white}.topic-card.red{background:#ff2e2e;color:white}.topic-card.yellow{background:#ffed00}.topic-card.lime{background:#b5e036}.small-insight{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:15px;margin-bottom:18px}.small-insight>svg{color:#62b4f1;flex-shrink:0}.small-insight b{display:block;font-size:12px;margin-bottom:4px}.small-insight p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.map{height:320px}.map .map-pin{width:39px;height:39px}.map .map-pin span{font-size:10px}.map-caption{font-size:8px;max-width:calc(100% - 24px)}.map-legend{padding:12px 15px;font-size:10px;gap:12px}.map-tools{padding:0 0 14px}.priority{min-height:72px;padding:14px 0}.priority-name{font-size:14px}.priority-sub{font-size:11px}.priority-icon{width:40px;height:43px}.priority-fill{font-size:22px}.priority-list{padding:0 17px}.priority-foot{padding:16px 18px}.table-labels{display:none}.bin-row{grid-template-columns:1.5fr 1fr auto;gap:9px;min-height:82px;padding:17px 15px}.bin-row .forecast-cell,.bin-row .battery-cell,.bin-row>.chevron-cell{display:none}.bin-row .status-cell{grid-column:3;grid-row:1}.bin-name{font-size:12px;line-height:1.4}.bin-meta{font-size:10px}.fill-group{font-size:13px}.bin-row .tag{font-size:8px}
.route-summary{border:1px solid var(--line);border-radius:17px;background:var(--card);padding:18px;margin-bottom:17px}.route-metrics{grid-template-columns:repeat(3,1fr);border:0;padding:0 0 16px;gap:10px}.route-metrics b{font-size:27px}.route-metrics small{font-size:9px;letter-spacing:.4px}.route-summary .btn{width:100%}.route-state{font-size:11px;color:var(--muted);line-height:1.6;margin-top:12px}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.config-grid label{font-size:10px;color:var(--muted)}.config-grid select{display:block;width:100%;margin-top:5px;font-size:12px}.config-grid .span-2{grid-column:span 2}.field-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin:12px 0 2px}.field-label b{font-size:20px;color:var(--action-readable);font-weight:normal}.route-list{padding:0 17px}.route-stop{min-height:82px;gap:10px;padding:14px 0}.route-stop>div{min-width:0}.route-stop b{font-size:13px}.route-stop small{font-size:11px;margin-top:4px}.route-stop .stop-number{width:28px;height:28px;font-size:12px}.route-stop .btn{min-height:42px;font-size:11px;padding:8px 10px}.route-stop.skipped{opacity:.55}.skip-stop{min-width:32px;min-height:44px;background:none;border:0;color:var(--muted);font-size:23px}.tour-status{padding:15px 17px;font-size:12px}.details-panel{border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden;margin:16px 0}.details-panel>summary{cursor:pointer;min-height:48px;padding:16px 18px;font-size:13px}.details-panel[open]>summary{border-bottom:1px solid var(--line)}.details-panel .notice{border:0;padding:12px 18px;margin:0}.action-row{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.action-row .btn{flex:1;font-size:11px;white-space:nowrap}
.forecast-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.forecast-controls label{display:block;font-size:10px;color:var(--muted)}.forecast-controls select{display:block;width:100%;max-width:none;font-size:12px;margin-top:5px}.graph text{font-size:11px}.chart-legend{font-size:10px}.forecast-row{min-height:69px}.forecast-row b{font-size:18px}.forecast-row small{font-size:10px}.notice{font-size:11px;line-height:1.7;border-radius:11px;margin:15px 0}.message{padding:18px 16px;gap:11px;flex-wrap:wrap}.message h3{font-size:14px;line-height:1.4}.message p{font-size:12px;line-height:1.65}.message-meta{font-size:10px}.message .message-content{flex-basis:calc(100% - 50px)}.message-tools{display:flex;gap:8px;flex-wrap:wrap;margin-left:46px}.message-tools .btn{min-height:40px;font-size:11px}.impact-row>div{font-size:12px}.impact-assumption{grid-template-columns:1fr 1fr;gap:9px}.impact-assumption div{font-size:11px;padding:12px}.impact-assumption small{font-size:9px}.impact-big{font-size:55px}
dialog{width:calc(100% - 24px);max-width:414px;max-height:88dvh;padding:24px;border-radius:24px}.dialog-head h2{font-size:23px}.dialog-sub{font-size:12px}.dialog-actions .btn{font-size:12px}.dialog-head .icon-btn{flex-shrink:0}.form-label{font-size:12px;margin:17px 0 7px}.detail-grid{gap:8px}.detail-grid>div{padding:13px 9px}.detail-grid b{font-size:18px}.detail-grid small{font-size:9px}.detail-top{gap:18px;margin:22px 0}.detail-tabs{margin:18px 0 0}.ring{width:105px;height:105px}.guide-title{font-size:26px}.guide-copy{font-size:13px}.guide-art{width:73px;height:125px}.menu-list{margin-top:18px;display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;gap:13px;min-height:57px;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:14px}.menu-item>span{flex:1}.menu-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.menu-item>svg:first-child{color:var(--action-readable)}.menu-item>svg:last-child{width:16px;color:var(--muted)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.menu-grid .btn{font-size:11px}.history-item{padding:15px 0;border-bottom:1px solid var(--line)}.history-item b{font-size:13px;display:block}.history-item p{font-size:11px;color:var(--muted);margin:5px 0}.history-item .btn{margin-top:8px}.favorite-star{color:var(--action-readable);font-size:13px}.switch-line{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;min-height:50px;border-bottom:1px solid var(--line);font-size:13px}.empty{font-size:13px;line-height:1.8;padding:35px 20px}
#mobile-navigation,body.citizen #mobile-navigation{position:static;transform:none;display:grid;grid-template-columns:repeat(4,1fr);flex-shrink:0;width:100%;left:auto;right:auto;bottom:auto;background:var(--bg);border-top:1px solid var(--line);border-radius:0;z-index:5;padding:8px 8px calc(9px + env(safe-area-inset-bottom))}#mobile-navigation button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:53px;border:0;border-radius:13px;background:none;color:var(--muted);font-size:10px;padding:7px 4px}#mobile-navigation svg{width:22px;height:22px}#mobile-navigation button.active{color:var(--action-readable);background:var(--card2)}#toast{left:50%;bottom:calc(91px + env(safe-area-inset-bottom));font-size:12px;width:calc(100% - 32px);max-width:390px;text-align:center;line-height:1.6}.citizen-main~.app-footer{padding-bottom:18px}.citizen-location{min-height:75px;padding:16px}.citizen-location h3{font-size:13px}.citizen-location p{font-size:11px;line-height:1.5}.citizen-location .btn{min-height:42px;font-size:11px}
@media(min-width:600px){body{padding:20px;background:radial-gradient(ellipse at 50% 30%,#263d2b,#0a110c 70%)}.shell{height:min(900px,calc(100dvh - 40px));border:7px solid #050905;border-radius:37px;box-shadow:0 32px 110px #0008,0 0 0 1px #38493a}.topbar{height:76px;min-height:76px;padding-top:6px}#mobile-navigation{padding-bottom:12px}dialog{max-width:400px}}
@media(max-width:380px){main{padding-left:15px;padding-right:15px}.topbar{padding:0 15px}.home-welcome{padding:21px 18px}.home-welcome h1{font-size:28px}.home-welcome img{width:74px}.hero h1,.hero.blue h1,.hero.red h1,.hero.yellow h1{font-size:25px}.hero-visual.original-hero{width:68px}.topic-card b{font-size:13px}.config-grid{gap:8px}}

.mobile-brand{width:168px;flex-shrink:0}.mobile-brand img{width:100%}.brand-claim{display:block;white-space:nowrap;font-size:7.3px;letter-spacing:.35px;line-height:1.4;margin-top:6px;color:var(--muted)}.topbar{height:80px;min-height:80px;align-items:center;padding-top:0}.top-actions{margin-left:auto;align-self:center}.top-actions .demo-badge{font-size:6px;letter-spacing:0;padding:5px}.top-actions .icon-btn{width:36px;height:36px}.topbar .demo-badge{display:none}.brand-claim{color:var(--muted)}

/* Exact module colors from binai.eco's rendered card containers. */
body{--bg:#050505;--sidebar:#050505;--card:#171717;--card2:#232323;--line:#333333;--muted:#a5aaa2;--map:#17201a}body[data-section=dashboard]{--action:#ffed00;--action-text:#18200a;--action-readable:#ffed00}body[data-section=sensors]{--action:#1f7dd4;--action-text:#fff;--action-readable:#74c1f6}html[data-theme=light] body[data-section=dashboard]{--action-readable:#756900}html[data-theme=light] body[data-section=sensors]{--action-readable:#146ba4}.steps-progress i,.route-stop.done .stop-number,.impact-track.new i{background:var(--action)}.route-stop.done .stop-number{border-color:var(--action);color:var(--action-text)}.stat.accent .stat-number,.tag.green:not(.status-chip),.priority-icon{color:var(--action-readable)}.tag.green:not(.status-chip){background:var(--card2)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--action)}.forecast-row>span:last-child{color:var(--action-readable)}.hero-visual.original-hero{width:104px;height:145px}.topic-card img{width:78px;height:94px}.home-welcome img{width:104px;height:145px}.guide-art{width:110px;height:145px;padding:10px}.map-pin.maintenance{background:#728477;color:white}body[data-section=sensors] .view-title{color:var(--action-readable)}

/* Shared visible figure height after trimming original SVG viewBoxes. */
.hero-visual.original-hero{width:108px;height:120px}.home-welcome img{width:108px;height:120px}.topic-card img{width:78px;height:88px}.guide-art{width:118px;height:130px;padding:10px}.brand-claim{width:100%;font-size:9.333px;letter-spacing:0;text-align:justify;text-align-last:justify}select:focus{border-color:var(--action)}select option:checked{background:var(--action);color:var(--action-text)}

#mobile-navigation button.active{color:var(--action)}@media(min-width:600px){body{background:radial-gradient(ellipse at 50% 30%,#222724,#070a08 70%)}}

.config-action>span{display:block;color:var(--muted);font-size:10px}

input[type=search],input[type=text],input[type=number],select,textarea{font-size:16px}.map .map-pin{width:44px;height:44px}

.tour-fraction{display:flex;flex-direction:column;gap:3px;margin-bottom:17px}.tour-fraction b{font-size:17px;color:var(--action-readable)}.tour-fraction span{font-size:11px;color:var(--muted)}
.top-actions .icon-btn[data-action=theme]{border:0;background:transparent;border-radius:0}
/* Operational planning and the next-stop driver view. */
.config-grid input[type=date],.config-grid input[type=time],.config-grid input[type=number]{display:block;width:100%;min-width:0;margin-top:5px;min-height:46px;font-size:13px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);padding:10px}.load-track{height:5px;background:var(--card2);border-radius:5px;overflow:hidden}.load-track i{display:block;height:100%;background:var(--action)}.planned-stop{padding:18px 0;border-bottom:1px solid var(--line)}.planned-stop:last-child{border:0}.planned-stop-top{display:flex;align-items:center;gap:10px}.planned-stop-top>div:nth-child(2){flex:1;min-width:0}.planned-stop b,.select-stop b{font-size:13px;display:block}.planned-stop small,.select-stop small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.planned-stop p{font-size:11px;line-height:1.7;color:var(--muted);margin:11px 0 0 38px}.stop-number{width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--card2);color:var(--action-readable);display:grid;place-items:center;font-size:12px}.order-controls{display:flex}.order-controls button{width:32px;min-height:44px;border:0;background:none;color:var(--action-readable);font-size:20px}.stop-actions{display:flex;justify-content:space-between;gap:10px;margin-left:38px}.stop-actions .text-btn{font-size:10px}.select-stop{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.select-stop .chip{min-width:44px}.deferred-box{border:1px solid #ff2e2e66;border-radius:15px;padding:17px;margin:16px 0;background:#ff2e2e09}.deferred-box h3{font-size:14px;line-height:1.5;margin:0 0 10px}.deferred-box>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px}.deferred-box>div b{flex:1}.deferred-box>div>span{color:var(--muted)}.driver-card{padding:22px 20px;border:1px solid var(--line);border-radius:18px;background:var(--card);margin-bottom:18px}.driver-card>span{font-size:9px;letter-spacing:1.2px;color:var(--action-readable)}.driver-card h2{font-family:Bandeins,Arial,sans-serif;font-size:26px;line-height:1.1;font-weight:normal;letter-spacing:-1px;margin:14px 0}.driver-card p{font-size:12px;line-height:1.7;color:var(--muted)}.driver-card .btn{margin-top:10px}.driver-note{font-size:10px!important}.compact-heading{font-size:19px;font-weight:normal;letter-spacing:-.5px;margin:0 0 20px}.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.audit-grid b{display:block;color:var(--action-readable);font-size:28px;font-weight:normal}.audit-grid small{font-size:9px;color:var(--muted)}.hero>div:first-child{min-width:0;flex:1}.hero h1{overflow-wrap:normal}.home-welcome h1{font-size:27px}.home-welcome img{align-self:center}
/* Local citizen dialogue and transparent collection notices. */
.citizen-publish{margin-bottom:18px}.ticket-card{display:block;width:100%;background:var(--card);border:1px solid var(--line);border-radius:16px;text-align:left;padding:18px;margin-bottom:12px;color:var(--text)}.ticket-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:9px}.ticket-card small{font-size:9px;color:var(--muted)}.ticket-card h3{font-size:17px;line-height:1.25;margin:16px 0 5px}.ticket-card>b{font-size:12px}.ticket-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0}.ticket-reply{background:var(--card2);border-radius:10px;padding:12px;font-size:11px;line-height:1.6}.ticket-timeline{list-style:none;padding:0 0 0 13px;margin:24px 0;border-left:1px solid var(--action)}.ticket-timeline li{position:relative;padding:0 0 18px 14px}.ticket-timeline li:before{content:'';position:absolute;left:-17px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--action)}.ticket-timeline b{font-size:13px}.ticket-timeline small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.ticket-timeline p,.ticket-original{font-size:12px;line-height:1.7}.ticket-original{background:var(--card2);padding:13px;border-radius:10px}.public-plan{margin-bottom:12px}.public-plan>p{font-size:11px;color:var(--muted)}.public-stop{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:13px 0;font-size:12px}.public-stop b{display:block}.public-stop small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.public-stop>span:last-child{font-size:21px;color:var(--action-readable)}.local-notice{display:flex;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.local-notice>span{color:var(--action-readable)}.local-notice p{font-size:11px;color:var(--muted);line-height:1.6;margin:5px 0}.local-notice.is-read{opacity:.6}.citizen-location>div{flex:1}.switch-line input{accent-color:var(--action);width:20px;height:20px}

.install-steps{padding-left:20px;font-size:13px;line-height:1.8}.install-steps li{margin-bottom:10px}@media(display-mode:standalone){body{background:var(--bg);padding:0;align-items:stretch}.shell{width:100%;max-width:none;height:100dvh;border:0;border-radius:0;box-shadow:none}.topbar{padding-top:env(safe-area-inset-top)}#mobile-navigation{padding-bottom:env(safe-area-inset-bottom)}}

/* Large-city scenarios stay usable on a phone: short lists and grouped map targets. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scenario-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--card);margin-bottom:18px}
.scenario-control .kicker{display:block;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:6px}.scenario-control b{display:block;font-size:18px;font-weight:normal}.scenario-control p{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0 0}.scenario-control label{min-width:0}.scenario-control select{width:128px;min-height:46px;padding:10px 7px;font-size:13px}.scenario-control>small{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.6}
.list-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.list-pagination>div{display:flex;align-items:center;gap:8px}.list-pagination button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card2);color:var(--action-readable);font-size:18px}.list-pagination button:disabled{opacity:.35}.list-pagination>span{font-variant-numeric:tabular-nums}
.map-group{position:absolute;transform:translate(-50%,-50%);width:50px;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);box-shadow:0 3px 12px #0005;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 2px;cursor:pointer}.map-group b{font-size:17px;line-height:1.1}.map-group small{font-size:8px;line-height:1.4;color:var(--muted)}.map-group.critical{border-color:#ff6453}.map-group.completed{border-color:#72b2e7}.map-group:hover{background:var(--card2)}.map-group-help{margin:0;padding:13px 16px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;color:var(--muted)}.map-grouped .map-depot{left:4%;top:96%;font-size:7px}.map-grouped .map-caption{left:auto;right:7px;bottom:4px;font-size:7px;padding:3px 5px;max-width:78%}.map-group-row{display:block;position:relative;width:100%;min-height:64px;padding:13px 28px 13px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left}.map-group-row b{display:block;font-size:12px;line-height:1.5}.map-group-row small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:4px}.map-group-row>.icon{position:absolute;right:0;top:23px;width:17px;height:17px;color:var(--action-readable)}
@media(max-width:380px){.scenario-control{padding:14px;gap:9px}.scenario-control select{width:116px}.list-pagination{padding:12px 10px;gap:6px;font-size:10px}.list-pagination>div{gap:4px}}

/* Full-size headings and actions must fit the phone's content column. */
@media(max-width:899px){
 .section-head{flex-wrap:wrap}.section-head>div,.section-head>h2,.screen-top>div{min-width:0;max-width:100%}.section-head h2,.screen-top h1{overflow-wrap:anywhere}
 .screen-header{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.screen-header .view-title{max-width:100%;margin:0;overflow-wrap:anywhere}.screen-header .view-intro{margin:9px 0 0}.screen-header>.btn{align-self:flex-start;max-width:100%;min-height:46px;font-size:14px;padding:12px 18px}
}

/* The Route Engine is a working area for whole-tour disposition. */
.route-workspace-head{display:flex;align-items:center;gap:14px;padding:18px;border-radius:16px;background:#ff2e2e;color:#fff;margin-bottom:12px}.route-workspace-head>div{min-width:0;flex:1}.route-workspace-head .planner-step{color:#fff;font-size:8px}.route-workspace-head h1{font:normal 25px/1.08 Bandeins,Arial,sans-serif;letter-spacing:-.6px;margin:9px 0;overflow-wrap:anywhere}.route-workspace-head p{font-size:11px;line-height:1.5;margin:0}.route-workspace-head img{width:58px;height:84px;object-fit:contain;flex-shrink:0}
.route-tabs{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr));gap:5px;position:sticky;top:0;z-index:6;background:var(--bg);padding:8px 0 12px;margin-bottom:5px}.route-tabs .chip{min-width:0;min-height:46px;white-space:normal;padding:9px 7px;font-size:12px;border-radius:12px}.route-tabs [aria-selected=true]{box-shadow:inset 0 -3px 0 #ffffff44}
.route-workflow-panel{outline:none;scroll-margin-top:70px}.route-panel-intro{margin:0 0 17px}.route-panel-intro h2{font-size:22px;line-height:1.2;font-weight:normal;color:var(--action-readable);margin:0 0 7px}.route-panel-intro p{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.planner-step{display:block;font-size:9px;letter-spacing:.7px;color:var(--action-readable);line-height:1.5}.route-dispatch-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:17px;min-width:0}.route-dispatch-grid>*{min-width:0}.route-dispatch-grid h3,.route-review h3{font-size:18px;line-height:1.3;font-weight:normal;margin:8px 0 16px;overflow-wrap:anywhere}.route-dispatch-grid .section-head{margin-bottom:13px}.route-dispatch-grid .section-head h3{margin-bottom:0}.route-scope{border-color:var(--action)}.route-material-label{display:block;color:var(--muted);font-size:11px}.route-material-label select{display:block;width:100%;margin:6px 0 12px;min-height:48px;font-size:16px}
.route-selection-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px}.route-selection-modes button{min-width:0;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card2);color:var(--muted);font-size:12px;padding:9px 6px}.route-selection-modes button.active{background:var(--action);color:var(--action-text);border-color:var(--action)}.planner-copy{font-size:12px;line-height:1.65;color:var(--muted);margin:12px 0}.plan-entire,.city-tour-entry{white-space:normal;line-height:1.4}.plan-entire{margin-top:2px}.planner-count{font-size:11px;line-height:1.6;color:var(--text);margin:13px 0}.planner-footnote{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0 0}.city-tour-entry{font-size:12px}
.route-dispatch-grid .route-summary{display:block;margin:0}.route-dispatch-grid .tour-fraction{margin-bottom:15px}.route-dispatch-grid .route-summary .route-metrics{max-width:none;width:100%;gap:9px;padding:0 0 15px}.route-dispatch-grid .route-summary .route-metrics b{font-size:29px}.route-dispatch-grid .route-summary .route-metrics small{font-size:8px;line-height:1.5;display:block}.route-coverage{font-size:11px;line-height:1.7;border-top:1px solid var(--line);padding-top:12px;margin:12px 0 0;color:var(--muted)}.route-plan-overview .deferred-box{margin:13px 0}.deferred-box>p{font-size:11px;line-height:1.6;color:var(--muted)}.deferred-box>div{padding:5px 0}.unavailable-stops{margin:13px 0}.unavailable-stops .padded{padding-top:0}.tour-release{margin:13px 0 0}.tour-release .btn{white-space:normal;line-height:1.5}.tour-release>p{font-size:10px;line-height:1.6;color:var(--muted);margin:9px 0 0}.route-plan-conditions .action-row{margin-bottom:0}.route-plan-conditions>.details-panel{margin-bottom:0}.route-plan-conditions .scenario-control{margin:0;border:0;border-radius:0}.route-dispatch-grid>.desktop-route-map{display:none}.route-dispatch-grid>.mobile-route-map{margin:0}.route-dispatch-grid .order-controls button{width:44px;min-height:44px}.route-dispatch-grid .planned-stop-top b{overflow-wrap:anywhere}.route-dispatch-grid .stop-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}.route-dispatch-grid .stop-actions .text-btn{min-height:44px;font-size:11px}.route-plan-stops>.details-panel{margin-top:0}
.driver-card h3{font:normal 25px/1.16 Bandeins,Arial,sans-serif;letter-spacing:-.6px;margin:13px 0;overflow-wrap:anywhere}.route-empty-state{border-color:var(--action);margin-bottom:0}.route-empty-state .btn{white-space:normal;line-height:1.5}.route-review .audit-grid{margin:23px 0}.route-review>.btn+.btn{margin-top:10px}.route-review .action-row .btn{white-space:normal;line-height:1.5}
@media(max-width:380px){.route-workspace-head{padding:16px;gap:10px}.route-workspace-head h1{font-size:23px}.route-workspace-head img{width:48px;height:78px}.route-tabs .chip{font-size:11px;padding:9px 4px}.route-dispatch-grid h3{font-size:17px}}

/* A single same-stop comparison links disposition, Dashboard and Wirkung. */
.impact-comparison{padding:18px;margin-bottom:24px;overflow:hidden}.comparison-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.comparison-heading>div{flex:1;min-width:165px}.comparison-heading h2,.comparison-empty h2{font-size:21px;line-height:1.25;font-weight:normal;margin:9px 0;overflow-wrap:anywhere}.comparison-heading p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.comparison-heading>.tag{font-size:8px}.comparison-bars{margin:20px 0}.comparison-bars>div{display:grid;grid-template-columns:78px minmax(0,1fr) 66px;gap:9px;align-items:center;margin:12px 0;font-size:10px}.comparison-bars>div>b{text-align:right;font-size:11px;font-weight:normal;font-variant-numeric:tabular-nums}.comparison-bars>div>i{display:block;height:9px;border-radius:4px;overflow:hidden;background:var(--card2)}.comparison-bars em{height:100%;display:block;background:var(--muted);border-radius:4px}.comparison-bars .planned em{background:var(--action)}
.comparison-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:19px 0 10px}.comparison-outcomes>div{min-width:0}.comparison-outcomes b{display:block;font-size:27px;font-weight:normal;line-height:1.2;color:var(--action-readable);letter-spacing:-.5px;overflow-wrap:anywhere}.comparison-outcomes b>small{font-size:12px;letter-spacing:0;white-space:nowrap}.comparison-outcomes span{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:6px}.comparison-distance{font-size:11px;line-height:1.7;color:var(--muted);margin:14px 0 20px}.comparison-distance strong{font-weight:normal;color:var(--text)}.comparison-extra .comparison-outcomes b,.comparison-table .added-cost{color:#ff8e85}html[data-theme=light] .comparison-extra .comparison-outcomes b,html[data-theme=light] .comparison-table .added-cost{color:#b02b22}
.comparison-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:19px 0}.comparison-controls label{min-width:0;font-size:10px;line-height:1.5;color:var(--muted)}.comparison-controls label:first-child{grid-column:1/-1}.comparison-controls select,.comparison-controls input{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;font-size:16px;margin-top:6px}.comparison-table-wrap{width:100%;min-width:0}.comparison-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px}.comparison-table caption{text-align:left;font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 12px}.comparison-table th,.comparison-table td{border-bottom:1px solid var(--line);padding:12px 3px;text-align:right;font-weight:normal;vertical-align:middle;font-variant-numeric:tabular-nums}.comparison-table th:first-child{width:32%;text-align:left;overflow-wrap:anywhere}.comparison-table thead th{font-size:9px;color:var(--muted);line-height:1.5}.comparison-table tbody th{font-size:10px}.comparison-table tbody th small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.comparison-table tbody td:last-child{color:var(--action-readable)}.comparison-table tbody td.added-cost{color:#ff8e85}html[data-theme=light] .comparison-table tbody td.added-cost{color:#b02b22}.comparison-meaning{font-size:10px;line-height:1.7;color:var(--muted);margin:13px 0}.comparison-assumptions{background:var(--card2);padding:14px;border-radius:11px;margin:17px 0;color:var(--muted)}.comparison-assumptions b{font-size:11px;color:var(--text);font-weight:normal}.comparison-assumptions p{font-size:10px;line-height:1.75;margin:7px 0 0}.comparison-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.comparison-actions>.btn{flex:1 1 180px;min-width:0;white-space:normal;line-height:1.5;font-size:12px}.comparison-empty p{font-size:12px;line-height:1.7;color:var(--muted)}.comparison-empty .btn{white-space:normal;line-height:1.5}.dashboard-system-heading{margin-top:30px}
.tour-release>.btn+.btn{margin-top:9px}

/* Keep Communication in the same text-and-icon layout as the other modules. */
html[data-theme=light] .mobile-brand img{filter:none}
@media(max-width:899px){body[data-section=messages] .hero{display:flex;align-items:center}body[data-section=messages] .hero .hero-visual.original-hero{position:relative;inset:auto;width:64px;height:96px;margin:0}body[data-section=messages] .hero h1{padding-top:0;font-size:clamp(16px,5vw,21px);letter-spacing:-.7px}body[data-section=messages] .hero .kicker{max-width:none}}
