*,:before,:after{box-sizing:border-box}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--text:#0f172a;--text-muted:#64748b;--text-label:#334155;--accent:#4f46e5;--accent-hover:#4338ca;--accent-soft:#6366f1;--border:#e2e8f0;--border-input:#cbd5e1;--surface:#fff;--surface-muted:#f8fafc;--error-bg:#fef2f2;--error-border:#fecaca;--error-text:#b91c1c;--field-error:#dc2626;--shadow:0 1px 2px #0f172a0a;--toggle-bg:#f1f5f9;--toggle-active-bg:#fff;--toggle-active-text:#0f172a;--toggle-inactive-text:#64748b}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f172a;--text:#f1f5f9;--text-muted:#94a3b8;--text-label:#cbd5e1;--accent:#818cf8;--accent-hover:#a5b4fc;--accent-soft:#a5b4fc;--border:#334155;--border-input:#475569;--surface:#1e293b;--surface-muted:#1e293b;--error-bg:#450a0a;--error-border:#7f1d1d;--error-text:#fecaca;--field-error:#fca5a5;--shadow:0 1px 2px #0000004d;--toggle-bg:#1e293b;--toggle-active-bg:#334155;--toggle-active-text:#f8fafc;--toggle-inactive-text:#94a3b8}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;transition:background-color .2s,color .2s}#root{min-height:100dvh}.app{max-width:28rem;min-height:100dvh;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));flex-direction:column;gap:1.5rem;margin:0 auto;display:flex;position:relative}.app--centered{justify-content:center;align-items:center}.app-toolbar{justify-content:flex-end;margin-bottom:-.5rem;display:flex}.app-toolbar--between{justify-content:space-between;align-items:center}.back-link{color:var(--accent);font-size:.9rem;font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.loading-text{color:var(--text-muted);margin:0}.app-header{flex-direction:column;gap:.5rem;display:flex}.app-header--row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1rem}.app-header--row h1{font-size:1.5rem}.app-header__actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.5rem;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft);margin:0;font-size:.75rem;font-weight:600}.app-header h1{color:var(--text);margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.subtitle{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.5}.theme-toggle{background:var(--toggle-bg);border:1px solid var(--border);border-radius:.625rem;justify-content:space-between;gap:.125rem;padding:.25rem;display:inline-flex}.theme-toggle__btn{min-height:2rem;color:var(--toggle-inactive-text);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.375rem .75rem;font-size:.8rem;font-weight:600;transition:background-color .15s,color .15s}.theme-toggle__btn--active{background:var(--toggle-active-bg);color:var(--toggle-active-text);box-shadow:var(--shadow)}.status-card{background:var(--surface-muted);border:1px solid var(--border);border-radius:.875rem;padding:1rem 1.125rem}.status-text{color:var(--text);margin:0;font-size:.9rem;line-height:1.4}.app-header--auth{text-align:center;align-items:center}.auth-logo{object-fit:cover;border:2px solid var(--border);width:5rem;height:5rem;box-shadow:var(--shadow);border-radius:50%}.auth-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.875rem;padding:1.25rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.field{color:var(--text-label);flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:500;display:flex}.field__label-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.field input,.field select{border:1px solid var(--border-input);min-height:3rem;color:var(--text);background:var(--bg);border-radius:.625rem;padding:.75rem .875rem;font-size:1rem;font-weight:400}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat;padding-right:2.25rem}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#ef4444}.field input.field__readonly{background:var(--surface-muted);color:var(--text-muted);cursor:not-allowed}.field-hint{color:var(--text-muted);font-size:.8rem;font-weight:400}.password-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;min-height:2rem;padding:0;font-size:.8rem;font-weight:600}.password-toggle:hover{color:var(--accent-hover)}.field-error{color:var(--field-error);font-size:.8rem;font-weight:400}.form-error--banner{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:.625rem;margin:0;padding:.75rem .875rem;font-size:.875rem}.auth-footer{text-align:center;color:var(--text-muted);margin:0;font-size:.9rem}.auth-link{color:var(--accent);font-weight:600;text-decoration:none}.auth-link:hover{color:var(--accent-hover);text-decoration:underline}.btn{cursor:pointer;border:none;border-radius:.625rem;min-height:3rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:opacity .15s,background-color .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:active:not(:disabled){background:var(--accent-hover)}.btn--ghost{min-height:2.5rem;color:var(--text-muted);border:1px solid var(--border);background:0 0;flex-shrink:0;padding:.5rem .875rem;font-size:.875rem}.btn--ghost:active:not(:disabled){background:var(--surface-muted)}.btn--block{justify-content:center;align-items:center;text-decoration:none;display:flex}.btn--sm{min-height:2.25rem;padding:.375rem .75rem;font-size:.8rem}.vehicle-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.vehicle-card{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.125rem;display:flex}.vehicle-card__main{flex:1;min-width:0}.vehicle-card__title-link{color:inherit;text-decoration:none;display:block}.vehicle-card__title-link:active .vehicle-card__title{color:var(--accent)}.vehicle-card__title{color:var(--text);margin:0;font-size:1rem;font-weight:600}.vehicle-card__reg{color:var(--text-muted);letter-spacing:.02em;margin:.25rem 0 0;font-size:.875rem}.vehicle-card__link{color:inherit;flex:1;min-width:0;text-decoration:none}.vehicle-card__hint{color:var(--accent);margin:.375rem 0 0;font-size:.8rem;font-weight:600}.stats-grid{grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;padding:1rem}.stat-card__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:600}.stat-card__value{color:var(--text);margin:.375rem 0 0;font-size:1.25rem;font-weight:700}.fuel-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.fuel-card{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.125rem;display:flex}.fuel-card__main{flex:1;min-width:0}.fuel-card__row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.fuel-card__date{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.fuel-card__badge{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border-radius:999px;flex-shrink:0;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.fuel-card__detail{color:var(--text);margin:.35rem 0 0;font-size:.875rem}.fuel-card__meta{color:var(--text-muted);margin:.25rem 0 0;font-size:.8rem}.field--checkbox{cursor:pointer;flex-direction:row;align-items:center;gap:.625rem;font-weight:400}.field--checkbox input{width:1.125rem;height:1.125rem;min-height:auto;accent-color:var(--accent);margin:0}.field__textarea{border:1px solid var(--border-input);min-height:4.5rem;color:var(--text);background:var(--bg);resize:vertical;border-radius:.625rem;padding:.75rem .875rem;font-family:inherit;font-size:1rem}.field__textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vehicle-card--stacked{flex-direction:column;align-items:stretch}.vehicle-card__links{gap:.5rem;display:flex}.vehicle-card__action{background:color-mix(in srgb, var(--accent) 12%, transparent);min-height:2.5rem;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:.625rem;flex:1;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.vehicle-card__action:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.part-catalog-item{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;padding:1rem 1.125rem;display:block}.part-picker{flex-direction:column;gap:.75rem;display:flex}.part-picker__results{border:1px solid var(--border);border-radius:.625rem;max-height:12rem;margin:0;padding:0;list-style:none;overflow:hidden auto}.part-picker__option{border:none;border-bottom:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .875rem;font-size:.9rem;display:flex}.part-picker__option:last-child{border-bottom:none}.part-picker__option:hover{background:var(--surface-muted)}.part-picker__option--create{color:var(--accent);font-weight:600}.part-picker__meta{color:var(--text-muted);font-size:.75rem}.part-picker__empty{color:var(--text-muted);padding:.75rem .875rem;font-size:.875rem}.part-picker__selected{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.part-picker__chip{background:var(--surface-muted);border:1px solid var(--border);border-radius:.625rem;flex-direction:column;gap:.5rem;padding:.625rem .75rem;display:flex}.part-picker__chip-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.part-picker__chip-name{color:var(--text);flex:1;font-size:.9rem;font-weight:500}.part-picker__chip-fields{gap:.625rem;display:flex}.part-picker__inline-field{color:var(--text-muted);flex-direction:column;flex:1;gap:.25rem;font-size:.75rem;font-weight:600;display:flex}.part-picker__inline-field input{border:1px solid var(--border-input);width:100%;min-height:2.25rem;color:var(--text);background:var(--bg);border-radius:.5rem;padding:.375rem .5rem;font-size:.9rem;font-weight:400}.part-picker__inline-field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.part-picker__remove{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.375rem;font-size:1.25rem;line-height:1}.service-parts-tags{flex-wrap:wrap;gap:.375rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.service-parts-tag{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-block}.confirm-overlay{z-index:1000;padding:1.25rem;padding-bottom:max(1.25rem, env(safe-area-inset-bottom));background:#0f172a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:1rem;width:100%;max-width:28rem;padding:1.25rem;box-shadow:0 8px 32px #0003}.confirm-dialog__title{color:var(--text);margin:0;font-size:1.125rem;font-weight:700}.confirm-dialog__message{color:var(--text-muted);margin:.625rem 0 0;font-size:.9rem;line-height:1.5}.confirm-dialog__actions{gap:.625rem;margin-top:1.25rem;display:flex}.confirm-dialog__actions .btn{flex:1}.btn--danger{color:#fff;background:#dc2626}.btn--danger:active:not(:disabled){background:#b91c1c}.profile-menu{position:relative}.profile-menu__trigger{border:1px solid var(--border);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.profile-menu__trigger:active{background:var(--surface-muted)}.profile-menu__avatar,.profile-menu__initials{object-fit:cover;width:100%;height:100%}.profile-menu__initials{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.profile-menu__card{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:.875rem;width:min(16rem,100vw - 2rem);padding:.75rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 24px #00000026}.profile-menu__identity{border-bottom:1px solid var(--border);text-align:center;margin-bottom:.375rem;padding:.375rem .5rem .625rem}.profile-menu__name{color:var(--text);margin:0;font-size:.9rem;font-weight:700}.profile-menu__email{color:var(--text-muted);word-break:break-all;margin:.2rem 0 0;font-size:.75rem}.profile-menu__items{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.profile-menu__item{width:max-content;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.625rem .5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:block}.profile-menu__item:hover,.profile-menu__item:active{background:var(--surface-muted)}.profile-menu__item--danger{color:#dc2626}.profile-menu__theme{flex-direction:column;gap:.5rem;margin:.25rem 0;padding:.5rem;display:flex}.profile-menu__theme-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.image-upload{flex-direction:column;gap:.5rem;display:flex}.image-upload__label{color:var(--text);font-size:.875rem;font-weight:600}.image-upload__row{align-items:flex-start;gap:.875rem;display:flex}.image-upload__preview{border:1px solid var(--border);background:var(--surface-muted);border-radius:.75rem;flex-shrink:0;width:4.5rem;height:4.5rem;overflow:hidden}.image-upload__img{object-fit:cover;width:100%;height:100%}.image-upload__fallback{width:100%;height:100%;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.image-upload__actions{flex-direction:column;gap:.375rem;min-width:0;display:flex}.image-upload__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.image-upload__hint{color:var(--text-muted);margin:0;font-size:.75rem}.field input.field__readonly,.field input:disabled{opacity:.75;cursor:not-allowed;background:var(--surface-muted)}.form-success--banner{color:#16a34a;background:#16a34a1f;border-radius:.625rem;margin:0;padding:.75rem .875rem;font-size:.875rem}.profile-password{margin-top:1.25rem}.profile-password__title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.profile-password__subtitle{color:var(--text-muted);margin:.375rem 0 1rem;font-size:.875rem}.profile-vehicles{margin-top:1.25rem}.profile-vehicles__title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.profile-vehicles__subtitle{color:var(--text-muted);margin:.375rem 0 .875rem;font-size:.875rem}.profile-vehicle-list{flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}.profile-vehicle-item{background:var(--surface);border:1px solid var(--border);border-radius:.875rem;padding:1rem}.profile-vehicle-item__info{margin-bottom:.75rem}.profile-vehicle-item__title{color:var(--text);margin:0;font-size:.95rem;font-weight:700}.profile-vehicle-item__reg{color:var(--text-muted);margin:.2rem 0 0;font-size:.8rem}.vehicle-card__top{align-items:flex-start;gap:.75rem;display:flex}.vehicle-card__details{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);white-space:nowrap;border-radius:.5rem;flex-shrink:0;margin-left:auto;padding:.35rem .65rem;font-size:.8rem;font-weight:600;text-decoration:none}.vehicle-card__details:active{background:color-mix(in srgb, var(--accent) 18%, transparent)}.vehicle-card__photo{border:1px solid var(--border);background:var(--surface-muted);border-radius:.625rem;flex-shrink:0;width:3rem;height:3rem;overflow:hidden}.vehicle-card__photo-img{object-fit:cover;width:100%;height:100%}.offline-banner{z-index:40;padding:.5rem 1rem;padding-top:max(.5rem, env(safe-area-inset-top));color:var(--text);background:color-mix(in srgb, var(--accent) 14%, var(--surface));border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;font-size:.8rem;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0}.offline-banner__message{text-align:center}.offline-banner__sync{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:.5rem;flex-shrink:0;padding:.35rem .75rem;font-size:.75rem;font-weight:700}.offline-banner__sync:disabled{opacity:.65;cursor:not-allowed}.offline-banner__sync:active:not(:disabled){background:var(--surface-muted)}body:has(.offline-banner) .app{padding-top:calc(2.75rem + env(safe-area-inset-top))}html.native-app .app{padding-top:calc(50px + max(1.25rem, env(safe-area-inset-top)))}html.native-app .offline-banner{padding-top:calc(50px + max(.5rem, env(safe-area-inset-top)))}html.native-app body:has(.offline-banner) .app{padding-top:calc(50px + 2.75rem + env(safe-area-inset-top))}.vehicle-card__photo-fallback{width:100%;height:100%;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}
