:root{--primary: #111827;--accent: #0ea5e9;--surface: #ffffff;--surface-2: #f8fafc;--background: #f3f4f6;--danger: #dc2626;--success: #16a34a;--warning: #d97706;--text: #111827;--muted: #64748b;--border: #dbe4ee;--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--background);min-height:100vh;overflow-x:hidden}button,input,textarea,select{font:inherit}button,.button-link{min-height:44px;border:0;border-radius:var(--radius);padding:10px 14px;cursor:pointer;font-weight:750;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;color:inherit;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}button:hover,.button-link:hover{transform:translateY(-1px)}.primary{background:var(--primary);color:#fff}.ghost{background:var(--surface-2);border:1px solid var(--border)}.danger{background:var(--danger);color:#fff}.danger:disabled{cursor:not-allowed;opacity:.55;transform:none}.button-link{background:var(--accent);color:#04111f}.splash{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--primary);color:#fff;z-index:20;animation:splash-out .9s ease 1.1s forwards;pointer-events:none}.splash-card{display:grid;gap:8px;justify-items:center}.splash h2,.splash p{margin:0}.splash-mark,.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--accent);color:#07121f;font-weight:900}.brand-mark.large{width:72px;height:72px;font-size:24px}@keyframes splash-out{to{opacity:0;visibility:hidden}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-panel{width:min(520px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:grid;gap:18px}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh;z-index:2}.brand-block{display:flex;align-items:center;gap:12px}.brand-block span,.topbar span,small,.row span{color:var(--muted)}.nav-section{display:grid;gap:8px}.nav-section>span,.eyebrow{color:var(--muted);font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase}.nav{display:grid;gap:6px}.nav a{color:var(--text);text-decoration:none;min-height:42px;display:flex;align-items:center;padding:10px 12px;border-radius:var(--radius);font-weight:750}.nav a.active,.nav a:hover{background:var(--primary);color:#fff}.sidebar-actions{display:grid;gap:8px;margin-top:auto}.main{padding:24px;display:grid;gap:18px;align-content:start}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.topbar h1{margin:0;line-height:1.05}.top-actions,.tool-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.jobs-tool-row{align-items:stretch}.sync-pill{background:var(--surface);border:1px solid var(--border);padding:10px 12px;border-radius:999px}.sync-pill.needs-attention{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 36%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.notice{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid var(--accent);padding:12px 14px;border-radius:var(--radius)}.sync-notice{background:color-mix(in srgb,var(--danger) 8%,var(--surface));border-color:color-mix(in srgb,var(--danger) 28%,var(--border))}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;color:#fff;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 78%,var(--accent)));border-radius:var(--radius)}.dashboard-hero h2,.section-heading h2{margin:3px 0 0}.dashboard-hero .eyebrow{color:color-mix(in srgb,#fff 75%,var(--accent))}.dashboard-hero .primary{background:#fff;color:var(--primary)}.attention-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.attention-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--border);border-radius:var(--radius);padding:14px;display:grid;gap:12px}.attention-card.warning{border-top-color:var(--warning)}.attention-card.accent{border-top-color:var(--accent)}.attention-card.danger{border-top-color:var(--danger)}.attention-card.neutral{border-top-color:var(--muted)}.attention-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.attention-head h2{margin:0;font-size:16px}.attention-head strong{min-width:32px;min-height:32px;display:grid;place-items:center;border-radius:999px;background:var(--surface-2)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.money-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.stat,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.stat{padding:16px;display:grid;gap:8px}.stat span{color:var(--muted)}.stat strong{font-size:28px}.split{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:16px}.panel{padding:16px}.panel h2{margin:0 0 14px;font-size:18px}.settings-hub{display:grid;gap:12px}.job-filter-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.filter-chip{flex:0 0 auto;min-height:42px;gap:8px;background:var(--surface);border:1px solid var(--border);color:var(--text)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-chip strong{display:grid;place-items:center;min-width:26px;min-height:26px;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--text)}.filter-chip.active strong{background:#fff;color:var(--primary)}.reports-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 92%,#000),color-mix(in srgb,var(--accent) 40%,var(--primary)));color:#fff;border-radius:var(--radius)}.reports-head h2{margin:2px 0 4px;font-size:26px}.reports-head p{margin:0;color:color-mix(in srgb,#fff 78%,transparent)}.report-range-bar{display:flex;gap:8px;overflow-x:auto;max-width:100%}.report-range-bar .filter-chip{background:color-mix(in srgb,#fff 12%,transparent);border-color:color-mix(in srgb,#fff 28%,transparent);color:#fff}.report-range-bar .filter-chip.active{background:#fff;color:var(--primary)}.pnl-summary{grid-template-columns:repeat(4,minmax(150px,1fr))}.report-split{align-items:start}.pnl-breakdown,.pnl-job-list{display:grid;gap:10px}.pnl-type-row,.pnl-job-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(260px,1.4fr);align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.pnl-type-row{grid-template-columns:1fr}.pnl-job-row{width:100%;text-align:left;color:var(--text)}.pnl-job-row:hover{border-color:var(--accent)}.pnl-type-row span,.pnl-job-row span{color:var(--muted);font-size:13px}.pnl-type-row>div,.pnl-job-row>div{display:grid;gap:4px}.pnl-row-money{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));align-items:center;gap:8px;text-align:right}.pnl-type-row .pnl-row-money{grid-template-columns:repeat(3,minmax(90px,1fr))}.pnl-row-money strong{color:var(--text)}.section-heading{display:grid;gap:2px}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.hub-card{min-height:78px;justify-content:flex-start;align-items:flex-start;text-align:left;display:grid;gap:5px;background:var(--surface);border:1px solid var(--border);color:var(--text)}.hub-card:hover{border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--text) 8%,transparent)}.sync-status-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:12px}.sync-warning,.sync-ok{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border-left:4px solid var(--success);background:color-mix(in srgb,var(--success) 7%,var(--surface))}.sync-warning{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.sync-warning span,.sync-ok span{color:var(--muted);font-weight:750}.backup-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.backup-actions span,.backup-file-name span{color:var(--muted);font-weight:750}.backup-file-name{display:grid;gap:4px;margin-top:10px;overflow-wrap:anywhere}.backup-warning-list{display:grid;gap:4px;margin-top:6px}.backup-record-list{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;margin-top:12px}.backup-record-list span,.backup-record-list strong{padding:8px 10px;background:color-mix(in srgb,var(--background) 68%,var(--surface));border:1px solid var(--border)}.backup-record-list span{color:var(--muted);font-weight:800}.restore-panel{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid color-mix(in srgb,var(--danger) 32%,var(--border));background:color-mix(in srgb,var(--danger) 6%,var(--surface))}.restore-panel>div,.restore-confirm{display:grid;gap:4px}.restore-panel span{color:var(--muted);font-weight:750}.restore-confirm input{width:100%;max-width:360px;margin-top:4px;text-transform:uppercase}.restore-panel .danger{justify-self:start}.backup-history{display:grid;gap:10px;margin-top:14px}.backup-history-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.backup-history-head span{color:var(--muted);font-weight:750}.backup-history-list{display:grid;gap:8px}.backup-history-row{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(150px,1fr) minmax(90px,.6fr) minmax(180px,1.6fr);gap:8px;align-items:center;padding:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--background) 66%,var(--surface))}.backup-history-row span{color:var(--muted);font-weight:750;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.list{display:grid;gap:8px}.list.compact{gap:6px}.jobs-list-panel{display:grid;gap:12px;align-content:start}.jobs-list-summary,.customer-list-summary,.vehicle-list-summary{display:flex;gap:8px;flex-wrap:wrap}.jobs-list-summary span,.customer-list-summary span,.vehicle-list-summary span{min-height:34px;display:inline-flex;align-items:center;padding:6px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:13px;font-weight:800}.customer-list-panel,.vehicle-list-panel{display:grid;gap:12px;align-content:start}.customer-row,.vehicle-row{gap:8px}.customer-row-tags,.vehicle-row-tags{width:100%;display:flex;gap:7px;flex-wrap:wrap}.customer-row-tags span,.vehicle-row-tags span{min-height:28px;display:inline-flex;align-items:center;padding:4px 8px;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:13px;font-weight:800}.customer-detail-panel,.vehicle-detail-panel{align-content:start}.customer-folder,.vehicle-folder{display:grid;gap:18px}.customer-hero,.vehicle-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.customer-hero h2,.customer-hero p,.vehicle-hero h2,.vehicle-hero p{margin:0}.customer-hero>div:first-child,.vehicle-hero>div:first-child{min-width:0}.customer-hero h2,.vehicle-hero h2{margin-top:2px;font-size:24px}.customer-quick-actions,.vehicle-quick-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.customer-summary-grid,.vehicle-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:10px}.customer-summary-grid .stat,.vehicle-summary-grid .stat{padding:12px}.customer-summary-grid .stat strong,.vehicle-summary-grid .stat strong{font-size:22px}.customer-next-step,.vehicle-next-step{display:grid;gap:4px;padding:12px 14px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.customer-next-step span,.vehicle-next-step span{color:var(--muted);font-weight:700}.customer-section,.vehicle-section{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--border)}.customer-section h2,.customer-section h3,.vehicle-section h2,.vehicle-section h3{margin:0}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.vehicle-card-grid,.service-history{display:grid;gap:8px}.vehicle-card{min-height:78px}.vehicle-info-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.vehicle-info-chip{display:grid;gap:4px;padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.vehicle-info-chip span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.vehicle-info-chip strong{overflow-wrap:anywhere}.row{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);text-align:left;display:grid;gap:4px;justify-items:start;min-width:0}.row:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));box-shadow:0 6px 18px color-mix(in srgb,var(--text) 6%,transparent)}.row-main{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.row-main strong{min-width:0;overflow-wrap:anywhere}.status-pill{flex:0 0 auto;color:var(--text);background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:999px;padding:3px 8px;font-size:12px;font-weight:850}.status-warning{background:color-mix(in srgb,var(--warning) 18%,var(--surface));border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}.status-accent{background:color-mix(in srgb,var(--accent) 16%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.status-success{background:color-mix(in srgb,var(--success) 14%,var(--surface));border-color:color-mix(in srgb,var(--success) 38%,var(--border))}.status-danger{background:color-mix(in srgb,var(--danger) 14%,var(--surface));border-color:color-mix(in srgb,var(--danger) 38%,var(--border))}.status-muted,.status-neutral{background:var(--surface-2);border-color:var(--border)}.row.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.detailed-job-row{gap:9px}.job-row-top{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.job-row-top strong{min-width:0;overflow-wrap:anywhere;font-size:16px}.job-row-meta,.job-row-bottom{width:100%;display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-weight:750}.job-row-meta span,.job-row-bottom span{min-height:28px;display:inline-flex;align-items:center;padding:4px 8px;background:var(--surface);border:1px solid var(--border);border-radius:999px}.detailed-job-row p{width:100%;margin:0;color:var(--text);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.service-row{gap:10px}.service-row-main{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.service-row-main div{display:grid;gap:3px;min-width:0}.service-row-main strong{overflow-wrap:anywhere}.service-row-main span:not(.status-pill){color:var(--muted);font-size:13px;font-weight:750}.service-row p{width:100%;margin:0;color:var(--text);line-height:1.35;overflow-wrap:anywhere}.job-row-bottom .balance-due{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.job-row-bottom .balance-clear{color:var(--success);border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:color-mix(in srgb,var(--success) 8%,var(--surface))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.job-builder{gap:16px}.form-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:14px;border-top:1px solid var(--border)}.form-section h3,.job-summary h2,.job-summary h3,.job-parts-panel h2{grid-column:1 / -1;margin:0}.form-section h3,.job-summary h3{font-size:17px}.job-summary h2{font-size:26px}.template-strip,.quick-status,.quick-template-grid{grid-column:1 / -1;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.template-button,.quick-status button,.quick-template-grid button{flex:0 0 auto}.quick-job-panel{display:grid;gap:12px;padding:14px;background:color-mix(in srgb,var(--primary) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:var(--radius)}.quick-job-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quick-job-header h3{margin:0 0 4px;font-size:18px}.quick-job-header p{margin:0;color:var(--muted);font-size:14px}.quick-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));overflow:visible}.quick-template-grid button{justify-content:center}.quick-save-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-save-row button{min-height:46px}.quick-charges-panel{display:grid;gap:14px;min-width:0;padding:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--success) 22%,var(--border));border-radius:var(--radius)}.quick-charges-head,.quick-part-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quick-charges-head h3{margin:0 0 4px;font-size:18px}.quick-charges-head p,.quick-part-entry-head span,.quick-part-disabled span{margin:0;color:var(--muted);font-size:14px}.quick-money-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;min-width:0}.quick-charge-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.quick-part-entry{display:grid;gap:10px;min-width:0;padding:12px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:var(--radius)}.quick-part-disabled{grid-template-columns:1fr}.quick-part-grid{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(64px,.5fr) repeat(3,minmax(90px,1fr));gap:8px;align-items:end;min-width:0}.quick-part-grid>*{min-width:0}.quick-part-grid button{grid-column:1 / -1;min-height:44px}.quick-charge-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.quick-charge-actions button{min-height:46px}.inline-add-actions{display:flex;gap:8px;flex-wrap:wrap}.inline-panel{display:grid;gap:12px;padding:12px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));border-radius:var(--radius)}.inline-panel.hidden{display:none}.inline-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.inline-panel-header h4{margin:0;font-size:16px}.mini-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inline-panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-status{color:var(--muted);font-size:13px;font-weight:750}.job-summary{display:grid;gap:12px;padding:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.job-work-ticket{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.job-ticket-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.job-ticket-hero>div:first-child{min-width:0}.summary-main{display:grid;gap:4px}.summary-main p,.summary-note span{margin:0;color:var(--muted)}.summary-chips{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.job-money-grid,.parts-money-grid{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px}.parts-money-grid{grid-template-columns:repeat(3,minmax(105px,1fr))}.job-money-card{display:grid;gap:6px;min-height:82px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.job-money-card span{color:var(--muted);font-size:13px;font-weight:800}.job-money-card strong{font-size:22px}.job-money-card.tone-success{border-color:color-mix(in srgb,var(--success) 32%,var(--border));background:color-mix(in srgb,var(--success) 7%,var(--surface))}.job-money-card.tone-danger{border-color:color-mix(in srgb,var(--danger) 32%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.job-next-step{display:grid;gap:4px;padding:12px 14px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.job-next-step span{color:var(--muted);font-weight:750}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.summary-grid .stat{padding:12px}.summary-grid .stat strong{font-size:20px}.summary-note{display:grid;gap:4px}.summary-action{justify-self:start}.payment-section{background:color-mix(in srgb,var(--warning) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--warning) 28%,var(--border));border-radius:var(--radius);padding:14px}.payment-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.payment-section-head div{display:grid;gap:4px}.payment-section-head p{margin:0;color:var(--muted);font-weight:750}.payment-section-head .primary{grid-column:auto}.job-save-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.job-save-actions .primary,.job-save-actions .button-link{grid-column:auto}.checklist-items,.parts-stack{grid-column:1 / -1;display:grid;gap:8px}.checklist-row{display:grid;grid-template-columns:28px minmax(0,1fr) 44px;gap:8px;align-items:center}.checklist-row input[type=checkbox]{width:22px;min-height:22px}.icon-button{min-width:44px;padding:8px}.profit-loss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;background:color-mix(in srgb,var(--success) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 28%,var(--border));border-radius:var(--radius)}.profit-loss>div{display:grid;gap:4px}.profit-loss span{color:var(--muted);font-size:13px;font-weight:750}.profit-loss strong{font-size:24px}.profit-loss details{grid-column:1 / -1}.profit-loss summary{cursor:pointer;font-weight:800}.breakdown-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin-top:10px}.part-line-form{padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.job-parts-panel{display:grid;gap:12px}.new-part-form{margin-top:12px}label{display:grid;gap:6px;font-weight:700}label span{color:var(--muted);font-size:13px}input,textarea,select,.search{min-height:44px;width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}textarea{min-height:96px;resize:vertical}.wide,.form-grid .primary,.form-grid .button-link,.form-grid .check-row,.totals-box,.profit-loss{grid-column:1 / -1}.check-row{display:flex;align-items:center;gap:10px;min-height:44px}.check-row input{width:20px;min-height:20px}.search{max-width:420px}.empty{min-height:52px;display:grid;place-items:center;gap:10px;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:12px;text-align:center}.action-empty button{min-height:38px}.totals-box{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;background:var(--surface-2);border-radius:var(--radius)}.preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:14px}.theme-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);justify-content:flex-start;gap:8px;font-size:13px}.theme-chip span{width:24px;height:24px;border-radius:999px;background:linear-gradient(135deg,var(--chip-a),var(--chip-b));flex:0 0 auto}.bars{display:grid;gap:12px}.bars div{display:grid;grid-template-columns:150px 1fr 40px;align-items:center;gap:12px}meter{width:100%;height:18px}.recovery-box{display:grid;gap:8px;padding:12px;border:1px solid var(--warning);border-radius:var(--radius);background:color-mix(in srgb,var(--warning) 12%,var(--surface))}code{white-space:pre-wrap;word-break:break-all}.bottom-nav{display:none}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border)}.nav{display:flex;overflow-x:auto;padding-bottom:4px}.nav a{flex:0 0 auto}.stats-grid,.attention-grid,.money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media(max-width:640px){.sidebar{display:none}.main{padding:14px 14px 92px}.topbar{align-items:stretch;flex-direction:column}.top-actions{display:grid;grid-template-columns:1fr 1fr}.top-new-job{display:none}.sync-pill{grid-column:1 / -1}.dashboard-hero{align-items:stretch;flex-direction:column}.attention-grid,.stats-grid,.money-grid,.pnl-summary,.form-grid,.form-section,.mini-form-grid,.summary-grid,.profit-loss,.totals-box,.customer-summary-grid,.vehicle-summary-grid,.vehicle-info-grid,.job-money-grid,.parts-money-grid,.quick-money-grid,.quick-charge-fields,.quick-part-grid,.job-save-actions,.quick-save-row,.quick-charge-actions,.sync-status-grid,.backup-record-list{grid-template-columns:1fr}.reports-head{align-items:stretch;flex-direction:column}.report-range-bar{display:grid;grid-template-columns:1fr 1fr;overflow:visible;padding-bottom:0}.pnl-type-row,.pnl-job-row{grid-template-columns:1fr}.pnl-row-money,.pnl-type-row .pnl-row-money{grid-template-columns:1fr 1fr;text-align:left}.restore-panel .danger{justify-self:stretch}.backup-history-head{align-items:stretch;flex-direction:column}.backup-history-row{grid-template-columns:1fr}.customer-hero,.vehicle-hero,.job-ticket-hero,.payment-section-head,.quick-charges-head,.quick-part-entry-head,.section-heading-row,.service-row-main{align-items:stretch;flex-direction:column}.customer-quick-actions,.vehicle-quick-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.customer-quick-actions .primary,.vehicle-quick-actions .primary{grid-column:1 / -1}.stat strong{font-size:24px}.bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:10;display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;gap:6px;align-items:center;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 14px 40px color-mix(in srgb,var(--text) 18%,transparent)}.bottom-nav a,.bottom-new{min-height:48px;padding:6px;color:var(--text);text-decoration:none;border-radius:var(--radius);display:grid;place-items:center;font-size:12px;font-weight:850}.bottom-nav a.active{color:#fff;background:var(--primary)}.bottom-new{color:#fff;background:var(--primary);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 30%,transparent)}.bottom-new strong{line-height:1;font-size:24px}}
