:root{--color-primary:#0f4c5c;--color-secondary:#168a5b;--color-action:#2563eb;--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--color-bg:#f6f8fa;--color-surface:#fff;--color-border:#d8dee6;--color-text:#111827;--color-muted:#64748b;--shadow-soft:0 12px 32px #0f172a14;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:264px 1fr;min-height:100vh;display:grid}.sidebar{color:#f8fafc;background:#0b2530;padding:20px 14px}.brand{align-items:center;gap:12px;padding:8px 10px 22px;display:flex}.brand-mark{background:var(--color-secondary);border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span{color:#b7c7cf;font-size:13px}.menu{gap:4px;display:grid}.menu-item{color:#d7e2e7;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;display:flex}.menu-item.active,.menu-item:hover{color:#fff;background:#ffffff1a}.workspace{min-width:0;padding:24px}.auth-page{grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:32px;width:min(1120px,100% - 32px);min-height:100vh;margin:0 auto;padding:32px 0;display:grid}.auth-intro{gap:20px;display:grid}.auth-intro h1{max-width:620px;font-size:40px}.auth-intro p{max-width:560px;font-size:16px}.brand.large{color:var(--color-text);padding:0}.brand.large .brand-mark{color:#fff}.brand.large span{color:var(--color-muted)}.auth-card{border:1px solid var(--color-border);background:var(--color-surface);width:100%;box-shadow:var(--shadow-soft);border-radius:8px;gap:16px;padding:24px;display:grid}.auth-card.compact{justify-content:center;align-items:center;gap:10px;min-height:96px;display:inline-flex}.auth-card form{gap:14px;display:grid}.form-heading{align-items:flex-start;gap:10px;padding-bottom:4px;display:flex}.form-alert{border-radius:8px;padding:10px 12px;font-size:14px}.form-alert.error{color:#991b1b;background:#fef2f2;border:1px solid #dc262640}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.2}h2{font-size:18px}p{color:var(--color-muted)}.icon-button,.primary-button,.secondary-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.secondary-button{min-height:42px;padding:0 12px}.secondary-button.compact{min-height:32px;padding:0 10px;font-size:13px;font-weight:800}.secondary-button.danger{color:var(--color-danger);border-color:#dc262659}.icon-button{width:42px;height:42px}.primary-button{border-color:var(--color-action);background:var(--color-action);color:#fff;min-height:40px;padding:0 14px}.primary-button:disabled{cursor:wait;opacity:.72}.primary-button.wide{width:100%}.link-button{width:fit-content;color:var(--color-action);background:0 0;border:0;padding:4px 0;font-weight:700}.link-button.danger-text{color:var(--color-danger)}.topbar-actions{align-items:center;gap:8px;display:flex}.toast-stack{z-index:20;gap:8px;max-width:min(420px,100vw - 32px);display:grid;position:fixed;top:16px;right:16px}.toast{color:#166534;background:#ecfdf3;border:1px solid #16a34a3d;border-radius:8px;align-items:center;gap:8px;min-height:40px;margin-bottom:18px;padding:0 14px;animation:5s forwards toast-life;display:inline-flex}.toast.error{color:#991b1b;background:#fef2f2;border-color:#dc26263d}.toast.info{color:#1d4ed8;background:#eff6ff;border-color:#2563eb3d}.toast button{color:currentColor;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;margin-left:4px;display:grid}.modal-backdrop{z-index:30;background:#0f172a6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-modal{border:1px solid var(--color-border);background:var(--color-surface);width:min(440px,100%);box-shadow:var(--shadow-soft);border-radius:8px;gap:14px;padding:20px;display:grid}.modal-form{gap:14px;display:grid}@keyframes toast-life{0%,85%{opacity:1}to{opacity:0;visibility:hidden}}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.status-grid.compact{margin-bottom:14px}.system-banner{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);border-radius:8px;align-items:center;gap:10px;margin-bottom:18px;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.system-banner.warning{color:#92400e;background:#fffbeb;border-color:#f59e0b59}.status-card,.panel{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);border-radius:8px}.status-card{gap:8px;padding:16px;display:grid}.status-card span{color:var(--color-muted);font-size:13px}.badge{border-radius:999px;width:fit-content;padding:3px 8px;font-size:12px;font-weight:700}.badge.success{color:#166534;background:#dcfce7}.badge.info{color:#1d4ed8;background:#dbeafe}.badge.warning{color:#92400e;background:#fef3c7}.badge.neutral{color:#475569;background:#f1f5f9}.badge.danger{color:#991b1b;background:#fee2e2}.panel{padding:20px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.tab{border:1px solid var(--color-border);background:var(--color-surface);min-height:36px;color:var(--color-muted);border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.tab.active{color:var(--color-action);background:#eff6ff;border-color:#2563eb57;font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid.compact-form{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:16px}label{color:#334155;gap:6px;font-size:13px;font-weight:700;display:grid}input,select{border:1px solid var(--color-border);width:100%;height:40px;color:var(--color-text);background:#fff;border-radius:6px;padding:0 12px}input[readonly]{background:#f8fafc}.stack{gap:18px;display:grid}.stack.separated{margin-top:20px}.inline-action{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.full-span{grid-column:1/-1}.integration-summary{border:1px solid var(--color-border);min-height:42px;color:var(--color-muted);background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button-row.compact-row{gap:8px}.button-row.align-end{align-self:end}.checkbox-grid{border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 14px;min-height:42px;padding:10px 12px;display:flex}.checkbox-field{color:var(--color-text);grid-auto-flow:column;align-items:center;gap:8px;font-size:13px;display:inline-flex}.checkbox-field input{width:16px;height:16px;padding:0}.section-divider{border-top:1px solid var(--color-border);min-height:34px;color:var(--color-text);align-items:center;margin-top:4px;display:flex}.data-table{border:1px solid var(--color-border);border-radius:8px;display:grid;overflow:hidden}.data-table.spaced{margin-top:18px}.table-row{border-bottom:1px solid var(--color-border);grid-template-columns:1.1fr 1.2fr 1fr auto;align-items:center;gap:12px;padding:11px 12px;font-size:14px;display:grid}.table-row.tenant{grid-template-columns:1fr 1.6fr auto 80px}.table-row.plans{grid-template-columns:1.1fr .7fr .7fr 1.4fr .7fr 70px}.table-row.billing{grid-template-columns:1.2fr .8fr .8fr .8fr 64px}.table-row.vehicles{grid-template-columns:1.6fr .6fr .75fr .8fr .9fr .95fr .6fr}.table-row.parts{grid-template-columns:.7fr 1.35fr .9fr 1.15fr .75fr .75fr 1fr}.table-row.diagnostics{grid-template-columns:1.2fr .8fr 1fr 1fr .8fr}.table-row.audit{grid-template-columns:1.1fr .7fr 1.5fr 1.5fr 1fr}.table-row a{color:var(--color-action);align-items:center;gap:5px;font-weight:700;text-decoration:none;display:inline-flex}.table-row:last-child{border-bottom:0}.photo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.file-button{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--color-action);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.table-row.header{color:var(--color-muted);text-transform:uppercase;background:#f8fafc;font-size:12px;font-weight:800}.empty-state{border:1px dashed var(--color-border);background:#f8fafc;border-radius:8px;justify-items:start;gap:8px;padding:22px;display:grid}.empty-row{color:var(--color-muted);padding:16px}.user-chip{border:1px solid var(--color-border);background:var(--color-surface);min-height:42px;color:var(--color-muted);border-radius:8px;align-items:center;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}@media (width<=920px){.auth-page{grid-template-columns:1fr;align-items:start}.app-shell{grid-template-columns:1fr}.sidebar{position:static}.menu{grid-template-columns:repeat(2,minmax(0,1fr))}.status-grid,.form-grid,.form-grid.compact-form,.table-row,.table-row.plans,.table-row.billing,.table-row.vehicles,.table-row.parts,.table-row.diagnostics,.table-row.audit,.inline-action{grid-template-columns:1fr}.panel-heading,.topbar{flex-direction:column}}
