:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#eaf1f8;background:#101e30;font-size:18px}*{box-sizing:border-box}body{margin:0;overflow:hidden}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #344259;gap:20px}.brand{display:flex;gap:14px;align-items:center}.logo{font-weight:900;padding:12px;background:#65dfc3;color:#122538;border-radius:8px}h1{font-size:28px;margin:0}p{margin:5px 0;color:#b4c3d3}.brand p{font-size:15px}nav{display:flex;align-items:center;gap:12px}button{font:inherit;border:1px solid #52657a;background:#22344b;color:#f6f9fc;border-radius:7px;padding:10px 16px;cursor:pointer}button:hover,button:focus-visible{background:#39536e;outline:2px solid #68e3c5}#clock{font-size:27px;margin-left:12px;font-variant-numeric:tabular-nums}main{position:relative;height:calc(100vh - 151px);overflow:hidden}#map{height:100%;background:#c9d8de}.maplibregl-ctrl-attrib{font-size:12px!important}#lines,#labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:450}#labels{z-index:460}.vehicle{position:absolute;pointer-events:auto;text-align:left;width:244px;min-height:100px;padding:10px 13px;background:#12263af5;border:1px solid #839bad;border-left:5px solid #5de0c0;box-shadow:0 4px 13px #00142733;border-radius:6px;color:#fff}.vehicle.stale{border-left-color:#ffb86a}.vehicle b{font-size:23px;letter-spacing:.3px}.vehicle .route{font-size:18px;color:#ebf4ff;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle small{display:block;font-size:13px;color:#bed0df;margin-top:3px}.vehicle .amount{color:#71e0c4;font-size:18px}.vehicle .warning{color:#ffca84}#notice{position:absolute;z-index:480;bottom:32px;left:55px;right:55px;text-align:center;pointer-events:none;background:#152a40f2;border-radius:6px;font-size:16px;padding:9px;color:#ffd396;display:none}#missing{position:absolute;z-index:470;top:15px;left:55px}.missingItem{display:block;margin:6px;background:#8d3c26}footer{height:51px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 24px;font-size:14px;color:#b6c7d8}#connection.bad{color:#ffbd83}#detail{position:absolute;right:18px;top:18px;bottom:18px;width:420px;background:#10243afc;z-index:600;border:1px solid #65758c;border-radius:12px;padding:23px;overflow:auto;box-shadow:0 16px 60px #00122588}#detail #close{float:right;font-size:15px}#detail h2{padding-top:36px;font-size:29px}#detail dt{margin-top:21px;color:#a7bdce;font-size:14px}#detail dd{margin:6px 0;font-size:20px;overflow-wrap:anywhere}#detail .warning{color:#ffca84}#login{position:fixed;inset:0;background:#101e30;z-index:1000;display:flex;align-items:center;justify-content:center}#login[hidden]{display:none}#login form{width:420px;padding:35px;background:#192d43;border:1px solid #405974;border-radius:16px}#login h2{font-size:30px}.eyebrow{font-size:12px;letter-spacing:2px;color:#67dfc2}#login label{display:block;margin:25px 0 18px;font-size:15px}input{display:block;margin-top:10px;width:100%;font:inherit;padding:12px;border-radius:6px;border:1px solid #6b8195;background:#102035;color:#fff}#login button{width:100%;background:#64dcbf;color:#112c36;font-weight:700}#loginError{color:#ffbd83}#summary{color:#c4d6e5;font-size:18px}@media(min-width:1900px){.vehicle{width:280px}.vehicle b{font-size:27px}.vehicle .route,.vehicle .amount{font-size:21px}.vehicle small{font-size:15px}footer{font-size:16px}}@media(max-width:1000px){header{height:80px;padding:0 14px}h1{font-size:23px}.brand p,#summary{display:none}nav{gap:7px}button{font-size:14px}#clock{font-size:21px}main{height:calc(100vh - 142px)}footer{height:62px;font-size:12px;flex-wrap:wrap;padding:8px 14px}.vehicle{width:210px;min-height:90px}.vehicle b{font-size:20px}.vehicle .route,.vehicle .amount{font-size:16px}#detail{width:min(420px,calc(100% - 36px))}}
/* TV presentation: one vehicle and its actual daily track. */
#focus{position:absolute;left:22px;top:22px;bottom:64px;width:360px;padding:24px;background:#10263af5;border:1px solid #5d778c;border-radius:12px;z-index:510;overflow:auto;box-shadow:0 8px 32px #14263633}#focus[hidden]{display:none}#focus h2{font-size:34px;letter-spacing:.3px;margin:16px 0 8px}#focus .focus-index{font-size:15px;letter-spacing:1px;color:#73e4c5}#focus .focus-route{font-size:23px;line-height:1.3;color:#fff;margin:10px 0 22px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stat{padding:16px 12px;background:#213a50;border-radius:8px}.stat.wide{grid-column:1/-1}.stat strong{font-size:38px;display:block;color:#75ebc9;font-variant-numeric:tabular-nums}.stat span{display:block;font-size:15px;color:#c3d6e5;margin-top:7px}.stat small{display:block;color:#a9c4d4;font-size:13px;margin-top:5px}#focus .focus-note{font-size:15px;line-height:1.5;margin-top:19px;color:#cad8e5}#focus .focus-warning{color:#ffca84;font-size:15px;line-height:1.45;margin-top:13px}#focus .progress{height:3px;background:#36546c;margin-top:20px}.progress div{height:3px;background:#5de0c0;width:0;transition:width 1s linear}body.focus-mode #labels,body.focus-mode #lines{display:none}body.focus-mode #notice{left:400px}#tour{border-color:#65dfc3;color:#79e9cc}.focus-detail{margin-top:18px;width:100%}@media(min-width:1900px){#focus{width:420px;padding:28px}#focus h2{font-size:41px}.stat strong{font-size:48px}.stat span{font-size:18px}.stat small{font-size:15px}.focus-note{font-size:18px!important}body.focus-mode #notice{left:460px}}@media(max-width:1000px){#focus{width:290px;left:12px;top:12px;padding:18px}.stat strong{font-size:28px}#focus h2{font-size:28px}.stats{gap:8px}.stat{padding:10px}body.focus-mode #notice{left:310px}header nav{gap:5px}header nav button{padding:8px}header .brand{display:none}}
.stat strong em{font-size:18px;font-style:normal;color:#c1e4d9;white-space:nowrap}@media(max-height:850px){#focus{top:14px;bottom:60px;padding:18px}#focus h2{font-size:29px;margin:10px 0 6px}#focus .focus-route{font-size:20px;margin:8px 0 14px}.stats{gap:10px}.stat{padding:10px}.stat strong{font-size:31px}.stat strong em{font-size:16px}.stat span{font-size:14px;margin-top:4px}.stat small{font-size:12px;margin-top:4px}#focus .focus-note,#focus .focus-warning{font-size:12px!important;margin-top:10px}.focus-detail{margin-top:10px;padding:7px;font-size:14px}#focus .progress{margin-top:10px}}

.brand-marker{background:none;border:0}.brand-pin{width:108px;height:62px;border:2px solid #5c778b;border-radius:9px;background:#fff;box-shadow:0 3px 12px #10243a55;position:relative}.brand-pin:after{content:"";position:absolute;bottom:-8px;left:45px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #5c778b}.brand-pin.active{border-color:#00765c;outline:5px solid #5de0c060;transform:scale(1.12);transform-origin:center bottom}.brand-pin.active:after{border-top-color:#00765c}.brand-pin.old{border-color:#ba762a}.brand-pin.old:after{border-top-color:#ba762a}.brand-symbol{height:38px;border-radius:6px 6px 0 0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.maplibregl-map .brand-symbol img{width:96px;height:auto;display:block}.brand-symbol.kamaz{background:#1255a3}.maplibregl-map .brand-symbol.kamaz img{position:absolute;width:39px;height:auto;bottom:-6px}.brand-plate{display:block;text-align:center;font-family:Arial,sans-serif;font-size:13px;font-weight:700;line-height:20px;letter-spacing:.2px;color:#12263a}.brand-symbol.unknown{font-size:11px;color:#536879;text-align:center;background:#e8eef2}

.brand-marker{width:108px;height:68px;cursor:pointer}.maplibregl-ctrl-attrib{color:#333}.maplibregl-ctrl-top-right{z-index:520}.maplibregl-ctrl-attrib a{color:#333}

.trip-addresses{font-size:14px;line-height:1.45;color:#e9f3fb;margin:12px 0}.trip-addresses div{margin:8px 0}.route-legend{display:flex;gap:14px;font-size:12px;margin:12px 0}.route-legend span:before{content:"";display:inline-block;width:22px;height:4px;vertical-align:middle;margin-right:6px}.route-legend .green:before{background:#00a980}.route-legend .grey:before{background:#8d959e}.trip-point{padding:5px 8px;background:#f6f8fb;border:2px solid #717c89;color:#172e43;border-radius:6px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #10283a44}.trip-point.loading{border-color:#007d63}.stat #deadlineValue{font-size:25px}.stat.wide strong{overflow-wrap:anywhere}

#focus #unloadingValue,#focus #deadlineValue{font-size:22px;line-height:1.25}.trip-addresses{font-size:13px}.trip-addresses div{margin:5px 0}#focus .focus-route{margin-bottom:12px}#focus .stats .stat.wide{padding:12px}#focus .stats .stat strong{font-size:30px}
