:root{color-scheme:dark;--bg: #0b0e13;--surface: #12161d;--surface-2: #171c25;--surface-3: #1d232e;--input-bg: #0e1218;--border: #232a35;--border-strong: #303a49;--text: #e8ecf1;--text-dim: #9aa5b4;--text-faint: #6b7684;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-text: #6ea8ff;--danger: #b91c1c;--danger-hover: #991b1b;--danger-text: #ff6b6b;--success-text: #4ade80;--warning-text: #fbbf24;--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;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55)}*,*: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:#fbbf2414;border:1px solid rgba(251,191,36,.25);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__mark{display:grid;place-items:center;width:2rem;height:2rem;flex:none;border-radius:var(--radius);background:linear-gradient(145deg,var(--accent) 0%,#1e40af 100%);color:#fff;font-size:var(--fs-xs);font-weight:800;letter-spacing:.04em}.brand__name{font-weight:650;letter-spacing:-.01em;white-space:nowrap}.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:#fff;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:#fff}.btn--danger:hover:not(:disabled){background:var(--danger-hover)}.btn--block{width:100%}.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 #2563eb38}.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 input[type=date]{color-scheme:dark}.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)}.captcha-widget{padding:var(--sp-3);border-radius:var(--radius);border:1px dashed var(--border-strong);font-size:var(--fs-xs);color:var(--text-faint)}.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(.55) saturate(.9);z-index:0}.auth-shell__media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0b0e138c,#0b0e13e6)}.auth-card{position:relative;z-index:1;width:100%;max-width:25rem;padding:var(--sp-5);border-radius:var(--radius-lg);background:#12161deb;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;min-width:0}.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,.app-header .brand__name{display:none}.app-header__inner{padding-left:var(--sp-3);padding-right:var(--sp-3)}}.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(.75) saturate(.9)}.car-card__media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0b0e1300 40%,#12161df2)}.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:#b91c1c2e;color:var(--danger-text);border-color:#b91c1c73}.reminder-badge--due-soon{background:#fbbf2424;color:var(--warning-text);border-color:#fbbf2459}.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)}.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 rgba(185,28,28,.4);background:#b91c1c14;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__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__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:#2563eb29;color:#7fb0ff;border-color:#2563eb59}.badge--fuel{background:#ea580c29;color:#ffa76b;border-color:#ea580c59}.badge--service{background:#16a34a29;color:#5fd68b;border-color:#16a34a59}.badge--event{background:#9333ea29;color:#c99bf5;border-color:#9333ea59}.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:#000000e6;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:#fbbf2424;color:var(--warning-text);border-color:#fbbf2459}.transfer-status--accepted{background:#16a34a29;color:#5fd68b;border-color:#16a34a59}.transfer-status--declined{background:var(--surface-3);color:var(--text-faint);border-color:var(--border-strong)}
