:root{--font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--radius: .625rem;--radius-lg: .875rem;--radius-pill: 999px}:root,[data-theme=dark]{color-scheme:dark;--bg: #0b0e13;--surface: #12161d;--surface-2: #171c25;--surface-3: #1d232e;--surface-raised: #171c25;--input-bg: #0e1218;--border: #232a35;--border-strong: #303a49;--text: #e8ecf1;--text-dim: #9aa5b4;--text-faint: #6b7684;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-text: #6ea8ff;--accent-contrast: #ffffff;--danger: #b91c1c;--danger-hover: #991b1b;--danger-text: #ff6b6b;--warning: #fbbf24;--warning-text: #fbbf24;--success-text: #4ade80;--type-fuel: #ea580c;--type-fuel-text: #ffa76b;--type-service: #16a34a;--type-service-text: #5fd68b;--type-event: #9333ea;--type-event-text: #c99bf5;--type-shared: #94a3b8;--type-shared-text: #b6c2d1;--type-travel-text: #7fb0ff;--photo-dim: .75;--photo-dim-strong: .55;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55)}[data-theme=light]{color-scheme:light;--bg: #f5f7fa;--surface: #ffffff;--surface-2: #eef1f5;--surface-3: #e4e8ee;--surface-raised: #ffffff;--input-bg: #f2f4f7;--border: #dde2e8;--border-strong: #7c8797;--text: #141922;--text-dim: #4b5563;--text-faint: #6b7280;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-text: #1d4ed8;--accent-contrast: #ffffff;--danger: #b91c1c;--danger-hover: #991b1b;--danger-text: #b91c1c;--warning: #d97706;--warning-text: #92400e;--success-text: #15803d;--type-fuel: #ea580c;--type-fuel-text: #9a3412;--type-service: #16a34a;--type-service-text: #166534;--type-event: #9333ea;--type-event-text: #6b21a8;--type-shared: #94a3b8;--type-shared-text: #475569;--type-travel-text: #1e40af;--photo-dim: .92;--photo-dim-strong: .85;--shadow: 0 1px 2px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 48px rgba(15, 23, 42, .18)}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{line-height:1.25;letter-spacing:-.015em;margin:0}h1{font-size:var(--fs-2xl);font-weight:650}h2{font-size:var(--fs-xl);font-weight:620}h3{font-size:var(--fs-lg);font-weight:600}p{margin:0}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;color:var(--text-dim)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.ok{color:var(--success-text);font-size:var(--fs-sm)}.error{color:var(--danger-text);font-size:var(--fs-sm)}.empty-hint{color:var(--text-dim);font-size:var(--fs-sm)}.notice{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:color-mix(in srgb,var(--warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);color:var(--text);font-size:var(--fs-sm);display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-start}.brand{display:inline-flex;align-items:center;gap:var(--sp-3)}.brand__name{font-weight:650;letter-spacing:-.01em;white-space:nowrap}.brand__logo{display:block;height:2rem;width:auto;border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:inherit;font-size:var(--fs-sm);font-weight:600;padding:.625rem 1rem;min-height:2.5rem;border-radius:var(--radius);border:1px solid transparent;background:var(--accent);color:var(--accent-contrast);cursor:pointer;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--accent-hover);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn--ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-faint)}.btn--danger{background:var(--danger);color:var(--accent-contrast)}.btn--danger:hover:not(:disabled){background:var(--danger-hover)}.btn--block{width:100%}.theme-toggle{display:grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;padding:0;border-radius:var(--radius);border:1px solid var(--border-strong);background:transparent;color:var(--text-dim);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.theme-toggle:hover{background:var(--surface-3);color:var(--text);border-color:var(--text-faint)}.form{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-5)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field label{font-size:var(--fs-sm);font-weight:550;color:var(--text-dim)}.field small{font-size:var(--fs-xs);color:var(--text-faint)}.field input,.field select,.field textarea{font-family:inherit;font-size:var(--fs-base);width:100%;padding:.625rem .75rem;color:var(--text);background:var(--input-bg);border:1px solid var(--border-strong);border-radius:var(--radius);transition:border-color .15s ease,box-shadow .15s ease}.field textarea{resize:vertical;min-height:4.5rem}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:calc(100% - 1.1rem) 1.15rem,calc(100% - .75rem) 1.15rem;background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;padding-right:2.25rem}.field--check .check{display:flex;align-items:center;gap:var(--sp-3)}.field--check input[type=checkbox]{width:1.15rem;height:1.15rem;flex:none;accent-color:var(--accent);cursor:pointer}.field--check .check label{margin:0;color:var(--text);cursor:pointer}.actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.links{margin-top:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-dim)}@media(max-width:480px){.grecaptcha-badge{bottom:var(--sp-4)!important}}.card{padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.auth-shell{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--sp-5) var(--sp-4);overflow:hidden}.auth-shell__media{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:brightness(var(--photo-dim-strong)) saturate(.9);z-index:0}.auth-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 55%,transparent),color-mix(in srgb,var(--bg) 90%,transparent))}.auth-shell__theme-toggle{position:absolute;top:var(--sp-4);right:var(--sp-4);z-index:2}.auth-card{position:relative;z-index:1;width:100%;max-width:25rem;padding:var(--sp-5);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-raised) 92%,transparent);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-card>.brand{margin-bottom:var(--sp-5)}.auth-card h1{font-size:var(--fs-xl)}.auth-card>p{margin-top:var(--sp-2);color:var(--text-dim);font-size:var(--fs-sm)}.auth-tagline{position:relative;z-index:1;max-width:25rem;margin-top:var(--sp-5);text-align:center;font-size:var(--fs-sm);color:var(--text-dim)}@media(min-width:60rem){.auth-card{max-width:27rem;padding:var(--sp-6)}}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.app-header__inner{display:flex;align-items:center;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;width:100%;max-width:46rem;margin:0 auto;padding:var(--sp-3) var(--sp-4)}.app-header__nav{display:flex;gap:var(--sp-1);flex:1}.app-header__nav-link{padding:.375rem .75rem;border-radius:var(--radius);font-size:var(--fs-sm);font-weight:550;color:var(--text-dim);white-space:nowrap}.app-header__nav-link:hover{color:var(--text);background:var(--surface-3);text-decoration:none}.app-header__nav-link.active{color:var(--text);background:var(--surface-3)}.app-header__user{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);min-width:0}.app-header__email{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12rem}.app-shell__content{flex:1;width:100%;max-width:46rem;margin:0 auto;padding:var(--sp-5) var(--sp-4) var(--sp-7)}@media(max-width:34rem){.app-header__email{display:none}.app-header__inner{padding-left:var(--sp-3);padding-right:var(--sp-3)}.app-header__user{margin-left:auto}.app-header__nav{order:1;flex-basis:100%}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.back-link{display:inline-block;margin-bottom:var(--sp-4);font-size:var(--fs-sm);color:var(--text-dim)}.back-link:hover{color:var(--text);text-decoration:none}.section{margin-top:var(--sp-6)}.section>h2,.section>.page-header{padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.empty-state{margin-top:var(--sp-5);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-6) var(--sp-5)}.empty-state p{color:var(--text-dim)}.car-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:var(--sp-4);margin-top:var(--sp-5)}.car-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);border:1px solid var(--border);color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.car-card:hover{border-color:var(--border-strong);transform:translateY(-2px);text-decoration:none}.car-card__media{position:relative;aspect-ratio:16 / 9;background-color:var(--surface-2);background-size:cover;background-position:center;filter:brightness(var(--photo-dim)) saturate(.9)}.car-card__media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--surface) 95%,transparent) 100%)}.car-card__body{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.car-card__body h3{margin-bottom:var(--sp-1)}.car-card__meta{font-size:var(--fs-sm);color:var(--text-dim)}.car-card__alerts{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.reminder{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2)}.reminder__label{color:var(--text-faint)}.reminder__value{font-variant-numeric:tabular-nums}.reminder--unset .reminder__value{color:var(--text-faint)}.reminder__detail{font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.reminder-badge--overdue{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger-text);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.reminder-badge--due-soon{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.car-photo{margin-top:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.car-photo__image{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-lg);border:1px solid var(--border);background-color:var(--surface-2);background-size:cover;background-position:center}.car-photo .actions{margin-top:0}.btn--disabled{opacity:.55;cursor:not-allowed}.car-info{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-5);margin:var(--sp-5) 0;font-size:var(--fs-sm)}.car-info dt{color:var(--text-faint);font-weight:550}.car-info dd{margin:0;color:var(--text)}.economy{margin-top:var(--sp-4)}.economy__figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--sp-3)}.economy__figure{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.economy__label{font-size:var(--fs-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.economy__value{font-size:var(--fs-lg);font-weight:650;color:var(--type-fuel-text);font-variant-numeric:tabular-nums}.economy__aside,.economy__basis{font-size:var(--fs-xs);color:var(--text-dim);font-variant-numeric:tabular-nums}.economy__basis{margin-top:var(--sp-3)}.confirm-delete{display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-start;margin-top:var(--sp-4);padding:var(--sp-4);border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent);font-size:var(--fs-sm)}.log-filter{max-width:13rem;margin-top:var(--sp-5)}.log-list{list-style:none;margin:var(--sp-5) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.log-entry{padding:var(--sp-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.log-entry__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.log-entry__date{font-size:var(--fs-sm);color:var(--text-faint);font-variant-numeric:tabular-nums}.log-entry__notes{margin-top:var(--sp-3);font-size:var(--fs-sm)}.log-entry__details{margin:var(--sp-3) 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);color:var(--text-dim)}.log-entry__price{margin-top:var(--sp-3);font-size:var(--fs-sm);font-weight:650;color:var(--type-fuel-text);font-variant-numeric:tabular-nums}.consumption{margin-top:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--type-fuel) 35%,transparent);background:color-mix(in srgb,var(--type-fuel) 10%,transparent)}.consumption__headline{font-size:var(--fs-lg);font-weight:650;color:var(--type-fuel-text);font-variant-numeric:tabular-nums}.consumption__basis{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--text-dim);font-variant-numeric:tabular-nums}.log-entry__actions{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap}.log-entry__link{padding:0;border:none;background:none;font:inherit;font-size:var(--fs-sm);color:var(--accent-text);cursor:pointer}.log-entry__link:hover{text-decoration:underline}.log-entry__edited{font-size:var(--fs-xs);color:var(--text-faint);font-style:italic}.log-entry__author{font-size:var(--fs-xs);color:var(--text-faint)}.log-entry__edit{margin-top:var(--sp-3)}.revision-list{list-style:none;margin:var(--sp-3) 0 0;padding:var(--sp-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;gap:var(--sp-2)}.revision{display:flex;flex-direction:column;font-size:var(--fs-sm)}.revision__when{font-size:var(--fs-xs);color:var(--text-faint)}.revision__values{color:var(--text-dim)}.badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.badge--travel{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--type-travel-text);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.badge--fuel{background:color-mix(in srgb,var(--type-fuel) 16%,transparent);color:var(--type-fuel-text);border-color:color-mix(in srgb,var(--type-fuel) 35%,transparent)}.badge--service{background:color-mix(in srgb,var(--type-service) 16%,transparent);color:var(--type-service-text);border-color:color-mix(in srgb,var(--type-service) 35%,transparent)}.badge--event{background:color-mix(in srgb,var(--type-event) 16%,transparent);color:var(--type-event-text);border-color:color-mix(in srgb,var(--type-event) 35%,transparent)}.badge--shared{background:color-mix(in srgb,var(--type-shared) 16%,transparent);color:var(--type-shared-text);border-color:color-mix(in srgb,var(--type-shared) 35%,transparent)}.photo-strip{display:flex;gap:var(--sp-2);margin-top:var(--sp-4);overflow-x:auto;padding-bottom:var(--sp-1)}.photo-thumb{flex:none;width:4.5rem;height:4.5rem;border-radius:var(--radius);border:1px solid var(--border);padding:0;overflow:hidden;background:var(--surface-3);cursor:pointer}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb--loading,.photo-thumb--error{display:grid;place-items:center;font-size:var(--fs-xs);color:var(--text-faint);cursor:default}.photo-add-btn{flex:none;display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:var(--radius);border:1px dashed var(--border-strong);font-size:var(--fs-xl);color:var(--text-faint);cursor:pointer;transition:border-color .15s ease,color .15s ease}.photo-add-btn:hover{border-color:var(--accent);color:var(--accent-text)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 90%,transparent);display:grid;place-items:center;padding:var(--sp-5);z-index:100}.lightbox img{max-width:100%;max-height:100%;border-radius:var(--radius);cursor:zoom-out}.transfer-list{list-style:none;margin:var(--sp-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.transfer-row{padding:var(--sp-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.transfer-row__main{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)}.transfer-row__meta{font-size:var(--fs-sm);color:var(--text-dim)}.car-summary-label{font-weight:600}.car-summary-label--fallback{color:var(--text-dim);font-weight:550}.transfer-status{margin-left:auto}.transfer-status--pending{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.transfer-status--accepted{background:color-mix(in srgb,var(--type-service) 16%,transparent);color:var(--type-service-text);border-color:color-mix(in srgb,var(--type-service) 35%,transparent)}.transfer-status--declined{background:var(--surface-3);color:var(--text-faint);border-color:var(--border-strong)}.share-list{list-style:none;margin:var(--sp-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.share-row{padding:var(--sp-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.share-row__main{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)}.share-row__email{font-weight:600;overflow-wrap:anywhere}.share-row__meta{font-size:var(--fs-sm);color:var(--text-dim)}.share-status{margin-left:auto}.share-status--pending{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.share-status--accepted{background:color-mix(in srgb,var(--type-service) 16%,transparent);color:var(--type-service-text);border-color:color-mix(in srgb,var(--type-service) 35%,transparent)}.share-status--revoked{background:var(--surface-3);color:var(--text-faint);border-color:var(--border-strong)}
