:root{--black:#121212;--black-soft:#1f1f1f;--graphite:#343434;--grey-900:#454545;--grey-700:#666;--grey-500:#8a8a8a;--grey-300:#c9c9c9;--grey-200:#ddd;--grey-100:#eee;--grey-050:#f6f6f6;--white:#fff;--ink:#161616;--muted:#737373;--line:#dedede;--bg:#f4f4f4;--card:#fff;--green:#23885d;--amber:#a36b00;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0}body{min-height:100vh}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.portal{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:30;background:linear-gradient(#141414,#242424);border-right:1px solid #2e2e2e;flex-direction:column;width:260px;padding:18px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand-logo-wrap{padding:5px 7px 22px;display:block}.sidebar-logo{object-fit:contain;object-position:center;background:#fff;border-radius:10px;width:100%;height:auto;max-height:92px;padding:7px}.brand-logo-wrap>span{text-align:center;color:#c6c6c6;letter-spacing:.04em;margin-top:9px;font-size:11px;display:block}.sidebar nav{gap:5px;display:grid}.sidebar nav a{color:#d4d4d4;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:11px 12px;font-size:14px;font-weight:600;display:flex}.sidebar nav a:hover{color:#fff;background:#2c2c2c}.sidebar nav a.active{color:#151515;background:#fff;border-color:#fff}.sidebar nav a span{text-align:center;width:22px}.sidebar-footer{border-top:1px solid #3d3d3d;margin-top:auto;padding:16px 8px 4px}.sidebar-footer strong{overflow-wrap:anywhere;margin:8px 0;font-size:12px;display:block}.sidebar-footer button{color:#bdbdbd;cursor:pointer;background:0 0;border:0;padding:0}.role-pill{color:#e5e5e5;border:1px solid #5a5a5a;border-radius:99px;padding:3px 7px;font-size:10px;display:inline-flex}.main{width:calc(100% - 260px);min-height:100vh;margin-left:260px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#fffffff0;align-items:center;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.topbar>div:first-of-type strong{color:#191919;font-size:14px;display:block}.topbar>div:first-of-type span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.sync-indicator{color:var(--muted);align-items:center;gap:7px;margin-left:auto;font-size:12px;display:flex}.sync-indicator i{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #23885d1f}.menu-button{cursor:pointer;background:0 0;border:0;margin-right:12px;font-size:24px;display:none}.content{max-width:1500px;margin:0 auto;padding:28px}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.03em;margin:0;font-size:clamp(25px,3vw,34px)}.page-head p{color:var(--muted);margin:6px 0 0}.last-sync,.count-pill{color:#555;border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:99px;padding:8px 11px;font-size:12px}.count-pill{color:#202020;font-weight:700}.card,.table-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 22px #0000000a}.card{padding:20px}.card h2{margin:0;font-size:16px}.card p{color:var(--muted)}.card-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px;display:flex}.card-head p{margin:4px 0 0;font-size:12px}.card-head a{color:#333;font-size:12px;font-weight:700;text-decoration:underline}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.kpis article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.kpis span{color:var(--muted);font-size:12px;display:block}.kpis strong{color:#191919;margin:8px 0 3px;font-size:34px;display:block}.kpis small{color:var(--muted)}.two-cols{grid-template-columns:1.05fr .95fr;gap:16px;display:grid}.bars{gap:12px;display:grid}.bar-row{grid-template-columns:110px 1fr 28px;align-items:center;gap:10px;font-size:12px;display:grid}.bar-row>div{background:#ececec;border-radius:99px;height:7px;overflow:hidden}.bar-row i{border-radius:inherit;background:linear-gradient(90deg,#252525,#8a8a8a);height:100%;display:block}.bar-row strong{text-align:right}.mini-list{gap:4px;display:grid}.mini-list>a{border-bottom:1px solid #eee;justify-content:space-between;gap:10px;padding:11px 7px;display:flex}.mini-list strong,.mini-list span{display:block}.mini-list strong{font-size:12px}.mini-list span{color:var(--muted);margin-top:3px;font-size:10px}.days-badge{color:#252525;background:#ededed;border-radius:99px;justify-content:center;align-items:center;min-width:52px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.days-badge.warn{color:var(--amber);background:#f4e9d0}.toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:flex}.search{flex:1;gap:8px;display:flex}.search input,.toolbar select,.login-card input,.admin-form input,.admin-form select,.inline-select{color:#161616;background:#fff;border:1px solid #cfcfcf;border-radius:8px;min-height:42px}.search input{flex:1;padding:0 12px}.search button{color:#fff;cursor:pointer;background:#1b1b1b;border:0;border-radius:8px;padding:0 16px}.toolbar select{color:var(--ink);padding:0 10px}.table-card{overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}th{text-align:left;color:#777;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);background:#f7f7f7;padding:12px 14px;font-size:10px}td{vertical-align:middle;border-bottom:1px solid #eee;padding:12px 14px;font-size:12px}td strong,td span{display:block}td span{color:var(--muted);margin-top:3px}tr:last-child td{border-bottom:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.detail-link{color:#222;white-space:nowrap;font-weight:700;text-decoration:underline}.empty{text-align:center;color:var(--muted);padding:40px}.loading-line{text-align:center;color:var(--muted);padding:12px;font-size:12px}.report-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.report-card{flex-direction:column;min-height:220px;display:flex}.report-card h2{margin-top:12px}.report-card p{flex:1;font-size:12px;line-height:1.5}.report-icon{color:#222;background:#ededed;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.info-panel p{margin-bottom:0;line-height:1.6}.primary-button{color:#fff;cursor:pointer;background:#191919;border:0;border-radius:8px;padding:11px 14px;font-weight:700}.primary-button:hover{background:#333}.primary-button:disabled{opacity:.55}.error-box{color:#a82b2b;background:#fff0f0;border:1px solid #f0c3c3;border-radius:9px;margin:10px 0;padding:11px 13px;font-size:12px}.success-box{color:#176a49;background:#edf8f2;border:1px solid #c7e8d6;border-radius:9px;margin:10px 0;padding:11px 13px;font-size:12px}.detail-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.details{grid-template-columns:1fr 1fr;gap:0;margin:14px 0 0;display:grid}.details div{border-bottom:1px solid #eee;padding:11px 0}.details div:nth-last-child(-n+2){border-bottom:0}.details dt{color:var(--muted);text-transform:uppercase;font-size:10px}.details dd{margin:5px 0 0;font-size:13px;font-weight:650}.status-pill{border-radius:99px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.green{color:#087747;background:#e5f6ef}.status-pill.grey{color:#555;background:#ececec}.back-link{color:#333;margin-bottom:10px;font-size:12px;font-weight:700;text-decoration:underline;display:inline-block}.timeline{margin-top:16px}.timeline>div{grid-template-columns:18px 1fr;gap:10px;padding:10px 0;display:grid}.timeline i{background:#333;border-radius:50%;width:10px;height:10px;margin-top:4px}.timeline i.out{background:#999}.timeline strong,.timeline span{display:block}.timeline strong{font-size:12px}.timeline span{color:var(--muted);margin-top:3px;font-size:11px}.timeline p{margin:5px 0 0;font-size:11px}.login-screen{background:radial-gradient(circle at 20% 10%,#fff,#0000 38%),linear-gradient(145deg,#f7f7f7,#dedede);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #d7d7d7;border-radius:18px;width:min(440px,100%);padding:30px;box-shadow:0 20px 60px #0000001f}.login-logo-panel{border-bottom:1px solid #eee;justify-content:center;padding-bottom:18px;display:flex}.login-official-logo{object-fit:contain;max-width:100%;height:auto}.login-copy{margin:24px 0 20px}.login-copy h1,.login-copy h2{color:#171717;margin:0;font-size:24px}.login-copy p{color:var(--muted);font-size:13px;line-height:1.5}.login-card form{gap:13px;display:grid}.login-card label,.admin-form label{font-size:12px;font-weight:700}.login-card input,.admin-form input,.admin-form select{width:100%;margin-top:6px;padding:0 11px;display:block}.login-card small{color:var(--muted);text-align:center;margin-top:18px;display:block}.text-button{color:#333;cursor:pointer;text-align:center;background:0 0;border:0;padding:8px 4px;font-weight:700;text-decoration:underline}.text-button:disabled{opacity:.55;cursor:default}.info-box{color:#444;background:#f3f3f3;border:1px solid #d7d7d7;border-radius:9px;padding:14px;font-size:13px;line-height:1.5}.info-box small{color:#777}.admin-user-layout{grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px;display:grid}.section-help{margin-bottom:18px;font-size:12px;line-height:1.5}.admin-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-form .primary-button{grid-column:1/-1}.roles-card{color:#fff;background:#222;border-color:#222}.roles-card h2{color:#fff}.roles-card p{color:#ccc}.role-explanation{gap:0;margin-top:12px;display:grid}.role-explanation>div{border-bottom:1px solid #424242;padding:12px 0}.role-explanation>div:last-child{border-bottom:0}.role-explanation strong{font-size:12px;display:block}.role-explanation span{color:#c6c6c6;margin-top:3px;font-size:11px;line-height:1.5;display:block}.inline-select{min-height:34px;padding:0 8px}.status-toggle{cursor:pointer;border:0;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:800}.status-toggle.active{color:#176a49;background:#e5f6ef}.status-toggle.inactive{color:#555;background:#ececec}.center-screen{min-height:100vh;color:var(--muted);align-content:center;place-items:center;gap:12px;display:grid}.loader{border:3px solid #d8d8d8;border-top-color:#222;border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.install-button{z-index:50;color:#fff;cursor:pointer;background:#181818;border:0;border-radius:99px;padding:10px 14px;font-size:12px;font-weight:700;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 25px #00000040}.overlay{display:none}@media (max-width:1050px){.kpis,.report-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.admin-user-layout{grid-template-columns:1fr}}@media (max-width:820px){.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main{width:100%;margin-left:0}.menu-button{display:block}.overlay{z-index:25;background:#0808086b;border:0;display:block;position:fixed;inset:0}.content{padding:18px}.two-cols,.detail-grid{grid-template-columns:1fr}.topbar{padding:0 16px}}@media (max-width:600px){.page-head{flex-direction:column;align-items:flex-start}.kpis,.report-grid{grid-template-columns:1fr 1fr}.kpis strong{font-size:28px}.toolbar{flex-direction:column;align-items:stretch}.search{width:100%}.details{grid-template-columns:1fr}.details div:nth-last-child(-n+2){border-bottom:1px solid #eee}.details div:last-child{border-bottom:0}.sync-indicator{font-size:0}.admin-form{grid-template-columns:1fr}}@media (max-width:430px){.kpis,.report-grid{grid-template-columns:1fr}.login-card{padding:22px}}@media (max-width:600px){.vehicle-hero-metrics,.report-actions{grid-template-columns:1fr}}.vehicle-brand-card{grid-template-columns:130px minmax(240px,.9fr) 1.5fr;align-items:center;gap:22px;margin-bottom:16px;padding:18px 20px;display:grid}.vehicle-brand-logo-box{background:#f3f3f3;border:1px solid #dedede;border-radius:14px;place-items:center;width:112px;height:88px;display:grid;overflow:hidden}.vehicle-brand-logo{object-fit:contain;width:auto;max-width:72px;height:auto;max-height:58px}.vehicle-brand-fallback{color:#fff;letter-spacing:.05em;background:#1b1b1b;border-radius:50%;place-items:center;width:64px;height:64px;font-size:15px;font-weight:900;display:grid}.vehicle-brand-copy{min-width:0}.vehicle-brand-copy h2{margin:4px 0 2px;font-size:26px}.vehicle-brand-copy h3{color:#555;margin:0 0 7px;font-size:16px;font-weight:600}.vehicle-brand-copy p{color:#777;overflow-wrap:anywhere;margin:0}.vehicle-brand-metrics{grid-template-columns:.75fr .7fr 1.55fr;gap:10px;display:grid}.vehicle-brand-metrics>div{background:#f8f8f8;border:1px solid #dedede;border-radius:10px;min-width:0;padding:11px}.vehicle-brand-metrics span{color:#888;text-transform:uppercase;margin-bottom:5px;font-size:9px;display:block}.vehicle-brand-metrics strong{overflow-wrap:anywhere;font-size:12px;display:block}@media (max-width:950px){.vehicle-brand-card{grid-template-columns:110px 1fr}.vehicle-brand-metrics{grid-column:1/-1}}@media (max-width:620px){.vehicle-brand-card{grid-template-columns:82px 1fr;gap:14px;padding:14px}.vehicle-brand-logo-box{width:76px;height:68px}.vehicle-brand-logo{max-width:52px;max-height:45px}.vehicle-brand-metrics{grid-template-columns:1fr}}
