@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#07111f;--surface:#0d1a2b;--surface-2:#122239;--surface-3:#172b46;--text:#f4f8ff;--muted:#91a4bd;--line:rgba(255,255,255,.09);--primary:#3ee6b1;--primary-2:#2acfa0;--danger:#ff637d;--warning:#ffbe55;--info:#5e8cff;--shadow:0 24px 80px rgba(0,0,0,.32);--radius:20px}
html[data-theme=light]{--bg:#f3f7fb;--surface:#fff;--surface-2:#f8fbfe;--surface-3:#edf3f8;--text:#102033;--muted:#617186;--line:rgba(13,35,61,.1);--shadow:0 24px 60px rgba(40,64,90,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}.muted{color:var(--muted)}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#62a7ff);color:#04131c;font-size:13px;box-shadow:0 10px 30px rgba(62,230,177,.2)}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 5vw;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.site-header nav{display:flex;gap:28px;color:var(--muted);font-size:14px}.site-header nav a:hover{color:var(--text)}.header-actions,.hero-actions,.top-actions{display:flex;align-items:center;gap:10px}
.btn{border:0;border-radius:12px;padding:11px 17px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.btn-primary{background:var(--primary);color:#052017}.btn-primary:hover{background:var(--primary-2);transform:translateY(-1px)}.btn-ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.btn-light{background:#fff;color:#122033}.btn-large{padding:14px 22px;border-radius:14px}.btn-block{width:100%}.btn:disabled{opacity:.48;cursor:not-allowed}.icon-button{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer}
.hero{max-width:1480px;margin:auto;min-height:710px;padding:90px 5vw 70px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--primary);font-weight:800;font-size:12px}.hero h1{font-size:clamp(45px,5.5vw,78px);line-height:1.03;letter-spacing:-.055em;margin:20px 0 25px;max-width:850px}.hero-copy>p{font-size:18px;color:var(--muted);max-width:720px}.trust-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-row span,.chip-list span{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:8px 12px;font-size:12px;color:var(--muted)}
.hero-visual{height:560px;border-radius:32px;border:1px solid var(--line);background:linear-gradient(135deg,var(--surface),var(--surface-2));position:relative;overflow:hidden;box-shadow:var(--shadow)}.map-grid,.dashboard-map .map-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;transform:perspective(700px) rotateX(53deg) scale(1.45);opacity:.7}.hero-visual:before{content:'';position:absolute;width:380px;height:380px;border:80px solid rgba(62,230,177,.08);border-radius:50%;left:15%;top:8%}.vehicle-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--primary);border:4px solid var(--surface);box-shadow:0 0 0 8px rgba(62,230,177,.15)}.v1{left:35%;top:42%}.v2{right:24%;top:29%}.v3{right:36%;bottom:22%}.floating-card{position:absolute;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:17px;backdrop-filter:blur(12px)}.fleet-card{left:28px;bottom:28px;right:28px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.mini-stats span{padding:10px;background:var(--surface-2);border-radius:10px;color:var(--muted);font-size:12px}.mini-stats b{display:block;color:var(--text);font-size:18px}.alert-card{right:25px;top:25px;display:flex;gap:11px;align-items:center}.alert-card small{display:block;color:var(--muted)}.status-dot,.system-pill span{width:10px;height:10px;background:var(--danger);border-radius:50%;box-shadow:0 0 0 5px rgba(255,99,125,.15)}
.metrics{border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:0 5vw}.metrics article{padding:30px;border-right:1px solid var(--line);display:flex;flex-direction:column}.metrics article:last-child{border:0}.metrics b{font-size:26px}.metrics span{font-size:13px;color:var(--muted)}
.section{max-width:1480px;margin:auto;padding:100px 5vw}.section-heading{max-width:720px;margin-bottom:45px}.section h2{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.045em;margin:13px 0}.section p{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-height:230px;transition:.2s}.feature-card:hover{transform:translateY(-5px);border-color:rgba(62,230,177,.35)}.feature-icon{width:42px;height:42px;border-radius:12px;background:rgba(62,230,177,.11);color:var(--primary);display:grid;place-items:center}.feature-card h3{margin-top:32px}.feature-card p{font-size:14px}.device-section{display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:center}.chip-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.protocol-diagram{height:440px;border-radius:50%;border:1px solid var(--line);position:relative;display:grid;place-items:center;background:radial-gradient(circle,rgba(62,230,177,.14),transparent 60%)}.diagram-center{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#041b13;font-weight:800}.node{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 18px;font-weight:700}.n1{top:5%;left:42%}.n2{right:2%;top:35%}.n3{right:18%;bottom:6%}.n4{left:15%;bottom:8%}.n5{left:0;top:38%}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.industry-grid article{border:1px solid var(--line);background:var(--surface);padding:21px;border-radius:14px;display:flex;justify-content:space-between;font-weight:700}.industry-grid span{color:var(--primary)}.platform-band{max-width:1380px;border-radius:32px;background:linear-gradient(135deg,#148b6d,#216fa4);color:white;display:flex;justify-content:space-between;align-items:center;padding:65px}.platform-band p{color:rgba(255,255,255,.8);max-width:760px}.demo-section{display:grid;grid-template-columns:1fr 1fr;gap:80px}.demo-form{background:var(--surface);border:1px solid var(--line);padding:28px;border-radius:var(--radius);display:grid;gap:13px}.demo-form input,label input{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:12px;padding:13px 14px;outline:none}.demo-form input:focus,label input:focus{border-color:var(--primary)}footer{border-top:1px solid var(--line);padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}
.installer-page,.login-page{min-height:100vh;background:radial-gradient(circle at top left,rgba(62,230,177,.13),transparent 32%),var(--bg)}.installer-shell{padding:50px 20px;display:grid;place-items:center;min-height:100vh}.installer-card{width:min(780px,100%);background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:36px;box-shadow:var(--shadow)}.installer-card h1{font-size:38px;letter-spacing:-.04em}.installer-card h3{margin:27px 0 10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:7px;font-size:13px;font-weight:700;margin-bottom:14px}.alert{padding:13px 15px;border-radius:12px;margin:15px 0;font-size:14px}.alert-danger{background:rgba(255,99,125,.13);border:1px solid rgba(255,99,125,.3);color:#ff9bae}.alert-success{background:rgba(62,230,177,.12);border:1px solid rgba(62,230,177,.3);color:var(--primary)}.alert-info{background:rgba(94,140,255,.12);border:1px solid rgba(94,140,255,.3);color:#8eb0ff}.security-note{text-align:center;color:var(--muted);font-size:13px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-visual{padding:55px 7vw;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(13,26,43,.5),rgba(6,81,74,.28));border-right:1px solid var(--line)}.login-visual h1{font-size:clamp(42px,5vw,76px);line-height:1.02;letter-spacing:-.055em;max-width:780px}.login-visual p{color:var(--muted);font-size:18px;max-width:650px}.login-stats{display:flex;gap:13px;flex-wrap:wrap}.login-stats span{background:var(--surface);border:1px solid var(--line);padding:12px;border-radius:12px;color:var(--muted);font-size:12px}.login-stats b{color:var(--text)}.login-card{display:flex;flex-direction:column;justify-content:center;padding:8vw;max-width:670px}.login-card h2{font-size:38px;letter-spacing:-.04em;margin-bottom:0}.password-wrap{display:flex;position:relative}.password-wrap button{position:absolute;right:9px;top:9px;border:0;background:transparent;color:var(--primary);font-weight:700;cursor:pointer}.back-link{color:var(--muted);margin-top:22px;font-size:13px}.mobile-brand{display:none}
.dashboard-body{overflow-x:hidden}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--surface);border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;z-index:80;overflow-y:auto}.sidebar>.brand{padding:0 10px 22px}.side-nav{display:grid;gap:4px}.side-nav a,.sidebar-footer a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;color:var(--muted);font-size:13px}.side-nav a:hover,.side-nav a.active{background:var(--surface-3);color:var(--text)}.side-nav a.active span{color:var(--primary)}.side-nav small{margin-left:auto;font-size:9px;border:1px solid var(--line);padding:2px 5px;border-radius:5px}.sidebar-footer{margin-top:auto}.app-main{grid-column:2}.app-topbar{height:82px;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:15px}.app-topbar h1{font-size:19px;margin:0}.app-topbar small{color:var(--muted)}.app-topbar .top-actions{margin-left:auto}.user-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:6px 10px 6px 6px;border-radius:13px;background:var(--surface)}.user-chip>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--primary);color:#062017;font-weight:800}.user-chip b,.user-chip small{display:block;font-size:11px}.app-content{padding:26px;max-width:1700px;margin:auto}.welcome-panel{background:linear-gradient(110deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.welcome-panel h2{font-size:30px;letter-spacing:-.04em;margin:7px 0}.welcome-panel p{color:var(--muted);margin:0}.system-pill{padding:10px 13px;border:1px solid var(--line);border-radius:999px;font-size:12px;display:flex;align-items:center;gap:9px}.system-pill span{background:var(--primary);box-shadow:0 0 0 5px rgba(62,230,177,.12)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.metric-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:20px;display:flex;gap:15px}.metric-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--surface-3);color:var(--primary)}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span,.metric-card small{color:var(--muted);font-size:11px}.metric-card strong{font-size:28px;margin:3px 0}.content-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:20px;margin-bottom:14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-heading h3{margin:0}.panel-heading p{margin:3px 0 0;color:var(--muted);font-size:12px}.badge{font-size:10px;border-radius:999px;padding:6px 9px}.badge-success{color:var(--primary);background:rgba(62,230,177,.12)}.status-list,.progress-list{display:grid}.status-list>div,.progress-list>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.status-list span,.progress-list span{color:var(--muted)}.roadmap{padding:0;list-style:none;display:grid;gap:12px;counter-reset:stage}.roadmap li{position:relative;padding-left:35px}.roadmap li:before{counter-increment:stage;content:counter(stage);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--surface-3);font-size:11px}.roadmap li.done:before{background:var(--primary);color:#052017}.roadmap b,.roadmap span{display:block}.roadmap span{color:var(--muted);font-size:11px}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-actions a{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:16px;font-size:13px;font-weight:700}.quick-actions span{width:31px;height:31px;background:var(--surface-3);display:grid;place-items:center;border-radius:9px;color:var(--primary);margin-bottom:18px}.quick-actions small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.empty-state{text-align:center;padding:45px 15px;border:1px dashed var(--line);border-radius:13px}.empty-state p{color:var(--muted);font-size:12px}.dashboard-map{height:360px;background:var(--surface-2);border-radius:14px;overflow:hidden;position:relative}.map-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.map-empty>span{font-size:35px;color:var(--primary)}.map-empty p{color:var(--muted);font-size:12px}.fleet-status{display:grid;gap:10px}.fleet-status>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:13px;border-radius:12px;background:var(--surface-2)}.status-color{width:10px;height:10px;border-radius:50%}.moving{background:var(--primary)}.idle{background:var(--warning)}.offline{background:var(--muted)}.critical{background:var(--danger)}
@media(max-width:1100px){.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-visual{height:450px}.feature-grid{grid-template-columns:repeat(2,1fr)}.device-section{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}
@media(max-width:760px){.site-header{padding:0 18px}.site-header .brand span:last-child,.header-actions .btn-ghost{display:none}.hero{padding:60px 20px}.hero h1{font-size:43px}.hero-visual{height:390px}.metrics{grid-template-columns:repeat(2,1fr);padding:0}.metrics article{padding:20px}.section{padding:70px 20px}.feature-grid,.industry-grid,.demo-section{grid-template-columns:1fr}.platform-band{margin:0 15px;padding:35px 25px;display:block}.platform-band .btn{margin-top:15px}.device-section{gap:30px}.protocol-diagram{height:330px}.demo-section{gap:30px}footer{display:grid;gap:12px}.grid-2{grid-template-columns:1fr}.installer-card{padding:24px}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-card{padding:35px 24px}.mobile-brand{display:flex;margin-bottom:50px}.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:none}.app-main{grid-column:auto}.app-topbar{padding:0 15px}.app-topbar>div:nth-child(2) small{display:none}.user-chip div{display:none}.app-content{padding:15px}.welcome-panel{display:block}.welcome-panel .system-pill,.welcome-panel .btn{margin-top:15px}.metric-grid{grid-template-columns:1fr 1fr}.quick-actions{grid-template-columns:1fr 1fr}.brand-label{display:inline}}
@media(max-width:460px){.metric-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.hero-actions{align-items:stretch;flex-direction:column}.header-actions .btn-primary{display:none}}
/* Phase 2 management UI */
button,input,select,textarea{font:inherit}select,textarea,label input,label select,label textarea,.table-tools input,.panel-heading>input,.filter-row input,.filter-row select{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:11px;padding:11px 12px;outline:none}select:focus,textarea:focus,input:focus{border-color:var(--primary)}textarea{min-height:92px;resize:vertical}option{background:var(--surface);color:var(--text)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:13px 12px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}.data-table td>b,.data-table td>small,.data-table td span+small,.data-table td code+small{display:block}.data-table td small{color:var(--muted);margin-top:3px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.table-tools{min-width:230px}.row-actions,.inline-form,.filter-row,.playback-actions,.segmented{display:flex;align-items:center;gap:7px}.inline-form select{min-width:110px;padding:7px 9px}.btn-small{padding:7px 10px;border-radius:9px;font-size:11px}.btn-danger{background:rgba(255,99,125,.13);color:#ff8ea2;border:1px solid rgba(255,99,125,.25)}.block-title{display:block;margin:5px 0}.side-nav a.disabled{opacity:.55;pointer-events:none}.badge-active,.badge-moving,.badge-completed,.badge-approved,.badge-acknowledged,.badge-automatic{color:var(--primary);background:rgba(62,230,177,.12)}.badge-trial,.badge-idle,.badge-warning,.badge-pending,.badge-processing,.badge-required{color:var(--warning);background:rgba(255,190,85,.13)}.badge-suspended,.badge-critical,.badge-failed,.badge-closed,.badge-cancelled,.badge-expired{color:var(--danger);background:rgba(255,99,125,.13)}.badge-offline,.badge-inactive,.badge-parked,.badge-stock,.badge-unknown,.badge-resolved,.badge-customer,.badge-reseller,.badge-vehicles,.badge-drivers,.badge-devices,.badge-sims,.badge-branches{color:var(--muted);background:var(--surface-3)}.badge-info,.badge-sent,.badge-testing,.badge-development{color:#83a7ff;background:rgba(94,140,255,.13)}.modal{position:fixed;inset:0;background:rgba(1,8,16,.72);z-index:150;display:none;place-items:center;padding:25px;backdrop-filter:blur(7px);overflow:auto}.modal.open{display:grid}.modal-card{width:min(620px,100%);max-height:calc(100vh - 50px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow);position:relative}.modal-wide{width:min(930px,100%)}.modal-close{position:absolute;right:17px;top:15px;width:35px;height:35px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);display:grid;place-items:center;font-size:21px;cursor:pointer}.modal-card h2{margin:0 0 5px}.modal-card h3{margin:22px 0 10px}.code-stack{display:grid;gap:9px}.code-stack code,.packet-code{display:block;background:#050d17;border:1px solid var(--line);padding:11px;border-radius:9px;color:#8af1d0;word-break:break-all;white-space:pre-wrap}.segmented{padding:4px;border:1px solid var(--line);background:var(--surface-2);border-radius:11px}.segmented a{padding:7px 10px;border-radius:8px;font-size:11px}.segmented a.active{background:var(--primary);color:#052017}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}.check-list li{position:relative;padding-left:27px;color:var(--muted);font-size:13px}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--primary);font-weight:800}.status-list small{display:block;color:var(--muted)}.import-actions{grid-template-columns:repeat(5,1fr)}
.live-toolbar{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px 16px;margin-bottom:12px}.live-toolbar>div:first-child b,.live-toolbar>div:first-child span{display:block}.live-toolbar>div:first-child span{font-size:11px;color:var(--muted)}.filter-row input{width:230px}.filter-row select{width:150px}.live-layout{display:grid;grid-template-columns:310px 1fr;height:calc(100vh - 180px);min-height:570px;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:var(--surface)}.vehicle-panel{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.vehicle-panel-summary{display:flex;justify-content:space-between;padding:14px;border-bottom:1px solid var(--line);font-size:12px}.live-dot{color:var(--primary)}.live-dot:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--primary);margin-right:6px;box-shadow:0 0 0 4px rgba(62,230,177,.12)}.vehicle-list{overflow:auto;padding:8px}.vehicle-list-item{width:100%;display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;text-align:left;background:transparent;color:var(--text);border:0;border-radius:10px;padding:11px;cursor:pointer}.vehicle-list-item:hover{background:var(--surface-2)}.vehicle-list-item div b,.vehicle-list-item div small,.vehicle-list-item strong small{display:block}.vehicle-list-item div small,.vehicle-list-item strong small{font-size:9px;color:var(--muted)}.live-map-panel{position:relative;min-width:0}.full-map{position:absolute;inset:0;background:#d8e1e8}.map-legend{position:absolute;z-index:500;right:12px;bottom:12px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:8px 10px;display:flex;gap:11px;font-size:9px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:8px;height:8px;border-radius:50%}.parked{background:#5e8cff}.fleet-marker-wrap{background:transparent;border:0}.fleet-marker{width:34px;height:34px;border-radius:50% 50% 50% 8px;display:grid;place-items:center;color:white;border:3px solid white;box-shadow:0 4px 14px rgba(0,0,0,.4);transform-origin:center}.fleet-marker.moving{background:#1cbf8c}.fleet-marker.idle{background:#f0a72d}.fleet-marker.parked{background:#4678e8}.fleet-marker.offline{background:#738399}.map-popup b,.map-popup small{display:block}.map-popup small{color:#67798c}.map-popup dl{display:grid;grid-template-columns:1fr 1fr;margin:10px 0;font-size:11px}.map-popup dt{color:#718294}.map-popup dd{margin:0;text-align:right}.map-popup a{color:#168f70;font-weight:700}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#132337}.history-controls label{margin-bottom:0}.history-grid{grid-template-columns:1.6fr .7fr}.history-map{height:510px;border-radius:13px;background:#d8e1e8}.history-slider{width:100%;margin-top:14px;accent-color:var(--primary)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:22px}.detail-grid>div{padding:12px;background:var(--surface-2);border-radius:11px}.detail-grid span,.detail-grid b{display:block}.detail-grid span{font-size:9px;color:var(--muted)}.detail-grid b{font-size:12px;margin-top:4px}.trip-list{display:grid;gap:8px;max-height:330px;overflow:auto}.trip-list article{background:var(--surface-2);border-radius:10px;padding:11px}.trip-list b,.trip-list span{display:block;font-size:10px}.trip-list span{color:var(--muted);margin-top:3px}
@media(max-width:1100px){.grid-4{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}.import-actions{grid-template-columns:repeat(3,1fr)}.live-layout{grid-template-columns:260px 1fr}.history-grid{grid-template-columns:1fr}}
@media(max-width:760px){.grid-3,.grid-4{grid-template-columns:1fr}.modal{padding:8px}.modal-card{max-height:calc(100vh - 16px);padding:22px}.live-toolbar{display:block}.filter-row{margin-top:12px;flex-wrap:wrap}.filter-row input,.filter-row select{width:100%;flex:1 1 45%}.live-layout{display:block;height:auto;min-height:0}.vehicle-panel{height:260px;border-right:0;border-bottom:1px solid var(--line)}.live-map-panel{height:520px}.import-actions{grid-template-columns:1fr 1fr}.panel-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.table-tools,.panel-heading>input{width:100%}}

/* Phase 3 and Phase 4 operations */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.check-option{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.check-option input{width:auto}.compact-list{display:grid;gap:9px;max-height:620px;overflow:auto}.compact-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.compact-list article>div:first-child{min-width:0}.compact-list b,.compact-list small{display:block}.compact-list small{color:var(--muted);margin-top:4px;font-size:10px}.compact-list article>div:last-child{text-align:right;flex:0 0 auto}.inspection-checklist{display:grid;gap:9px;margin:18px 0}.inspection-checklist article{display:grid;grid-template-columns:minmax(180px,1fr) 130px 130px 1.3fr;gap:9px;align-items:center;padding:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px}.inspection-checklist article input,.inspection-checklist article select{padding:8px 9px}.badge-urgent,.badge-major{color:var(--danger);background:rgba(255,99,125,.13)}.badge-high,.badge-minor,.badge-draft,.badge-unassigned,.badge-at_pickup,.badge-at_delivery{color:var(--warning);background:rgba(255,190,85,.13)}.badge-normal,.badge-assigned,.badge-accepted,.badge-en_route_pickup,.badge-in_transit,.badge-open,.badge-in_progress,.badge-submitted,.badge-expiring,.badge-investigating,.badge-whatsapp,.badge-email,.badge-sms,.badge-push,.badge-webhook,.badge-in_app,.badge-weekly,.badge-daily,.badge-monthly{color:#83a7ff;background:rgba(94,140,255,.13)}.badge-low,.badge-passed,.badge-valid,.badge-paid,.badge-waiting_parts,.badge-closed{color:var(--primary);background:rgba(62,230,177,.12)}.badge-rejected,.badge-expired,.badge-fail,.badge-failed{color:var(--danger);background:rgba(255,99,125,.13)}
.public-tracking{max-width:1380px;margin:auto;padding:48px 5vw 70px}.tracking-hero{text-align:center;padding:38px 0}.tracking-hero h1{font-size:clamp(38px,6vw,68px);letter-spacing:-.05em;margin:8px 0}.tracking-hero p{color:var(--muted);font-size:18px}.tracking-layout{display:grid;grid-template-columns:1.6fr .7fr;gap:18px}.tracking-map-card{padding:0;overflow:hidden}.public-map{height:560px;background:#d8e1e8}.tracking-live-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.tracking-live-strip>div{padding:16px;border-right:1px solid var(--line)}.tracking-live-strip>div:last-child{border-right:0}.tracking-live-strip span,.tracking-live-strip b{display:block}.tracking-live-strip span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tracking-live-strip b{font-size:12px;margin-top:5px}.tracking-route{display:grid;gap:10px;margin-bottom:25px}.tracking-route>div{padding:13px;background:var(--surface-2);border-radius:11px}.tracking-route span,.tracking-route b,.tracking-route small{display:block}.tracking-route span{color:var(--muted);font-size:9px;text-transform:uppercase}.tracking-route small{color:var(--muted);margin-top:4px}.timeline{display:grid;gap:0}.timeline article{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding-bottom:18px}.timeline article:before{content:'';position:absolute;left:5px;top:13px;bottom:0;width:1px;background:var(--line)}.timeline article:last-child:before{display:none}.timeline i{width:11px;height:11px;border-radius:50%;background:var(--primary);margin-top:4px;z-index:1}.timeline b,.timeline small{display:block}.timeline small{font-size:10px;color:var(--muted);margin-top:3px}.tracking-disclaimer{text-align:center;color:var(--muted);font-size:11px;margin-top:20px}.tracking-status{display:flex;align-items:center}.operation-quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.operation-quick-grid a{padding:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;gap:6px}.operation-quick-grid a b{font-size:13px}.operation-quick-grid a small{color:var(--muted);font-size:10px}
@media(max-width:1100px){.tracking-layout{grid-template-columns:1fr}.operation-quick-grid{grid-template-columns:repeat(3,1fr)}.inspection-checklist article{grid-template-columns:1fr 1fr}.inspection-checklist article b{grid-column:1/-1}}
@media(max-width:760px){.grid-2{grid-template-columns:1fr}.tracking-live-strip{grid-template-columns:1fr 1fr}.public-map{height:430px}.operation-quick-grid{grid-template-columns:1fr 1fr}.inspection-checklist article{grid-template-columns:1fr}.inspection-checklist article b{grid-column:auto}}
/* Phase 6 enterprise controls */
.badge-healthy,.badge-active,.badge-completed,.badge-actioned,.badge-issued,.badge-sent{color:var(--primary);background:rgba(62,230,177,.12)}
.badge-degraded,.badge-partial,.badge-past_due,.badge-queued,.badge-running,.badge-acknowledged,.badge-trial{color:var(--warning);background:rgba(255,190,85,.13)}
.badge-down,.badge-revoked,.badge-void,.badge-cancelled,.badge-locked,.badge-suspicious,.badge-critical{color:var(--danger);background:rgba(255,99,125,.13)}
.badge-unknown,.badge-inactive,.badge-expired,.badge-deleted,.badge-dismissed,.badge-archived{color:var(--muted);background:var(--surface-3)}
.badge-cost,.badge-safety,.badge-maintenance,.badge-utilisation,.badge-fuel,.badge-compliance,.badge-revenue,.badge-system,.badge-rules,.badge-ai,.badge-hybrid{color:#83a7ff;background:rgba(94,140,255,.13)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
@media(max-width:1200px){.side-nav a b{font-size:11px}.sidebar{width:245px}.app-shell{grid-template-columns:245px 1fr}}

/* Phase 7 settings center */
fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.68}fieldset:disabled .btn{pointer-events:none}.brand-logo{width:38px;height:38px;border-radius:12px;object-fit:cover;border:1px solid var(--line);background:var(--surface-2)}
.workspace-announcement{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;margin-bottom:15px;border:1px solid rgba(94,140,255,.28);background:rgba(94,140,255,.1);border-radius:13px}.workspace-announcement b,.workspace-announcement span{display:block}.workspace-announcement b{font-size:12px}.workspace-announcement span{font-size:11px;color:var(--muted);margin-top:2px}.workspace-announcement button{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}
.settings-hero{position:relative;overflow:hidden}.settings-hero:after{content:'';position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;top:-90px;background:rgba(62,230,177,.08)}.settings-health{position:relative;z-index:1;width:116px;height:116px;border-radius:50%;display:grid;place-content:center;text-align:center;border:10px solid var(--surface-3);box-shadow:inset 0 0 0 3px rgba(62,230,177,.35)}.settings-health strong{font-size:28px}.settings-health span{font-size:10px;color:var(--muted)}.settings-target{padding:14px 18px}.settings-target form{justify-content:flex-end}.settings-target label{min-width:320px}.settings-tabs{display:flex;gap:6px;overflow:auto;padding:6px;margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.settings-tabs a{flex:0 0 auto;padding:9px 13px;border-radius:10px;color:var(--muted);font-size:11px;font-weight:700}.settings-tabs a:hover{background:var(--surface-2);color:var(--text)}.settings-tabs a.active{background:var(--primary);color:#052017}.settings-search{display:flex;align-items:center;gap:13px;margin-bottom:14px}.settings-search input{max-width:430px}.settings-search small{color:var(--muted)}.settings-filter-item[hidden]{display:none!important}.settings-form{margin-bottom:14px}.settings-form h4{margin:20px 0 10px}.settings-form label{font-size:11px;color:var(--muted)}.settings-form label input,.settings-form label select,.settings-form label textarea{margin-top:6px;color:var(--text)}.settings-logo{width:58px;height:58px;border-radius:14px;object-fit:cover;border:1px solid var(--line)}.form-hint{font-size:11px;color:var(--muted)}.setup-checklist{display:grid;gap:8px}.setup-checklist a{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.setup-checklist b,.setup-checklist small{display:block}.setup-checklist small{font-size:10px;color:var(--muted)}.setup-check{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface-3);color:var(--muted)}.setup-check.done{background:rgba(62,230,177,.14);color:var(--primary)}.settings-quick{grid-template-columns:repeat(5,1fr)}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0}.check-row{display:flex!important;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--line);background:var(--surface-2);border-radius:11px;color:var(--text)!important}.check-row input{width:auto!important;margin:0!important}.feature-toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.feature-toggle{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;cursor:pointer}.feature-toggle input{width:auto!important;margin:4px 0 0!important}.feature-toggle b,.feature-toggle small{display:block}.feature-toggle b{color:var(--text);font-size:12px}.feature-toggle small{font-size:9px;color:var(--muted);margin-top:3px}
.settings-integration-grid{display:grid;grid-template-columns:minmax(210px,.35fr) minmax(0,1fr);gap:14px;align-items:start}.integration-summary{display:flex;gap:13px;position:sticky;top:96px}.integration-summary h3{margin:0 0 4px}.integration-summary p{font-size:10px;color:var(--muted);margin:0 0 10px}.integration-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:var(--surface-3);color:var(--primary);font-size:12px;font-weight:800}.integration-test{grid-column:2;display:flex;gap:9px;margin-top:-10px;margin-bottom:18px}.integration-test input{flex:1;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:11px;padding:11px 12px}.theme-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.theme-choice{padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);cursor:pointer}.theme-choice input{width:auto!important}.theme-choice b{display:block;margin-top:8px;color:var(--text)}.theme-preview{display:block;height:70px;border-radius:9px;margin-top:8px;border:1px solid var(--line);background:linear-gradient(135deg,#07111f 50%,#122239 50%)}.theme-light{background:linear-gradient(135deg,#fff 50%,#edf3f8 50%)}.theme-system{background:linear-gradient(135deg,#07111f 0 50%,#fff 50%)}.settings-import{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.settings-import fieldset{display:grid;gap:10px}.danger-zone{border-color:rgba(255,99,125,.28)}.badge-untested,.badge-updated,.badge-reset_defaults{color:var(--muted);background:var(--surface-3)}.badge-success{color:var(--primary);background:rgba(62,230,177,.12)}.badge-error{color:var(--danger);background:rgba(255,99,125,.13)}
.sidebar-compact .sidebar{width:86px}.sidebar-compact .app-shell{grid-template-columns:86px 1fr}.sidebar-compact .brand-label,.sidebar-compact .side-nav b,.sidebar-compact .sidebar-footer b{display:none}.sidebar-compact .sidebar>.brand,.sidebar-compact .side-nav a,.sidebar-compact .sidebar-footer a{justify-content:center}.density-compact .app-content{padding:17px}.density-compact .panel{padding:15px}.density-compact .data-table td{padding:8px 10px}.density-compact .metric-card{padding:14px}
@media(max-width:1150px){.settings-quick{grid-template-columns:repeat(3,1fr)}.feature-toggle-grid{grid-template-columns:repeat(2,1fr)}.settings-integration-grid{grid-template-columns:1fr}.integration-summary{position:static}.integration-test{grid-column:auto;margin-top:-8px}}
@media(max-width:760px){.settings-health{margin-top:18px}.settings-target label{min-width:0;width:100%}.settings-search{display:block}.settings-search input{max-width:none}.settings-search small{display:block;margin-top:6px}.settings-quick,.feature-toggle-grid,.theme-choice-grid,.check-grid{grid-template-columns:1fr}.integration-test{display:grid}.sidebar-compact .sidebar{width:260px}.sidebar-compact .brand-label,.sidebar-compact .side-nav b,.sidebar-compact .sidebar-footer b{display:block}.sidebar-compact .sidebar>.brand,.sidebar-compact .side-nav a,.sidebar-compact .sidebar-footer a{justify-content:flex-start}}

/* Phase 8 advanced settings workspace */
.settings-shell{display:grid;grid-template-columns:245px minmax(0,1fr);gap:16px;align-items:start}.settings-sidebar{position:sticky;top:88px;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:10px;max-height:calc(100vh - 105px);overflow:auto}.settings-sidebar-title{padding:9px 10px 12px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.settings-sidebar nav{display:grid;gap:3px}.settings-sidebar a{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:10px 11px;border-radius:10px;color:var(--muted);font-size:11px}.settings-sidebar a span{font-size:13px;text-align:center}.settings-sidebar a b{font-weight:700}.settings-sidebar a small{font-size:9px}.settings-sidebar a:hover{background:var(--surface-2);color:var(--text)}.settings-sidebar a.active{background:rgba(62,230,177,.13);color:var(--primary)}.settings-main{min-width:0}.settings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 2px 14px}.settings-toolbar h2{margin:0;font-size:23px}.settings-toolbar p{margin:3px 0 0;color:var(--muted);font-size:11px}.settings-toolbar .settings-search{margin:0;min-width:300px;justify-content:flex-end}.settings-search span{font-size:10px;color:var(--muted);white-space:nowrap}.settings-savebar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.settings-savebar span{color:var(--muted);font-size:10px}.settings-form output{display:block;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text)}
.searchable-select{position:relative;margin-top:6px}.searchable-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.searchable-select-trigger{width:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.searchable-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-trigger i{font-style:normal;color:var(--muted)}.searchable-select-trigger:focus{outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:1px}.searchable-select-trigger:disabled{opacity:.55;cursor:not-allowed}.searchable-select-popover{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 6px);padding:8px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}.searchable-select.open .searchable-select-trigger{border-color:color-mix(in srgb,var(--primary) 60%,var(--line))}.searchable-select-search{width:100%;margin:0 0 7px!important;padding:10px 11px!important}.searchable-select-options{display:grid;gap:2px;max-height:280px;overflow:auto}.searchable-select-options.empty:after{content:'No matching options';padding:18px;text-align:center;color:var(--muted);font-size:11px}.searchable-select-option{width:100%;border:0;border-radius:8px;padding:9px 10px;background:transparent;color:var(--text);text-align:left;font-size:11px;cursor:pointer}.searchable-select-option:hover,.searchable-select-option.selected{background:var(--surface-2)}.searchable-select-option.selected{color:var(--primary);font-weight:700}
.brand-preview{display:grid;grid-template-columns:38px 38px 38px 1fr;align-items:center;gap:8px;padding:15px;margin-bottom:18px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.brand-preview span{height:38px;border-radius:10px;background:var(--preview-primary)}.brand-preview span:nth-child(2){background:var(--preview-secondary)}.brand-preview span:nth-child(3){background:var(--preview-accent)}.brand-preview b{padding-left:6px}.preset-create{padding-bottom:17px;border-bottom:1px solid var(--line)}.preset-list{display:grid;gap:8px;margin-top:14px}.preset-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.preset-list article b,.preset-list article small{display:block}.preset-list article small{color:var(--muted);font-size:9px;margin-top:3px}.preset-list article>div:last-child{display:flex;gap:7px}.preset-list form{margin:0}.settings-main .panel>h4{margin:20px 0 8px}.settings-form small{display:block;margin-top:4px;color:var(--muted);font-size:9px}
@media(max-width:1180px){.settings-shell{grid-template-columns:200px minmax(0,1fr)}.settings-toolbar{align-items:flex-start}.settings-toolbar .settings-search{min-width:240px}.settings-sidebar a{grid-template-columns:22px 1fr}.settings-sidebar a small{display:none}}
@media(max-width:900px){.settings-shell{grid-template-columns:1fr}.settings-sidebar{position:static;max-height:none;overflow:visible}.settings-sidebar-title{display:none}.settings-sidebar nav{display:flex;overflow:auto;padding-bottom:2px}.settings-sidebar a{flex:0 0 auto;grid-template-columns:20px auto;padding:9px 12px}.settings-sidebar a small{display:none}.settings-toolbar{display:block}.settings-toolbar .settings-search{margin-top:10px;min-width:0;justify-content:flex-start}.settings-toolbar .settings-search input{max-width:none}.settings-savebar{bottom:7px}}
@media(max-width:620px){.settings-toolbar .settings-search{display:grid}.settings-savebar{display:grid}.preset-list article{align-items:flex-start}.preset-list article>div:last-child{display:grid}.brand-preview{grid-template-columns:repeat(3,38px)}.brand-preview b{grid-column:1/-1;padding:5px 0 0}}
