:root{--page-bg:#eff5ee;--page-bg-accent:#e3eee1;--panel-bg:#fffffff0;--panel-shadow:0 10px 28px #38593a1a;--border-color:#5d8b5f2e;--border-strong:#5d8b5f57;--heading-text:#19311d;--body-text:#28422d;--muted-text:#5d735f;--accent-color:#5d8b5f;--accent-color-strong:#4f7851;--accent-soft-bg:#e6f1e5;--accent-soft-bg-strong:#d8e8d7;--empty-bg:#f6fbf5;--status-ok-bg:#e7f3e6;--status-ok-text:#27613a;--status-error-bg:#fff1ec;--status-error-text:#9b4125;--status-loading-bg:#edf4eb;--status-loading-text:#48604b;color:var(--body-text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top right, #5d8b5f29, transparent 24rem), linear-gradient(180deg, var(--page-bg), #f9fcf8 60%, #e7f0e4);font-family:Aptos,Trebuchet MS,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body{min-height:100%}html.auth-pending,html.auth-pending body{background:#fff}html.auth-pending body{visibility:hidden}body{min-width:320px;margin:0}a{color:inherit}h1,h2,h3{color:var(--heading-text);margin:0;font-family:Georgia,Times New Roman,serif}p{margin:0}button,input,textarea,select{font:inherit}.app-shell{grid-template-rows:auto minmax(0,1fr);align-content:start;gap:.65rem;width:min(100%,72rem);min-height:100svh;margin:0 auto;padding:.7rem;display:grid}.app-shell--login{background:#fff;width:100%;max-width:none;padding:0}.panel{background:var(--panel-bg);border:1px solid var(--border-color);box-shadow:var(--panel-shadow);border-radius:1rem}.app-header{gap:.55rem;padding:.75rem .8rem .7rem;display:grid}.app-header--compact{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;min-height:3.35rem;padding:.45rem .75rem;position:sticky;top:0}.app-header-meta{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.5rem;min-height:2.35rem;display:flex}.app-header-actions{align-items:center;gap:.55rem;min-height:2.35rem;margin-left:auto;display:flex}.app-kicker,.section-kicker{color:var(--accent-color);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.app-title{font-size:clamp(1.45rem,4vw,1.8rem);line-height:1.1}.app-menu{position:relative}.app-menu summary{list-style:none}.app-menu summary::-webkit-details-marker{display:none}.app-menu-toggle{border:1px solid var(--border-color);background:var(--accent-soft-bg);cursor:pointer;border-radius:.8rem;flex-direction:column;justify-content:center;align-items:center;gap:.06rem;block-size:2.35rem;inline-size:2.35rem;display:flex}.app-menu-toggle-line{background:var(--heading-text);border-radius:999px;block-size:2px;inline-size:1rem;margin:0;display:block}.app-menu-panel{min-width:11rem;box-shadow:var(--panel-shadow);background:#f6fbf5fa;gap:.2rem;padding:.3rem 0;display:grid;position:absolute;top:calc(100% + .45rem);right:0}.app-nav-link{text-align:center;white-space:nowrap;flex-direction:row;justify-content:center;align-items:center;gap:.4rem;min-height:0;padding:.32rem 0;font-size:.94rem;font-weight:600;text-decoration:none;display:flex}.app-nav-icon{block-size:1.05rem;inline-size:1.05rem}.app-nav-link:hover,.app-nav-link:focus-visible{color:var(--accent-color-strong);outline:none}.app-nav-link[data-active=true]{color:var(--accent-color-strong)}.app-nav-link+.app-nav-link{border-top:1px solid #5d8b5f2e}.app-main{display:grid}.app-shell--login .app-main{min-height:100svh}.page-section{gap:.85rem;padding:1.1rem;display:grid}.page-section--compact{padding:.95rem 1rem}.page-header{gap:.35rem;display:grid}.page-header--compact{gap:.28rem}.page-title{font-size:clamp(1.2rem,4vw,1.65rem)}.page-description{color:var(--muted-text);max-width:40rem}.vehicles-page{gap:1rem;display:grid}.vehicles-home{flex-direction:column;align-items:flex-start;gap:.55rem;padding:0 0 5rem;display:flex;position:relative}.vehicles-home .page-header--compact{flex-direction:column;align-items:flex-start;gap:.06rem;block-size:auto;inline-size:auto;display:flex}.vehicles-view-toggle{align-items:center;gap:.45rem;display:inline-flex}.vehicles-view-toggle-button{min-height:2.1rem;padding:.4rem .8rem}.vehicles-view-toggle-button--active{background:var(--accent-soft-bg-strong);border-color:var(--border-strong)}.dashboard-layout,.dashboard-page,.settings-layout,.settings-page{gap:1rem;display:grid}.dashboard-intro,.settings-page{padding:1rem}.settings-layout{width:min(100%,26rem)}.settings-page{gap:.85rem;padding:.9rem}.dashboard-summary-grid,.dashboard-lists{gap:1rem;display:grid}.summary-card{gap:.35rem;padding:.95rem;display:grid}.summary-value{color:var(--heading-text);font-size:clamp(1.7rem,5vw,2.2rem);font-weight:700;line-height:1}.dashboard-list-card{gap:.7rem;padding:.95rem;display:grid}.dashboard-item-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-item{border:1px solid var(--border-color);background:#fff;border-radius:.8rem;gap:.45rem;padding:.75rem;display:grid}.dashboard-item-title{font-weight:700}.dashboard-item-subtitle,.dashboard-item-meta,.success-copy{color:var(--muted-text)}.settings-form{gap:.8rem;display:grid}.settings-form--mobile{gap:.7rem}.checkbox-field,.field-group{gap:.35rem;display:grid}.checkbox-field{border:1px solid var(--border-color);background:#fff;border-radius:.85rem;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;padding:.75rem .8rem;line-height:1.2}.checkbox-field input{block-size:1rem;inline-size:1rem;margin:0}.field-group{gap:.3rem}.field-group select{border:1px solid var(--border-color);background:#fff;border-radius:.75rem;min-height:2.7rem;padding:.62rem .82rem}.settings-save-button{width:100%;min-height:2.55rem}.status-card,.empty-state,.vehicles-list,.login-card{border:1px solid var(--border-color);background:var(--empty-bg);border-radius:.9rem}.status-card,.empty-state,.login-card{padding:1rem}.status-card{gap:.75rem;display:grid}.status-badge{border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:2rem;padding:.28rem .7rem;font-size:.88rem;font-weight:600;display:inline-flex}.status-badge--compact{min-height:1.9rem;padding-inline:.65rem;font-size:.82rem}.status-badge--loading{background:var(--status-loading-bg);color:var(--status-loading-text)}.status-badge--ready{background:var(--status-ok-bg);color:var(--status-ok-text)}.status-badge--error{background:var(--status-error-bg);color:var(--status-error-text)}.empty-state{border-style:dashed;border-color:var(--border-strong);gap:.75rem;display:grid}.empty-state--compact{padding:.85rem}.empty-title{font-size:1.3rem}.empty-copy,.helper-copy{color:var(--muted-text)}.vehicles-list{margin:0;padding:0;list-style:none;overflow:hidden}.login-card{gap:.85rem;max-width:24rem;display:grid}.login-page{background:#fff;place-items:center;min-height:100svh;padding:1.5rem;display:grid}.login-card--minimal{background:#eef7ee;border:1px solid #74966e38;border-radius:1rem;gap:1rem;width:min(100%,24rem);padding:1.4rem;box-shadow:0 14px 30px #5f7a5b14}.login-fields{gap:.65rem;display:grid}.login-title{text-align:center;font-size:1.4rem;line-height:1.1}.login-status{text-align:center;color:var(--muted-text)}.field{gap:.4rem;display:grid}.field-label{font-size:.95rem;font-weight:600}.field-input{border:1px solid var(--border-color);background:#fff;border-radius:.75rem;min-height:2.7rem;padding:.68rem .82rem}.field-textarea{resize:vertical;min-height:7.5rem}.field-error,.form-error{color:var(--status-error-text);font-size:.9rem}.panel-subsection{border:1px solid var(--border-color);background:var(--empty-bg);border-radius:.9rem;gap:.75rem;padding:.8rem;display:grid}.vehicles-grid{gap:1rem;display:grid}.vehicle-form{gap:.85rem;display:grid}.vehicle-form-header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.vehicle-form-fields{gap:.75rem;display:grid}.field--full{grid-column:1/-1}.vehicle-form-actions,.vehicle-actions{flex-wrap:wrap;gap:.55rem;display:flex}.vehicle-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;width:min(100%,25rem);display:grid}.vehicle-inline-menu{min-width:0;position:relative}.vehicle-inline-menu summary{list-style:none}.vehicle-inline-menu summary::-webkit-details-marker{display:none}.vehicle-inline-menu-toggle{cursor:pointer;width:100%}.vehicle-inline-menu-panel{z-index:2;border:1px solid var(--border-color);min-width:11rem;box-shadow:var(--panel-shadow);background:#fffffffa;border-radius:.8rem;gap:.35rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0}.vehicle-inline-menu-action{justify-content:center;width:100%}.vehicle-action-button{text-align:center;letter-spacing:-.01em;-webkit-tap-highlight-color:#5d8b5f2e;touch-action:manipulation;overflow-wrap:anywhere;justify-content:center;align-items:center;width:100%;min-width:0;min-height:4.2rem;padding:.45rem .5rem;font-size:.82rem;line-height:1.05;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .14s;display:flex}.vehicle-action-button:hover,.vehicle-action-button:focus-visible{background:var(--accent-soft-bg);border-color:var(--border-strong);outline:none;box-shadow:0 8px 18px #4f78511f}.vehicle-action-button:active{background:var(--accent-soft-bg-strong);border-color:var(--accent-color);transform:scale(.98);box-shadow:inset 0 1px #ffffff80}.vehicle-picker-list{gap:.65rem;inline-size:100%;margin:0;padding:0;list-style:none;display:grid}.vehicle-picker-list--slider{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:100%;grid-auto-flow:column;gap:.75rem;padding:.05rem 0 .35rem;scroll-padding-inline:0;display:grid;overflow-x:auto}.vehicle-card-wrapper{border:1px solid var(--border-color);box-shadow:var(--panel-shadow);background:#ffffffeb;border-radius:1rem;overflow:hidden}.vehicle-card-wrapper--active{overflow:visible}.vehicle-card-wrapper--slide{scroll-snap-align:start;min-width:0}.vehicle-card-wrapper--add{border-style:dashed;border-color:var(--border-strong);background:var(--empty-bg)}.vehicle-card-button{text-align:left;background:0 0;border:0;gap:0;width:100%;padding:0;display:grid}.vehicle-row-button{text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1.15fr) minmax(0,1.4fr) auto;align-items:center;gap:.75rem;width:100%;padding:.72rem .85rem;display:grid}.vehicle-row-button--add{color:var(--accent-color-strong)}.vehicle-row-name{color:var(--heading-text);font-size:.96rem;line-height:1.2}.vehicle-row-meta,.vehicle-row-side{color:var(--muted-text);font-size:.84rem;line-height:1.25}.vehicle-row-side{text-align:right;font-weight:700}.vehicle-add-card-button{text-align:left;background:0 0;border:0;align-content:center;justify-items:start;gap:.35rem;width:100%;min-height:100%;padding:1rem .9rem;display:grid}.vehicle-add-card-icon{background:var(--accent-soft-bg-strong);block-size:2.4rem;inline-size:2.4rem;color:var(--accent-color-strong);border-radius:999px;justify-content:center;align-items:center;font-size:1.55rem;font-weight:700;line-height:1;display:inline-flex}.vehicle-card-button:focus-visible,.vehicle-row-button:focus-visible{outline-offset:-2px;outline:2px solid #5d8b5f6b}.vehicle-card-image{aspect-ratio:16/8.6;background:linear-gradient(#edf5ec,#d7e6d5);position:relative}.vehicle-card-image:after{content:"";pointer-events:none;background:linear-gradient(#ffffff14,#1921281f);position:absolute;inset:0}.vehicle-card-image-asset{object-fit:cover;width:100%;height:100%;display:block}.vehicle-card-copy{gap:.24rem;padding:.72rem .8rem .78rem;display:grid}.vehicle-card-copy-top{justify-content:space-between;align-items:start;gap:.55rem;display:flex}.vehicle-card-title{color:var(--heading-text);font-size:1rem;line-height:1.2}.vehicle-card-toggle{color:var(--accent-color);white-space:nowrap;font-size:.76rem;font-weight:700}.vehicle-card-toggle--cta{border:1px solid var(--border-strong);background:var(--accent-soft-bg);min-height:2.25rem;color:var(--accent-color-strong);border-radius:999px;justify-content:center;align-items:center;padding:.52rem .82rem;font-size:.84rem;line-height:1;display:inline-flex;box-shadow:0 6px 14px #4f78511f}.vehicle-card-button:hover .vehicle-card-toggle--cta,.vehicle-card-button:focus-visible .vehicle-card-toggle--cta{background:var(--accent-soft-bg-strong);border-color:var(--accent-color)}.vehicle-card-button:active .vehicle-card-toggle--cta{transform:translateY(1px)}.vehicle-card-details{gap:.7rem;padding:0 .8rem .8rem;display:grid}.vehicle-card-details-copy{gap:.22rem;display:grid}.vehicle-card-highlights{flex-wrap:wrap;gap:.38rem;margin-top:.12rem;display:flex}.vehicle-card-highlight{border:1px solid var(--border-color);min-height:1.7rem;color:var(--muted-text);background:#ffffffeb;border-radius:999px;align-items:center;padding:.18rem .58rem;font-size:.77rem;font-weight:600;line-height:1.2;display:inline-flex}.vehicle-card-highlight--accent{background:var(--accent-soft-bg);border-color:var(--border-strong);color:var(--accent-color-strong)}.vehicle-image-preview{gap:.65rem;display:grid}.vehicle-image-preview-frame{aspect-ratio:16/10;border:1px solid var(--border-color);background:#fff;border-radius:1rem;width:min(100%,18rem);overflow:hidden}.vehicle-image-preview-copy{gap:.35rem;display:grid}.vehicle-image-upload-actions{flex-wrap:wrap;gap:.45rem;display:flex}.vehicles-empty-state{justify-items:start;gap:.6rem}.vehicles-empty-add-button{background:var(--accent-color);color:#fffaf6;border:0;border-radius:999px;align-items:center;gap:.75rem;min-height:3.2rem;padding:.65rem 1.1rem .65rem .85rem;font-weight:700;display:inline-flex}.vehicles-empty-add-button-icon{background:#ffffff38;border-radius:999px;justify-content:center;align-items:center;block-size:2.1rem;inline-size:2.1rem;font-size:1.45rem;font-weight:700;display:inline-flex}.vehicle-slider-pagination{justify-content:center;align-self:center;align-items:center;gap:.38rem;inline-size:100%;padding-top:.1rem;display:flex}.vehicle-slider-dot{background:#5d8b5f3d;border-radius:999px;block-size:.42rem;inline-size:.42rem}.vehicle-slider-dot--active{background:var(--accent-color);inline-size:.8rem}.mileage-panel,.service-panel{border-top:1px solid var(--border-color);gap:.85rem;padding-top:.85rem;display:grid}.mileage-panel-header,.service-panel-header,.service-history-header,.service-rule-title-row{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:1rem;display:flex}.mileage-current{font-weight:700}.mileage-form,.service-form,.service-completion-form{gap:.85rem;display:grid}.mileage-form-fields,.service-form-fields{gap:.75rem;display:grid}.field-textarea--compact{min-height:5.5rem}.mileage-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.mileage-row{border:1px solid var(--border-color);background:#fff;border-radius:.8rem;padding:.75rem}.mileage-row-main{gap:.3rem;display:grid}.service-rules-list,.service-history-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.service-rule-row,.service-history-row{border:1px solid var(--border-color);background:#fff;border-radius:.8rem;gap:.55rem;padding:.75rem;display:grid}.service-status{border-radius:999px;justify-content:center;align-items:center;min-height:2rem;padding:.2rem .7rem;font-size:.9rem;font-weight:700;display:inline-flex}.service-status--ok{background:var(--status-ok-bg);color:var(--status-ok-text)}.service-status--due-soon{color:#8a5b00;background:#fff5df}.service-status--overdue{background:var(--status-error-bg);color:var(--status-error-text)}.service-status--disabled{color:var(--muted-text);background:#e7ede5}.primary-button{background:var(--accent-color);color:#fff9f5;border:0;border-radius:.75rem;min-height:2.7rem;padding:.65rem 1rem;font-weight:700}.primary-button--login{color:#fff;background:#5d8b5f;width:100%}.primary-button--login:hover,.primary-button--login:focus-visible{background:#4f7851;outline:none}.primary-button[disabled]{opacity:.7}.secondary-button,.primary-button,.danger-button{text-align:center;cursor:pointer;-webkit-tap-highlight-color:#5d8b5f2e;touch-action:manipulation;border-radius:.75rem;justify-content:center;align-items:center;min-height:2.7rem;padding:.65rem .95rem;font-weight:700;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s,transform .14s,opacity .14s;display:inline-flex}.secondary-button--small{min-height:1.4rem;padding:.26rem .52rem;font-size:.78rem;text-decoration:none}.secondary-button{border:1px solid var(--border-color);color:var(--heading-text);background:#fff}.danger-button{color:var(--status-error-text);background:#fff0ec;border:1px solid #9d3b1e2e}.primary-button:hover,.primary-button:focus-visible{background:var(--accent-color-strong);outline:none;box-shadow:0 10px 22px #4f785138}.secondary-button:hover,.secondary-button:focus-visible{background:var(--accent-soft-bg);border-color:var(--border-strong);outline:none;box-shadow:0 8px 18px #4f78511f}.danger-button:hover,.danger-button:focus-visible{background:#ffe5de;border-color:#9d3b1e47;outline:none;box-shadow:0 8px 18px #9b41251f}.primary-button:active,.secondary-button:active,.danger-button:active{transform:scale(.98)}.primary-button:active{box-shadow:inset 0 1px #ffffff47}.secondary-button:active{background:var(--accent-soft-bg-strong);border-color:var(--accent-color);box-shadow:inset 0 1px #ffffff80}.danger-button:active{background:#ffd9cf;border-color:#9d3b1e5c;box-shadow:inset 0 1px #ffffff73}.primary-button[disabled],.secondary-button[disabled],.danger-button[disabled]{opacity:.68;cursor:default;box-shadow:none;transform:none}.vehicle-meta{font-weight:600}.vehicle-notes{color:var(--muted-text)}.session-controls{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.4rem;min-height:2.35rem;display:flex}.session-text{color:var(--muted-text);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;max-width:7rem;font-size:.8rem;overflow:hidden}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:720px){.vehicles-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}.vehicles-home{padding-bottom:6.25rem}.vehicle-picker-list--slider{grid-auto-columns:100%;padding-bottom:.45rem}.vehicle-image-preview{grid-template-columns:16rem minmax(0,1fr);align-items:center}.vehicle-form-fields,.mileage-form-fields,.service-form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-item{grid-template-columns:minmax(0,1fr) auto;align-items:start}}@media (max-width:719px){.settings-layout{gap:.75rem;width:100%}.settings-page{border-radius:.85rem;gap:.75rem;padding:.8rem}.settings-form,.settings-form--mobile{gap:.65rem}.checkbox-field{padding:.68rem .72rem;font-size:.92rem}.field-label{font-size:.88rem}.field-group select{min-height:2.45rem;padding:.58rem .75rem;font-size:.95rem}.settings-save-button{min-height:2.45rem;padding-inline:.85rem;font-size:.95rem}.session-text{max-width:4.75rem;font-size:.75rem;display:block}.session-controls{gap:.3rem}.app-menu-panel{min-width:8.5rem;box-shadow:none;background:#f6fbf5fa;border:0;border-radius:0;padding:.15rem 0}.vehicle-card-toggle--cta{min-height:2.5rem;padding-inline:.95rem}.vehicle-row-button{grid-template-columns:minmax(0,1fr);gap:.14rem}.vehicle-row-side{text-align:left}.vehicle-image-preview-frame{width:100%}.vehicle-image-upload-actions>*{flex:100%}}
