:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#263e33;background:#f5f7f4;font-synthesis:none;--green:#246b50;--ink:#193a2b;--muted:#7a8880;--line:#e2e8e1;--sidebar:248px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9dbbad;outline-offset:3px}button svg,a svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1.1px;font-weight:650}h2{font-size:16px;font-weight:650;letter-spacing:-.25px}h3{font-size:15px}small{font-size:11px;color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fcfdfb;border-right:1px solid var(--line);padding:30px 18px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-.8px;font-weight:750;padding:0 10px}.brand-light{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:2.6px;margin-top:5px;font-weight:500}.brand-mark{width:39px;height:43px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#edf5e9;border-radius:8px;flex-shrink:0}.workspace{display:flex;align-items:center;gap:10px;margin:33px 0 27px;padding:12px 10px;background:#f0f3ed;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:600}.workspace small{display:block;margin-top:4px;font-size:10px;font-weight:400}.workspace-logo{height:31px;width:31px;background:#d8e4d9;border-radius:6px;display:grid;place-items:center}.workspace>span:last-child{margin-left:auto}.nav-label{font-size:9px;letter-spacing:1.8px;color:#98a398;margin:0 15px 12px}nav{display:flex;flex-direction:column;gap:4px}nav a{padding:12px 14px;display:flex;align-items:center;gap:12px;font-size:13px;color:#748079;border-radius:7px}nav a.active{background:#e9f0e6;color:#1d523c;font-weight:600}nav a:hover{background:#f0f3ed}nav b{margin-left:auto;background:#df6e55;color:white;min-width:19px;text-align:center;padding:3px;border-radius:4px;font-size:9px}.sidebar-bottom{margin-top:auto}.demo-card{background:#f0f4ed;border:1px solid var(--line);border-radius:9px;padding:16px;margin:20px 4px}.demo-pill{font-size:9px;letter-spacing:1px;color:#5d7864;background:#e8eee2;display:inline-block;border-radius:4px;padding:5px 7px;font-weight:600}.demo-card p{font-size:12px;line-height:1.8;margin:12px 0 7px}.demo-card small{font-size:10px}.user-card{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:17px 5px 0;font-size:11px;font-weight:600}.avatar{background:#e0e9d9;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#54765b;font-size:12px;font-weight:600;flex-shrink:0}.avatar.mini{width:30px;height:30px;font-size:10px}.user-card small{display:block;font-weight:400;margin-top:4px;font-size:9px;text-transform:capitalize}.user-card button{margin-left:auto;border:0;background:none;color:#7d8c81}.main-shell{margin-left:var(--sidebar)}.topbar{height:72px;background:#fcfdfb;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}.breadcrumb{font-size:11px;color:#889389;white-space:nowrap}.breadcrumb span{margin:0 13px;color:#bbc3ba}.breadcrumb b{color:#647363;font-weight:500}.topbar-right{display:flex;align-items:center;gap:15px}.topbar-right select{font-size:10px;max-width:310px;background:transparent;border:0;color:#67776a;padding:8px}.local-label{font-size:10px;display:flex;gap:7px;align-items:center;color:#698064;white-space:nowrap}.local-label i{width:5px;height:5px;background:#73a86d;border-radius:50%}main{padding:32px 34px 0;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:12px}.eyebrow{font-size:8px;letter-spacing:1.7px;font-weight:600;color:#78927b;margin-bottom:10px}.page-heading p{font-size:12px;color:#849083;margin-top:9px}.heading-actions{display:flex;align-items:center;gap:12px}.date-chip{display:flex;align-items:center;gap:7px;color:#7a8879;font-size:10px;background:white;border:1px solid var(--line);padding:9px 12px;border-radius:6px;white-space:nowrap}.filterbar{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px 14px;gap:20px;margin-bottom:23px}.filterbar label{display:flex;align-items:center;gap:9px;color:#879482}.filterbar select{border:0;padding:4px;min-width:125px;background:white;font-size:11px;color:#435a47}.filterbar label+label{border-left:1px solid var(--line);padding-left:20px}.filter-count{font-size:10px;margin-left:auto;color:#859282}.btn{border:1px solid #dce4d9;background:#fff;color:#536850;padding:9px 13px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:550;line-height:1.4}.btn:hover{background:#eef4ea}.btn.primary{background:#275b40;color:#fff;border-color:#275b40}.btn.primary:hover{background:#1b4831}.btn.quiet{border:0;color:#879183;font-size:10px;padding:5px}.btn.small{padding:6px 9px;font-size:10px}.btn.danger{color:#ac4e3d;border-color:#e8cdc6}.text-link{color:#437756;font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;cursor:pointer}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.stat-card{border:1px solid var(--line);border-radius:9px;background:white;padding:17px 19px;text-align:left;color:inherit;box-shadow:0 2px 3px #193e2f03;transition:transform .15s}.stat-card:hover{transform:translateY(-2px)}.stat-card>div{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#7b8a77}.stat-icon{width:31px;height:31px;border-radius:6px;background:#eff2e9;color:#82976c;display:grid;place-items:center}.stat-icon.green{background:#edf4e8;color:#5c8950}.stat-icon.amber{background:#fbf1df;color:#c58d43}.stat-icon.blue{background:#eaf2ef;color:#6a9a91}.stat-card>strong{display:block;font-size:33px;font-weight:650;letter-spacing:-1px;margin:10px 0}.stat-card strong small{font-size:10px;letter-spacing:0;margin-left:7px;font-weight:400;color:#9ca697}.stat-card p{font-size:9px;color:#a0a99b}.positive{color:#668e60}.negative{color:#c77c50}.stat-card p span{margin-right:6px}.stat-bottom{display:flex;justify-content:space-between;font-size:9px;border-top:1px solid #eef1eb;margin-top:17px;padding-top:12px;color:#85977a}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;margin-bottom:24px;box-shadow:0 2px 3px #193e2f02}.panel-heading{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-heading p{font-size:10px;color:#8a9785;margin-top:5px;line-height:1.5}.overview-grid{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(230px,1fr);gap:22px}.geo-map{position:relative;background:#eef1e9;overflow:hidden;min-height:220px}.map-canvas{display:block;width:100%;aspect-ratio:1000/460;background:#eef1e9}.map-state{position:absolute;top:10px;left:10px;z-index:1;font-size:10px;color:#546953;background:#ffffffee;border:1px solid #e2e9dd;border-radius:5px;padding:7px 10px;pointer-events:none}.map-marker{cursor:pointer;filter:drop-shadow(0 2px 2px #172f2640)}.map-marker:hover,.map-marker.selected{filter:drop-shadow(0 0 5px #bcab5b)}.geo-zone{fill:#7ba78035;stroke:#5e9568;stroke-dasharray:6 4;stroke-width:2;pointer-events:none}.geo-zone.excluded{fill:#b9554230;stroke:#ac4e3d}.map-zoom{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;box-shadow:0 1px 5px #0002}.map-zoom button{background:#fff;border:1px solid #dfe5d9;width:27px;height:27px;color:#556b4d}.map-attribution{position:absolute;bottom:0;right:0;background:#ffffffd9;padding:4px 8px;font-size:8px;color:#657761}.map-attribution a{text-decoration:underline}.map-legend{display:flex;align-items:center;gap:20px;padding:14px 20px;font-size:9px;color:#7b8a73}.map-legend>span{display:flex;align-items:center;gap:7px}.map-legend>span:last-child{margin-left:auto;font-size:8px}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:6px}.dot.green{background:#62936a}.dot.red{background:#c96b4c}.dot.gray{background:#bdc5b8}.health-panel .panel-heading{padding-bottom:10px}.health-panel .panel-heading svg{color:#8d9b80}.health-ring{width:158px;height:158px;border-radius:50%;background:conic-gradient(#759d61 calc(var(--health)*1%),#eebc7d 0);margin:22px auto 25px;display:grid;place-items:center;transform:rotate(-90deg)}.health-ring>div{background:white;width:137px;height:137px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(90deg)}.health-ring strong{font-size:33px;font-weight:650;letter-spacing:-1px}.health-ring span{font-size:9px;color:#8d9884;margin-top:5px}.health-lines{padding:0 23px}.health-lines>div{display:flex;justify-content:space-between;font-size:10px;padding:8px 0;color:#7c8b71}.health-lines b{font-weight:600;color:#53694c}.fine-print{font-size:10px;line-height:1.7;color:#87967e;padding:12px 20px}.health-panel>.fine-print{padding-top:13px;font-size:9px}.count{font-size:10px;font-weight:500;background:#eef2e9;color:#6f855c;padding:3px 6px;border-radius:4px;margin-left:7px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;white-space:nowrap}th{background:#f8faf6;color:#89967e;font-size:9px;font-weight:500;padding:12px 21px;border-top:1px solid #edf1e8;border-bottom:1px solid #edf1e8}td{padding:14px 21px;border-bottom:1px solid #edf1e8;color:#617454}td strong{font-size:10px;font-weight:550;color:#49603d}td small{display:block;font-size:9px;margin-top:5px;max-width:260px;overflow:hidden;text-overflow:ellipsis}tr:last-child td{border-bottom:0}td:first-child .event-icon{float:left;margin-right:10px}.event-icon{width:31px;height:31px;display:grid;place-items:center;background:#fbede5;border-radius:7px;color:#cd8460}.event-icon.warning{background:#fcf4e4;color:#c79f58}.clickable{cursor:pointer}.clickable:hover{background:#f6f9f2}.badge{display:inline-flex;align-items:center;gap:5px;color:#678457;background:#edf4e5;border:1px solid #e7eedb;padding:4px 7px;font-size:9px;border-radius:4px;white-space:nowrap}.badge i{width:4px;height:4px;border-radius:50%;background:currentColor}.badge.critical{color:#bd7554;background:#fcf0e9;border-color:#f3e1d3}.badge.warning{color:#bd9752;background:#fbf5e7;border-color:#f2ead7}.badge.muted{color:#87917e;background:#f1f4ed;border-color:#e6ebdf}footer{display:flex;justify-content:space-between;color:#9da694;font-size:8px;padding:25px 0 22px;gap:15px}.list-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.list-toolbar>span{font-size:11px;color:#86927d;margin-left:auto}.search{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:7px;padding:0 12px;min-width:300px;color:#a0ab96}.search input{border:0;width:100%;padding:11px 0;outline:none!important;background:transparent}input,select,textarea{padding:9px 11px;border:1px solid #dce3d5;border-radius:5px;background:white;color:#506444;font-size:12px;max-width:100%}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.vehicle-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.vehicle-card-image{background:linear-gradient(120deg,#edf2e7,#f8faf4);height:174px;position:relative}.vehicle-card-image>a{display:block;height:100%}.vehicle-art{width:100%;height:100%}.vehicle-card-image img{width:100%;height:100%;object-fit:cover}.vehicle-card-image>.badge{position:absolute;right:12px;top:12px;background:#ffffffed}.card-type{position:absolute;left:12px;top:13px;color:#88977c;font-size:8px;text-transform:uppercase;letter-spacing:1px}.vehicle-card-body{padding:17px}.vehicle-card-body>div:first-child{display:flex;justify-content:space-between;gap:10px}.vehicle-card h3{font-size:13px}.mono{font-family:Consolas,monospace;font-size:10px;color:#8b9783}.vehicle-card-body>p{font-size:10px;color:#91a083;margin-top:8px}.card-meta{display:flex;justify-content:space-between;font-size:10px;color:#708662;padding:17px 0 10px}.card-sensors{display:flex;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0;font-size:9px;color:#809172}.last-seen{display:block;margin-top:11px;font-size:9px}.card-actions{display:flex;align-items:center;gap:10px;padding-top:13px}.card-actions>a{margin-right:auto}.icon-btn{border:0;background:none;color:#78916d;font-size:17px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:25px 0;font-size:10px;color:#7d8f6d}.pagination>div{display:flex;align-items:center;gap:15px}.detail-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.detail-actions>.badge{margin-left:auto}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:white;border-radius:8px;margin-bottom:20px}.detail-summary>div{padding:17px;border-right:1px solid var(--line)}.detail-summary>div:last-child{border:0}.detail-summary span{font-size:10px;color:#87987a;display:block;margin-bottom:8px}.detail-summary strong{font-size:16px;color:#50693e}.detail-summary .small-value{font-size:10px;word-break:break-all}.detail-summary small{display:block;margin-top:5px}.train{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:10px;background:#eaf0e4;border-radius:6px;padding:14px;margin-bottom:20px}.train>span:first-child{font-size:8px;letter-spacing:1px;color:#80916e}.train a{color:#557b40;text-decoration:underline}.detail-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(440px,1.5fr);gap:22px;align-items:start}.diagram-scroll{overflow:auto;background:linear-gradient(#f8faf5,#fff);max-height:820px;padding:20px 12px}.diagram{min-width:340px;max-width:600px;margin:auto;padding:0 5px}.cab{width:125px;height:82px;border:2px solid #aac19a;border-radius:24px 24px 9px 9px;margin:auto auto 20px;background:linear-gradient(#e2ecda 40%,#fafcf8 40%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#789264;font-size:9px;letter-spacing:1px}.cab b{font-size:9px;font-weight:400}.axle-row{border-left:2px solid #d1ddc4;border-right:2px solid #d1ddc4;margin:0 30px;padding:15px 0 10px;position:relative}.axle-label{text-align:center;color:#91a27f;font-size:8px;letter-spacing:1px;margin-bottom:7px}.axle-label span{display:block;margin-top:3px;font-size:7px;letter-spacing:0}.tire-row{display:flex;justify-content:space-between;gap:5px;position:relative;margin:0 -25px}.tire-row:before{content:'';position:absolute;inset:50% 0 auto;height:3px;background:#b7c9a6;pointer-events:none}.tire{border:1px solid #9eb989;border-radius:7px;background:#f4f8ed;display:flex;flex-direction:column;gap:5px;padding:9px 5px;min-width:66px;position:relative;color:#58823e;z-index:1;flex:1;max-width:112px}.tire>span:first-child{font-size:7px}.tire strong{font-size:15px}.tire small{font-size:7px;color:inherit}.tire>span:nth-of-type(2){font-size:10px}.tire em{font-size:7px;font-style:normal}.tire.critical{color:#c67a51;border-color:#dfaa83;background:#fcf4e9}.tire.muted{color:#9aab8a;border-color:#d0dbc5;background:#f4f6ef}.tire.warning{color:#b89c56;border-color:#dccc9a;background:#faf7ec}.tire.selected{outline:3px solid #c9d5bd;outline-offset:3px}.spare-row{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:18px;padding:12px}.spare-row>span{color:#9baa8a;font-size:8px;letter-spacing:1px}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 20px;gap:15px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#8a9d7c;padding:10px 0;font-size:10px}.tabs button.active{color:#58843e;border-bottom-color:#719457;font-weight:600}.sensor-grid{padding:15px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-height:285px;overflow:auto}.sensor-chip{border:1px solid #e0e8d7;background:#fcfdf9;border-radius:6px;padding:10px;text-align:left;color:#7b9666}.sensor-chip>span{font-size:9px;display:flex;justify-content:space-between}.sensor-chip>strong{display:block;font-size:13px;margin:6px 0}.sensor-chip>small{font-size:7px;display:block}.sensor-chip.selected{border-color:#789c5f;background:#f0f6e8}.sensor-chip.critical{color:#be855d}.sensor-chip.warning{color:#af9a61}.sensor-chip.muted{color:#a1ad94}.history-header{display:flex;justify-content:space-between;align-items:start;padding:20px;gap:10px;border-top:1px solid var(--line)}.history-header p{font-size:8px;line-height:1.7;margin-top:7px;word-break:break-all}.history-header>div:last-child{white-space:nowrap}.history-header select{font-size:10px;padding:6px}.notice{background:#f1f5eb;border:1px solid #e3eadb;border-radius:5px;padding:12px 16px;font-size:10px;color:#81946e;line-height:1.8;margin-bottom:18px}.sensor-panel>.notice{margin:0 20px 13px}.sensor-panel>.btn{margin-left:20px}.charts{padding:15px 20px 0}.chart-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#698252;margin-bottom:7px;gap:10px}.chart-label span{font-size:8px;color:#98a48b}.history-chart{width:100%;display:block}.chart-point{cursor:pointer}.chart-point:hover{r:6}.history-table{max-height:360px}.selected-row{background:#f7ecd9}.location-detail{padding:15px 20px;font-size:11px;color:#819270}.simulation-bar{background:#e7efdf;border:1px solid #d5e1ca;border-radius:9px;padding:16px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;position:sticky;bottom:12px;box-shadow:0 3px 15px #2d4e2620;z-index:3}.simulation-bar>div{display:grid;grid-template-columns:10px auto;gap:5px;margin-right:auto;align-items:center}.simulation-bar strong{font-size:11px;color:#587940}.simulation-bar small{grid-column:2;font-size:8px}.simulation-dot{width:6px;height:6px;background:#78a954;border-radius:50%}.simulation-bar select{font-size:9px;max-width:175px;background:#f9fcf5}.simulation-bar .btn{font-size:9px;padding:8px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-body{padding:0 22px 25px;display:flex;flex-direction:column;gap:16px;font-size:12px;color:#839676;line-height:1.8}.form-body label{display:flex;flex-direction:column;gap:7px}.form-body>.btn{align-self:start}.form-body label.btn{cursor:pointer;display:block}.form-body p{font-size:11px;line-height:1.9}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.profile-card{padding:20px}.profile-card>.vehicle-art{height:120px;background:#f4f8ee;border-radius:7px;margin-bottom:13px}.profile-card>p{font-size:10px;color:#91a282;margin:7px 0 17px}.profile-version{padding:15px 0;border-top:1px solid var(--line)}.profile-version>b{font-size:11px;margin-right:12px}.profile-version p{font-size:10px;margin:10px 0}.profile-version .btn{display:block;margin-top:11px}.grants{padding:5px 22px 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.grant-row{display:flex;gap:10px;align-items:center;font-size:11px;padding:11px;background:#f8faf5;border:1px solid #e6ecdf;border-radius:6px}.grant-row small{display:block;margin-top:5px;font-size:9px}.inline-fields{display:flex;align-items:end;gap:12px;padding:12px 22px;flex-wrap:wrap}.inline-fields label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#8b9d7a}.empty{padding:35px;text-align:center;color:#8ea27c;font-size:12px}.loading{padding:50px;color:#63834e}pre{white-space:pre-wrap;word-break:break-all;font-size:10px;max-width:450px}details summary{cursor:pointer;font-size:10px}#toast{position:fixed;right:25px;bottom:25px;padding:12px 18px;border-radius:7px;background:#244f37;color:#fff;box-shadow:0 5px 20px #0002;z-index:30;font-size:12px;max-width:450px;display:none;white-space:pre-wrap}#toast.show{display:block}#toast.error{background:#9a503d}dialog{border:1px solid #dce5d4;border-radius:12px;padding:0;width:min(760px,92vw);max-height:90vh;color:#597148;box-shadow:0 20px 100px #19351c33}dialog::backdrop{background:#1e382959;backdrop-filter:blur(3px)}.modal-head{padding:23px 25px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:19px}.modal-head button{border:0;background:none;color:#809a6d;font-size:22px}.modal-body{padding:22px 25px;display:flex;flex-direction:column;gap:16px;font-size:12px}.modal-body>label{display:flex;flex-direction:column;gap:7px}.modal-body p{font-size:11px;line-height:1.8;color:#8ea07c}.modal-actions{display:flex;justify-content:end;gap:10px;border-top:1px solid var(--line);padding:16px 25px}.modal-error{color:#b86547;font-size:12px;white-space:pre-wrap}.checklist{max-height:290px;overflow:auto;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);padding:12px;border-radius:6px}.checklist label{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.7}.checklist small{display:block}.crop-preview{aspect-ratio:16/9;background:#f1f5ec;border-radius:7px;overflow:hidden;display:grid;place-items:center}.crop-preview img{width:100%;height:100%;object-fit:cover}.profile-preview{border:1px solid var(--line);border-radius:7px;padding:12px;font-size:11px;background:#f7faf1}.profile-preview p{margin:5px 0}.profile-editor{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.profile-editor label{display:flex;flex-direction:column;gap:5px;font-size:10px}.signin{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.signin-art{background:#244d36;padding:10% 12%;color:#e5efdd;display:flex;flex-direction:column;justify-content:center}.signin-art .brand-mark{background:#3f6348;margin-bottom:45px;width:52px;height:52px}.signin-art h1{font-size:clamp(30px,4vw,62px);line-height:1.15;letter-spacing:-2px;font-weight:550}.signin-art em{font-style:normal;color:#b7cf93}.signin-art p{font-size:12px;margin-top:30px;color:#97b68b;letter-spacing:2px;text-transform:uppercase}.signin-art>.vehicle-art{max-height:200px;margin-top:40px}.signin-form{max-width:460px;margin:auto;padding:50px 35px;display:flex;flex-direction:column;gap:25px}.signin-form h2{font-size:30px;color:#3d6535}.signin-form p{font-size:13px;color:#8ca17d;line-height:1.8}.signin-form label{display:flex;flex-direction:column;gap:10px;font-size:11px}.signin-form select{width:100%}.signin-form>.btn{padding:13px}.drawing .map-canvas{cursor:crosshair}.error-page{padding:50px;max-width:800px}.error-page pre{max-width:100%}
@media(min-width:1600px){main{padding-top:40px}.overview-grid .geo-map{min-height:300px}}@media(max-width:1200px){:root{--sidebar:210px}.brand{font-size:20px;padding:0 5px}.workspace{font-size:10px}.topbar{padding:0 22px}main{padding:25px 22px 0}.topbar-right select{max-width:220px}.vehicle-grid,.profile-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:minmax(320px,.85fr) minmax(370px,1.25fr)}.sensor-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{gap:10px}.stat-card{padding:15px 12px}.stat-card>div{font-size:10px}.stat-card p{font-size:8px}.filterbar{gap:10px}.filterbar label+label{padding-left:10px}.overview-grid{grid-template-columns:minmax(0,2fr) 230px}.date-chip{display:none}.history-header{flex-wrap:wrap}.simulation-bar{position:static}}@media(max-width:950px){.detail-grid{grid-template-columns:1fr}.diagram{max-width:500px}.overview-grid{grid-template-columns:1fr}.health-panel{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.filter-count{display:none}.topbar-right .local-label,.breadcrumb{display:none}.topbar{justify-content:end}.detail-summary{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.grants{grid-template-columns:1fr}.sensor-grid{grid-template-columns:repeat(3,1fr)}.page-heading h1{font-size:26px}.filterbar{flex-wrap:wrap}.list-toolbar{flex-wrap:wrap}.search{min-width:230px}.page-heading{align-items:start}}@media(max-width:680px){:root{--sidebar:0px}.sidebar{position:static;width:100%;padding:14px 15px 0;display:block;border:0}.brand{font-size:20px}.brand-mark{width:32px;height:35px}.brand small{font-size:7px}.workspace,.nav-label,.sidebar-bottom{display:none}nav{flex-direction:row;overflow:auto;gap:3px;margin-top:16px;padding-bottom:8px}nav a{padding:8px;font-size:10px;white-space:nowrap;gap:5px}nav svg{width:14px;height:14px}nav b{font-size:7px;min-width:14px}.topbar{height:49px;padding:0 17px}.topbar-right select{max-width:300px}.main-shell{margin-left:0}main{padding:22px 15px 0}h1{font-size:24px!important}.eyebrow{font-size:7px}.page-heading p{font-size:10px}.heading-actions{align-self:center}.heading-actions .btn{font-size:9px}.filterbar{padding:9px;gap:6px;margin-bottom:16px}.filterbar label{width:calc(50% - 5px);gap:3px}.filterbar select{min-width:0;width:100%;font-size:10px}.filterbar>button{display:none}.stat-grid{gap:10px}.stat-card strong{font-size:28px}.stat-bottom{font-size:8px}.stat-card p{font-size:7px}.vehicle-grid,.profile-grid{grid-template-columns:1fr}.vehicle-card-image{height:190px}.search{flex:1;min-width:150px}.list-toolbar select{font-size:10px}.panel-heading{padding:17px 15px}h2{font-size:14px}.panel-heading p{font-size:9px}.panel-heading .text-link{font-size:8px}.map-canvas{min-height:220px;aspect-ratio:auto}.map-legend{padding:10px;gap:8px}.map-legend>span:last-child{font-size:7px}.map-state{font-size:8px;max-width:80%}td,th{padding:12px 15px}.detail-summary strong{font-size:13px}.detail-summary>div{padding:13px}.detail-actions>.badge{margin-left:0;font-size:8px}.detail-grid{gap:0}.sensor-grid{grid-template-columns:repeat(2,1fr);padding:12px}.history-header{padding:15px}.charts{padding:10px}.chart-label span{font-size:7px}.chart-label{font-size:9px}.tabs{padding:0 12px}.simulation-bar select{max-width:100%}.simulation-bar>div{width:100%}.simulation-bar .btn{flex:1}.pagination{font-size:9px}.pagination>div{gap:8px}.pagination .btn{font-size:9px;padding:7px}footer{font-size:7px}.signin{grid-template-columns:1fr}.signin-art{padding:45px 35px}.signin-art h1{font-size:37px}.signin-art .brand-mark{margin-bottom:25px}.signin-art p{margin-top:20px}.signin-art>.vehicle-art{display:none}.signin-form{padding:35px;max-width:100%}.modal-body{padding:18px}.modal-actions{padding:14px 18px}.profile-editor{grid-template-columns:repeat(2,1fr)}}
.map-pan{position:absolute;left:12px;bottom:12px;display:flex;gap:3px}.map-pan button{width:25px;height:25px;border:1px solid #dce4d2;background:#fff;color:#779167;border-radius:3px}.transition-details{margin:12px 20px;font-size:10px;color:#829a70}.transition-details summary{cursor:pointer;padding:9px;background:#f4f7ef}
