:root{--bg:#f0f0f0;--surface:#fff;--surface-soft:#f7f7f7;--line:#e0e0e0;--text:#111;--muted:#666;--nav:#0a0a0a;--nav-soft:#1a1a1a;--accent:#c00;--accent-2:#900;--warn:#c60;--danger:#c00;--shadow:0 16px 40px #0000001f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--bg:#111;--surface:#1a1a1a;--surface-soft:#222;--line:#333;--text:#f0f0f0;--muted:#888;--nav:#0a0a0a;--nav-soft:#161616;--accent:#e03030;--accent-2:#b02020;--warn:#c60;--danger:#e03030;--shadow:0 16px 40px #0006}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.shell{grid-template-columns:268px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--nav);color:#dce6ed;height:100vh;padding:22px 16px;position:sticky;top:0;overflow:auto}.brand{border-bottom:1px solid #ffffff17;align-items:center;gap:12px;padding:4px 8px 22px;display:flex}.brand-mark{width:38px;height:38px;color:var(--accent);background:#e8f3f5;border-radius:8px;flex-shrink:0;place-items:center;font-weight:900;display:grid}.brand strong{color:#fff;font-size:16px;display:block}.brand span{color:#9eb2c2;margin-top:2px;font-size:12px;display:block}.nav{gap:4px;margin-top:18px;display:grid}.nav button{color:#cad8e0;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;width:100%;min-height:42px;padding:8px 10px;display:grid}.ui-icon{width:19px;height:19px;color:var(--icon-color,currentColor);stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 10px #00000029);flex:none}.nav button:hover,.nav button.active{background:var(--nav-soft);color:#fff}.nav button.active .ui-icon{color:var(--icon-color);stroke-width:2.2px}.nav .count{color:#aac1cf;font-size:12px}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f6f8e6;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:18px 28px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:22px;line-height:1.2}.topbar p{color:var(--muted);margin:4px 0 0;font-size:13px}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.search{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(330px,34vw);padding:10px 12px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:10px 13px;display:inline-flex}.btn:hover{background:var(--surface-soft)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{opacity:.9}.btn.success{background:var(--accent-2);color:#fff;border-color:var(--accent-2)}.mini-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:7px;min-height:30px;padding:6px 8px;font-size:12px}.mini-btn:hover{background:var(--surface-soft)}.mini-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.mini-btn:disabled{opacity:.45;cursor:not-allowed}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.toast{color:#206343;background:#eef8f2;border:1px solid #b9d8c7;border-radius:8px;padding:11px 13px;font-size:13px;font-weight:700}.meter{background:#e8edf2;border-radius:999px;width:150px;max-width:100%;height:8px;overflow:hidden}.meter span{background:var(--accent);border-radius:999px;height:100%;display:block}.content{gap:18px;padding:24px 28px 36px;display:grid}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel,.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.panel{padding:18px}.panel-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.panel h2,.panel h3{margin:0;line-height:1.2}.panel h2{font-size:17px}.panel h3{font-size:15px}.panel .hint{color:var(--muted);margin:4px 0 0;font-size:13px}.stat{padding:16px}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat strong{margin-top:8px;font-size:26px;display:block}.stat span{color:var(--muted);margin-top:6px;font-size:13px;display:block}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-soft);font-size:12px;font-weight:700}tr:last-child td{border-bottom:0}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.badge.blue{color:#176b87;background:#e7f2f5}.badge.green{color:#287d5b;background:#e8f4ee}.badge.yellow{color:#9b650f;background:#fff5df}.badge.red{color:#b64040;background:#fdecec}.badge.gray{color:#536575;background:#eef2f5}.vehicle-card{gap:10px;padding:15px;display:grid}.vehicle-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.vehicle-title strong{font-size:15px;display:block}.meta{color:var(--muted);font-size:12px}.kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.kv div{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;padding:9px}.kv span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;display:block}.kv strong{margin-top:4px;font-size:13px;display:block}.form-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.field{gap:6px;display:grid}.field label{color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:40px;padding:10px 11px}.field textarea{resize:vertical;min-height:92px}.invoice{border:1px solid var(--line);background:#fff;border-radius:8px;padding:22px}.invoice-head,.invoice-total-row{justify-content:space-between;gap:18px;display:flex}.invoice h2{margin:0}.totals{gap:8px;width:min(360px,100%);margin-top:14px;margin-left:auto;display:grid}.invoice-total-row{border-bottom:1px solid var(--line);padding-bottom:8px}.invoice-total-row.final{border-bottom:0;font-size:20px;font-weight:900}.diagnostic-grid{grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;display:grid}.data-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;padding:12px}.data-card span{color:var(--muted);font-size:12px;display:block}.data-card strong{margin-top:8px;font-size:21px;display:block}.timeline{gap:10px;display:grid}.workflow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workflow-step{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.workflow-step.current{color:#fff;background:var(--accent);border-color:var(--accent)}.timeline-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:108px 1fr;gap:12px;padding:10px;display:grid}.split{grid-template-columns:1.15fr .85fr;gap:16px;display:grid}.empty-note{color:var(--muted);background:var(--surface-soft);border:1px dashed #bac7d1;border-radius:8px;padding:16px;font-size:13px}@media (max-width:1120px){.shell{grid-template-columns:88px 1fr}.brand div:last-child,.nav .label,.nav .count{display:none}.nav button{grid-template-columns:1fr;justify-items:center}.grid.cols-4,.grid.cols-3,.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media (max-width:760px){.shell{grid-template-columns:1fr}.sidebar{z-index:20;height:auto;padding:10px 12px;position:sticky;top:0}.brand{padding:0 2px 10px}.brand-mark{width:34px;height:34px}.brand strong{font-size:15px}.brand span{font-size:11px}.nav{scrollbar-width:thin;gap:8px;margin-top:10px;padding-bottom:4px;display:flex;overflow-x:auto}.nav button{grid-template-columns:20px 1fr;justify-items:start;min-width:128px;min-height:40px;padding:8px 10px}.nav .count{display:none}.nav .label{font-size:12px;display:inline}.topbar{flex-direction:column;align-items:flex-start;min-height:auto;padding:14px;position:static}.topbar h1{font-size:19px}.topbar p{font-size:12px}.content{gap:14px;padding:14px}.search,.actions,.btn{width:100%}.grid.cols-2,.grid.cols-3,.grid.cols-4,.form-row,.diagnostic-grid{grid-template-columns:1fr}.panel,.card,.invoice{box-shadow:none}.panel,.invoice{padding:14px}.panel-head{flex-direction:column;margin-bottom:12px}.stat{padding:13px}.stat strong{font-size:22px}.kv{grid-template-columns:1fr}.workflow{gap:6px}.workflow-step{padding:5px 8px;font-size:11px}.timeline-item{grid-template-columns:1fr;gap:5px}.invoice-head,.invoice-total-row{align-items:flex-start}table{white-space:nowrap;max-width:calc(100vw - 28px);display:block;overflow-x:auto}}@media (max-width:430px){.nav button{min-width:112px}.btn{justify-content:center}.badge{white-space:normal;text-align:center}}.login-page{background:var(--nav);place-items:center;min-height:100vh;display:grid}.login-card{background:var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:14px;padding:40px 36px}.login-logo{flex-direction:column;align-items:center;gap:4px;margin-bottom:32px;display:flex}.login-logo-text{letter-spacing:.12em;color:var(--accent);font-size:26px;font-weight:800}.login-logo-sub{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--text);font-size:13px;font-weight:600}.login-field input{border:1px solid var(--line);background:var(--surface-soft);color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.login-field input:focus{border-color:var(--accent)}.login-error{color:var(--danger);background:#fff0f0;border:1px solid #f5c6c6;border-radius:6px;margin:0;padding:10px 12px;font-size:13px}.login-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600;transition:opacity .15s}.login-btn:hover:not(:disabled){opacity:.88}.login-btn:disabled{opacity:.55;cursor:not-allowed}:root{--card:var(--surface);--border:var(--line);--table-head:var(--surface-soft);--green:#16a34a;--amber:#d97706;--blue:#2563eb;--red:#dc2626;--purple:#7c3aed}[data-theme=dark]{--card:#1e1e1e;--border:#2e2e2e;--table-head:#1a1a1a;--green:#22c55e;--amber:#f59e0b;--blue:#60a5fa;--red:#f87171;--purple:#a78bfa}.input{border:1px solid var(--line);background:var(--surface-soft);color:var(--text);border-radius:8px;outline:none;min-height:40px;padding:9px 12px;font-size:14px;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input[disabled],.input:disabled{opacity:.55;cursor:not-allowed}.stats-grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stats-grid-5{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.two-panel{grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.module-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.tab-row{border-bottom:2px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tab-row::-webkit-scrollbar{display:none}.tab-row button{cursor:pointer;white-space:nowrap;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-2px;padding:8px 18px;font-size:14px}.tab-row button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:600px;display:table}@media (max-width:900px){.stats-grid-4,.stats-grid-5{grid-template-columns:repeat(2,1fr)}.two-panel{grid-template-columns:1fr}}@media (max-width:640px){button,.btn,.mini-btn,.input,select,input[type=text],input[type=email],input[type=number],input[type=date],input[type=password]{min-height:44px}.stats-grid-4,.stats-grid-5{grid-template-columns:repeat(2,1fr);gap:8px}.two-panel,.card-grid{grid-template-columns:1fr}.module-header{flex-direction:column;align-items:flex-start}.module-header>:last-child{flex-wrap:wrap;gap:8px;width:100%;display:flex}.module-header .btn.primary{justify-content:center;width:100%}[style*="gridTemplateColumns: repeat(4"],[style*="gridTemplateColumns: repeat(5"]{grid-template-columns:repeat(2,1fr)!important;display:grid!important}[style*="gridTemplateColumns: 300px"],[style*="gridTemplateColumns: 320px"],[style*="gridTemplateColumns: 380px"],[style*="gridTemplateColumns: 1fr 380px"],[style*="gridTemplateColumns: 1fr 1fr"],[style*="gridTemplateColumns: 1fr 1fr 1fr"]{flex-direction:column!important;display:flex!important}[style*="gridTemplateColumns: 1fr 1fr"]:not(.grid){flex-direction:column!important;gap:12px!important;display:flex!important}}[data-theme=dark] .login-error{color:#ff8080;background:#2a0000;border-color:#600}[data-theme=dark] .login-field input{background:var(--surface-soft);border-color:var(--line);color:var(--text)}[data-theme=dark] tr:nth-child(2n){background:#ffffff06}@media print{.sidebar,.topbar,.actions,.btn,.mini-btn,.tab-row,.module-header button{display:none!important}.shell{grid-template-columns:1fr!important}.content{padding:0!important}body{color:#000!important;background:#fff!important}}
