:root{--blue:#0969e8;--nav:#102a43;--ink:#10213a;--muted:#68758a;--bg:#f4f7fb;--line:#e1e7ef;--red:#e83b42;--orange:#ef9200;--green:#089653;--purple:#6542ce}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(145deg,#142e48,#092238);color:white;padding:18px 12px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;color:white;font-size:17px;padding:0 10px 22px}.brand>span{font-size:28px}.brand small{display:block;font-size:12px;font-weight:400;color:#b8c7d6}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#f1f6fb;padding:12px 14px;border-radius:8px;font-weight:650}.sidebar nav a:hover{background:#ffffff18}.sidebar form{margin-top:auto}.nav-logout{background:none;color:#d6e2ee;border:0;padding:12px;font:inherit}.topbar{position:fixed;top:0;left:230px;right:0;height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;z-index:4}.mobile-brand{color:var(--ink);font-size:18px}.user-chip{font-weight:600}main{margin-left:230px;padding:84px 24px 70px;max-width:1700px}.page-head,.section-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.page-head{margin-bottom:18px}.page-head h1{font-size:25px;margin:0}.page-head p{margin:3px 0;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 4px 15px #14345a0c;margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}.stat{display:flex;align-items:center;gap:16px;min-height:98px}.stat i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#eaf3ff;font-size:26px;font-style:normal}.stat>span{color:#344056}.stat b{display:block;font-size:30px;color:var(--ink);line-height:1.15;margin-top:4px}.stat b small{font-size:13px}.stat.danger i,.stat.danger b{color:var(--red);background:#fff0f0}.stat.warn i,.stat.warn b{color:var(--orange);background:#fff7e8}.stat.good i,.stat.good b{color:var(--green);background:#eaf8f0}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qa{color:white;padding:10px 20px;border-radius:7px;font-weight:700;text-align:center}.qa.oil{background:var(--blue)}.qa.tire{background:var(--green)}.qa.buy{background:var(--purple)}.dashboard-grid{display:grid;grid-template-columns:2.1fr 1fr;gap:16px}.recent{grid-column:1}.alerts{grid-column:2}.section-head h2,h2{font-size:17px;margin:0 0 12px}.section-head h2{margin:0}.status-tabs{display:flex;gap:10px;margin:13px 0}.status-tabs span{border:1px solid #b9d2f6;color:var(--blue);padding:5px 13px;border-radius:8px}.status-tabs .red{color:var(--red);border-color:#fac4c6}.status-tabs .orange{color:var(--orange);border-color:#f8d99f}.status-tabs .green{color:var(--green);border-color:#b8e2ca}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#536077;font-size:12px}td small,td a small{display:block;color:var(--muted)}.badge{display:inline-block;padding:3px 10px;border-radius:6px;background:#edf1f6;font-size:12px;font-weight:700}.badge.overdue{background:#ffe8e8;color:#d8242d}.badge.due_soon{background:#fff2d8;color:#d97b00}.badge.normal{background:#e2f5e9;color:#078448}.tire-dots{display:flex;gap:14px}.dot{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:800;border:1px solid}.dot.normal{color:var(--green);background:#eaf8f0}.dot.due_soon{color:var(--orange);background:#fff7e8}.dot.overdue{color:var(--red);background:#fff0f0}.more{display:block;text-align:center;padding-top:12px}.stock-card h3{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:7px}.stock-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #edf0f4}.alerts p{border-bottom:1px solid var(--line);padding-bottom:10px}.button,button{display:inline-block;background:var(--blue);color:white;border:0;border-radius:8px;padding:9px 15px;font-weight:700;cursor:pointer}.button.secondary{background:#22344a}.button.small{padding:5px 10px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.vehicle-card{color:inherit}.vehicle-card>div{display:flex;justify-content:space-between}.vehicle-card b{font-size:18px}.vehicle-card p,.vehicle-card small,.muted{color:var(--muted)}.search{display:flex;gap:10px}.search input{flex:1}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd4df;border-radius:7px;background:white;font:inherit}.form-card{max-width:720px}.form-card label{display:block;font-weight:700;margin-bottom:5px}.form-card ul{list-style:none;padding:0}.form-card li label{font-weight:400}.errorlist{color:var(--red)}dl{display:grid;grid-template-columns:120px 1fr}dd{margin:0}.big-status{font-size:24px;font-weight:800}.tires{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tires>div{padding:14px;border:1px solid var(--line);border-radius:10px}.tires span{float:right}.tires small{display:block;color:var(--muted);margin-top:8px}.message{background:#dff5e7;color:#146737;padding:11px 14px;border-radius:8px;margin-bottom:14px}.login{max-width:440px;margin:8vh auto}.bottom-nav{display:none}
@media(max-width:800px){.sidebar{display:none}.topbar{left:0;height:64px;padding:0 16px}.user-chip{font-size:0}.user-chip:first-letter{font-size:22px}main{margin-left:0;padding:80px 12px 88px}.dashboard-head{display:block}.dashboard-head h1{display:none}.dashboard-head p{font-size:12px}.quick-actions{display:none}.stats{grid-template-columns:repeat(4,1fr);gap:8px}.stat{display:block;text-align:center;min-height:145px;padding:14px 5px}.stat i{margin:auto;width:45px;height:45px}.stat>span{font-size:12px}.stat b{font-size:27px;margin-top:8px}.dashboard-grid{display:block}.card{padding:13px;border-radius:13px}.vehicle-status table th:nth-child(2),.vehicle-status table td:nth-child(2){white-space:normal}.vehicle-status table{font-size:12px}.tire-dots{gap:6px}.dot{width:22px;height:22px}.stock-card .stock-row{font-size:12px}.alerts{display:none}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:7px 0 max(7px,env(safe-area-inset-bottom));z-index:8}.bottom-nav a{text-align:center;font-size:22px;color:#526079}.bottom-nav small{display:block;font-size:10px}.vehicle-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.actions{flex-wrap:wrap}.stock-split{grid-template-columns:1fr}.search{flex-wrap:wrap}.search input{flex-basis:100%}.recent th:nth-child(4),.recent td:nth-child(4){display:none}}
