:root { color-scheme: dark; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:#f6f2ea; background:#111315; --garage-bg:#111315; --garage-surface:#1c1f21; --garage-raised:#25292c; --garage-text:#f6f2ea; --garage-muted:#adb3b8; --garage-border:#3a3f42; --garage-accent:#ff741a; --garage-accent-strong:#ff5f0c; --garage-accent-soft:#4a2c1a; --garage-progress-track:#42474b; --garage-input:#171a1c; --garage-shadow:0 9px 24px rgb(0 0 0 / 22%); }
:root[data-garage-theme="clear-day"] { color-scheme:light; --garage-bg:#f1f4f7; --garage-surface:#ffffff; --garage-raised:#f7f9fb; --garage-text:#182434; --garage-muted:#6d7b8d; --garage-border:#d8e0e8; --garage-accent:#e95f10; --garage-accent-strong:#cf4b02; --garage-accent-soft:#fff0e5; --garage-progress-track:#e0e7ee; --garage-input:#ffffff; --garage-shadow:0 4px 14px rgb(23 37 54 / 7%); }
:root[data-garage-theme="cool-steel"] { color-scheme:dark; --garage-bg:#0d1720; --garage-surface:#142330; --garage-raised:#1a2d3c; --garage-text:#e8f3f7; --garage-muted:#9cb6c4; --garage-border:#2b4b5c; --garage-accent:#35c5c9; --garage-accent-strong:#1caeb4; --garage-accent-soft:#133d43; --garage-progress-track:#294754; --garage-input:#101d27; --garage-shadow:0 9px 24px rgb(0 0 0 / 24%); }
* { box-sizing:border-box; }
body { margin:0; background:var(--garage-bg); }
.garage-header, .top-nav, main { width:min(100%, 1060px); margin:auto; padding-left:20px; padding-right:20px; }
.garage-header { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.brand { display:grid; color:var(--garage-text); font-size:1.45rem; font-weight:850; text-decoration:none; letter-spacing:-.03em; line-height:1.04; }
.brand-kicker { color:var(--garage-accent); font-size:.56rem; font-weight:900; letter-spacing:.12em; }
.brand strong { font-size:1.08rem; }
.header-actions { display:flex; gap:8px; align-items:center; }
.theme-picker select { min-height:34px; max-width:126px; padding:4px 8px; border-radius:999px; font-size:.7rem; font-weight:750; }
.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; }
.header-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:999px; background:var(--garage-raised); color:var(--garage-muted); font-size:1.05rem; }
.header-logout { min-height:34px; padding:4px 10px; font-size:.78rem; }
.chat-link { color:var(--garage-muted); text-decoration:none; font-size:.82rem; font-weight:650; }
.top-nav { display:flex; gap:24px; min-height:44px; align-items:center; border-top:1px solid var(--garage-border); border-bottom:1px solid var(--garage-border); background:var(--garage-surface); }
.top-nav a { color:var(--garage-muted); text-decoration:none; font-size:.9rem; font-weight:700; }
.bottom-nav { display:none; }
main { padding-top:18px; padding-bottom:46px; }
h1 { margin:0 0 12px; font-size:1.55rem; letter-spacing:-.03em; }
h2 { margin:0; font-size:1.04rem; letter-spacing:-.02em; }
h3 { margin:0; font-size:1rem; }
p { margin:0; }
button, select, input { font:inherit; border:1px solid var(--garage-border); border-radius:10px; background:var(--garage-input); color:var(--garage-text); }
button { min-height:40px; padding:8px 13px; cursor:pointer; border:0; background:var(--garage-accent); color:#16110c; font-weight:800; }
button:hover { background:var(--garage-accent-strong); }
button:disabled { opacity:.55; cursor:wait; }
button.secondary { background:var(--garage-raised); color:var(--garage-text); border:1px solid var(--garage-border); }
select, input { min-height:38px; padding:7px 9px; }
label { font-size:.82rem; color:var(--garage-muted); }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.page-subtitle { color:var(--garage-muted); font-size:.8rem; }
.work-tabs { display:flex; gap:8px; overflow:auto; padding:2px 0 12px; white-space:nowrap; scrollbar-width:none; }
.work-tabs a { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 14px; border-radius:999px; background:var(--garage-raised); color:var(--garage-muted); text-decoration:none; font-size:.82rem; font-weight:700; }
.work-tabs a.selected { color:#16110c; background:var(--garage-accent); }
.dashboard-sections { display:grid; gap:12px; }
.dashboard-section, .panel, .card, .project, .task, .part, .quick-update-dialog { background:var(--garage-surface); border:1px solid var(--garage-border); border-radius:16px; box-shadow:var(--garage-shadow); }
.dashboard-section { overflow:hidden; }
.section-heading { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:0 14px; border-bottom:1px solid var(--garage-border); }
.section-heading h2::before { content:attr(data-icon); color:var(--garage-accent); margin-right:8px; }
.section-link { color:var(--garage-muted); text-decoration:none; font-size:.77rem; font-weight:700; }
.section-empty { color:var(--garage-muted); font-weight:700; }
.section-empty span { font-weight:500; font-size:.82rem; }
.section-note { padding:9px 14px 0; color:var(--garage-muted); font-size:.78rem; }
.today-vehicles { padding:8px 14px 12px; display:grid; gap:7px; }
.today-vehicle { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:10px; padding:10px; border:1px solid var(--garage-border); border-radius:12px; color:var(--garage-text); text-decoration:none; }
.today-vehicle strong { font-size:.92rem; }
.today-vehicle p { margin-top:3px; font-size:.88rem; font-weight:750; }
.compact-list { padding:0 14px; }
.list-row { display:grid; grid-template-columns:minmax(54px, auto) minmax(0, 1fr) auto auto; align-items:center; gap:9px; min-height:46px; border-bottom:1px solid var(--garage-border); color:var(--garage-text); text-decoration:none; }
.list-row:last-child { border-bottom:0; }
.list-row strong { font-size:.87rem; }
.list-row p { font-size:.88rem; font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.row-date, .muted { color:var(--garage-muted); font-size:.78rem; }
.row-arrow { color:var(--garage-muted); font-size:1.1rem; }
.badge { display:inline-flex; align-items:center; width:max-content; border-radius:999px; padding:3px 8px; font-size:.72rem; font-weight:800; background:var(--garage-raised); color:var(--garage-muted); }
.status-ready, .status-active, .status-delivered, .status-done { background:#e4f8ee; color:#21945e; }
.status-waiting { background:#fff0d9; color:#d97b10; }
.status-blocked, .status-hold { background:#ffe5e5; color:#d84646; }
.status-external { background:#e7f1ff; color:#3873bd; }
.status-planned { background:#fff0df; color:#e56a19; }
.status-unselected { background:#ffe8e8; color:#e34e4e; }
.priority-jobs { display:grid; gap:8px; padding:10px; }
.priority-job { display:grid; grid-template-columns:minmax(0, 1fr) 104px 16px; gap:10px; align-items:center; padding:11px; border:1px solid var(--garage-border); border-radius:12px; color:var(--garage-text); text-decoration:none; }
.priority-job strong { display:block; font-size:.92rem; }
.priority-job p { margin-top:4px; font-size:.85rem; font-weight:700; }
.priority-job-meta { display:grid; gap:5px; font-size:.73rem; color:var(--garage-muted); }
.priority-job .progress { margin:0; }
.waiting-card { padding:0 14px; }
.waiting-card .task-card { border-bottom:1px solid var(--garage-border); }
.waiting-card .task-card:last-child { border-bottom:0; }
.task-card { display:grid; grid-template-columns:64px minmax(0, 1fr) auto; align-items:center; gap:8px; min-height:52px; }
.task-card { color:var(--garage-text); text-decoration:none; }
.task-card-end { display:flex; align-items:center; gap:5px; }
.task-card strong { font-size:.82rem; }
.task-card p { font-size:.86rem; font-weight:700; }
.summary { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:8px; }
.summary .card { padding:10px; text-align:center; box-shadow:none; }
.summary strong { color:var(--garage-muted); font-size:.7rem; }
.summary p { margin-top:4px; font-size:1.05rem; font-weight:850; }
.garage-summary { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.garage-summary article { min-width:0; padding:12px 8px; border:1px solid var(--garage-border); border-radius:14px; background:var(--garage-surface); box-shadow:var(--garage-shadow); text-align:center; }
.garage-summary strong { display:block; overflow-wrap:anywhere; color:var(--garage-muted); font-size:.72rem; }
.garage-summary p { margin-top:5px; color:var(--garage-text); font-size:1.2rem; font-weight:900; }
.report-assistant { border-color:color-mix(in srgb, var(--garage-accent) 64%, var(--garage-border)); }
.assistant-label { min-width:0; color:var(--garage-accent); font-size:.68rem; font-weight:800; text-align:right; }
.report-entry-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; padding:12px 14px 8px; }
.report-entry { min-width:0; min-height:76px; display:grid; place-items:center; align-content:center; gap:5px; padding:8px 4px; background:var(--garage-raised); color:var(--garage-text); border:1px solid var(--garage-border); font-size:.78rem; line-height:1.25; }
.report-entry:hover { background:var(--garage-accent-soft); color:var(--garage-accent); border-color:var(--garage-accent); }
.report-entry span { color:var(--garage-accent); font-size:1.28rem; }
.report-safe-note { padding:0 14px 13px; color:var(--garage-muted); font-size:.72rem; line-height:1.45; }
.dashboard-vehicle-list { display:grid; gap:8px; padding:10px 14px 14px; }
.dashboard-vehicle-card { min-width:0; display:grid; grid-template-columns:72px minmax(0, 1fr) auto; gap:10px; align-items:center; padding:9px; border:1px solid var(--garage-border); border-radius:13px; color:var(--garage-text); text-decoration:none; }
.dashboard-vehicle-card:hover { border-color:var(--garage-accent); }
.vehicle-photo-placeholder { width:72px; height:72px; display:grid; place-items:center; border-radius:10px; background:linear-gradient(145deg, var(--garage-raised), var(--garage-input)); color:var(--garage-accent); font-size:1.35rem; font-weight:850; }
.vehicle-report-main { min-width:0; display:grid; gap:3px; }
.vehicle-report-main > strong { overflow:hidden; font-size:.94rem; text-overflow:ellipsis; white-space:nowrap; }
.vehicle-report-step, .vehicle-report-next { overflow:hidden; color:var(--garage-muted); font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }
.vehicle-report-progress .progress { margin:3px 0; }
.vehicle-report-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:1px; }
.report-tag { padding:2px 6px; border-radius:999px; background:var(--garage-raised); color:var(--garage-muted); font-size:.62rem; font-weight:800; }
.report-tag.attention-tag { background:var(--garage-accent-soft); color:var(--garage-accent); }
.vehicle-report-percent { display:flex; align-items:center; gap:4px; font-size:1.05rem; font-weight:900; white-space:nowrap; }
.quick-report-sheet { position:fixed; z-index:25; inset:0; display:flex; justify-content:center; overflow:auto; background:var(--garage-bg); }
.quick-report-dialog { width:min(620px, 100%); min-height:100%; padding:18px 14px 48px; }
.quick-report-title { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; margin-bottom:12px; }
.quick-report-title h2 { margin:0; font-size:1.12rem; text-align:center; }
.quick-report-title .secondary { justify-self:start; min-height:36px; padding:5px 8px; font-size:.77rem; }
.quick-report-panel { padding:14px; border:1px solid color-mix(in srgb, var(--garage-accent) 64%, var(--garage-border)); border-radius:16px; background:var(--garage-surface); box-shadow:var(--garage-shadow); }
.report-assistant-heading { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.report-assistant-heading strong { display:block; font-size:1rem; }
.report-assistant-heading p, .report-mode-note, .report-confirmation-note { margin-top:5px; color:var(--garage-muted); font-size:.77rem; line-height:1.45; }
.report-mode-note { padding:9px; border-radius:10px; background:var(--garage-raised); }
.quick-report-panel form { display:grid; gap:10px; margin-top:14px; }
.quick-report-panel label { display:grid; gap:5px; }
.quick-report-panel select, .quick-report-panel textarea { width:100%; }
.quick-report-panel textarea { resize:vertical; padding:9px; border:1px solid var(--garage-border); border-radius:10px; background:var(--garage-input); color:var(--garage-text); }
.quick-report-photo-input input { width:100%; padding:9px; border:1px dashed var(--garage-border); border-radius:10px; background:var(--garage-input); color:var(--garage-text); }
.quick-report-photo-preview { margin:0; overflow:hidden; border:1px solid var(--garage-border); border-radius:12px; background:var(--garage-raised); }
.quick-report-photo-preview img { display:block; width:100%; max-height:250px; object-fit:cover; }
.quick-report-photo-preview figcaption { padding:8px 10px; overflow-wrap:anywhere; color:var(--garage-muted); font-size:.78rem; }
.report-proposal { padding:12px; border:1px solid var(--garage-border); border-radius:12px; background:var(--garage-raised); }
.report-proposal dl { display:grid; gap:6px; margin:10px 0; }
.report-proposal dl div { display:grid; grid-template-columns:64px minmax(0, 1fr); gap:8px; }
.report-proposal dt { color:var(--garage-muted); font-size:.78rem; }
.report-proposal dd { margin:0; overflow-wrap:anywhere; font-size:.84rem; }
.report-proposal-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.report-register-notice { margin-top:10px; color:var(--garage-accent); font-size:.8rem; font-weight:750; }
.event-row { display:grid; grid-template-columns:68px minmax(0, 1fr) auto; align-items:start; gap:8px; padding:10px 14px; border-bottom:1px solid var(--garage-border); color:var(--garage-text); text-decoration:none; }
.event-row:last-child { border-bottom:0; }
.event-row strong { font-size:.8rem; }
.event-row p { overflow:hidden; font-size:.83rem; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.event-row .muted { display:block; margin-top:3px; }
.grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; }
.card { padding:14px; }
.card a { color:inherit; text-decoration:none; display:block; }
.workspace-manager { padding:14px; }
.workspace-manager form { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:8px; margin:14px 0; }
.workspace-manager label { display:grid; gap:5px; }
.workspace-manager input { width:100%; }
.workspace-list { display:grid; gap:7px; }
.workspace-list article { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border:1px solid var(--garage-border); border-radius:12px; }
.workspace-list article > div { min-width:0; display:grid; gap:3px; }
.workspace-list strong, .workspace-list .muted { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-list button { min-height:36px; padding:5px 10px; font-size:.77rem; }
.meta { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.meta > div { padding:5px 8px; border-radius:999px; background:var(--garage-raised); font-size:.77rem; }
.meta strong { margin-right:4px; color:var(--garage-muted); }
.progress { height:8px; margin:7px 0; overflow:hidden; border-radius:999px; background:var(--garage-progress-track); }
.progress > i { display:block; height:100%; border-radius:inherit; background:var(--garage-accent); }
.row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0; }
.block { display:block; margin-top:10px; }
.block input { display:block; width:100%; margin-top:4px; }
.vehicle-page { display:grid; gap:12px; }
.vehicle-topbar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.vehicle-topbar h1 { margin:0; text-align:center; }
.vehicle-topbar .section-link { margin:0; }
.vehicle-overview { padding:14px; }
.vehicle-overview-top { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.vehicle-overview .meta { margin:0; }
.vehicle-overview-main { margin-top:10px; padding:11px; border-radius:12px; background:var(--garage-raised); }
.vehicle-overview-main > div { display:flex; justify-content:space-between; align-items:center; }
.vehicle-overview-main strong { font-size:1.14rem; }
.vehicle-overview-next { margin-top:8px; color:var(--garage-muted); font-size:.75rem; }
.vehicle-overview-next strong { display:block; margin-top:3px; color:var(--garage-text); font-size:1rem; }
.vehicle-commitments { overflow:hidden; }
.vehicle-photos { padding:0; overflow:hidden; }
.vehicle-inspection { padding:0; overflow:hidden; }
.inspection-summary { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1px; background:var(--garage-border); }
.inspection-summary > div, .inspection-summary > p { min-width:0; margin:0; padding:10px 14px; background:var(--garage-surface); }
.inspection-summary strong { display:block; overflow:hidden; color:var(--garage-muted); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.inspection-summary > div { overflow-wrap:anywhere; font-size:.86rem; }
.inspection-source-actions { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.inspection-source-actions button { min-height:58px; padding:7px 4px; font-size:.76rem; }
.inspection-result-form { display:grid; gap:12px; margin-top:14px; }
.inspection-result-form h3 { margin:0; font-size:1rem; }
.inspection-fields { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.inspection-fields label { display:grid; gap:4px; min-width:0; color:var(--garage-muted); font-size:.72rem; }
.inspection-fields input { width:100%; min-width:0; }
.inspection-deadline { display:flex !important; align-items:center; gap:7px; color:var(--garage-text) !important; font-size:.8rem !important; }
.vehicle-data-table { max-height:300px; overflow:auto; }
.vehicle-data-editor { padding:12px 14px; border-top:1px solid var(--garage-border); }
.vehicle-data-editor summary { cursor:pointer; color:var(--garage-accent); font-weight:700; }
.vehicle-data-editor form { margin-top:12px; }
@media (max-width:420px) { .inspection-fields { grid-template-columns:1fr; } }
.vehicle-photo-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:8px; padding:10px 14px; }
.vehicle-photo { min-width:0; margin:0; overflow:hidden; border:1px solid var(--garage-border); border-radius:10px; background:var(--garage-raised); }
.vehicle-photo img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; background:var(--garage-progress-track); }
.vehicle-photo figcaption { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:6px; padding:7px; color:var(--garage-muted); font-size:.7rem; }
.vehicle-photo figcaption::first-line { overflow-wrap:anywhere; }
.vehicle-photo .secondary { min-height:30px; padding:4px 7px; font-size:.68rem; }
.vehicle-photo-actions { display:flex; align-items:center; gap:10px; padding:0 14px 12px; }
.vehicle-photo-actions .muted { margin:0; font-size:.72rem; }
.vehicle-commitments .compact-list { padding:0 14px; }
.commitment-add { margin:10px 14px; }
.commitment-form { display:grid; gap:8px; margin-top:8px; }
.commitment-form label { display:grid; gap:4px; }
summary { cursor:pointer; color:var(--garage-accent); font-size:.82rem; font-weight:800; }
.project { padding:0; overflow:hidden; }
.project-heading { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:0 14px; border-bottom:1px solid var(--garage-border); }
.task-list { padding:8px; display:grid; gap:8px; }
.task { padding:11px; box-shadow:none; }
.task-top { display:flex; align-items:center; justify-content:space-between; gap:7px; }
.task-top > div { display:flex; align-items:center; gap:6px; min-width:0; }
.task-top strong { font-size:.94rem; }
.task-detail { display:grid; grid-template-columns:minmax(0, 1fr) 160px; gap:8px; margin-top:9px; }
.task-info { display:grid; gap:6px; }
.task-info-line { display:flex; align-items:center; gap:7px; color:var(--garage-muted); font-size:.76rem; }
.task-info-line .progress { flex:1; margin:0; }
.task-controls { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.task-controls select { min-width:0; width:100%; min-height:34px; font-size:.76rem; }
.task-controls button { min-height:36px; padding:5px; font-size:.82rem; }
.task-progress-slider { display:grid; grid-template-columns:auto minmax(0, 1fr) 38px; align-items:center; gap:8px; color:var(--garage-muted); font-size:.73rem; }
.task-progress-direct { min-height:44px; margin-top:8px; padding:5px 0; }
.task-progress-slider output { color:var(--garage-text); font-variant-numeric:tabular-nums; text-align:right; }
.next-action, .waiting-reason { display:block; margin-top:8px; color:var(--garage-muted); font-size:.77rem; }
.next-action input, .waiting-reason input { width:100%; margin-top:4px; }
.quick-update { grid-column:1 / -1; min-height:32px !important; background:var(--garage-accent-soft) !important; color:var(--garage-accent) !important; }
.task-plan-actions { display:flex; align-items:center; justify-content:flex-end; gap:5px; margin-top:8px; }
.task-plan-actions .secondary { min-height:31px; padding:4px 8px; font-size:.72rem; }
.drag-handle { min-height:26px; min-width:26px; padding:0; border:0; background:transparent; color:var(--garage-muted); font-size:1.05rem; touch-action:none; }
.drag-handle:hover { background:var(--garage-raised); color:var(--garage-text); }
.dragging { opacity:.58; outline:2px dashed var(--garage-accent); }
.work-organizer { overflow:hidden; }
.plan-list { padding:8px 10px; display:grid; gap:7px; }
.plan-row { display:grid; grid-template-columns:28px 20px minmax(0, 1fr) auto; align-items:center; gap:8px; padding:9px; border:1px solid var(--garage-border); border-radius:12px; }
.plan-row a { min-width:0; color:var(--garage-text); text-decoration:none; }
.plan-row b { display:block; font-size:.84rem; }
.plan-row p { margin-top:2px; overflow:hidden; font-size:.88rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.plan-row > div { display:flex; gap:4px; }
.plan-row .secondary { min-height:31px; padding:3px 6px; font-size:.7rem; }
.plan-add { display:flex; align-items:end; gap:8px; padding:10px; border-top:1px solid var(--garage-border); }
.plan-add label { flex:1; display:grid; gap:4px; }
.plan-add select { width:100%; }
.plan-add button { min-height:38px; font-size:.76rem; }
.parts-strip { padding:8px; display:grid; grid-template-columns:repeat(auto-fit, minmax(118px, 1fr)); gap:7px; }
.part { padding:9px; box-shadow:none; }
.part strong { display:block; font-size:.8rem; min-height:32px; }
.part a { color:inherit; text-decoration:none; }
.part select { width:100%; margin-top:7px; min-height:34px; font-size:.76rem; }
.create-link { display:inline-flex; align-items:center; min-height:38px; padding:7px 11px; border-radius:10px; background:var(--garage-accent); color:#16110c; font-size:.82rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.intake-form { display:grid; gap:12px; padding:16px; }
.intake-form form { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.intake-form label { display:grid; gap:5px; }
.intake-form input, .intake-form select, .intake-form textarea { width:100%; }
.intake-form textarea { font:inherit; padding:8px 9px; border:1px solid var(--garage-border); border-radius:10px; resize:vertical; background:var(--garage-input); color:var(--garage-text); }
.intake-form form > :nth-last-child(3), .intake-form form > :nth-last-child(2), .intake-form form > button { grid-column:1 / -1; }
.commitment-edit { border-bottom:1px solid var(--garage-border); }
.commitment-edit:last-child { border-bottom:0; }
.commitment-edit .list-row { border-bottom:0; }
.commitment-edit .commitment-form { padding:0 14px 12px; }
.quick-update-sheet { position:fixed; z-index:20; inset:0; display:flex; align-items:stretch; justify-content:center; overflow:auto; background:var(--garage-bg); }
.quick-update-dialog { width:min(620px, 100%); min-height:100%; border:0; border-radius:0; padding:18px 14px 96px; box-shadow:none; }
.quick-update-title { text-align:center; margin-bottom:12px; }
.quick-update-title h2 { font-size:1.28rem; }
.quick-update-task { padding:12px; display:flex; justify-content:space-between; gap:12px; align-items:center; }
.quick-update-task strong { display:block; font-size:1rem; }
.quick-update-task .progress { width:116px; }
.quick-update-section { margin-top:12px; padding:14px; }
.quick-update-section h3 { display:flex; align-items:center; gap:8px; }
.quick-update-section h3::before { color:var(--garage-accent); }
.quick-update-section.progress-section h3::before { content:'☷'; }
.quick-update-section.status-section h3::before { content:'▣'; }
.quick-update-section.priority-section h3::before { content:'⚑'; }
.quick-progress-slider { display:grid; grid-template-columns:minmax(0, 1fr) 48px; align-items:center; gap:12px; margin-top:18px; }
.quick-progress-slider output { color:var(--garage-text); font-size:1.3rem; font-weight:850; font-variant-numeric:tabular-nums; text-align:right; }
.task-progress-slider input[type="range"], .quick-progress-slider input[type="range"] { width:100%; min-height:32px; padding:0; border:0; border-radius:0; background:transparent; accent-color:var(--garage-accent); cursor:ew-resize; }
.task-progress-slider input[type="range"]::-webkit-slider-runnable-track, .quick-progress-slider input[type="range"]::-webkit-slider-runnable-track { height:8px; border-radius:999px; background:var(--garage-progress-track); }
.task-progress-slider input[type="range"]::-webkit-slider-thumb, .quick-progress-slider input[type="range"]::-webkit-slider-thumb { width:24px; height:24px; margin-top:-8px; border:3px solid var(--garage-surface); border-radius:50%; background:var(--garage-accent); -webkit-appearance:none; box-shadow:0 2px 6px rgb(0 0 0 / 28%); }
.task-progress-slider input[type="range"]::-moz-range-track, .quick-progress-slider input[type="range"]::-moz-range-track { height:8px; border-radius:999px; background:var(--garage-progress-track); }
.task-progress-slider input[type="range"]::-moz-range-thumb, .quick-progress-slider input[type="range"]::-moz-range-thumb { width:18px; height:18px; border:3px solid var(--garage-surface); border-radius:50%; background:var(--garage-accent); box-shadow:0 2px 6px rgb(0 0 0 / 28%); }
.quick-status-buttons, .quick-priority-buttons { display:grid; grid-template-columns:repeat(3, 1fr); gap:7px; margin-top:10px; }
.quick-priority-buttons { grid-template-columns:repeat(4, 1fr); }
.quick-choice { min-height:40px; padding:5px; background:var(--garage-raised); color:var(--garage-muted); border:1px solid transparent; font-size:.8rem; }
.quick-choice.selected { border-color:var(--garage-accent); background:var(--garage-accent-soft); color:var(--garage-accent); }
.quick-update-dialog input, .quick-update-dialog select { width:100%; }
.quick-update-actions { position:fixed; bottom:0; left:0; right:0; display:flex; gap:8px; width:min(620px, 100%); margin:auto; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:var(--garage-surface); border-top:1px solid var(--garage-border); }
.quick-update-actions button { flex:1; min-height:50px; }
.attention { border-left:3px solid var(--garage-accent); }
.empty, .error { padding:13px 14px; color:var(--garage-muted); font-size:.83rem; }
.error { color:#d44040; }
.hidden { display:none !important; }
.login { max-width:420px; margin:44px auto; }
.highlight { outline:3px solid var(--garage-accent); outline-offset:2px; }
@media (max-width:700px) {
  .garage-header, main { padding-left:14px; padding-right:14px; }
  .garage-header { min-height:67px; }
  .brand { font-size:1.28rem; }
  .brand-kicker { font-size:.5rem; }
  .brand strong { font-size:1rem; }
  .theme-picker select { max-width:96px; font-size:.62rem; }
  .chat-link, .header-logout { display:none; }
  .top-nav { display:none; }
  main { padding-top:12px; padding-bottom:82px; }
  .bottom-nav { position:fixed; z-index:19; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(4, 1fr); padding:6px 4px calc(6px + env(safe-area-inset-bottom)); background:var(--garage-surface); border-top:1px solid var(--garage-border); box-shadow:0 -2px 12px rgb(0 0 0 / 18%); }
  .bottom-nav a { min-height:48px; display:grid; place-items:center; align-content:center; gap:2px; color:var(--garage-muted); text-decoration:none; font-size:.64rem; font-weight:750; }
  .bottom-nav a span { font-size:1.2rem; line-height:1; }
  .bottom-nav a.selected { color:var(--garage-accent); }
  .grid { grid-template-columns:1fr; }
  .summary { grid-template-columns:repeat(2, 1fr); }
  .summary .card:last-child:nth-child(odd) { grid-column:1 / -1; }
  .garage-summary { gap:6px; }
  .garage-summary article { min-height:72px; padding:10px 5px; }
  .garage-summary strong { font-size:.66rem; }
  .garage-summary p { font-size:1.05rem; }
  .assistant-label { max-width:142px; font-size:.6rem; line-height:1.25; }
  .report-entry-grid { gap:6px; padding:10px 10px 7px; }
  .report-entry { min-height:72px; padding:7px 3px; font-size:.69rem; overflow-wrap:anywhere; }
  .dashboard-vehicle-list { padding:8px 10px 12px; }
  .dashboard-vehicle-card { grid-template-columns:62px minmax(0, 1fr) auto; gap:8px; padding:8px; }
  .vehicle-photo-placeholder { width:62px; height:62px; }
  .vehicle-report-main > strong { font-size:.88rem; }
  .vehicle-report-step, .vehicle-report-next { font-size:.69rem; }
  .vehicle-report-percent { font-size:.92rem; }
  .workspace-manager form { grid-template-columns:1fr; }
  .workspace-manager form button { min-height:44px; }
  .task-detail { grid-template-columns:minmax(0, 1fr) 144px; }
  .task-controls { gap:5px; }
  .vehicle-overview-top { align-items:flex-start; }
  .progress-summary { grid-template-columns:repeat(2, 1fr); padding:8px; }
  .progress-summary .card { min-height:86px; display:grid; place-items:center; align-content:center; }
  .today-vehicle { min-height:66px; }
  .plan-row { grid-template-columns:24px 18px minmax(0, 1fr); }
  .plan-row > div { grid-column:3; justify-content:flex-end; }
  .intake-form form { grid-template-columns:1fr; }
  .intake-form form > * { grid-column:auto !important; }
}
@media (max-width:390px) {
  .task-detail { grid-template-columns:1fr; }
  .task-controls { grid-template-columns:repeat(4, 1fr); }
  .task-controls select { grid-column:span 2; }
  .task-controls .quick-update { grid-column:1 / -1; }
  .quick-progress-slider { gap:8px; }
}
