/* Labyrinth Business design system, verified against production 2026-10-23.
   Official unmodified logo: assets/labyrinth-logo.svg. Product label: PULSE. */
:root{--font-scale:1.1;--navy:#221c3c;--teal:#41b7b0;--green:#00a86e;--green-ink:#087a56;--teal-ink:#227b77;--bg:#f4f4f5;--panel:#fff;--card:#fff;--text:#221c3c;--muted:#777482;--line:#e5e4e9;--soft:#f8f8fa;--wash:#ecf8f6;--tint:#ecf8f6;--side:#221c3c;--radius:10px;--shadow:0 12px 44px #221c3c12;--sidebar:232px;color-scheme:light}
[data-theme=dark]{--bg:#14121d;--panel:#211d2d;--card:#211d2d;--text:#f1eff6;--muted:#aaa5b8;--line:#363040;--soft:#292435;--wash:#203936;--tint:#203936;--teal-ink:#74d9d2;--green-ink:#59d9ae;--side:#221c3c;--shadow:0 12px 44px #0004;color-scheme:dark}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:calc(13px * var(--font-scale))}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:3px}::selection{background:#41b7b040}
h1{font-size:calc(28px * var(--font-scale));font-weight:650;letter-spacing:-.8px;line-height:1.3}h2{font-size:calc(18px * var(--font-scale));font-weight:620}h3{font-size:calc(14px * var(--font-scale));font-weight:600}
.shell{grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar{padding:30px 16px 16px;color:#d5d1e0;overflow-y:auto}
.brand{padding:0 12px 26px;margin:0 0 15px;display:flex;align-items:flex-end;gap:11px;flex-shrink:0}.brand img{width:112px;height:auto;border-radius:0;flex-shrink:0}.brand-label{font-size:calc(9px * var(--font-scale));letter-spacing:2.1px;text-transform:uppercase;color:#c3bed2;line-height:14px}
.nav-label{padding:0 12px;color:#958ca9;font-size:calc(9px * var(--font-scale));letter-spacing:1.2px;margin-bottom:9px}
.nav{gap:5px}.nav button{padding:11px 12px;border-radius:7px;color:#c1bace;font-size:calc(12px * var(--font-scale));line-height:19px;gap:11px}.nav button:hover{background:#ffffff09;color:#fff}.nav button.active{color:#9ee2dd;background:#41b7b01d}.nav button.active:before{display:none}.nav button.active .icon{color:var(--teal)}.nav .number{color:#b8adcd;background:#ffffff0b}.nav button.active .number{color:#b5ebe6;background:#41b7b015}
.pilot-card{background:#ffffff04;border-color:#ffffff16;border-radius:9px;padding:14px 12px;margin:24px 0 18px;color:#a89fb8;font-size:calc(10px * var(--font-scale))}.pilot-card strong{color:#e7e3ee;font-size:calc(11px * var(--font-scale))}.pilot-card .dot{color:var(--teal)}.person{padding:17px 5px 0;border-color:#ffffff12}.person span{font-size:calc(11px * var(--font-scale));font-weight:550}.person small{color:#a69bb7;font-size:calc(10px * var(--font-scale))}.avatar{background:#403650;color:#dcd5e9;width:35px;height:35px;font-weight:600}.person button{color:#9e94b0}
.topbar{height:68px;padding:0 32px}.breadcrumb{font-size:calc(11px * var(--font-scale));gap:11px}.env{color:var(--teal-ink);background:var(--tint);font-size:calc(10px * var(--font-scale));padding:6px 9px;border-radius:5px;letter-spacing:0}.icon-button{width:35px;height:35px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);padding:7px}.icon-button:hover{background:var(--soft);color:var(--text)}
.main{padding:31px 32px 22px;max-width:1680px;margin:auto}.page-head{margin-bottom:26px}.heading-kicker{font-size:calc(9px * var(--font-scale));letter-spacing:1.3px}.subtitle{font-size:calc(12px * var(--font-scale));margin-top:7px}.actions{gap:9px}
.btn{min-height:36px;padding:8px 13px;border-radius:7px;font-size:calc(12px * var(--font-scale));font-weight:550;gap:8px;transition:background .15s,transform .15s}.btn:hover{border-color:var(--line);background:var(--soft)}.btn:active{transform:translateY(1px)}.btn.primary,[data-theme=dark] .btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover,[data-theme=dark] .btn.primary:hover{background:#16b57e;border-color:#16b57e;color:#fff;filter:none}.btn.ghost{color:var(--teal-ink);background:transparent}.btn.ghost:hover{background:var(--soft)}.btn .icon{width:16px;height:16px}
.catalog,.detail,.panel,.profile-card{border-radius:var(--radius)}.panel,.profile-card{padding:22px}.toolbar{padding:18px 20px;gap:10px}.search{position:relative;min-width:140px;gap:0}.search .icon{position:absolute;left:11px;top:11px;width:15px;height:15px;color:var(--muted)}.search input{height:38px;border:1px solid var(--line);border-radius:7px;background:var(--panel);padding:9px 11px 9px 34px;font-size:calc(11px * var(--font-scale))}.search input:focus{border-color:var(--teal)}.toolbar select{height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;color:var(--text);font-size:calc(11px * var(--font-scale));max-width:150px}
.chip{font-size:calc(11px * var(--font-scale));border-radius:5px}.chip.active{box-shadow:none}.chip.normal .dot,.freshness .dot{color:var(--green)}.chip b{font-size:calc(10px * var(--font-scale));background:var(--soft)}.freshness{font-size:calc(10px * var(--font-scale))}
.fleet th{background:var(--soft);font-size:calc(10px * var(--font-scale));font-weight:500;letter-spacing:0;text-transform:none;padding-top:12px;padding-bottom:12px}.fleet td{font-size:calc(11px * var(--font-scale));line-height:1.45;padding-top:16px;padding-bottom:16px}.fleet .object-name{font-size:calc(11px * var(--font-scale));font-weight:550;max-width:205px;overflow:hidden;text-overflow:ellipsis}.fleet .object-sub{font-size:calc(10px * var(--font-scale));margin-top:4px;max-width:215px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet .object-id{font-size:calc(9px * var(--font-scale));color:var(--teal-ink)}.fleet .state{font-size:calc(10px * var(--font-scale))}.state.normal{color:var(--green-ink)}.fleet .date,.fleet .battery{font-size:calc(10px * var(--font-scale))}.fleet tbody tr:hover,[data-theme=dark] .fleet tbody tr:hover{background:var(--soft)}.fleet tbody tr.selected,[data-theme=dark] .fleet tbody tr.selected{background:var(--tint);box-shadow:inset 3px 0 var(--teal)}.fleet input,.checkbox-row input{accent-color:var(--teal)}.battery .icon{color:var(--green-ink)}.table-footer{font-size:calc(10px * var(--font-scale))}.below-catalog{font-size:calc(10px * var(--font-scale))}.selection-bar{background:var(--tint)}
.detail-head{padding:22px 20px 0}.detail-name{font-size:calc(20px * var(--font-scale));font-weight:620;line-height:1.35;overflow-wrap:anywhere}.detail-plate{font-size:calc(11px * var(--font-scale))}.detail-meta{font-size:calc(9px * var(--font-scale))}.tabs{gap:23px}.tabs button{font-size:calc(11px * var(--font-scale));padding:12px 0 13px;white-space:nowrap}.tabs button.active{border-bottom-color:var(--teal);color:var(--text)}.detail-body{padding:20px}.status-card{border-radius:7px;color:var(--green-ink)}.status-card strong{font-size:calc(11px * var(--font-scale))}.status-card p{font-size:calc(10px * var(--font-scale))}.status-card.review{color:var(--amber)}.mini-label,.section-label{font-size:calc(9px * var(--font-scale));letter-spacing:.6px}.mini-value{font-size:calc(11px * var(--font-scale))}.mini-note,.coord{font-size:calc(9px * var(--font-scale))}.map-widget{border-radius:8px}.map-caption{font-size:calc(10px * var(--font-scale))}.map-caption .source-label{color:var(--teal-ink);background:var(--tint);border-color:transparent}.metrics{border-color:var(--line)}.metric .label{font-size:calc(9px * var(--font-scale))}.metric .value{font-size:calc(15px * var(--font-scale));font-weight:550}.metric .note{font-size:calc(8px * var(--font-scale))}.detail-note{font-size:calc(10px * var(--font-scale))}.detail-foot,[data-theme=dark] .detail-foot{background:var(--soft)}.detail-foot .btn{font-size:calc(10px * var(--font-scale))}.tag{background:var(--soft);border-color:transparent;color:var(--muted);border-radius:5px;font-size:calc(10px * var(--font-scale))}
.profile-card .icon{color:var(--teal-ink)}.profile-card h3{font-size:calc(15px * var(--font-scale))}.profile-card .interval{font-size:calc(28px * var(--font-scale));font-weight:570}.profile-card .subtitle{font-size:calc(11px * var(--font-scale))}.field{font-size:calc(11px * var(--font-scale));font-weight:500}.field input,.field select,.field textarea{border-radius:7px;background:var(--panel);font-size:calc(12px * var(--font-scale));font-weight:400;min-height:40px;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal)}.field small{font-size:calc(10px * var(--font-scale));font-weight:400}.checkbox-row{font-size:calc(11px * var(--font-scale))}.help-box{background:var(--tint);color:var(--teal-ink);border-radius:8px;font-size:calc(11px * var(--font-scale))}.help-box.amber{color:var(--amber);background:var(--amberwash)}.log-row h3{font-size:calc(12px * var(--font-scale))}.log-row p{font-size:calc(11px * var(--font-scale))}.log-row time{font-size:calc(10px * var(--font-scale))}.kv{font-size:calc(11px * var(--font-scale));padding:12px 0}.history-row h3{font-size:calc(11px * var(--font-scale))}.history-row p{font-size:calc(10px * var(--font-scale))}.history-row:before{background:var(--teal)}.history-range button.active{background:var(--tint);color:var(--teal-ink)}.history-range button{border-radius:5px;font-size:calc(10px * var(--font-scale))}.settings-note{font-size:calc(10px * var(--font-scale))}
dialog{border-radius:13px;padding:23px;box-shadow:var(--shadow)}dialog::backdrop{background:#16112362}.modal-head h2{font-size:calc(20px * var(--font-scale))}.preview-change{font-size:calc(11px * var(--font-scale))}.form-error{color:#dc3545;font-size:calc(11px * var(--font-scale));background:#dc354510;padding:12px;border-radius:7px;line-height:1.6}.form-error:empty{display:none}#toast{background:var(--navy);border:1px solid #ffffff20;border-radius:9px;font-size:calc(12px * var(--font-scale));box-shadow:var(--shadow)}
.login{grid-template-columns:1fr 1fr;background:var(--panel)}.login-art{background:var(--navy);padding:55px 60px;display:flex;flex-direction:column;justify-content:flex-start;position:relative;overflow:hidden;color:#fff}.login-art .brand{padding:0;margin:0}.login-art h1{font-size:calc(43px * var(--font-scale));line-height:1.2;max-width:440px;letter-spacing:-1.8px;margin:75px 0 22px;font-weight:500}.login-art>p{max-width:385px;color:#bab2cb;font-size:calc(13px * var(--font-scale));line-height:1.8;margin:0}.login-art footer{margin-top:auto;font-size:calc(10px * var(--font-scale));color:#9f94b3}.login-graphic{position:relative;height:240px;margin:30px 0;display:grid;place-items:center}.route-grid{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(#a8a0bb 1px,transparent 1px),linear-gradient(90deg,#a8a0bb 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(transparent,#000,transparent)}.route-card{position:relative;border:1px solid #ffffff25;background:#2d2748;border-radius:12px;width:285px;padding:20px;box-shadow:0 18px 40px #0003;transform:rotate(-3deg)}.route-card .route-eyebrow{display:flex;align-items:center;justify-content:space-between;color:#c3bed2;font-size:calc(9px * var(--font-scale));letter-spacing:1.3px}.route-card h3{font-size:calc(16px * var(--font-scale));margin:22px 0 8px;font-weight:600}.route-card p{color:#b1a9c3;font-size:calc(11px * var(--font-scale));line-height:1.6;margin:0}.route-line{height:3px;background:#ffffff12;position:relative;margin:22px 0 14px;display:flex;justify-content:space-between}.route-line:before{content:'';width:70%;background:var(--teal)}.route-line span{width:10px;height:10px;border:2px solid #2d2748;border-radius:50%;background:var(--teal);position:absolute;top:-3px}.route-line span:nth-child(2){left:34%}.route-line span:nth-child(3){left:68%}.route-result{display:flex;align-items:center;justify-content:space-between;font-size:calc(10px * var(--font-scale));color:#b1a9c3}.route-result b{display:flex;align-items:center;gap:5px;color:#a0e7df;background:#41b7b023;font-weight:500;border-radius:5px;padding:5px 8px}.route-result .icon{width:13px;height:13px}
.login-form{padding:50px;position:relative;display:flex;align-items:center;justify-content:center}.login-form form{width:340px;max-width:100%}.login-form h2{font-size:calc(28px * var(--font-scale));font-weight:650;letter-spacing:-.8px;line-height:1.3}.login-form .subtitle{font-size:calc(12px * var(--font-scale));line-height:1.6;margin:11px 0 28px}.login-form .field{margin-bottom:20px;font-weight:500}.login-form .btn.primary{height:42px;font-size:calc(12px * var(--font-scale));margin-top:10px}.login-form .field input{height:40px}.login-theme{position:absolute;right:30px;top:24px}.login-badge{display:inline-flex;align-items:center;color:var(--teal-ink);font-size:calc(10px * var(--font-scale));background:var(--tint);padding:6px 9px;border-radius:5px;margin-bottom:25px}.login-footer{font-size:calc(10px * var(--font-scale));color:var(--muted);margin-top:27px;text-align:center}.login-mobile-brand{display:none}
[data-theme=dark] .fleet th{background:var(--soft)}[data-theme=dark] .map-widget{filter:saturate(.8) brightness(.85)}
@media(min-width:1500px){.main{padding:36px 42px}.topbar{padding:0 42px}}
@media(max-width:1180px){:root{--sidebar:208px}.sidebar{padding-left:12px;padding-right:12px}.main{padding:25px 24px}.topbar{padding:0 24px}.brand{padding-left:9px;padding-right:9px;gap:8px}.brand img{width:108px}.brand-label{font-size:9px;letter-spacing:1.8px}.login-art{padding:45px}.control-grid{grid-template-columns:minmax(0,1fr) 330px}.toolbar{padding:15px 14px;gap:8px}.toolbar select{max-width:115px}.fleet .object-name,.fleet .object-sub{max-width:175px}}
@media(max-width:1000px){.topbar{padding:0 20px}.main{padding:24px 20px}.page-head h1{font-size:calc(25px * var(--font-scale))}.control-grid{grid-template-columns:1fr}.detail-body.overview{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.detail-body.overview .status-card,.detail-body.overview .timeline-mini{grid-column:1}.detail-body.overview .location-block{grid-column:2;grid-row:1/4}.detail-body.overview .metrics{grid-column:1;margin-top:0}.detail-body.overview .detail-note{grid-column:1/-1}.detail-body.overview .map-widget{height:200px}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none;position:fixed;z-index:30;width:232px;height:100dvh}.sidebar.open{display:flex}.mobile-menu{display:inline-flex}.topbar{height:60px;padding:0 16px;gap:7px}.breadcrumb>span,.breadcrumb>b{display:none}.main{padding:23px 16px}.page-head{display:block;margin-bottom:22px}.page-head h1{font-size:calc(26px * var(--font-scale))}.page-head .actions{margin-top:16px}.heading-kicker{display:none}.top-actions .date-top{display:none}.intro-line{gap:12px}.filters{gap:3px}.chip{font-size:calc(10px * var(--font-scale));padding:6px 8px}.toolbar{flex-wrap:wrap;gap:8px}.toolbar .search{flex-basis:100%}.toolbar select{max-width:none;width:100%}.fleet .object-name{font-size:calc(10px * var(--font-scale));max-width:145px}.fleet .object-sub{font-size:calc(9px * var(--font-scale));max-width:145px}.fleet th{font-size:calc(9px * var(--font-scale))}.fleet .state{font-size:calc(9px * var(--font-scale))}.fleet .date{font-size:calc(9px * var(--font-scale))}.fleet .battery-cell{display:none}.table-footer{gap:8px;flex-wrap:wrap;font-size:calc(9px * var(--font-scale))}.detail-body.overview{display:block}.detail-body.overview .metrics{margin-top:16px}.detail-body.overview .map-widget{height:220px}.detail-name{font-size:calc(20px * var(--font-scale))}.detail-body{padding:20px}.detail-foot{padding:13px 20px}.login{display:block}.login-art{display:none}.login-form{min-height:100vh;padding:60px 30px 30px}.login-form form{max-width:360px;width:100%}.login-form .login-mobile-brand{display:flex;align-items:flex-end;gap:11px;margin-bottom:30px}.login-mobile-brand img{width:112px;height:auto}.login-mobile-brand .brand-label{color:var(--muted)}.login-theme{top:20px;right:20px}.settings-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}}
