/* Surface and page primitives */
.card,.vehicle-hero,.summary-card,.vehicle-history-section
{
    background:var(--color-surface);
    border:1px solid var(--color-border);
    box-shadow:var(--shadow-soft)
}
.divider
{
    border:0;
    border-top:1px solid var(--color-border);
    margin:var(--space-12) 0
}
.page-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-24);
    margin-bottom:var(--space-32)
}
.page-header h1
{
    margin:0
}
.page-header p
{
    margin-top:var(--space-8);
    max-width:62ch
}
.icon-button
{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border:1px solid var(--color-border);
    border-radius:var(--radius-medium);
    background:var(--color-surface);
    color:var(--color-text);
    cursor:pointer
}
/* Product identity and global actions */
.app-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-24);
    margin:0 0 var(--space-48);
    padding:0 0 var(--space-20);
    border-bottom:1px solid var(--color-border)
}
.app-brand
{
    display:flex;
    align-items:center;
    gap:var(--space-12);
    min-width:0
}
.app-logo
{
    display:block;
    width:42px;
    height:42px;
    object-fit:contain
}
.app-brand-identity
{
    display:flex;
    flex-direction:column;
    gap:2px
}
.app-title
{
    margin:0;
    color:var(--color-text);
    font-size:1.14rem;
    font-weight:400;
    letter-spacing:-.035em;
    line-height:1.2
}
.app-brand-descriptor
{
    color:var(--color-text-muted);
    font-size:.62rem;
    font-weight:400;
    letter-spacing:.13em
}
.app-header-actions
{
    display:flex;
    align-items:center;
    gap:var(--space-10);
    margin-left:auto
}
.language-selector{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--color-border);border-radius:999px;background:#0b0e14}
.language-option{min-width:38px;min-height:34px;padding:4px 8px;border:0;border-radius:999px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.7rem;font-weight:500;letter-spacing:.06em;cursor:pointer}
.language-option:hover,.language-option:focus-visible{color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:2px}
.language-option.is-selected{background:var(--color-primary-subtle);color:var(--color-primary)}
.editor-language-selector{margin-left:auto}
.auth-language-selector{justify-content:center;align-self:center;margin-top:12px}
.vehicle-language-selector{margin-left:auto}
.history-language-selector{margin-left:auto}
.logout-button
{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid var(--color-border);
    border-radius:var(--radius-small);
    background:var(--color-surface);
    color:var(--color-text-secondary);
    cursor:pointer
}
.logout-button svg
{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
/* Buttons */
.button,.button-add-vehicle
{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:var(--space-8);
    padding:0 var(--space-16);
    border:1px solid var(--color-border-strong);
    border-radius:var(--radius-small);
    background:var(--color-surface);
    color:var(--color-text);
    font-size:.88rem;
    font-weight:400;
    line-height:1;
    cursor:pointer;
    transition:background-color var(--transition),border-color var(--transition),color var(--transition)
}
.button:hover
{
    background:var(--color-surface-muted);
    border-color:var(--color-text-muted)
}
.button-add-vehicle
{
    border-color:var(--color-primary);
    background:var(--color-primary);
    color:#fff
}
.button-add-vehicle:hover
{
    border-color:var(--color-primary-hover);
    background:var(--color-primary-hover);
    color:#fff
}
.button-secondary
{
    background:transparent;
    color:var(--color-text-secondary)
}
.button-secondary:hover
{
    background:var(--color-primary-subtle);
    border-color:var(--color-primary);
    color:var(--color-primary)
}
.button-danger
{
    border-color:var(--color-danger);
    color:var(--color-danger)
}
.button-danger:hover
{
    background:var(--color-danger);
    color:#fff
}
.button-small
{
    min-height:38px;
    padding:0 var(--space-12);
    font-size:.82rem
}
.button-add-vehicle-icon,.button-action-icon
{
    width:17px;
    height:17px;
    flex:0 0 auto
}
.button:disabled,.button-add-vehicle:disabled,.logout-button:disabled
{
    opacity:.55;
    cursor:not-allowed
}
.button:focus-visible,.button-add-vehicle:focus-visible,.logout-button:focus-visible,.delete-vehicle-button:focus-visible,.accordion-header:focus-visible,.icon-button:focus-visible,.vehicle-card:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible
{
    outline:3px solid rgba(103,187,230,.28);
    outline-offset:2px
}
/* Forms and editors */
.login-form,.vehicle-form,.maintenance-form,.insurance-form,.kteo-form,.tyre-form,.battery-form,.document-form,.photo-form,.expense-form,.note-form
{
    width:100%;
    max-width:960px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--space-24);
    row-gap:0;
    padding:clamp(24px,4vw,44px);
    border:1px solid var(--color-border);
    border-radius:var(--radius-large);
    background:var(--color-surface);
    box-shadow:var(--shadow-soft)
}
.login-form
{
    max-width:520px;
    grid-template-columns:1fr;
    gap:var(--space-16)
}
.form-field
{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:var(--space-8);
    margin-bottom:var(--space-20)
}
.form-field-wide,.form-actions,.custom-spec-fields,.custom-spec-field,.custom-spec-section
{
    grid-column:1/-1
}
.form-label
{
    color:var(--color-text);
    font-size:.78rem;
    font-weight:400;
    letter-spacing:.035em
}
.form-input,.login-form input
{
    width:100%;
    min-height:48px;
    padding:11px 13px;
    border:1px solid var(--color-border-strong);
    border-radius:var(--radius-small);
    background:#fff;
    color:var(--color-text);
    font:inherit;
    outline:none;
    transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)
}
.form-input:hover,.login-form input:hover
{
    border-color:var(--color-text-muted)
}
.form-input:focus,.login-form input:focus
{
    border-color:var(--color-primary);
    box-shadow:var(--shadow-focus)
}
textarea.form-input
{
    min-height:120px;
    resize:vertical;
    line-height:1.55
}
.form-help,.login-message
{
    color:var(--color-text-secondary);
    font-size:.84rem
}
.checkbox-field
{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--color-text);
    font-size:.9rem
}
.checkbox-field input
{
    width:18px;
    height:18px;
    accent-color:var(--color-primary)
}
.form-actions
{
    display:flex;
    justify-content:flex-end;
    gap:var(--space-12);
    margin-top:var(--space-12);
    padding-top:var(--space-20);
    border-top:1px solid var(--color-border)
}
.custom-spec-section
{
    padding-top:var(--space-20);
    border-top:1px solid var(--color-border)
}
.custom-spec-section h2
{
    margin:0 0 var(--space-8);
    font-size:1.05rem
}
.custom-spec-section>p
{
    margin-bottom:var(--space-16);
    font-size:.88rem
}
.custom-spec-fields
{
    display:grid;
    gap:0
}
.custom-spec-field
{
    display:grid;
    grid-template-columns:minmax(140px,.7fr) minmax(0,1.3fr) auto;
    align-items:start;
    gap:var(--space-16);
    padding:var(--space-20) 0;
    border-top:1px solid var(--color-border)
}
.custom-spec-field-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-12);
    grid-column:1/-1;
    margin-bottom:-var(--space-8)
}
.custom-spec-field-title
{
    font-size:.8rem;
    color:var(--color-text-secondary);
    font-weight:400
}
.custom-spec-field .form-field
{
    margin:0
}
.custom-spec-field .form-field-wide
{
    grid-column:auto
}
.custom-spec-field textarea.form-input
{
    min-height:100px
}
/* Garage home composition */
.garage-home
{
    display:block
}
.garage-overview
{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:var(--space-24);
    margin-bottom:var(--space-32)
}
.garage-overview-copy
{
    max-width:650px
}
.garage-overview-kicker,.eyebrow
{
    display:block;
    margin-bottom:var(--space-8);
    color:var(--color-primary);
    font-size:.68rem;
    font-weight:400;
    letter-spacing:.14em;
    text-transform:uppercase
}
.garage-overview h1
{
    margin:0;
    font-size:clamp(2.2rem,4vw,3.3rem);
    letter-spacing:-.055em
}
.garage-overview p
{
    margin-top:var(--space-12);
    font-size:.98rem
}
.garage-count
{
    color:var(--color-text-muted);
    font-size:.84rem;
    font-weight:500;
    white-space:nowrap
}
.vehicle-list
{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(20px,3vw,36px)
}
.vehicle-card
{
    min-width:0;
    overflow:hidden;
    border-radius:var(--radius-large);
    background:var(--color-surface);
    box-shadow:var(--shadow-soft);
    cursor:pointer;
    transition:transform var(--transition),box-shadow var(--transition)
}
.vehicle-card:hover
{
    transform:translateY(-3px);
    box-shadow:var(--shadow-card)
}
.vehicle-card-media
{
    position:relative;
    overflow:hidden;
    aspect-ratio:16/9;
    background:#e8eaec
}
.vehicle-card-photo-image
{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s ease
}
.vehicle-card:hover .vehicle-card-photo-image
{
    transform:scale(1.025)
}
.vehicle-card-status
{
    position:absolute;
    top:var(--space-16);
    left:var(--space-16);
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:var(--color-text);
    font-size:.75rem;
    font-weight:400
}
.status-dot
{
    width:8px;
    height:8px;
    flex:0 0 8px;
    border-radius:50%;
    background:var(--color-success)
}
.status-dot-healthy
{
    background:var(--color-success)
}
.status-dot-overdue
{
    background:var(--color-danger)
}
.status-dot-upcoming
{
    background:var(--color-warning)
}
.status-dot-unknown
{
    background:var(--color-text-muted)
}
.vehicle-card-content
{
    padding:var(--space-20) var(--space-24) var(--space-24)
}
.vehicle-card-heading
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:var(--space-16)
}
.vehicle-card-heading .vehicle-title
{
    margin:0;
    font-size:1.42rem;
    letter-spacing:-.035em
}
.vehicle-card-year
{
    margin-top:5px;
    color:var(--color-text-secondary);
    font-size:.86rem
}
.vehicle-card-arrow
{
    color:var(--color-primary);
    font-size:1.25rem;
    line-height:1
}
.vehicle-card-specs
{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-8) var(--space-24);
    margin-top:var(--space-20)
}
.vehicle-card-spec
{
    display:flex;
    flex-direction:column;
    gap:3px
}
.vehicle-card-spec-label
{
    color:var(--color-text-muted);
    font-size:.65rem;
    font-weight:400;
    letter-spacing:.1em;
    text-transform:uppercase
}
.vehicle-card-spec-value
{
    color:var(--color-text);
    font-size:.9rem;
    font-weight:400;
    font-variant-numeric:tabular-nums
}
.vehicle-card-service
{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:var(--space-16);
    margin-top:var(--space-20);
    padding-top:var(--space-16);
    border-top:1px solid var(--color-border)
}
.vehicle-card-service-label
{
    display:block;
    margin-bottom:4px;
    color:var(--color-text-muted);
    font-size:.65rem;
    font-weight:400;
    letter-spacing:.1em;
    text-transform:uppercase
}
.vehicle-card-service-name
{
    display:block;
    color:var(--color-text);
    font-size:.88rem;
    font-weight:400
}
.vehicle-card-service-due
{
    color:var(--color-text-secondary);
    font-size:.78rem;
    text-align:right;
    white-space:nowrap
}
.garage-empty-state
{
    max-width:760px;
    display:grid;
    justify-items:start;
    gap:var(--space-12);
    margin:var(--space-32) auto 0;
    padding:clamp(28px,6vw,56px);
    border-left:3px solid var(--color-primary);
    background:var(--color-surface)
}
.garage-empty-state h2
{
    font-size:1.55rem;
    letter-spacing:-.03em
}
.garage-empty-state p
{
    max-width:55ch;
    margin-bottom:var(--space-8)
}
/* Vehicle passport */
.vehicle-toolbar
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-16);
    margin-bottom:var(--space-20)
}
.vehicle-breadcrumb
{
    color:var(--color-text-muted);
    font-size:.8rem
}
.vehicle-hero
{
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);
    align-items:stretch;
    gap:0;
    overflow:hidden;
    margin-bottom:var(--space-20);
    border:0;
    border-radius:var(--radius-xl);
    background:var(--color-surface);
    box-shadow:var(--shadow-soft)
}
.vehicle-photo
{
    position:relative;
    width:100%;
    height:100%;
    min-height:360px;
    overflow:hidden;
    background:#e7e9eb;
    color:var(--color-text-muted);
    display:grid;
    place-items:center;
    font-size:3rem
}
.vehicle-photo-image
{
    display:block;
    width:100%;
    height:100%;
    min-height:360px;
    object-fit:cover
}
.vehicle-hero>.vehicle-info
{
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:clamp(26px,4vw,52px)
}
.vehicle-hero .vehicle-title
{
    font-size:clamp(2rem,4vw,3.1rem);
    line-height:1.02;
    letter-spacing:-.055em
}
.vehicle-version
{
    margin-top:var(--space-12);
    color:var(--color-text-secondary);
    font-size:1rem
}
.vehicle-status
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:var(--space-24);
    padding:7px 11px;
    border-radius:999px;
    background:var(--color-primary-subtle);
    color:var(--color-primary);
    font-size:.76rem;
    font-weight:400
}
.vehicle-status::before
{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:currentColor
}
.vehicle-status-message
{
    margin-top:var(--space-10);
    color:var(--color-text-secondary);
    font-size:.86rem
}
.vehicle-mileage
{
    margin-top:var(--space-24);
    color:var(--color-text);
    font-size:1.6rem;
    font-weight:400;
    letter-spacing:-.03em;
    font-variant-numeric:tabular-nums
}
.vehicle-hero-actions
{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-8);
    margin-top:var(--space-24)
}
.vehicle-summary
{
    margin:0 0 var(--space-32)
}
.vehicle-summary>h2
{
    margin-bottom:var(--space-12);
    font-size:.72rem;
    font-weight:400;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--color-text-muted)
}
.summary-grid
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid var(--color-border);
    border-bottom:1px solid var(--color-border)
}
.summary-card
{
    min-width:0;
    min-height:0;
    padding:var(--space-20);
    border:0;
    border-right:1px solid var(--color-border);
    background:transparent;
    box-shadow:none
}
.summary-card:last-child
{
    border-right:0
}
.summary-icon
{
    display:none
}
.summary-title
{
    margin-bottom:var(--space-8);
    color:var(--color-text-muted);
    font-size:.68rem;
    font-weight:400;
    letter-spacing:.1em;
    text-transform:uppercase
}
.summary-value
{
    color:var(--color-text);
    font-size:1rem;
    font-weight:400;
    line-height:1.35;
    overflow-wrap:anywhere
}
.vehicle-detail-layout
{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);
    align-items:start;
    gap:clamp(24px,4vw,52px)
}
.vehicle-detail-primary,.vehicle-detail-secondary
{
    min-width:0
}
.vehicle-detail-secondary
{
    position:sticky;
    top:24px
}
.vehicle-detail-secondary .accordion-header
{
    min-height:70px
}
.vehicle-detail-primary .accordion,
.vehicle-detail-secondary .accordion
{
    margin-bottom:var(--space-16)
}
.accordion
{
    --accordion-tint:#f3f5f6;
    --accordion-edge:#e3e8eb;
    overflow:hidden;
    margin-bottom:var(--space-16);
    border:1px solid var(--accordion-edge);
    border-radius:18px;
    background:#fff;
    box-shadow:0 5px 16px rgba(21,36,50,.035)
}
.accordion-tone-blue
{
    --accordion-tint:#edf3f8;
    --accordion-edge:#dce7ef
}
.accordion-tone-sage
{
    --accordion-tint:#f0f4ef;
    --accordion-edge:#e0e8de
}
.accordion-tone-sand
{
    --accordion-tint:#f6f3ed;
    --accordion-edge:#ebe5d9
}
.accordion-tone-stone
{
    --accordion-tint:#f3f2ef;
    --accordion-edge:#e7e4de
}
.accordion-tone-ice
{
    --accordion-tint:#f0f4f7;
    --accordion-edge:#e1e8ed
}
.accordion-tone-linen
{
    --accordion-tint:#f5f3ef;
    --accordion-edge:#e9e5dc
}
.accordion-header
{
    width:100%;
    min-height:70px;
    display:flex;
    align-items:center;
    gap:var(--space-12);
    padding:0 20px;
    border:0;
    background:var(--accordion-tint);
    color:var(--color-text);
    text-align:left;
    cursor:pointer;
    transition:background-color var(--transition)
}
.accordion-header:hover
{
    background:#e9eff3
}
.accordion-header[aria-expanded="true"]
{
    border-bottom:1px solid var(--accordion-edge)
}
.accordion-title
{
    min-width:0;
    font-size:1.02rem;
    font-weight:500;
    letter-spacing:-.02em
}
.accordion-icon
{
    width:9px;
    height:9px;
    flex:0 0 9px;
    margin:0 2px 3px 1px;
    border-right:1.7px solid currentColor;
    border-bottom:1.7px solid currentColor;
    color:var(--color-primary);
    transform:rotate(-45deg);
    transition:transform var(--transition)
}
.accordion-header[aria-expanded="true"] .accordion-icon
{
    transform:rotate(45deg)
}
.accordion-body
{
    padding:8px 20px 18px;
    background:#fff
}
.content-section
{
    margin:0;
    padding:var(--space-18) 0;
    border-top:1px solid var(--color-border)
}
.content-section:first-child
{
    border-top:0
}
.section-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-12);
    margin-bottom:var(--space-12)
}
.section-title
{
    margin:0;
    color:var(--color-text);
    font-size:.88rem;
    font-weight:400
}
.section-body
{
    display:flex;
    flex-direction:column;
    gap:var(--space-8)
}
.maintenance-item
{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:var(--space-12);
    padding:var(--space-12) 0;
    border-bottom:1px solid var(--color-border);
    background:transparent
}
.maintenance-item:last-child
{
    border-bottom:0
}
.maintenance-item strong
{
    display:block;
    margin:0 0 4px;
    color:var(--color-text);
    font-size:.9rem;
    font-weight:400
}
.maintenance-meta
{
    color:var(--color-text-secondary);
    font-size:.8rem;
    line-height:1.5
}
.maintenance-item-info
{
    display:grid;
    gap:0;
    padding:0
}
.maintenance-item-info .key-value-row
{
    grid-template-columns:minmax(110px,150px) minmax(0,1fr);
    padding:var(--space-10) 0
}
.maintenance-item-info .button
{
    grid-column:1/-1;
    justify-self:start;
    margin-top:var(--space-8)
}
.maintenance-status
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--color-text-secondary);
    font-size:.76rem;
    font-weight:400
}
.maintenance-status-dot
{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:var(--color-text-muted)
}
.maintenance-status-ok
{
    color:var(--color-success)
}
.maintenance-status-ok .maintenance-status-dot
{
    background:var(--color-success)
}
.maintenance-status-upcoming
{
    color:var(--color-warning)
}
.maintenance-status-upcoming .maintenance-status-dot
{
    background:var(--color-warning)
}
.maintenance-status-overdue
{
    color:var(--color-danger)
}
.maintenance-status-overdue .maintenance-status-dot
{
    background:var(--color-danger)
}
.maintenance-status-neutral
{
    color:var(--color-text-secondary)
}
.maintenance-status-neutral .maintenance-status-dot
{
    background:var(--color-text-muted)
}
.key-value-row
{
    display:grid;
    grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);
    gap:var(--space-16);
    padding:var(--space-12) 0;
    border-bottom:1px solid var(--color-border)
}
.key-value-row:last-child
{
    border-bottom:0
}
.key-label
{
    color:var(--color-text-secondary);
    font-size:.8rem
}
.key-value
{
    color:var(--color-text);
    font-size:.86rem;
    font-weight:500;
    text-align:right;
    white-space:pre-line;
    overflow-wrap:anywhere
}
.empty-state
{
    padding:var(--space-16) 0;
    color:var(--color-text-muted);
    font-size:.84rem
}
.photo-item
{
    display:flex;
    align-items:center;
    gap:var(--space-16);
    padding:var(--space-12) 0;
    border-bottom:1px solid var(--color-border)
}
.photo-item:last-child
{
    border-bottom:0
}
.photo-item-image
{
    position:relative;
    display:grid;
    place-items:center;
    width:112px;
    height:82px;
    flex:0 0 112px;
    overflow:hidden;
    border-radius:var(--radius-small);
    background:#e9ecee
}
.photo-item-image img
{
    width:100%;
    height:100%;
    object-fit:cover
}
.photo-item-placeholder
{
    color:var(--color-text-muted);
    font-size:.74rem
}
.photo-primary-badge
{
    position:absolute;
    top:6px;
    left:6px;
    padding:4px 7px;
    border-radius:999px;
    background:#fff;
    color:var(--color-primary);
    font-size:.62rem;
    font-weight:400
}
.photo-item-content
{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:4px
}
.photo-item-title
{
    color:var(--color-text);
    font-size:.86rem;
    font-weight:400
}
.photo-item-date,.photo-item-file
{
    color:var(--color-text-secondary);
    font-size:.76rem
}
.content-section[data-section="Photos"] .section-body
{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:var(--space-12)
}
.content-section[data-section="Photos"] .photo-item
{
    display:block;
    overflow:hidden;
    padding:0;
    border:0
}
.content-section[data-section="Photos"] .photo-item-image
{
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    border-radius:var(--radius-medium)
}
.content-section[data-section="Photos"] .photo-item-content
{
    padding:var(--space-8) 0
}
.content-section[data-section="Notes"] .maintenance-meta
{
    white-space:pre-line;
    overflow-wrap:anywhere
}
.vehicle-delete-container
{
    margin-top:var(--space-32);
    padding-top:var(--space-20);
    border-top:1px solid var(--color-border)
}
.delete-vehicle-button
{
    width:100%;
    min-height:44px;
    border:1px solid #d5a2a2;
    border-radius:var(--radius-small);
    background:transparent;
    color:var(--color-danger);
    font-size:.86rem;
    font-weight:400;
    cursor:pointer
}
/* History */
.vehicle-history
{
    display:flex;
    flex-direction:column;
    gap:var(--space-20);
    margin-top:var(--space-24)
}
.vehicle-history-subtitle
{
    margin:-var(--space-16) 0 var(--space-20);
    color:var(--color-text-secondary)
}
.vehicle-history-section
{
    padding:var(--space-20);
    border-radius:var(--radius-medium)
}
.vehicle-history-section h2
{
    margin:0 0 var(--space-16);
    font-size:1rem
}
.vehicle-history-list
{
    display:flex;
    flex-direction:column;
    gap:var(--space-8)
}
.vehicle-history-item
{
    display:flex;
    align-items:flex-start;
    gap:var(--space-12);
    padding:var(--space-12) 0;
    border-top:1px solid var(--color-border)
}
.vehicle-history-icon
{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    flex:0 0 36px;
    border-radius:var(--radius-small);
    background:var(--color-primary-subtle);
    color:var(--color-primary)
}
.vehicle-history-icon svg
{
    width:20px;
    height:20px
}
.vehicle-history-content
{
    flex:1;
    min-width:0
}
.vehicle-history-title
{
    display:block;
    margin-bottom:4px;
    color:var(--color-text);
    font-size:.9rem;
    font-weight:400
}
.vehicle-history-meta
{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
    color:var(--color-text-secondary);
    font-size:.78rem
}
.vehicle-history-category
{
    display:block;
    margin-top:-1px;
    margin-bottom:8px;
    color:var(--color-primary);
    font-size:.78rem;
    line-height:1.35
}
.vehicle-history-meta-row
{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    line-height:1.45
}
.vehicle-history-meta-row svg
{
    width:14px;
    height:14px;
    flex:0 0 14px;
    fill:none;
    stroke:var(--color-text-muted);
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round
}
.vehicle-history-notes
{
    margin-top:var(--space-8);
    color:var(--color-text-secondary);
    font-size:.82rem;
    line-height:1.5;
    white-space:pre-line
}
/* Responsive behavior */
@media(max-width:980px)
{
    .vehicle-detail-layout
    {
        grid-template-columns:minmax(0,1.25fr) minmax(260px,.85fr);
        gap:var(--space-24)
    }
    .vehicle-card-content
    {
        padding:var(--space-16) var(--space-20) var(--space-20)
    }
    .vehicle-card-heading .vehicle-title
    {
        font-size:1.25rem
    }
}
@media(max-width:760px)
{
    .app-header
    {
        margin-bottom:var(--space-32)
    }
    .garage-overview
    {
        align-items:flex-start;
        flex-direction:column;
        gap:var(--space-16);
        margin-bottom:var(--space-24)
    }
    .vehicle-list
    {
        grid-template-columns:1fr;
        max-width:680px
    }
    .vehicle-detail-layout
    {
        grid-template-columns:1fr
    }
    .vehicle-detail-secondary
    {
        position:static
    }
    .vehicle-hero
    {
        grid-template-columns:1fr
    }
    .vehicle-photo,.vehicle-photo-image
    {
        min-height:0;
        max-height:380px;
        aspect-ratio:16/9
    }
    .vehicle-hero>.vehicle-info
    {
        padding:var(--space-24)
    }
    .vehicle-summary
    {
        margin-bottom:var(--space-24)
    }
    .summary-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .summary-card:nth-child(2)
    {
        border-right:0
    }
    .summary-card:nth-child(n+3)
    {
        border-top:1px solid var(--color-border)
    }
    .login-form,.vehicle-form,.maintenance-form,.insurance-form,.kteo-form,.tyre-form,.battery-form,.document-form,.photo-form,.expense-form,.note-form
    {
        padding:var(--space-24)
    }
}
@media(max-width:520px)
{
    .app-header
    {
        margin-bottom:var(--space-24);
        padding-bottom:var(--space-16)
    }
    .app-brand-descriptor
    {
        font-size:.56rem;
        letter-spacing:.1em
    }
    .app-logo
    {
        width:36px;
        height:36px
    }
    .app-header-actions
    {
        gap:var(--space-8)
    }
    .app-header-actions .button-add-vehicle
    {
        width:44px;
        padding:0;
        font-size:0
    }
    .app-header-actions .button-add-vehicle-icon
    {
        width:19px;
        height:19px
    }
    .garage-overview h1
    {
        font-size:2.35rem
    }
    .vehicle-card-content
    {
        padding:var(--space-16)
    }
    .vehicle-card-heading .vehicle-title
    {
        font-size:1.15rem
    }
    .vehicle-card-specs
    {
        gap:var(--space-8) var(--space-16);
        margin-top:var(--space-16)
    }
    .vehicle-card-service
    {
        grid-template-columns:1fr;
        gap:var(--space-4);
        margin-top:var(--space-16)
    }
    .vehicle-card-service-due
    {
        text-align:left
    }
    .vehicle-hero
    {
        border-radius:var(--radius-large)
    }
    .vehicle-photo,.vehicle-photo-image
    {
        aspect-ratio:4/3
    }
    .vehicle-hero .vehicle-title
    {
        font-size:2rem
    }
    .vehicle-hero>.vehicle-info
    {
        padding:var(--space-20)
    }
    .vehicle-hero-actions .button
    {
        flex:1 1 auto
    }
    .summary-card
    {
        padding:var(--space-12)
    }
    .summary-value
    {
        font-size:.86rem
    }
    .accordion-header
    {
        min-height:64px;
        padding-right:16px;
        padding-left:16px
    }
    .accordion-body
    {
        padding:8px 16px 16px
    }
    .key-value-row,.maintenance-item-info .key-value-row
    {
        grid-template-columns:1fr;
        gap:3px
    }
    .key-value
    {
        text-align:left
    }
    .login-form,.vehicle-form,.maintenance-form,.insurance-form,.kteo-form,.tyre-form,.battery-form,.document-form,.photo-form,.expense-form,.note-form
    {
        grid-template-columns:1fr;
        padding:var(--space-20)
    }
    .form-actions
    {
        position:sticky;
        bottom:8px;
        z-index:2;
        justify-content:stretch;
        margin:var(--space-12) -12px -12px;
        padding:var(--space-12);
        border:1px solid var(--color-border);
        border-radius:var(--radius-medium);
        background:rgba(255,255,255,.97)
    }
    .form-actions .button
    {
        flex:1
    }
    .custom-spec-field
    {
        grid-template-columns:1fr
    }
    .custom-spec-field-header
    {
        grid-column:auto
    }
    .content-section[data-section="Photos"] .section-body
    {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .photo-item-image
    {
        width:80px;
        height:64px;
        flex-basis:80px
    }
}
@media(prefers-reduced-motion:reduce)
{
    *,*::before,*::after
    {
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important
    }
}
/* Shared editor page shell */
.editor-page-header
{
    max-width:960px;
    margin:0 0 var(--space-20)
}
.editor-page-backline
{
    display:flex;
    align-items:center;
    gap:var(--space-16);
    margin-bottom:var(--space-24)
}
.editor-page-kicker,.editor-page-context
{
    color:var(--color-text-muted);
    font-size:.66rem;
    font-weight:400;
    letter-spacing:.12em;
    text-transform:uppercase
}
.editor-page-heading
{
    display:grid;
    gap:var(--space-8)
}
.editor-page-title
{
    margin:0!important;
    font-size:clamp(1.8rem,3vw,2.5rem)!important;
    letter-spacing:-.045em
}
#app>.editor-page-header+.vehicle-form,
#app>.editor-page-header+.maintenance-form,
#app>.editor-page-header+.insurance-form,
#app>.editor-page-header+.kteo-form,
#app>.editor-page-header+.tyre-form,
#app>.editor-page-header+.battery-form,
#app>.editor-page-header+.document-form,
#app>.editor-page-header+.photo-form,
#app>.editor-page-header+.expense-form,
#app>.editor-page-header+.note-form
{
    border-radius:var(--radius-large)
}
#app>form+.form-actions
{
    width:100%;
    max-width:960px;
    margin-top:var(--space-12)
}
.custom-spec-section
{
    display:flex;
    flex-direction:column
}
.custom-spec-field textarea
{
    white-space:pre-wrap;
    overflow-wrap:anywhere
}
.custom-spec-field-title
{
    letter-spacing:.04em
}
.form-input[type="file"]
{
    padding:10px;
    background:var(--color-surface-muted)
}
/* Authentication */
.auth-layout
{
    min-height:min(760px,calc(100vh - 96px));
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
    overflow:hidden;
    border-radius:var(--radius-xl);
    background:var(--color-surface);
    box-shadow:var(--shadow-soft);
}
.auth-brand-panel
{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:var(--space-32);
    padding:clamp(32px,6vw,76px);
    background:#e9eef0;
}
.auth-brand-mark
{
    display:flex;
    align-items:center;
    gap:var(--space-12);
    color:var(--color-text);
    font-size:1.1rem;
    font-weight:400;
}
.auth-brand-mark img
{
    width:42px;
    height:42px;
    object-fit:contain;
}
.auth-brand-copy
{
    max-width:510px;
}
.auth-brand-copy .eyebrow
{
    margin-bottom:var(--space-16);
}
.auth-brand-copy h2
{
    max-width:12ch;
    font-size:clamp(2.3rem,5vw,4.25rem);
    line-height:1.02;
    letter-spacing:-.06em;
}
.auth-brand-copy p
{
    max-width:40ch;
    margin-top:var(--space-20);
    font-size:1rem;
}
.auth-capabilities
{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-8) var(--space-20);
    padding-top:var(--space-20);
    border-top:1px solid #d4dce0;
}
.auth-capabilities span
{
    color:var(--color-text-secondary);
    font-size:.76rem;
    font-weight:500;
}
.auth-panel
{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(28px,5vw,64px);
}
.auth-panel-kicker
{
    margin-bottom:var(--space-12);
    color:var(--color-primary);
    font-size:.68rem;
    font-weight:400;
    letter-spacing:.14em;
}
.auth-panel-title
{
    margin:0;
    font-size:clamp(1.8rem,3vw,2.35rem);
    letter-spacing:-.045em;
}
.auth-panel-description
{
    margin-top:var(--space-8);
    font-size:.9rem;
}
.auth-panel .login-form
{
    margin-top:var(--space-24);
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.auth-panel .login-form input
{
    min-height:50px;
}
.auth-panel .login-form .button
{
    width:100%;
    min-height:48px;
    margin-top:var(--space-4);
    background:var(--color-primary);
    border-color:var(--color-primary);
    color:#fff;
}
.auth-panel .login-form .button:hover
{
    background:var(--color-primary-hover);
    border-color:var(--color-primary-hover);
}
.auth-alternate-action
{
    margin-top:var(--space-16);
    text-align:center;
}
.auth-alternate-action .button
{
    width:100%;
}
@media(max-width:760px)
{
    .auth-layout
    {
        min-height:0;
        grid-template-columns:1fr;
    }
    .auth-brand-panel
    {
        gap:var(--space-32);
        padding:var(--space-32);
    }
    .auth-brand-copy h2
    {
        max-width:16ch;
        font-size:clamp(2.1rem,7vw,3rem);
    }
    .auth-capabilities
    {
        padding-top:var(--space-16);
    }
    .auth-panel
    {
        padding:var(--space-32);
    }
}
@media(max-width:520px)
{
    .auth-layout
    {
        margin:0 -4px;
        border-radius:var(--radius-large);
    }
    .auth-brand-panel
    {
        padding:var(--space-24);
    }
    .auth-brand-copy h2
    {
        font-size:2.2rem;
    }
    .auth-capabilities
    {
        gap:var(--space-8) var(--space-12);
    }
    .auth-capabilities span
    {
        font-size:.7rem;
    }
    .auth-panel
    {
        padding:var(--space-24);
    }
}

.auth-panel .login-form .button.button-small{background:transparent;border-color:var(--color-border-strong);color:var(--color-text-secondary)}
.auth-panel .login-form .button.button-small:hover{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}

/* ======================================================
   DARK GARAGE — digital cockpit presentation
====================================================== */
#app{padding-top:clamp(24px,4vw,52px);padding-bottom:96px}
.card,.vehicle-hero,.summary-card,.vehicle-history-section{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-soft)}
.app-header{margin-bottom:clamp(36px,5vw,60px);padding-bottom:20px;border-color:#252c37}
.app-logo{filter:drop-shadow(0 0 14px rgba(103,187,230,.13))}
.app-title{color:#fff;font-size:1.22rem;letter-spacing:-.045em}
.app-brand-descriptor{color:#8290a3;font-size:.61rem;letter-spacing:.17em}
.logout-button,.icon-button{border-color:#303948;background:#11151d;color:#c8d2df}
.logout-button:hover,.icon-button:hover{border-color:var(--color-primary);background:#151923;color:var(--color-primary)}
.button,.button-add-vehicle{min-height:46px;border-color:#344050;border-radius:10px;background:#171c26;color:#eef4fa}
.button:hover{border-color:#566174;background:#202735;color:#fff}
.button-add-vehicle{border-color:var(--color-primary);background:var(--color-primary);color:#061116;box-shadow:0 0 24px rgba(103,187,230,.13)}
.button-add-vehicle:hover{border-color:var(--color-primary);background:var(--color-primary);color:#061116;box-shadow:0 0 30px rgba(103,187,230,.22)}
.button-secondary{border-color:#333e4e;background:#121720;color:#d5deea}
.button-secondary:hover{border-color:var(--color-primary);background:#151923;color:var(--color-primary)}
.button-danger{border-color:rgba(255,101,120,.46);background:#21151b;color:#ff8291}
.button-danger:hover{background:#ff6578;color:#1a080c}
.button:focus-visible,.button-add-vehicle:focus-visible,.logout-button:focus-visible,.delete-vehicle-button:focus-visible,.accordion-header:focus-visible,.icon-button:focus-visible,.vehicle-card:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 5px rgba(103,187,230,.13)}
.login-form,.vehicle-form,.maintenance-form,.insurance-form,.kteo-form,.tyre-form,.battery-form,.document-form,.photo-form,.expense-form,.note-form{border-color:#2a3240;border-radius:18px;background:#11141b;box-shadow:0 22px 60px rgba(0,0,0,.24)}
.form-label{color:#e9eef5}
.form-input,.login-form input{border-color:#343d4c;border-radius:9px;background:#0b0e14;color:#f5f8fc;color-scheme:dark}
.form-input::placeholder,.login-form input::placeholder{color:#768196}
.form-input:hover,.login-form input:hover{border-color:#596579}
.form-input:focus,.login-form input:focus{border-color:var(--color-primary);background:#0c1319;box-shadow:var(--shadow-focus)}
.form-help,.login-message{color:#aab5c5}
.checkbox-field{color:#e4ebf4}
.checkbox-field input{accent-color:var(--color-primary)}
.form-actions,.custom-spec-section,.custom-spec-field,.key-value-row,.maintenance-item,.photo-item,.vehicle-delete-container{border-color:#29303c}
.custom-spec-field-title{color:#dce5ef}
.form-input[type="file"]{background:#151a24;color:#d5dfeb}
.garage-overview{align-items:flex-end;margin-bottom:clamp(28px,4vw,48px)}
.garage-overview-kicker,.eyebrow,.auth-brand-copy .eyebrow{color:var(--color-primary);letter-spacing:.2em}
.garage-overview h1{color:#f6f8fb;font-size:clamp(2.7rem,5.3vw,4.6rem);letter-spacing:-.075em}
.garage-overview p{color:#a8b2c2}
.garage-count{min-height:52px;display:inline-flex;align-items:center;gap:9px;padding:0 16px;border:1px solid #283746;border-radius:12px;background:#151923;color:var(--color-primary);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.vehicle-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.6vw,34px)}
.vehicle-card{border:1px solid #272e3a;border-radius:18px;background:#11141b;box-shadow:0 16px 40px rgba(0,0,0,.24);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.vehicle-card:hover{transform:translateY(-4px);border-color:#435364;box-shadow:0 24px 54px rgba(0,0,0,.38)}
.vehicle-card-media{aspect-ratio:16/8.8;background:#151923}
.vehicle-card-photo-image{filter:saturate(.9) contrast(1.04)}
.vehicle-card:hover .vehicle-card-photo-image{transform:scale(1.035);filter:saturate(1.03) contrast(1.04)}
.vehicle-card-status{border:1px solid rgba(255,255,255,.13);background:rgba(8,10,14,.86);color:#f2f6fa}
.status-dot-healthy{background:var(--color-success);box-shadow:0 0 10px rgba(195,245,91,.45)}
.status-dot-overdue{background:var(--color-danger);box-shadow:0 0 10px rgba(255,101,120,.45)}
.status-dot-upcoming{background:var(--color-warning);box-shadow:0 0 10px rgba(255,155,84,.4)}
.status-dot-unknown{background:#8b96a8}
.vehicle-card-content{padding:22px 24px 24px}
.vehicle-card-heading .vehicle-title{color:#f4f7fb;font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:-.05em}
.vehicle-card-year{color:#929daf}
.vehicle-card-arrow{color:var(--color-primary);font-size:1.4rem}
.vehicle-card-specs{margin-top:22px}
.vehicle-card-spec-label,.vehicle-card-service-label{color:#7f8a9c;letter-spacing:.14em}
.vehicle-card-spec-value{color:#f1f5f9;font-size:1rem}
.vehicle-card-service{border-color:#2a303c}
.vehicle-card-service-name{color:#dce4ed}
.vehicle-card-service-due{color:var(--color-primary)}
.garage-empty-state{border:1px solid #28313e;border-radius:20px;background:#11141b;color:#eff4f9}
.garage-empty-state h2{color:#f5f8fb}
.garage-empty-state p{color:#a4afbf}
.vehicle-toolbar{margin-bottom:22px}
.vehicle-breadcrumb{color:#7f8b9e;font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}
.vehicle-hero{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);min-height:420px;margin-bottom:24px;border:1px solid #252d39;border-radius:22px;background:#11141b;box-shadow:0 22px 56px rgba(0,0,0,.28)}
.vehicle-photo{min-height:420px;background:#151a23;color:#68758b}
.vehicle-photo-image{min-height:420px;filter:saturate(.92) contrast(1.06)}
.vehicle-hero>.vehicle-info{padding:clamp(30px,5vw,64px)}
.vehicle-hero-kicker{color:var(--color-primary);font-size:.66rem;font-weight:500;letter-spacing:.2em}
.vehicle-hero .vehicle-title{margin:16px 0 0;color:#f8fafc;font-size:clamp(2.25rem,4.8vw,4rem);letter-spacing:-.07em}
.vehicle-version{color:#a3adbd}
.vehicle-status{border:1px solid rgba(103,187,230,.18);background:#151923;color:var(--color-primary)}
.vehicle-status-message{color:#9ca8ba}
.vehicle-mileage{color:var(--color-accent);font-size:clamp(1.8rem,3.5vw,2.5rem);letter-spacing:-.055em}
.vehicle-summary{margin-bottom:38px}
.vehicle-summary>h2{color:#8490a3;letter-spacing:.18em}
.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #29313e;border-radius:15px;background:#29313e}
.summary-card{position:relative;min-height:115px;padding:18px 20px;background:#11141b}
.summary-card:last-child{border-right:0}
.summary-icon{display:grid;place-items:center;width:30px;height:30px;margin-bottom:11px;border:1px solid #303746;border-radius:9px;background:#151923;color:var(--color-primary);font-size:.88rem}
.summary-card:nth-child(2) .summary-icon{border-color:#303746;background:#151923;color:var(--color-primary)}
.summary-card:nth-child(3) .summary-icon{border-color:#303746;background:#151923;color:var(--color-primary)}
.summary-card:nth-child(4) .summary-icon{border-color:#303746;background:#151923;color:var(--color-primary)}
.summary-title{color:#8995a7;letter-spacing:.14em}
.summary-value{color:#edf3f8;font-variant-numeric:tabular-nums}
.vehicle-detail-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:clamp(20px,3vw,36px)}
.vehicle-detail-secondary{top:22px}
.accordion{--accordion-tint:#1a1e27;--accordion-edge:#303746;overflow:hidden;margin-bottom:16px;border:1px solid var(--accordion-edge);border-radius:16px;background:#11141b;box-shadow:0 12px 28px rgba(0,0,0,.17)}
.accordion-tone-blue{--accordion-tint:#191e28;--accordion-edge:#303746;--accordion-accent:var(--color-primary)}
.accordion-tone-sage{--accordion-tint:#151923;--accordion-edge:#303746;--accordion-accent:var(--color-primary)}
.accordion-tone-sand{--accordion-tint:#191e28;--accordion-edge:#303746;--accordion-accent:var(--color-primary)}
.accordion-tone-stone{--accordion-tint:#191e28;--accordion-edge:#303746;--accordion-accent:var(--color-primary)}
.accordion-tone-ice{--accordion-tint:#191e28;--accordion-edge:#303746;--accordion-accent:var(--color-primary)}
.accordion-tone-linen{--accordion-tint:#191e28;--accordion-edge:#303746;--accordion-accent:var(--color-primary)}
.accordion-header{min-height:72px;padding:0 22px;background:var(--accordion-tint);color:#f3f7fb}
.accordion-header:hover{background:#202631}
.accordion-header[aria-expanded="true"]{border-bottom:1px solid var(--accordion-edge)}
.accordion-title{color:var(--accordion-accent,var(--color-primary));font-size:1rem;font-weight:500;letter-spacing:-.01em}
.accordion-icon{width:9px;height:9px;border-color:var(--accordion-accent,var(--color-primary));color:var(--accordion-accent,var(--color-primary))}
.accordion-body{padding:10px 22px 20px;background:#11141b;color:#e8edf4}
.content-section{border-color:#29303b}
.section-title{color:#eaf0f6}
.maintenance-item strong,.key-value,.photo-item-title,.vehicle-history-title{color:#eef3f8}
.maintenance-meta,.key-label,.photo-item-date,.photo-item-file,.vehicle-history-meta,.vehicle-history-notes{color:#a2adbd}
.maintenance-status-ok{color:var(--color-success)}
.maintenance-status-ok .maintenance-status-dot{background:var(--color-success)}
.maintenance-status-upcoming{color:var(--color-warning)}
.maintenance-status-upcoming .maintenance-status-dot{background:var(--color-warning)}
.maintenance-status-overdue{color:var(--color-danger)}
.maintenance-status-overdue .maintenance-status-dot{background:var(--color-danger)}
.maintenance-status-neutral{color:#a6b0c0}
.photo-item-image{background:#1b202b}
.photo-primary-badge{border:1px solid rgba(103,187,230,.22);background:#151923;color:var(--color-primary)}
.empty-state{color:#9aa6b7}
.delete-vehicle-button{border-color:rgba(255,101,120,.36);border-radius:10px;background:#171217;color:#ff7c8d}
.delete-vehicle-button:hover{border-color:var(--color-danger);background:#26151b}
.vehicle-history-section{border-radius:16px;background:#11141b}
.vehicle-history-icon{border:1px solid #293b47;background:#151923;color:var(--color-primary)}
.editor-page-kicker,.editor-page-context{color:#8290a3}
.editor-page-heading .editor-page-title{color:#f4f7fb}
.auth-layout{grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);border:1px solid #29313e;border-radius:24px;background:#11141b;box-shadow:0 26px 70px rgba(0,0,0,.34)}
.auth-brand-panel{position:relative;overflow:hidden;border-right:1px solid #27313b;background:#0d1218}
.auth-brand-mark{color:#f4f7fb}
.auth-brand-copy .eyebrow{color:var(--color-primary)}
.auth-brand-copy h2{color:#f5f8fb}
.auth-brand-copy p{color:#a7b2c1}
.auth-capabilities{border-color:#28313d}
.auth-capabilities span{color:#9ba7b8}
.auth-panel{background:#11141b}
.auth-panel-kicker{color:var(--color-primary);letter-spacing:.18em}
.auth-panel-title{color:#f5f8fb}
.auth-panel-description{color:#a6b1c1}
.auth-panel .login-form{border:0;background:transparent;box-shadow:none}
.auth-panel .login-form input{background:#0b0e14}
.auth-panel .login-form .button{border-color:var(--color-primary);background:var(--color-primary);color:#061116}
.auth-panel .login-form .button:hover{background:var(--color-primary)}
.auth-panel .login-form .button.button-small{border-color:#364152;background:#151a23;color:#c9d4e1}
.auth-panel .login-form .button.button-small:hover{border-color:var(--color-primary);background:#151923;color:var(--color-primary)}
.garage-count{gap:10px}
.garage-count-value{color:#f6fafc;font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:-.05em}
.garage-count-label{color:#95a2b4;font-size:.68rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}

.vehicle-status-healthy{border-color:rgba(195,245,91,.2);background:#1a2114;color:var(--color-success)}
.vehicle-status-warning{border-color:rgba(255,155,84,.24);background:#241b15;color:var(--color-warning)}
.vehicle-status-critical{border-color:rgba(255,101,120,.24);background:#26151c;color:var(--color-danger)}


/* Media keeps its dark charcoal card and white heading. */
.accordion-tone-stone .accordion-title{color:#f4f7fb}

.summary-icon svg{width:17px;height:17px;display:block}


/* Premium typography: hierarchy through scale and spacing, with restrained weight. */
h1,h2,h3,h4,h5,h6{font-weight:400}
.button,.button-add-vehicle,.logout-button,.delete-vehicle-button{font-weight:500}
.vehicle-card-spec-value,.summary-value,.vehicle-mileage,.maintenance-item strong,.key-value{font-weight:500}
.vehicle-status,.vehicle-card-status,.maintenance-status{font-weight:500}
.garage-overview-kicker,.eyebrow,.app-brand-descriptor,.vehicle-breadcrumb,.vehicle-hero-kicker,.garage-count-label,.vehicle-card-spec-label,.vehicle-card-service-label,.summary-title,.key-label,.form-label,.custom-spec-field-title,.editor-page-kicker,.editor-page-context{font-weight:400}
.accordion-title{font-weight:400}

/* Shared card surface and understated vehicle actions */
.card,
.vehicle-card,
.vehicle-hero,
.summary-card,
.vehicle-history-section,
.accordion,
.accordion-body,
.login-form,
.vehicle-form,
.maintenance-form,
.insurance-form,
.kteo-form,
.tyre-form,
.battery-form,
.document-form,
.photo-form,
.expense-form,
.note-form,
.auth-layout,
.auth-panel,
.auth-brand-panel,
.garage-empty-state{
    background:var(--color-surface)
}
.accordion-tone-blue,
.accordion-tone-sage,
.accordion-tone-sand,
.accordion-tone-stone,
.accordion-tone-ice,
.accordion-tone-linen{
    --accordion-tint:var(--color-surface)
}
.accordion-header{background:var(--color-surface)}
.accordion-header:hover{background:var(--color-surface-muted)}
.garage-count{background:var(--color-surface)}
.vehicle-hero-actions .button-add-vehicle,
.maintenance-record-action{
    border:1px solid rgba(103,187,230,.42);
    background:#08090d;
    color:var(--color-primary);
    box-shadow:none;
    font-weight:500
}
.vehicle-hero-actions .button-add-vehicle:hover,
.maintenance-record-action:hover{
    border-color:var(--color-primary);
    background:var(--color-surface);
    color:var(--color-primary);
    box-shadow:0 0 0 2px rgba(103,187,230,.08)
}
.vehicle-hero-actions .button-add-vehicle:active,
.maintenance-record-action:active{
    background:#08090d;
    transform:translateY(1px)
}
.vehicle-hero-actions .button-add-vehicle:focus-visible,
.maintenance-record-action:focus-visible{
    outline:2px solid var(--color-primary);
    outline-offset:3px;
    box-shadow:0 0 0 5px rgba(103,187,230,.13)
}
.vehicle-history-page-header{display:flex;align-items:center;gap:24px;margin-bottom:24px}
.vehicle-history-page-header h1{margin:0}
.vehicle-history-page-header .vehicle-history-subtitle{margin-top:6px}
.vehicle-history-actions{display:flex;flex:0 0 auto;gap:8px;margin-left:auto}
.vehicle-history-details{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-top:10px}
.vehicle-history-detail{display:grid;grid-template-columns:minmax(96px,.38fr) minmax(0,1fr);gap:12px;min-width:0;color:var(--color-text-secondary);font-size:.78rem;line-height:1.45}
.vehicle-history-detail-label{color:var(--color-text-muted)}
.vehicle-history-detail-value{min-width:0;overflow-wrap:anywhere;white-space:pre-line}
.maintenance-event-fields-heading{grid-column:1/-1;margin:8px 0 12px;color:var(--color-text);font-size:1rem;font-weight:400}
.maintenance-editor-help,.maintenance-event-summary{white-space:pre-line;overflow-wrap:anywhere}

/* Expanded Maintenance and Legal detail titles use the existing Garage lime. */
.vehicle-detail-primary>.accordion-tone-blue>.accordion-header[aria-expanded="true"]+.accordion-body .section-title,
.vehicle-detail-primary>.accordion-tone-sage>.accordion-header[aria-expanded="true"]+.accordion-body .section-title{
    color:var(--color-success)
}
.vehicle-detail-primary>.accordion-tone-blue>.accordion-header[aria-expanded="true"]+.accordion-body .maintenance-status{
    color:var(--color-text);
    font-weight:500
}

/* Decorative outline icons for individual maintenance task headings. */
.maintenance-task-icon{
    display:inline-block;
    width:32px;
    height:32px;
    margin-right:10px;
    vertical-align:middle;
    fill:none;
    stroke:var(--color-success);
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round
}
