body{margin:0;background:#f5f7fb;color:#1c2c47;font-family:Arial,sans-serif}*{box-sizing:border-box}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;background:#152740;color:#bbc9da;min-height:100vh;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;flex:none;z-index:30}.brand{height:76px;display:flex;align-items:center;gap:10px;padding:0 22px;border-bottom:1px solid #ffffff16}.brand-mark{background:#4277e9;color:#fff;border-radius:10px;width:38px;height:38px;display:grid;place-items:center}.brand strong,.brand small{display:block}.brand strong{color:#fff;font-size:17px;letter-spacing:.1em}.brand small{font-size:9px;color:#8ba0ba;margin-top:3px}.side-label,.nav-section{font-size:10px;font-weight:700;letter-spacing:.12em;color:#7489a5;padding:23px 24px 12px}.sidebar nav{padding:0 11px;flex:1;overflow:auto}.nav-item{width:100%;height:43px;background:none;border:0;color:#b7c5d6;display:flex;align-items:center;gap:13px;padding:0 13px;border-radius:8px;text-align:left;font-size:13px}.nav-item:hover,.nav-item.active{background:#2f538d;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #81a8ff}.sidebar-bottom{padding:16px;border-top:1px solid #ffffff16}.side-profile{display:flex;align-items:center;gap:10px;margin-bottom:12px}.avatar,.top-avatar{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;background:#4f7deb;color:#fff;font-weight:700}.side-profile strong,.side-profile span{display:block}.side-profile strong{font-size:12px;color:#fff}.side-profile span{font-size:10px;color:#92a5be;margin-top:3px}.logout{background:none;border:0;color:#a8b9d0;display:flex;align-items:center;gap:8px;font-size:12px}.main{min-width:0;flex:1}.topbar{height:66px;background:#fff;border-bottom:1px solid #e5ebf2;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;color:#97a3b2}.breadcrumb strong{color:#2a3c57}.top-right,.head-actions,.toolbar{display:flex;align-items:center;gap:9px}.local-pill{font-size:10px;color:#3b8a59;background:#edf9f0;border:1px solid #d4ead9;border-radius:18px;padding:6px 11px}.local-pill i{display:inline-block;background:#54b371;border-radius:50%;height:6px;width:6px;margin-right:5px}.top-avatar{background:#e4edff;color:#3765be;font-size:12px}.menu-btn{display:none;background:none;border:0}.content{max-width:1700px;margin:auto;padding:34px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:10px;color:#4c74ca;font-weight:700;letter-spacing:.12em}.eyebrow.light{color:#a1c0ff}.page-head h1{font-size:28px;margin:7px 0 4px}.page-head p{font-size:12px;color:#8d99a9;margin:0}.head-actions select,.filters select{height:36px;border:1px solid #dfe7f0;background:#fff;border-radius:7px;padding:0 10px;font-size:12px}.icon-btn{height:36px;width:36px;border:1px solid #dfe7f0;background:#fff;border-radius:7px;color:#65809f;display:grid;place-items:center}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:23px}.metric{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e4eaf1;border-radius:11px;padding:18px}.metric-icon{width:42px;height:42px;border-radius:9px;display:grid;place-items:center}.metric-icon.blue{background:#eaf0fe;color:#4674d9}.metric-icon.green{background:#e8f7ef;color:#31a177}.metric-icon.orange{background:#fff1e2;color:#d69441}.metric span,.metric strong{display:block}.metric span{font-size:11px;color:#8a9aab}.metric strong{font-size:22px;margin-top:3px}.panel{background:#fff;border:1px solid #e5ebf2;border-radius:11px;overflow:hidden;box-shadow:0 4px 14px #172f5408}.panel-title{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-title h2{font-size:16px;margin:0 0 4px}.panel-title span{font-size:11px;color:#98a4b2}.search{height:36px;min-width:220px;border:1px solid #dce5ee;border-radius:7px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#95a5b8}.search input{width:100%;border:0;outline:0;font-size:11px}.primary,.secondary,.danger-btn,.small-add{border-radius:7px;height:36px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:700;white-space:nowrap}.primary{border:1px solid #3c73e3;background:#3973e8;color:#fff}.secondary{border:1px solid #dce5ef;background:#fff;color:#506984}.danger-btn{border:0;background:#fff1f1;color:#c54e55}.wide{width:100%}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:880px;font-size:11px}thead{background:#f7f9fc}th{text-align:left;color:#8c99aa;font-size:10px;white-space:nowrap;padding:12px 15px;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}td{padding:13px 15px;border-bottom:1px solid #eef1f5;white-space:nowrap;color:#455771}tbody tr:hover{background:#f9fbff}.clickable{cursor:pointer}.plate{font-weight:700;color:#1e3b68}.muted{color:#a0acba}.tag{border:0;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:700}.tag.good,.mini-dot.good{background:#e8f7ee;color:#2d956c}.tag.bad,.mini-dot.bad{background:#fdeced;color:#d0525b}.tag.warn,.mini-dot.warn{background:#fff0db;color:#b57e34}.tag.blue,.mini-dot.blue{background:#eaf2ff;color:#477bc7}.mini-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px}.toggle{cursor:pointer}.row-action{border:0;background:none;color:#4d77cd;font-size:10px;font-weight:700}.task-name{font-weight:700}.overdue{color:#d2525b;font-weight:700}.tabs{display:flex;gap:4px;padding:0 22px 14px}.tabs button{border:0;background:#f4f6f9;color:#8c9aab;border-radius:6px;padding:7px 13px;font-size:11px}.tabs button.selected{background:#e8f0ff;color:#396bcc}.filters{display:flex;gap:10px;padding:0 22px 15px}.empty{padding:65px 20px;text-align:center;color:#9da9b7;font-size:12px}.empty strong{display:block;color:#536882;margin-bottom:5px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card{padding:23px;min-height:180px}.settings-card h2{font-size:16px}.settings-icon{color:#4775d9}.settings-title,.settings-row{display:flex;align-items:center;justify-content:space-between}.settings-row{border-bottom:1px solid #edf1f5;padding:10px 0;font-size:11px}.settings-row strong{font-size:10px;color:#99a8b7}.small-add{border:0;background:#eaf0ff;color:#4373d4;height:28px}.alert,.success{padding:10px;border-radius:7px;font-size:11px;margin:12px 0}.alert{background:#fff0f0;color:#ba4650}.success{background:#e9f8ee;color:#2d8e60}.floating{display:flex;justify-content:space-between;cursor:pointer}.drawer-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#16273d88}.drawer{position:absolute;right:0;top:0;height:100%;width:min(520px,100%);background:#fff;box-shadow:-10px 0 40px #101d3040;overflow:auto}.drawer-top,.modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e9eef4;padding:24px 28px}.drawer-top h2,.modal-head h2{margin:6px 0 0;font-size:22px}.drawer-body{padding:25px 28px}.drawer-body h3{font-size:13px;margin:26px 0 13px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{font-size:10px;color:#96a3b1}.detail-grid strong{font-size:12px;margin-top:4px;color:#2c3e56}.doc-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f6}.doc-card strong,.doc-card span{display:block}.doc-card strong{font-size:11px}.doc-card div span{font-size:10px;color:#9ba8b8;margin-top:3px}.drawer-actions{display:flex;gap:10px;margin-top:25px}.modal-backdrop{display:grid;place-items:center;padding:15px;z-index:50}.modal{width:min(580px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:13px;box-shadow:0 25px 80px #0c1a3266}.modal-body{padding:25px 28px}.modal-foot{padding:16px 28px;border-top:1px solid #e9eef4;display:flex;justify-content:flex-end;gap:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal label,.login-card label{display:block;font-size:11px;font-weight:700;color:#53657d}.modal input,.modal select,.login-card input{display:block;width:100%;height:39px;border:1px solid #dbe4ee;border-radius:7px;padding:0 10px;outline:none;background:#fff;color:#283d58;margin-top:6px;font-size:12px}.modal input:focus,.modal select:focus,.login-card input:focus{border-color:#5a83e5;box-shadow:0 0 0 3px #4979e21a}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-visual{padding:45px 7vw;background:linear-gradient(145deg,#142744,#254b8c);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.login-brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.1em}.login-visual h1{font-size:clamp(32px,3vw,55px);line-height:1.2;letter-spacing:-.05em;margin:15px 0}.login-visual p{color:#afc5e6;max-width:420px;font-size:14px}.login-visual small{color:#8fafda}.login-card{width:min(380px,80%);margin:auto}.login-card h2{font-size:27px;margin:10px 0}.login-card p{color:#93a0ae;font-size:12px;margin-bottom:29px}.login-card label{margin:18px 0}.login-card .primary{margin-top:18px;height:42px}.login-card small{display:block;text-align:center;color:#a4afbb;font-size:10px;margin-top:22px}.boot{height:100vh;display:grid;place-items:center;color:#5375ac}.mobile-overlay{display:none}@media(max-width:1100px){.sidebar{width:220px}.content{padding:25px}.panel-title{align-items:flex-start;flex-direction:column}.toolbar{width:100%;flex-wrap:wrap}}@media(max-width:760px){.sidebar{position:fixed;left:-252px;transition:left .2s;width:252px}.sidebar.open{left:0}.mobile-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;z-index:25}.menu-btn{display:block}.content{padding:20px 14px}.topbar{padding:0 16px}.metric-row,.settings-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.form-grid,.login-page{grid-template-columns:1fr}.login-visual{min-height:240px;padding:25px}.login-visual h1{font-size:27px}.login-card{padding:35px 0}.local-pill{display:none}}.connection-page{min-height:100vh;display:grid;place-items:center;background:#f4f7fc;padding:24px}.connection-card{width:min(100%,520px);padding:40px;background:#fff;border:1px solid #e1e8f2;border-radius:18px;box-shadow:0 16px 48px #15305a12;color:#142b4d}.connection-card>svg{color:#4778df}.connection-card h1{font-size:28px;margin:20px 0 12px}.connection-card p{color:#6d7f99;line-height:1.6}.connection-card code{color:#142b4d;background:#edf2fa;padding:2px 5px;border-radius:4px}.connection-card button{margin-top:12px;display:inline-flex;align-items:center;gap:8px}.sort-button{display:inline-flex;align-items:center;gap:5px;margin:-8px -10px;padding:8px 10px;border:0;border-radius:5px;background:transparent;color:inherit;font-size:inherit;font-weight:700;white-space:nowrap}.sort-button svg{color:#a8b5c5}.sort-button:hover,.sort-button:focus-visible{background:#eaf1ff;color:#3566bf;outline:none}.sort-button:focus-visible{box-shadow:0 0 0 2px #5a83e5}.sorted-column{color:#3566bf;background:#edf3ff}.sorted-column .sort-button svg{color:#3566bf}.rnis-history{margin-top:18px;border:1px solid #e5ebf4;border-radius:9px;padding:12px 14px}.rnis-history summary{cursor:pointer;color:#31599b;font-size:12px;font-weight:700}.rnis-history>p{font-size:11px;margin:14px 0 2px}.rnis-check{display:grid;gap:4px;padding:12px 0;border-top:1px solid #edf1f6;font-size:11px}.rnis-check:first-of-type{margin-top:10px}.rnis-check time{color:#73849a}.rnis-check strong{color:#2b3f5c}.rnis-check span{color:#728198;line-height:1.45}.drawer-rnis-check{margin-top:14px}.notification-anchor,.bell-button{position:relative}.bell-count{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;border-radius:9px;background:#d84f5b;color:#fff;display:grid;place-items:center;padding:0 4px;font-size:10px;font-weight:700}.notification-list{position:absolute;right:0;top:44px;width:min(360px,calc(100vw - 24px));max-height:440px;overflow:auto;background:#fff;border:1px solid #dfe6f0;border-radius:10px;box-shadow:0 16px 40px #152a4550;z-index:60;padding:12px}.notification-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 6px 9px;padding:8px 0;background:#fff}.notification-head strong{font-size:13px}.notification-head button{border:0;background:none;padding:2px;color:#3765be;font-size:11px;font-weight:700}.notification-head button:hover{text-decoration:underline}.notification-head button:disabled{opacity:.5;cursor:default;text-decoration:none}.notification-list>p{font-size:11px;color:#8a99aa;padding:12px 6px}.notification-item{display:grid;gap:5px;width:100%;text-align:left;border:0;border-top:1px solid #edf1f5;background:#fff;padding:11px 7px;color:#42536b}.notification-item.unread{background:#eff5ff}.notification-item span{font-size:11px;font-weight:700}.notification-item small{font-size:10px;line-height:1.45}.notification-item time{font-size:10px;color:#8292a7}.fleet-pass{margin:3px 0;white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.import-result{margin-bottom:16px;padding:15px 18px;border:1px solid #dce8f7;background:#f7fbff;border-radius:9px;color:#315176;font-size:12px}.import-result strong{display:block}.import-result details{margin-top:10px}.import-result summary{cursor:pointer;font-weight:700}.import-result ul{max-height:220px;overflow:auto;margin:9px 0 0;padding-left:20px;line-height:1.6}.import-dialog{width:min(640px,100%)}.import-file-name{color:#74849a;font-size:12px;overflow-wrap:anywhere}.import-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.import-counts>div{padding:16px;border:1px solid #e1e9f3;border-radius:9px;background:#f8fbff}.import-counts span,.import-counts strong{display:block}.import-counts span{font-size:11px;color:#6f839c}.import-counts strong{font-size:25px;margin-top:5px;color:#23466f}.import-errors h3{font-size:13px;margin:18px 0 8px}.import-errors ul{max-height:280px;overflow:auto;margin:0;padding-left:22px;font-size:12px;line-height:1.6}.import-dialog .modal-body>p:last-child{font-size:12px;color:#6e7f96}.metric-row.fleet-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-icon.red{background:#fdeced;color:#d0525b}.telematics-off-icon{position:relative;display:block;width:22px;height:22px;color:#d0525b}.telematics-off-icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;-webkit-mask:url(/icons/telematics.png) center/contain no-repeat;mask:url(/icons/telematics.png) center/contain no-repeat}.telematics-off-icon:after{content:"";position:absolute;left:-2px;right:-2px;top:10px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 0 0 1px #fdeced;transform:rotate(-45deg)}@media(max-width:1100px){.metric-row.fleet-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.metric-row.fleet-metrics{grid-template-columns:1fr}}html[data-theme=dark]{color-scheme:dark}html[data-theme=dark] body,html[data-theme=dark] .login-page,html[data-theme=dark] .connection-page{background:#111b29;color:#e7edf7}html[data-theme=dark] .sidebar{background:#0c1725;color:#cad7e8}html[data-theme=dark] .topbar,html[data-theme=dark] .metric,html[data-theme=dark] .panel,html[data-theme=dark] .drawer,html[data-theme=dark] .modal,html[data-theme=dark] .notification-list,html[data-theme=dark] .notification-head,html[data-theme=dark] .notification-item,html[data-theme=dark] .connection-card{background:#1b293b;color:#e7edf7;border-color:#34475e}html[data-theme=dark] .login-visual{background:linear-gradient(145deg,#0a1423,#1b355b)}html[data-theme=dark] .breadcrumb strong,html[data-theme=dark] .detail-grid strong,html[data-theme=dark] .rnis-check strong,html[data-theme=dark] .empty strong,html[data-theme=dark] .connection-card code{color:#e7edf7}html[data-theme=dark] .page-head p,html[data-theme=dark] .panel-title span,html[data-theme=dark] .metric span,html[data-theme=dark] .breadcrumb,html[data-theme=dark] .login-card p,html[data-theme=dark] .login-card small,html[data-theme=dark] .detail-grid span,html[data-theme=dark] .doc-card div span,html[data-theme=dark] .rnis-check time,html[data-theme=dark] .rnis-check span,html[data-theme=dark] .notification-item time,html[data-theme=dark] .connection-card p{color:#aabbd1}html[data-theme=dark] .icon-btn,html[data-theme=dark] .secondary,html[data-theme=dark] .head-actions select,html[data-theme=dark] .filters select,html[data-theme=dark] .search,html[data-theme=dark] .search input,html[data-theme=dark] .modal input,html[data-theme=dark] .modal select,html[data-theme=dark] .login-card input{background:#233449;color:#e7edf7;border-color:#41536a}html[data-theme=dark] input::placeholder{color:#91a4bd}html[data-theme=dark] .modal label,html[data-theme=dark] .login-card label{color:#c0cee0}html[data-theme=dark] thead,html[data-theme=dark] .tabs button{background:#223247;color:#b8c9dd}html[data-theme=dark] th,html[data-theme=dark] td,html[data-theme=dark] .settings-row,html[data-theme=dark] .doc-card,html[data-theme=dark] .drawer-top,html[data-theme=dark] .modal-head,html[data-theme=dark] .modal-foot,html[data-theme=dark] .rnis-check,html[data-theme=dark] .notification-item{border-color:#34475e}html[data-theme=dark] th,html[data-theme=dark] td{color:#c8d5e6}html[data-theme=dark] tbody tr:hover,html[data-theme=dark] .notification-item.unread{background:#263c59}html[data-theme=dark] .plate{color:#a9c7ff}html[data-theme=dark] .muted,html[data-theme=dark] .empty,html[data-theme=dark] .settings-row strong{color:#a6b8ce}html[data-theme=dark] .tabs button.selected,html[data-theme=dark] .small-add,html[data-theme=dark] .sorted-column{background:#294569;color:#a9c8ff}html[data-theme=dark] .sort-button:hover,html[data-theme=dark] .sort-button:focus-visible{background:#294569;color:#c4d9ff}html[data-theme=dark] .rnis-history,html[data-theme=dark] .import-result,html[data-theme=dark] .import-counts>div{background:#203149;border-color:#3b506b;color:#c5d8f1}html[data-theme=dark] .import-counts strong{color:#d8e9ff}html[data-theme=dark] .notification-list>p{color:#aabbd1}html[data-theme=dark] .connection-card code{background:#2c405a}html[data-theme=dark] .tag.good,html[data-theme=dark] .mini-dot.good,html[data-theme=dark] .success,html[data-theme=dark] .local-pill{background:#173b36;color:#8fe0bd;border-color:#326452}html[data-theme=dark] .tag.bad,html[data-theme=dark] .mini-dot.bad,html[data-theme=dark] .alert,html[data-theme=dark] .danger-btn{background:#4b2a35;color:#ffabb6}html[data-theme=dark] .tag.warn,html[data-theme=dark] .mini-dot.warn{background:#483924;color:#f5c786}html[data-theme=dark] .tag.blue,html[data-theme=dark] .mini-dot.blue,html[data-theme=dark] .metric-icon.blue{background:#294365;color:#a9c8ff}html[data-theme=dark] .metric-icon.green{background:#173b36;color:#8fe0bd}html[data-theme=dark] .metric-icon.orange{background:#483924;color:#f5c786}html[data-theme=dark] .metric-icon.red{background:#4b2a35;color:#ffabb6}html[data-theme=dark] .telematics-off-icon{color:#ffabb6}html[data-theme=dark] .telematics-off-icon:after{box-shadow:0 0 0 1px #4b2a35}@media(max-width:760px){.topbar{gap:8px}.breadcrumb{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.top-right{flex:none}}
