:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--primary-color: #646cff;--primary-hover: #747bff;--danger-color: #ff4444}:root,:root.theme-light{--bg-color: #f5f5f5;--bg-secondary: #ffffff;--text-primary: #213547;--text-secondary: #555555;--text-muted: #888888;--border-color: #e0e0e0;--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .08);--input-bg: #ffffff;--input-border: #dddddd;--nav-bg: #ffffff;--nav-text: #666666;--warning-bg: #fff3cd;--warning-text: #856404;--success-bg: #d4edda;--success-text: #155724}:root.theme-dark{--bg-color: #121212;--bg-secondary: #1e1e1e;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #808080;--border-color: #333333;--card-bg: #1e1e1e;--card-shadow: rgba(0, 0, 0, .3);--input-bg: #2d2d2d;--input-border: #444444;--nav-bg: #1e1e1e;--nav-text: #b0b0b0;--warning-bg: #332b00;--warning-text: #ffcc00;--success-bg: #1b2e1b;--success-text: #71d071}@media(prefers-color-scheme:dark){:root:not(.theme-light){--bg-color: #121212;--bg-secondary: #1e1e1e;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #808080;--border-color: #333333;--card-bg: #1e1e1e;--card-shadow: rgba(0, 0, 0, .3);--input-bg: #2d2d2d;--input-border: #444444;--nav-bg: #1e1e1e;--nav-text: #b0b0b0;--primary-color: #747bff;--primary-hover: #858cff;--warning-bg: #332b00;--warning-text: #ffcc00;--success-bg: #1b2e1b;--success-text: #71d071}}a{font-weight:500;color:var(--primary-color);text-decoration:inherit}a:hover{color:var(--primary-hover)}body{margin:0;min-width:100vw;min-height:100vh;color:var(--text-primary);background-color:var(--bg-color);touch-action:manipulation;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:2rem;line-height:1.2;color:var(--text-primary)}@media(max-width:640px){h1{font-size:1.5rem}}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color .25s,background-color .25s,color .25s}button:hover{border-color:var(--primary-color)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-color);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.skeleton{background:linear-gradient(90deg,var(--bg-color) 25%,var(--border-color) 50%,var(--bg-color) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@supports (overscroll-behavior-y: contain){html{overscroll-behavior-y:contain}}.landing-page{background-color:var(--bg-secondary);color:var(--text-primary)}.btn-secondary{background-color:var(--bg-secondary);color:var(--primary-color);border:2px solid var(--primary-color);padding:.875rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background-color:var(--bg-color);border-color:var(--primary-hover);color:var(--primary-hover)}.error-message{color:var(--danger-color);background-color:var(--warning-bg);padding:.75rem 1rem;border-radius:6px;margin-top:1rem;font-size:.875rem}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.landing-header{background-color:var(--nav-bg);border-bottom:1px solid var(--border-color);padding:1rem 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-header .container{display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;font-size:1.25rem;color:var(--text-primary);text-decoration:none}.landing-header nav{display:flex;align-items:center;gap:1.5rem}.landing-header nav a{text-decoration:none;color:var(--text-secondary);font-weight:500;transition:color .2s}.landing-header nav a:hover{color:var(--primary-color)}.btn-signin{background-color:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-signin:hover{background-color:var(--primary-hover)}.hero{text-align:center;padding:6rem 0;background-color:var(--bg-color)}.hero h1{font-size:3.5rem;font-weight:800;line-height:1.2;color:var(--text-primary);max-width:800px;margin:0 auto 1rem}.hero .subtitle{font-size:1.25rem;color:var(--text-secondary);max-width:700px;margin:0 auto 2rem}.cta-container{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.or-divider{color:var(--text-muted);font-weight:500;font-size:.875rem}.google-signin-btn,.cta-container .btn-secondary{width:100%;max-width:350px;box-sizing:border-box}.sub-cta{font-size:.875rem;color:var(--text-muted);margin-top:.75rem}.google-signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);padding:.875rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .2s;color:var(--text-primary)}.google-signin-btn:hover:not(:disabled){background-color:var(--bg-color);border-color:var(--border-color);box-shadow:0 2px 8px var(--card-shadow)}.features{padding:5rem 0;text-align:center}.features h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.section-description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;text-align:left}.feature-card{background-color:var(--bg-color);padding:2rem;border-radius:12px;border:1px solid var(--border-color)}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;margin-bottom:.5rem}.feature-card p{color:var(--text-secondary);line-height:1.6}.how-it-works{padding:5rem 0;background-color:var(--bg-color);text-align:center}.how-it-works h2{font-size:2.5rem;font-weight:700;margin-bottom:3rem}.steps-container{display:flex;justify-content:space-between;gap:2rem;text-align:center}.step{flex:1}.step-number{width:50px;height:50px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1.5rem}.step h3{font-size:1.25rem;margin-bottom:.5rem}.step p{color:var(--text-secondary);line-height:1.6}.cta-section{padding:5rem 0;text-align:center;background-color:var(--bg-secondary);color:var(--text-primary);border-top:1px solid var(--border-color)}.cta-section h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-section p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem}.maintenance-types{padding:5rem 0;background-color:var(--bg-secondary);text-align:center}.maintenance-types h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;text-align:center;max-width:900px;margin:0 auto}.type-card{background-color:var(--bg-color);padding:1.75rem 1.5rem;border-radius:12px;border:1px solid var(--border-color);transition:box-shadow .2s,transform .2s}.type-card:hover{box-shadow:0 4px 16px var(--card-shadow);transform:translateY(-2px)}.type-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.type-card h3{font-size:1.1rem;margin-bottom:.5rem}.type-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.faq-section{padding:5rem 0;background-color:var(--bg-color);text-align:center}.faq-section h2{font-size:2.5rem;font-weight:700;margin-bottom:2.5rem}.faq-grid{max-width:750px;margin:0 auto;text-align:left}.faq-item{border:1px solid var(--border-color);border-radius:10px;margin-bottom:.75rem;overflow:hidden;background-color:var(--bg-secondary)}.faq-item summary{padding:1.125rem 1.25rem;font-weight:600;font-size:1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--text-primary)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.25rem;font-weight:400;color:var(--text-muted);transition:transform .2s}.faq-item[open] summary:after{content:"−"}.faq-item p{padding:0 1.25rem 1.125rem;color:var(--text-secondary);line-height:1.6;margin:0}.landing-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:2rem 0;text-align:center}.landing-footer p{color:var(--text-muted);font-size:.875rem}@media(max-width:768px){.hero h1{font-size:2.5rem}.hero .subtitle{font-size:1.1rem}.features h2,.how-it-works h2,.cta-section h2,.maintenance-types h2,.faq-section h2{font-size:2rem}.steps-container{flex-direction:column}.landing-header nav{display:none}.types-grid{grid-template-columns:1fr 1fr}}.settings-menu{position:relative}.settings-trigger{background:none;outline:none;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;transition:transform .2s;border-radius:8px}.settings-trigger:hover{transform:rotate(45deg)}.settings-backdrop{display:none}.settings-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px var(--card-shadow);min-width:220px;padding:.5rem;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease-out,transform .2s ease-out,visibility .2s}.settings-menu.is-open .settings-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:none;text-align:left;cursor:pointer;border-radius:8px;transition:background-color .2s;color:var(--text-primary);font-size:.95rem}.menu-item:hover{background-color:var(--bg-color)}.menu-item.danger{color:var(--danger-color)}.menu-item.danger:hover{background-color:var(--warning-bg)}.menu-icon{font-size:1.25rem;width:24px;display:flex;align-items:center;justify-content:center}.menu-divider{height:1px;background-color:var(--border-color);margin:.5rem 0}@media(max-width:768px){.settings-backdrop{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s}.settings-menu.is-open .settings-backdrop{opacity:1;visibility:visible}.settings-dropdown{position:fixed;top:0;right:0;width:280px;height:100%;min-width:unset;border-radius:0;box-shadow:-4px 0 15px var(--card-shadow);padding:2rem 1rem;transform:translate(100%);transition:transform .3s ease-in-out;opacity:1;visibility:visible}.settings-menu.is-open .settings-dropdown{transform:translate(0)}}.dashboard-stats{max-width:1200px;margin:0 auto 1.5rem;padding:0}.dashboard-stats.loading .stats-skeleton{height:100px;background:linear-gradient(90deg,var(--bg-color) 25%,var(--border-color) 50%,var(--bg-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-stats .stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.stat-card{background:var(--card-bg);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px var(--card-shadow);border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--card-shadow)}.stat-card.upcoming{background:var(--success-bg);border-color:var(--success-text)}.stat-card.upcoming .stat-value{color:var(--success-text)}.stat-card.overdue{background:var(--warning-bg);border-color:var(--warning-text)}.stat-card.overdue .stat-value{color:var(--danger-color)}.stat-icon{font-size:2rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--bg-secondary);border-radius:12px}.stat-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dashboard-stats .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.dashboard-stats .stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.dashboard-stats .stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.dashboard-stats .stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.dashboard-stats{margin-bottom:1rem}.dashboard-stats .stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem;gap:.75rem}.stat-icon{font-size:1.5rem;width:40px;height:40px;border-radius:10px}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}}@media(max-width:360px){.stat-card{padding:.75rem;gap:.5rem}.stat-icon{font-size:1.25rem;width:36px;height:36px}.stat-value{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.stat-card{transition:none}.dashboard-stats.loading .stats-skeleton{animation:none;background:#e0e0e0}}.dashboard{min-height:100vh;background-color:var(--bg-color)}@media(max-width:768px){.dashboard,.vehicle-detail,.form-page,.data-export-page,.calendar-view-container{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}.dashboard{background:linear-gradient(180deg,color-mix(in srgb,var(--primary-color) 9%,var(--bg-color)) 0,var(--bg-color) 240px)}.dashboard-content{padding-bottom:1.5rem}.dashboard-header .user-info .settings-menu{display:none}.dashboard-header .header-content{padding-bottom:0}.dashboard-header h1{font-size:1.25rem;line-height:1.15}.user-info{gap:.5rem}.user-info span{display:none}.user-avatar{width:32px;height:32px}.guest-info{flex-direction:row!important;gap:.5rem!important;align-items:center}.guest-badge{width:auto!important;white-space:nowrap;font-size:.7rem;padding:.375rem .75rem}.guest-info .btn-primary{font-size:.8rem;padding:.5rem .875rem;white-space:nowrap}.form-header,.detail-header,.export-header{justify-content:center}.form-header h1,.detail-header h1,.export-header h1{text-align:center}.form-page{min-height:calc(100vh - 70px)}.form-container{margin-bottom:2rem}.form-actions,.card-actions,.modal-actions{margin-bottom:1rem}.empty-state{padding-bottom:2rem}.modal-overlay{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.dashboard-actions{margin-bottom:1.5rem}.dashboard-actions .btn-primary{width:100%}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:769px)and (max-width:1024px){.bottom-nav{display:none!important}}@supports (padding: env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}@media(max-width:768px){.more-menu{bottom:calc(5.75rem + env(safe-area-inset-bottom))}}}.nav-item:focus{outline:2px solid var(--primary-color);outline-offset:2px}.nav-item:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){.nav-item,.nav-icon,.more-menu{transition:none;animation:none}}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.nav-item.active .nav-icon{animation:bounce .3s ease-in-out}.app{transition:padding-bottom .3s ease}@media(max-width:360px){.nav-item{min-width:50px;padding:.5rem}}.sync-banner{max-width:1200px;margin:0 auto 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:0;overflow:hidden;box-shadow:0 4px 12px #667eea4d}.banner-content{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;color:#fff}.banner-icon{font-size:2.5rem;flex-shrink:0}.banner-text{flex:1}.banner-text strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.banner-text p{margin:0;opacity:.9;font-size:.9rem}.sync-banner .btn-primary{background-color:#fff;color:#667eea;flex-shrink:0}.sync-banner .btn-primary:hover{background-color:#f8f8f8;color:#535bf2}.guest-info{display:flex;align-items:center;gap:1rem}.guest-badge{background-color:var(--bg-color);padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}@media(max-width:768px){.sync-banner{margin-bottom:1.25rem;border-radius:10px}.banner-content{flex-direction:column;text-align:center;padding:1.5rem}.banner-icon{font-size:2rem}.sync-banner .btn-primary{width:100%}.guest-info{flex-direction:column;gap:.5rem}.guest-badge{width:100%;text-align:center}}.interval-info{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.interval-info small{color:var(--text-muted);font-size:.75rem}.dashboard-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1.5rem 2rem;box-shadow:0 2px 4px var(--card-shadow)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{font-size:1.75rem;color:var(--text-primary)}.user-info{display:flex;align-items:center}.user-info span{font-weight:500;color:var(--text-secondary)}.dashboard-content{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-actions{margin-bottom:2rem}.loading-state{text-align:center;padding:4rem 2rem}.loading-state .spinner{margin:0 auto 1rem}.empty-state{text-align:center;padding:4rem 2rem;background-color:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px var(--card-shadow)}.empty-state h2{color:var(--text-primary);margin-bottom:.5rem}.empty-state p{color:var(--text-secondary);margin-bottom:2rem}.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.vehicle-card{background-color:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px var(--card-shadow);cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid transparent;will-change:transform;-webkit-tap-highlight-color:transparent;min-height:120px}.vehicle-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px var(--card-shadow)}.vehicle-card.due{border-color:var(--danger-color)}.vehicle-header h3{color:var(--text-primary);margin-bottom:.25rem;font-size:1.25rem}.vehicle-model{color:var(--text-secondary);font-size:.875rem;margin-bottom:.25rem}.vehicle-reminder{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.alert{padding:.75rem;border-radius:6px;margin-bottom:.5rem}.alert strong{display:block;margin-bottom:.25rem}.alert p{font-size:.875rem;margin:0}.alert-danger,.alert-warning{background-color:var(--warning-bg);color:var(--warning-text)}.next-change{font-size:.875rem;color:var(--text-secondary)}.next-change p{margin-bottom:.25rem}.odometer-info{color:var(--text-muted);font-size:.8125rem}.no-history{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);text-align:center}.no-history p{color:var(--text-muted);font-size:.875rem;margin-bottom:.75rem}.search-filter-section{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.search-bar-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.75rem;font-size:1rem;pointer-events:none}.search-bar{width:100%;padding:.625rem 2.5rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--card-bg);color:var(--text-primary);font-size:.9375rem;outline:none;transition:border-color .2s}.search-bar:focus{border-color:var(--primary-color)}.search-clear{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.875rem;padding:.25rem;line-height:1}.search-clear:hover{color:var(--text-primary)}.filter-chips{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chip{padding:.375rem .875rem;border-radius:20px;border:1.5px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;min-height:36px;-webkit-tap-highlight-color:transparent}.filter-chip:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-chip.all.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.filter-chip.overdue.active{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.filter-chip.upcoming.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.filter-chip.up-to-date.active{background:#22c55e;border-color:#22c55e;color:#fff}.service-type-filter,.dashboard-sort-filter{display:flex;align-items:center;gap:.75rem}.service-type-filter label,.dashboard-sort-filter label{color:var(--text-secondary);font-size:.875rem;font-weight:600;white-space:nowrap}.service-type-select,.dashboard-sort-select{min-height:38px;min-width:220px;padding:.45rem .75rem;border:1.5px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-size:.875rem;outline:none}.dashboard-sort-select{min-width:180px}.service-type-select:focus,.dashboard-sort-select:focus{border-color:var(--primary-color)}.vehicle-reminders-list{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.reminder-item{display:flex;align-items:center;gap:.625rem;padding:.5rem;border-radius:6px;background:transparent;transition:background .15s}.reminder-item.due{background-color:var(--warning-bg)}.reminder-icon{font-size:1.1rem;flex-shrink:0}.reminder-details{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.reminder-dates{display:flex;flex-direction:column}.reminder-prediction{font-size:.75rem;color:var(--primary-color);font-style:italic;opacity:.8}.quick-log-btn{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:0 12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:64px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.quick-log-btn:active{transform:scale(.95);background-color:var(--border-color)}.reminder-item.due .quick-log-btn{border-color:var(--warning-border);color:var(--warning-text);background-color:#fff}.reminder-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.reminder-status{font-size:.8125rem;color:var(--text-secondary)}.reminder-status.overdue{color:var(--danger-color);font-weight:600}.prediction{font-size:.75rem;color:var(--text-muted);margin:0}@media(max-width:768px){.filter-chip{min-height:44px;padding:.55rem .9rem;font-size:.9rem;border-radius:10px}.dashboard-header{position:sticky;top:0;z-index:50;padding:.85rem 1rem;background-color:color-mix(in srgb,var(--bg-secondary) 88%,transparent);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1)}.header-content{flex-direction:row;gap:.75rem;align-items:center}.dashboard-header h1{font-size:1.3rem;max-width:58vw}.dashboard-content{padding:1rem .9rem}.dashboard-actions{display:grid}.dashboard-actions .btn-primary{min-height:50px;border-radius:10px;box-shadow:0 10px 22px color-mix(in srgb,var(--primary-color) 22%,transparent)}.search-filter-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:.75rem;box-shadow:0 8px 24px var(--card-shadow)}.search-bar{min-height:46px;border-radius:10px;font-size:1rem}.filter-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.service-type-filter,.dashboard-sort-filter{align-items:stretch;flex-direction:column;gap:.35rem}.service-type-select,.dashboard-sort-select{min-height:46px;min-width:0;width:100%;border-radius:10px;font-size:1rem}.vehicles-grid{grid-template-columns:1fr;gap:1rem}.vehicle-card{border-radius:10px;padding:1rem;box-shadow:0 10px 26px var(--card-shadow)}.vehicle-card:hover{transform:none}.vehicle-card.due{background:linear-gradient(135deg,color-mix(in srgb,var(--danger-color) 9%,transparent),transparent 38%),var(--card-bg)}.vehicle-header h3{font-size:1.15rem}.card-odometer-section{margin:.85rem 0;padding:.7rem;border-radius:10px}.reminder-item{align-items:flex-start;padding:.65rem;border:1px solid color-mix(in srgb,var(--border-color) 68%,transparent);border-radius:10px}.quick-log-btn{min-width:58px;border-radius:10px}.empty-state{border-radius:10px;padding:3rem 1.25rem}}.card-odometer-section{margin:1rem 0;padding:.5rem;background-color:var(--input-bg, #f3f4f6);border-radius:8px;border:1px solid var(--border-color);font-size:.875rem}.odo-quick-display{display:flex;align-items:center;gap:.5rem}.odo-label{color:var(--text-secondary);font-weight:500}.odo-value{color:var(--text-primary);font-weight:700;flex:1}.odo-quick-edit-btn{background:none;border:none;cursor:pointer;padding:.25rem;font-size:.875rem;opacity:.7;transition:opacity .2s,transform .2s}.odo-quick-edit-btn:hover{opacity:1;transform:scale(1.1)}.odo-quick-form{display:flex;align-items:center;gap:.25rem;width:100%}.odo-quick-input{flex:1;background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:.25rem .5rem;font-size:.875rem;outline:none;min-width:0}.odo-quick-input:focus{border-color:var(--primary-color)}.odo-quick-save-btn,.odo-quick-cancel-btn{background:none;border:none;cursor:pointer;padding:.25rem .5rem;font-size:.875rem;font-weight:700}.odo-quick-save-btn{color:var(--primary-color)}.odo-quick-cancel-btn{color:var(--danger-color)}.vehicle-detail{min-height:100vh;background-color:var(--bg-color);padding:2rem}.detail-header{max-width:800px;margin:0 auto 2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.detail-header h1{color:var(--text-primary);font-size:2rem;flex:1;min-width:0;overflow-wrap:anywhere}.vehicle-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.edit-btn,.delete-btn,.print-btn,.template-btn,.settings-btn{background:none;border:none;font-size:1.75rem;cursor:pointer;padding:.5rem;transition:transform .2s,opacity .2s;opacity:.7;color:var(--text-primary)}.edit-btn:hover,.print-btn:hover,.template-btn:hover{transform:scale(1.1);opacity:1}.delete-btn:hover{transform:scale(1.1);opacity:1;color:var(--danger-color)}.settings-btn:hover{transform:rotate(45deg);opacity:1}.settings-btn-small{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;transition:transform .2s,opacity .2s;opacity:.6;color:var(--text-primary)}.settings-btn-small:hover{transform:rotate(45deg);opacity:1}.vehicle-info-card{max-width:800px;margin:0 auto 2rem;background-color:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 2px 8px var(--card-shadow)}.vehicle-info-card h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem}.info-grid{display:grid;gap:1rem;margin-bottom:2rem}.info-item{display:flex;gap:1rem;align-items:center}.info-item label{font-weight:600;color:var(--text-secondary);min-width:100px}.info-item span{color:var(--text-primary)}.info-item.total-spend{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.spend-value{font-weight:700;font-size:1.1rem;color:var(--primary-color)}.record-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.35rem;color:var(--text-secondary);font-size:.9rem}.mileage-display span{display:flex;flex-direction:column}.mileage-display small{font-size:.75rem;color:var(--text-muted)}.maintenance-section{max-width:800px;margin:0 auto;background-color:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 2px 8px var(--card-shadow)}.tabs-scroll-container{overflow-x:auto;margin:-2rem -2rem 1.5rem;padding:1rem 2rem 0;border-bottom:1px solid var(--border-color);-ms-overflow-style:none;scrollbar-width:none}.tabs-scroll-container::-webkit-scrollbar{display:none}.tabs-header{display:flex;gap:1rem;min-width:min-content}.tab-btn{background:none;border:none;padding:.75rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;color:var(--text-secondary)}.tab-btn:hover{color:var(--text-primary);background-color:var(--bg-color);border-radius:8px 8px 0 0}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.tab-icon{font-size:1.25rem}.prediction-summary{background-color:var(--bg-color);border:2px solid var(--primary-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px var(--card-shadow)}.prediction-summary.due{border-color:var(--danger-color);background-color:var(--warning-bg)}.prediction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.prediction-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.due-badge{background-color:var(--danger-color);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.prediction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.prediction-item{display:flex;flex-direction:column;gap:.25rem}.prediction-item label{font-size:.75rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase}.prediction-item span{font-size:1rem;color:var(--text-primary);font-weight:500}.prediction-item.highlighted{background-color:var(--bg-secondary);padding:.75rem;border-radius:8px;border-left:4px solid var(--primary-color)}.suggested-date{color:var(--primary-color)!important;font-weight:700!important}@media(max-width:600px){.prediction-grid{grid-template-columns:1fr}}.records-list{display:flex;flex-direction:column;gap:1rem}.record-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-color);border-radius:8px;border:1px solid var(--border-color);transition:background-color .2s}.record-item:hover{background-color:var(--bg-secondary)}.record-info{flex:1}.record-date strong{color:var(--text-primary);font-size:1rem}.record-odometer{color:var(--primary-color);font-weight:600;margin-top:.25rem;font-size:.875rem}.record-cost{color:var(--text-primary);font-weight:600;font-size:.875rem;margin-top:.25rem}.record-notes{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem;font-style:italic}.record-actions{display:flex;gap:.5rem;align-items:center}@media(max-width:768px){.maintenance-section{padding:1.5rem}.tabs-scroll-container{margin:-1.5rem -1.5rem 1.5rem;padding:1rem 1.5rem 0}.record-item{flex-direction:column;align-items:flex-start;gap:.75rem}}.odo-inline-display{display:flex;align-items:center;gap:.5rem}.odo-inline-edit-btn{background:none;border:none;cursor:pointer;padding:.25rem;font-size:.875rem;opacity:.7;transition:opacity .2s,transform .2s}.odo-inline-edit-btn:hover{opacity:1;transform:scale(1.15)}.odo-inline-form{display:flex;align-items:center;gap:.25rem}.odo-inline-input{width:100px;background-color:var(--bg-color);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:.15rem .4rem;font-size:.875rem;outline:none}.odo-inline-input:focus{border-color:var(--primary-color)}.odo-inline-save-btn,.odo-inline-cancel-btn{background:none;border:none;cursor:pointer;padding:.15rem .35rem;font-size:.875rem;font-weight:700}.odo-inline-save-btn{color:var(--primary-color)}.odo-inline-cancel-btn{color:var(--danger-color)}.print-only-section{display:none}@media print{nav,header,.back-btn,.vehicle-actions,.vehicle-info-card,.maintenance-section,.bottom-nav,.modal-overlay,button{display:none!important}.vehicle-detail{margin:0!important;padding:0!important;max-width:100%!important;box-shadow:none!important;background:transparent!important;color:#000!important}.print-only-section{display:block!important}.print-header{text-align:center;margin-bottom:2rem;border-bottom:2px solid #333;padding-bottom:1rem}.print-header h1{font-size:24px;margin:0 0 .5rem}.print-header h2{font-size:20px;margin:0 0 .5rem;color:#555}.print-header p{margin:0;font-size:14px;color:#666}.print-details-table{width:100%;border-collapse:collapse;margin-bottom:2rem}.print-details-table td{padding:.5rem;font-size:14px;border:1px solid #ddd;text-align:center}.print-records-table{width:100%;border-collapse:collapse}.print-records-table th,.print-records-table td{border:1px solid #ddd;padding:8px 12px;text-align:left;font-size:13px}.print-records-table th{background-color:#f2f2f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:700}.print-records-table tr:nth-child(2n){background-color:#fafafa!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.form-page{min-height:100vh;background-color:var(--bg-color);padding:2rem}.form-header{max-width:600px;margin:0 auto 2rem;display:flex;align-items:center;gap:1rem}.form-header h1{color:var(--text-primary);font-size:2rem}.subtitle{color:var(--text-secondary);font-size:.875rem;margin-left:auto}.form-container{max-width:600px;margin:0 auto;background-color:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 2px 8px var(--card-shadow)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.required{color:var(--danger-color)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--input-border);border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s;background-color:var(--input-bg);color:var(--text-primary);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;min-height:44px;-webkit-appearance:none;-moz-appearance:none}.form-group select:focus{outline:none;border-color:var(--primary-color)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:100px}.form-group small{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.875rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions button{flex:1}.form-section{border-top:1px solid var(--border-color);padding-top:1.25rem;margin-top:1.5rem;margin-bottom:1.5rem}.form-section h2{color:var(--text-primary);font-size:1.1rem;margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.view-section{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-title-row h2{margin:0}.view-field{margin-bottom:1rem}.view-field:last-child{margin-bottom:0}.view-field label{display:block;color:var(--text-secondary);font-size:.875rem;margin-bottom:.35rem}.view-field div{color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.warranty-badge{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.warranty-badge.active{color:var(--success-text);background-color:var(--success-bg)}.warranty-badge.expired{color:var(--warning-text);background-color:var(--warning-bg)}.warranty-badge.compact{min-height:24px;padding:.2rem .55rem}.settings-info{background-color:var(--bg-color);padding:1rem;border-radius:8px;margin-bottom:1.5rem;color:var(--text-secondary);font-size:.9375rem;line-height:1.5}.settings-info ul{margin:.5rem 0 0 1.25rem;padding:0}.settings-info li{margin-bottom:.25rem}.interval-group{margin-bottom:2rem;padding:1.5rem;background-color:var(--bg-secondary);border-radius:12px}.interval-group-title{margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.input-with-prefix{display:flex;align-items:center;position:relative}.input-prefix{position:absolute;left:1rem;color:var(--text-muted);font-weight:500;pointer-events:none}.form-group .input-with-prefix input{padding-left:2rem}.quick-fill-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-.25rem 0 1.5rem;padding:.875rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary)}.quick-fill-copy{display:flex;flex-direction:column;min-width:0}.quick-fill-copy strong{color:var(--text-primary);font-size:.95rem}.quick-fill-copy span{overflow:hidden;color:var(--text-secondary);font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.quick-fill-btn{flex-shrink:0;min-height:40px}@media(max-width:768px){.form-page{padding:1rem}.form-header{flex-direction:column;align-items:flex-start}.form-header h1{font-size:1.5rem}.subtitle{margin-left:0}.form-container{padding:1.5rem}.form-actions{flex-direction:column-reverse}.form-grid{grid-template-columns:1fr}.quick-fill-panel{align-items:stretch;flex-direction:column}}.receipt-uploader{display:flex;flex-direction:column;gap:.5rem}.receipt-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem}.receipt-thumb{position:relative;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;background:var(--bg-color);border:1px solid var(--border-color)}.receipt-thumb img{width:100%;height:100%;object-fit:cover;display:block}.receipt-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.25rem}.receipt-thumb-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;font-size:.75rem;line-height:1;display:flex;align-items:center;justify-content:center}.receipt-thumb-remove:hover{background:#000c}.receipt-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;aspect-ratio:1 / 1;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-secondary);background-color:var(--bg-color-secondary, rgba(0, 0, 0, .02));transition:all .2s ease;-webkit-tap-highlight-color:transparent}.receipt-add:hover,.receipt-add:focus-within{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--primary-color-light, rgba(0, 122, 255, .05))}.receipt-add.disabled{opacity:.5;pointer-events:none}.receipt-add input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.receipt-add-icon{width:24px;height:24px;color:currentColor}.receipt-add-label{font-size:.85rem;font-weight:500}.receipt-uploader-hint{color:var(--text-muted);font-size:.75rem}.cap-modal{max-width:380px;text-align:center}.cap-modal h2{margin-bottom:.5rem}.cap-modal p{font-size:.9rem;margin-bottom:.75rem}.cap-modal-form{display:flex;gap:.5rem;margin-bottom:1rem}.cap-modal-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem}.cap-modal-success{color:var(--success-color, #16a34a);font-weight:500;margin-bottom:1rem}.cap-modal-close{width:100%}.photo-preview-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-preview-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:auto}.photo-preview-image{max-width:100%;max-height:100%;object-fit:contain;transition:transform .2s ease-out;transform-origin:center center;touch-action:pan-x pan-y}.photo-preview-image:active{cursor:grabbing}.photo-preview-close{position:absolute;top:1rem;right:1rem;background:#fff3;border:none;border-radius:50%;width:40px;height:40px;padding:0;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10}.photo-preview-controls{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;background:#0009;padding:.5rem 1rem;border-radius:20px;z-index:10}.photo-preview-btn{background:none;border:none;color:#fff;font-size:1.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%}.photo-preview-btn:hover{background:#fff3}.data-export-page{min-height:100vh;background-color:var(--bg-color);padding:2rem}.export-header{max-width:900px;margin:0 auto 2rem;display:flex;align-items:center;gap:1rem}.export-header h1{color:var(--text-primary);font-size:2rem}.export-container{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.stats-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #667eea4d}.stats-card h3{margin:0 0 1.5rem;font-size:1.25rem}.stats-card .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-item.full-width{grid-column:1 / -1}.stats-card .stat-label{font-size:.875rem;opacity:.9}.stats-card .stat-value{font-size:2rem;font-weight:700}.stats-card .stat-value.small{font-size:1.25rem}.export-section{background-color:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 2px 8px var(--card-shadow)}.export-section h3{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.25rem}.export-section-muted{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 5%,transparent),transparent 42%),var(--card-bg)}.section-desc{color:var(--text-secondary);margin:-.5rem 0 1rem;line-height:1.5}.section-header-with-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header{padding-bottom:10px}.section-header h2{margin-bottom:15px}.section-header-with-actions h3{margin:0}.selection-actions{display:flex;gap:1rem}.btn-text{background:none;border:none;color:var(--primary-color);font-size:.875rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;transition:color .2s}.btn-text:hover:not(:disabled){color:var(--primary-hover);text-decoration:underline}.btn-text:disabled{color:var(--text-muted);cursor:not-allowed}.format-options{display:grid;gap:1rem}.format-option{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.format-option:hover{border-color:var(--primary-color);background-color:var(--bg-color)}.format-option.selected{border-color:var(--primary-color);background-color:var(--bg-secondary);box-shadow:0 2px 8px var(--card-shadow)}.format-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.format-content{display:flex;align-items:center;gap:1rem;flex:1}.format-icon{font-size:2rem;flex-shrink:0}.format-details{display:flex;flex-direction:column;gap:.25rem}.format-details strong{color:var(--text-primary);font-size:1rem}.format-details small{color:var(--text-secondary);font-size:.875rem}.format-badge{background-color:#28a745;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.format-badge.pro{background-color:#ffc107;color:#333}.data-type-options{display:flex;flex-direction:column;gap:1rem}.checkbox-option{display:flex;align-items:start;gap:1rem;padding:1rem;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s}.checkbox-option:hover{border-color:var(--primary-color);background-color:var(--bg-color)}.checkbox-option input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex-shrink:0;margin-top:2px}.checkbox-option input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.checkbox-option:has(input:disabled){cursor:not-allowed;opacity:.72}.checkbox-content{display:flex;flex-direction:column;gap:.25rem}.checkbox-content strong{color:var(--text-primary);font-size:1rem}.checkbox-content small{color:var(--text-secondary);font-size:.875rem}.vehicle-selection-list{display:flex;flex-direction:column;gap:.75rem}.vehicle-selection-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.vehicle-selection-item:hover{border-color:var(--primary-color);background-color:var(--bg-color)}.vehicle-selection-item.selected{border-color:var(--primary-color);background-color:var(--bg-secondary)}.vehicle-selection-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.vehicle-selection-content{flex:1;display:flex;justify-content:space-between;align-items:center}.vehicle-selection-info{display:flex;align-items:baseline;gap:.5rem}.vehicle-selection-info strong{color:var(--text-primary);font-size:1rem}.vehicle-model{color:var(--text-secondary);font-size:.875rem}.vehicle-year{color:var(--text-muted);font-size:.875rem}.vehicle-selection-meta{color:var(--text-muted);font-size:.875rem;white-space:nowrap}.empty-state-small{text-align:center;padding:2rem;color:var(--text-muted)}.empty-state-small p{margin:0}.export-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 0}.export-actions button{min-width:150px}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}.export-help{background-color:var(--bg-color);border-left:4px solid var(--primary-color);padding:1.5rem;border-radius:8px;margin-top:1rem}.export-help h4{margin:0 0 1rem;color:var(--text-primary);font-size:1rem}.export-help ul{margin:0;padding-left:1.5rem;color:var(--text-secondary);line-height:1.8}.export-help li{margin-bottom:.5rem}@media(max-width:768px){.data-export-page{padding:1rem}.export-header{flex-direction:column;align-items:flex-start}.export-header h1{font-size:1.5rem}.stats-card .stats-grid{grid-template-columns:1fr}.export-section{padding:1.5rem}.section-header-with-actions{flex-direction:column;align-items:flex-start;gap:1rem}.selection-actions{width:100%;justify-content:space-between}.format-content{gap:.75rem}.format-icon{font-size:1.5rem}.format-badge{position:absolute;top:.5rem;right:.5rem}.vehicle-selection-content{flex-direction:column;align-items:flex-start;gap:.5rem}.vehicle-selection-info{flex-wrap:wrap}.export-actions{flex-direction:column-reverse}.export-actions button{width:100%}}@media print{.data-export-page{background:#fff}.export-header,.export-actions,.export-help{display:none}}.manage-reminder-types{padding-bottom:calc(80px + env(safe-area-inset-bottom));background-color:var(--bg-color);min-height:100vh;--bg-card: var(--card-bg);--bg-secondary: var(--bg-color);--bg-input: var(--input-bg);--bg-background: var(--bg-color);--text-primary: var(--text-primary);--text-secondary: var(--text-secondary);--border-color: var(--border-color);--primary-color: var(--primary-color);--primary-rgb: 100, 108, 255}.page-header{display:flex;align-items:center;justify-content:space-between;padding:calc(.75rem + env(safe-area-inset-top)) 1rem .75rem 1rem;background:var(--bg-card);box-shadow:0 1px 3px var(--card-shadow);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border-color);gap:.5rem}.page-header h1{flex:1;font-size:1.1rem;font-weight:700;margin:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.back-btn{background:none;border:none;font-size:1.1rem;color:var(--text-primary);cursor:pointer;margin-right:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.page-header .btn-primary{flex-shrink:0;padding:.6rem 1rem;font-size:.9rem}.types-list{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.type-card{display:flex;align-items:center;background:var(--bg-card);padding:1rem;border-radius:16px;box-shadow:0 2px 4px var(--card-shadow);transition:transform .1s}.type-card:active{background-color:var(--bg-secondary);transform:scale(.98)}.type-icon{font-size:1.8rem;margin-right:1rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:12px}.type-info{flex:1}.type-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.badge{font-size:.7rem;padding:2px 6px;border-radius:4px;font-weight:500;background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.badge.vehicle{background:rgba(var(--primary-rgb),.1);color:var(--primary-color);text-transform:none}.type-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.badge-default{display:inline-block;font-size:.7rem;background:var(--bg-secondary);color:var(--text-secondary);padding:2px 8px;border-radius:10px;margin-top:4px;font-weight:500}.type-actions{display:flex;gap:.25rem}.btn-icon{background:none;border:none;font-size:1.2rem;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.btn-icon:hover{background:var(--bg-secondary)}.btn-icon.delete{color:var(--danger-color)}.btn-icon.delete:hover{background:var(--warning-bg)}.fab-add{position:fixed;padding:2.5rem;bottom:calc(2rem + env(safe-area-inset-bottom));right:1.5rem;width:56px;height:56px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;font-size:2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(var(--primary-rgb),.4);cursor:pointer;z-index:20;transition:transform .2s}.fab-add:active{transform:scale(.9)}.manage-reminder-types .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.modal-content{background:var(--card-bg);padding:1.5rem;border-radius:20px;width:90%;max-width:400px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-content h2{margin-top:0;margin-bottom:1.5rem;font-size:1.25rem;text-align:center;font-weight:700;color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:var(--text-primary)}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:12px;font-size:16px;background:var(--input-bg);color:var(--text-primary);box-sizing:border-box;transition:border-color .2s}.form-group input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #646cff1a}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.btn-secondary,.btn-primary{padding:.75rem 1.25rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;user-select:none;-webkit-user-select:none}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-primary{background:var(--primary-color);color:#fff;box-shadow:0 2px 8px #646cff4d}.btn-primary:hover{background:var(--primary-hover)}@media(max-width:640px){.modal-overlay{align-items:flex-end}.modal-content{width:100%;max-width:100%;border-radius:20px 20px 0 0;margin:0;padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom)) 1.5rem;animation:slideUpMobile .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-content:before{content:"";display:block;width:40px;height:4px;background:var(--border-color);border-radius:2px;margin:-.5rem auto 1.5rem}.form-row{flex-direction:row}.modal-actions{flex-direction:column-reverse}.modal-actions .btn-primary,.modal-actions .btn-secondary,.modal-actions .btn-danger{width:100%;padding:1rem;display:flex;justify-content:center;align-items:center}}.admin-container{padding:1rem;max-width:800px;margin:0 auto;min-height:100vh}.admin-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.admin-header h1{margin:0;font-size:1.5rem}.back-button{background:none;border:none;color:var(--primary-color, #2196f3);font-size:1rem;cursor:pointer;padding:.5rem}.admin-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.metric-card{background:var(--card-bg, #fff);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;align-items:center;text-align:center}.metric-card.highlight{border:2px solid var(--primary-color, #2196f3)}.metric-label{font-size:.875rem;color:var(--text-secondary, #666);margin-bottom:.5rem}.metric-value{font-size:2rem;font-weight:700;color:var(--text-primary, #333)}.admin-user-list h2{font-size:1.25rem;margin:0}.admin-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.search-box{position:relative;flex:1;max-width:300px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #666);pointer-events:none}.admin-search-input{width:100%;padding:.6rem .6rem .6rem 2.2rem;border:1px solid var(--border-color, #eee);border-radius:8px;font-size:.875rem;background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333)}.admin-search-input:focus{outline:none;border-color:var(--primary-color, #2196f3);background:var(--card-bg, #fff)}.table-container{background:var(--card-bg, #fff);border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.text-center{text-align:center}.admin-table th{background:var(--bg-secondary, #f5f5f5);padding:1rem;font-weight:600;color:var(--text-secondary, #666)}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sortable-header:hover{background:var(--border-color, #eee)!important}.clickable-row{cursor:pointer;transition:background-color .2s}.clickable-row:hover{background:var(--border-color, #f5f5f5)}.sort-icon{display:inline-block;font-size:.75rem;width:1em;text-align:center}.admin-table td{padding:1rem;border-top:1px solid var(--border-color, #eee);vertical-align:middle}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-info{display:flex;flex-direction:column;align-items:start}.user-name{font-weight:600;color:var(--text-primary, #333)}.user-email{font-size:.75rem;color:var(--text-secondary, #666)}.role-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.admin{background:#e3f2fd;color:#1976d2}.role-badge.user{background:#f5f5f5;color:#616161}.vehicle-count-badge{display:inline-block;padding:.25rem .5rem;background:var(--bg-secondary, #f5f5f5);border-radius:12px;min-width:24px;text-align:center;font-weight:600}.error-banner{background:#ffebee;color:#c62828;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.loading,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:1.5rem;padding-bottom:2rem}.pagination-button{background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #eee);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;color:var(--text-primary, #333);transition:all .2s}.pagination-button:hover:not(:disabled){background:var(--border-color, #eee)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.875rem;color:var(--text-secondary, #666)}@media(max-width:600px){.admin-metrics{grid-template-columns:1fr}.admin-list-header{flex-direction:column;align-items:flex-start}.search-box{width:100%;max-width:none}}.user-profile-card{display:flex;align-items:center;gap:1rem;background:var(--card-bg, #fff);padding:1.25rem;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.user-avatar.large{width:64px;height:64px}.user-profile-info{display:flex;flex-direction:column;gap:.25rem}.user-profile-info h2{margin:0;font-size:1.25rem}.user-email{color:var(--text-secondary, #666);font-size:.9rem}.user-profile-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.meta-chip{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;background:var(--chip-bg, #f0f0f0);color:var(--text-secondary, #555)}.user-section{margin-bottom:2rem}.user-section>h2{font-size:1.1rem;margin-bottom:.75rem}.user-record-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.user-record-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--card-bg, #fff);padding:.75rem 1rem;border-radius:10px;box-shadow:0 1px 4px #0000000a}.user-record-main{display:flex;flex-direction:column;gap:.15rem}.user-record-type{font-weight:600;font-size:.95rem}.user-record-meta,.user-record-provider{font-size:.8rem;color:var(--text-secondary, #666)}.user-vehicle-card{background:var(--card-bg, #fff);border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:1rem 1.25rem;margin-bottom:1rem}.user-vehicle-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.user-vehicle-header h3{margin:0;font-size:1.05rem}.user-vehicle-sub{margin:.15rem 0 0;font-size:.8rem;color:var(--text-secondary, #666)}.delete-button{background:var(--danger-color, #dc3545);color:#fff;border:none;border-radius:8px;padding:.45rem .85rem;font-size:.85rem;cursor:pointer}.delete-button.small{padding:.3rem .6rem;font-size:.78rem}.delete-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{background:var(--chip-bg, #eee);color:var(--text-primary, #222);border:none;border-radius:8px;padding:.45rem .85rem;font-size:.85rem;cursor:pointer}.confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.confirm-modal{background:var(--card-bg, #fff);border-radius:12px;padding:1.5rem;max-width:360px;width:100%}.confirm-modal h3{margin-top:0;text-transform:capitalize}.confirm-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.cost-analytics-page{padding-bottom:calc(85px + env(safe-area-inset-bottom));background-color:var(--bg-color);min-height:100vh;color:var(--text-primary);font-family:inherit}.analytics-header{display:flex;align-items:center;justify-content:space-between;padding:calc(.75rem + env(safe-area-inset-top)) 1rem .75rem 1rem;background:var(--card-bg);box-shadow:0 1px 3px var(--card-shadow);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border-color);gap:.5rem}.analytics-header h1{flex:1;font-size:1.25rem;font-weight:700;margin:0;color:var(--text-primary)}.back-btn{background:none;border:none;font-size:1.5rem;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center}.vehicle-selector-wrapper{flex-shrink:0}.vehicle-dropdown{background-color:var(--input-bg, #f3f4f6);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem 1.5rem .5rem .75rem;font-size:.875rem;font-weight:600;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}.vehicle-dropdown:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f133}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:calc(80vh - 100px);padding:2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{font-size:1.5rem;margin-bottom:.5rem}.empty-state p{color:var(--text-secondary);max-width:400px;margin-bottom:1.5rem;line-height:1.5}.analytics-content{max-width:1000px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.stat-card{background-color:var(--card-bg);border-radius:12px;padding:1.25rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid var(--border-color);transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-card h3{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat-value{font-size:1.75rem;font-weight:800;color:var(--text-primary)}.highlight-value{color:var(--primary-color)}.unit-label{font-size:1rem;font-weight:500;color:var(--text-secondary);margin-left:.125rem}.stat-sub{margin:.25rem 0 0;font-size:.75rem;color:var(--text-secondary)}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.chart-wrapper{background-color:var(--card-bg);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000000d}.chart-wrapper h3{margin:0 0 1.25rem;font-size:1rem;font-weight:700}.donut-chart-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}@media(min-width:600px){.donut-chart-container{flex-direction:row;justify-content:space-around}}.svg-container{position:relative;width:160px;height:160px}.donut-svg{transform:rotate(-90deg);width:100%;height:100%}.donut-segment{animation:donutReveal 1s ease-out forwards}@keyframes donutReveal{0%{stroke-dashoffset:100}}.donut-center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column}.center-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.center-count{font-size:1.5rem;font-weight:800}.donut-legend{display:flex;flex-direction:column;gap:.5rem;flex:1;width:100%}.legend-item{display:flex;align-items:center;font-size:.875rem;padding:.25rem .5rem;border-radius:6px;transition:background-color .2s}.legend-item.hovered{background-color:var(--input-bg, #f3f4f6)}.color-dot{width:10px;height:10px;border-radius:50%;margin-right:.75rem;flex-shrink:0}.category-name{flex:1;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-value{font-weight:600;margin-right:.75rem}.category-percent{color:var(--text-secondary);font-size:.75rem;width:45px;text-align:right}.bar-chart-container{display:flex;height:180px;align-items:flex-end;padding-top:1rem;gap:.5rem;position:relative}.bars-y-axis{display:flex;flex-direction:column;justify-content:space-between;height:150px;font-size:.75rem;color:var(--text-secondary);text-align:right;width:60px;padding-right:.5rem;border-right:1px solid var(--border-color);flex-shrink:0}.bars-area{display:flex;justify-content:space-around;align-items:flex-end;flex:1;height:150px;padding-left:.5rem}.bar-column{display:flex;flex-direction:column;align-items:center;flex:1;max-width:60px;height:100%;justify-content:flex-end}.bar-wrapper{position:relative;width:24px;height:100%;display:flex;align-items:flex-end;cursor:pointer}.bar-fill{width:100%;border-radius:4px 4px 0 0;transition:height .5s ease-out,background-color .2s;animation:barGrow .6s ease-out forwards}@keyframes barGrow{0%{height:0}}.bar-tooltip{position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;white-space:nowrap;pointer-events:none;z-index:5;box-shadow:0 2px 4px #0003}.bar-label{font-size:.75rem;color:var(--text-secondary);margin-top:.5rem;text-align:center;white-space:nowrap}.expenses-table-card{background-color:var(--card-bg);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000000d}.expenses-table-card h3{margin:0 0 1rem;font-size:1rem;font-weight:700}.table-responsive{width:100%;overflow-x:auto}.expenses-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.expenses-table th{padding:.75rem;border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.75rem}.expenses-table td{padding:.75rem;border-bottom:1px solid var(--border-color)}.expenses-table tr:last-child td{border-bottom:none}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-right{text-align:right}.text-muted{color:var(--text-secondary)}@media(max-width:480px){.analytics-header{padding-top:calc(.5rem + env(safe-area-inset-top))}.analytics-header h1{font-size:1.1rem}.stat-value{font-size:1.5rem}.expenses-table th,.expenses-table td{padding:.5rem}}.calendar-view-container{max-width:900px;margin:0 auto;padding:1rem 1rem 5rem;font-family:inherit;color:var(--text-primary)}.calendar-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.calendar-header h1{font-size:1.5rem;margin:0;font-weight:700;flex:1}.calendar-header .back-btn{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem .8rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.calendar-header .back-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.calendar-export-btn{background-color:var(--primary-color);color:#fff;border:none;padding:.55rem .85rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background-color .2s,opacity .2s}.calendar-export-btn:hover:not(:disabled){background-color:var(--primary-hover)}.calendar-export-btn:disabled{cursor:not-allowed;opacity:.55}.calendar-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;background-color:var(--card-bg);border-radius:12px;padding:.75rem 1rem;box-shadow:0 2px 8px var(--card-shadow)}.calendar-controls h2{font-size:1.25rem;margin:0;font-weight:600;text-align:center;min-width:180px}.month-nav-btn{background:none;border:none;font-size:1.1rem;color:var(--primary-color);cursor:pointer;padding:.4rem .8rem;border-radius:6px;transition:background-color .2s}.month-nav-btn:hover{background-color:var(--border-color)}.today-btn{background-color:var(--border-color);border:none;color:var(--text-primary);padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s}.today-btn:hover{opacity:.85}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.calendar-loading .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-card{background-color:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px var(--card-shadow);border:1px solid var(--border-color);overflow:hidden;margin-bottom:1.5rem}.weekday-header{display:grid;grid-template-columns:repeat(7,1fr);background-color:var(--bg-color);border-bottom:1px solid var(--border-color);padding:.5rem 0}.weekday-name{text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:85px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);padding:.4rem;display:flex;flex-direction:column;position:relative;cursor:pointer;transition:background-color .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:hover{background-color:var(--bg-color)}.calendar-cell.padding-day{color:var(--text-muted);opacity:.4;background-color:#00000005}.calendar-cell.selected-day{background-color:#646cff14;box-shadow:inset 0 0 0 2px var(--primary-color);z-index:1}.calendar-cell.today-day{background-color:#646cff08}.calendar-cell.today-day .day-number{background-color:var(--primary-color);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.day-number{font-size:.8rem;font-weight:500;align-self:flex-end;margin-bottom:.25rem}.day-badges-container{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;max-height:60px}.day-badge{display:flex;align-items:center;gap:3px;font-size:.65rem;padding:2px 4px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}.day-badge.status-overdue{background-color:#ffeaea;color:#c92a2a;border-color:#ffc9c9}:root.theme-dark .day-badge.status-overdue{background-color:#3b1313;color:#ff8787;border-color:#5c1e1e}.day-badge.status-upcoming{background-color:#fff9db;color:#e67700;border-color:#ffe066}:root.theme-dark .day-badge.status-upcoming{background-color:#3d2a00;color:#ffd43b;border-color:#5c3e00}.day-badge.status-future{background-color:#eef2ff;color:#364fc7;border-color:#d0bfff}:root.theme-dark .day-badge.status-future{background-color:#1a1b3a;color:#bac8ff;border-color:#2b305c}.badge-icon{font-size:.75rem}.badge-text{font-weight:600}.schedule-details-panel{background-color:var(--card-bg);border-radius:16px;padding:1.25rem;box-shadow:0 4px 12px var(--card-shadow);border:1px solid var(--border-color)}.schedule-details-panel h3{margin-top:0;margin-bottom:1.25rem;font-size:1.15rem;font-weight:600;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.schedule-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.empty-schedule{padding:2rem;text-align:center;color:var(--text-secondary);font-style:italic}.schedule-item-card{display:flex;align-items:center;gap:1rem;padding:.85rem;border:1px solid var(--border-color);border-radius:10px;background-color:var(--bg-color);transition:transform .2s,box-shadow .2s}.schedule-item-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--card-shadow)}.schedule-item-icon{font-size:1.75rem;width:45px;height:45px;display:flex;align-items:center;justify-content:center;background-color:var(--card-bg);border-radius:50%;border:1px solid var(--border-color)}.schedule-item-info{flex:1}.schedule-item-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:600}.vehicle-name-label{font-size:.85rem;color:var(--text-secondary)}.schedule-meta{display:flex;align-items:center;gap:.75rem;margin-top:.35rem;flex-wrap:wrap}.due-date-label{font-size:.75rem;color:var(--text-muted)}.status-badge{font-size:.7rem;padding:2px 6px;border-radius:10px;font-weight:700}.status-badge.overdue{background-color:var(--danger-color);color:#fff}.status-badge.due-now{background-color:#e67700;color:#fff}.status-badge.upcoming{background-color:#fab005;color:#212529}.status-badge.future{background-color:#37b24d;color:#fff}.schedule-actions{display:flex;gap:.5rem}.btn-primary-sm,.btn-secondary-sm{font-size:.8rem;padding:.4rem .75rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.btn-primary-sm{background-color:var(--primary-color);color:#fff;border:none}.btn-primary-sm:hover{background-color:var(--primary-hover)}.btn-secondary-sm{background-color:var(--card-bg);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary-sm:hover{background-color:var(--border-color);color:var(--text-primary)}@media(max-width:600px){.calendar-header{flex-wrap:wrap}.calendar-header h1{flex-basis:calc(100% - 6rem)}.calendar-export-btn{width:100%}.calendar-cell{min-height:55px;padding:2px}.day-badges-container{max-height:35px}.day-badge{padding:1px 2px;font-size:0;width:8px;height:8px;border-radius:50%;align-self:center;margin:2px auto 0}.badge-icon,.badge-text{display:none}.calendar-controls h2{font-size:1.1rem;min-width:140px}.schedule-item-card{flex-direction:column;align-items:flex-start;gap:.5rem}.schedule-actions{width:100%;justify-content:flex-end}}.checklist-page-container{max-width:750px;margin:0 auto;padding:1rem 1rem 5rem;font-family:inherit;color:var(--text-primary)}.checklist-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.checklist-header h1{font-size:1.5rem;margin:0;font-weight:700}.checklist-header .back-btn{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem .8rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.checklist-header .back-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.checklist-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.checklist-loading .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.checklist-empty-state{text-align:center;padding:3rem 1.5rem;background-color:var(--card-bg);border-radius:16px;box-shadow:0 4px 12px var(--card-shadow);border:1px solid var(--border-color)}.checklist-empty-state h2{margin:1rem 0 .5rem;font-size:1.25rem}.checklist-empty-state p{color:var(--text-secondary);margin-bottom:1.5rem}.checklist-controls-card{background-color:var(--card-bg);border-radius:16px;padding:1.25rem;box-shadow:0 4px 12px var(--card-shadow);border:1px solid var(--border-color);margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.select-vehicle-group{display:flex;flex-direction:column;gap:.5rem}.select-vehicle-group label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.select-vehicle-group select{padding:.75rem;border-radius:8px;border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--text-primary);font-size:1rem;cursor:pointer;transition:border-color .2s;outline:none}.select-vehicle-group select:focus{border-color:var(--primary-color)}.progress-summary-container{display:flex;flex-direction:column;gap:.5rem}.progress-bar-background{height:12px;background-color:var(--bg-color);border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.progress-bar-fill{height:100%;background-color:var(--primary-color);border-radius:6px;transition:width .3s cubic-bezier(.4,0,.2,1);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:progress-bar-stripes 1s linear infinite}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress-stats{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600}.progress-percentage{color:var(--primary-color)}.progress-fraction{color:var(--text-secondary)}.btn-complete-inspection{width:100%;padding:.85rem;border-radius:8px;border:none;background-color:var(--primary-color);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #646cff33}.btn-complete-inspection:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.btn-complete-inspection:disabled{background-color:var(--border-color);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.checklist-category-card{background-color:var(--card-bg);border-radius:16px;border:1px solid var(--border-color);box-shadow:0 2px 8px var(--card-shadow);padding:1.25rem;margin-bottom:1.25rem}.checklist-category-card h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem;font-weight:700;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;color:var(--primary-color)}.checklist-group{display:flex;flex-direction:column;gap:.75rem}.checklist-item-row{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .5rem;border-radius:8px;cursor:pointer;transition:background-color .2s;position:relative}.checklist-item-row:hover{background-color:var(--bg-color)}.checklist-item-row input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-custom{width:22px;height:22px;border:2px solid var(--input-border);border-radius:6px;background-color:var(--input-bg);position:relative;flex-shrink:0;margin-top:2px;transition:all .2s ease}.checklist-item-row input:checked~.checkbox-custom{background-color:var(--primary-color);border-color:var(--primary-color)}.checkbox-custom:after{content:"";position:absolute;display:none;left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checklist-item-row input:checked~.checkbox-custom:after{display:block}.item-text{display:flex;flex-direction:column;gap:.15rem}.item-label{font-size:.95rem;font-weight:600;transition:color .2s}.item-checked .item-label{color:var(--text-muted);text-decoration:line-through}.item-desc{font-size:.8rem;color:var(--text-secondary)}.checklist-history-panel{background-color:var(--card-bg);border-radius:16px;border:1px solid var(--border-color);box-shadow:0 4px 12px var(--card-shadow);padding:1.25rem;margin-top:2rem}.checklist-history-panel h2{margin-top:0;font-size:1.15rem;font-weight:700;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-bottom:1rem}.history-logs-list{display:flex;flex-direction:column;gap:.75rem}.empty-history-text{text-align:center;padding:1.5rem;color:var(--text-secondary);font-style:italic}.history-log-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;background-color:var(--bg-color);border:1px solid var(--border-color);position:relative}.log-icon{font-size:1.5rem;background-color:var(--card-bg);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color)}.log-details{flex:1}.log-details h4{margin:0 0 .15rem;font-size:.95rem;font-weight:600}.log-date{font-size:.75rem;color:var(--text-muted);display:block}.log-stats-badge{display:inline-block;margin-top:.35rem;font-size:.75rem;font-weight:600;background-color:var(--border-color);padding:2px 6px;border-radius:4px}.delete-log-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:background-color .2s}.delete-log-btn:hover{background-color:#ff44441a}.templates-page{min-height:100vh;background:var(--bg-color);padding:2rem 2rem 7rem}.templates-header{max-width:960px;margin:0 auto 2rem;display:flex;align-items:center;gap:1rem}.templates-header h1{margin:0}.templates-subtitle{color:var(--text-secondary);margin-top:.25rem}.templates-layout{max-width:960px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1.5rem}.templates-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px var(--card-shadow)}.templates-panel h2{color:var(--text-primary);font-size:1.15rem;margin-bottom:1rem}.templates-panel .form-group{margin-bottom:1.25rem}.templates-panel label{color:var(--text-primary)}.templates-panel input,.templates-panel textarea,.templates-panel select{width:100%;min-height:44px;padding:.75rem;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font:inherit}.templates-panel textarea{resize:vertical;min-height:100px}.templates-panel small{display:block;color:var(--text-muted);margin-top:.25rem}.template-card-grid{display:grid;gap:.75rem}.template-card{width:100%;display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;text-align:left;align-items:start;padding:1rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px}.template-card:hover,.template-card.active{border-color:var(--primary-color);background:var(--bg-secondary)}.template-card-icon{grid-row:span 2;font-size:1.5rem}.template-card-title{color:var(--text-primary);font-weight:700}.template-card-description{color:var(--text-secondary);font-size:.9rem}.template-items-list{display:grid;gap:.75rem;margin-bottom:1.5rem}.template-item-row{display:grid;grid-template-columns:auto auto 1fr;gap:.75rem;align-items:center;padding:.85rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer}.template-item-row input{width:18px;min-height:18px}.template-item-icon{font-size:1.25rem}.template-item-name{font-weight:600;color:var(--text-primary)}.template-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.template-warning{padding:1rem;background:var(--warning-bg);color:var(--warning-text);border-radius:8px;margin-bottom:1.5rem}.templates-actions{display:flex;gap:1rem;margin-top:1.5rem}.templates-actions button{flex:1}.templates-empty,.templates-loading{max-width:600px;margin:0 auto;padding:2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;text-align:center;box-shadow:0 2px 8px var(--card-shadow)}.templates-empty h2{margin-bottom:.5rem}.templates-empty p,.templates-loading p{color:var(--text-secondary);margin-bottom:1rem}@media(max-width:820px){.templates-page{padding:1rem 1rem 7rem}.templates-header{align-items:flex-start}.templates-layout,.template-form-grid{grid-template-columns:1fr}.templates-actions{flex-direction:column-reverse}}.warranty-center-page{min-height:100vh;background:var(--bg-color);color:var(--text-primary);padding-bottom:calc(85px + env(safe-area-inset-bottom))}.warranty-header{display:flex;align-items:center;gap:1rem;padding:calc(.75rem + env(safe-area-inset-top)) 1rem .75rem;background:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px var(--card-shadow);position:sticky;top:0;z-index:10}.warranty-header h1{font-size:1.25rem;margin:0}.warranty-header p{color:var(--text-secondary);margin:.2rem 0 0;font-size:.9rem}.warranty-content{max-width:980px;margin:0 auto;padding:1rem}.warranty-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.warranty-stat{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem;box-shadow:0 2px 8px var(--card-shadow)}.warranty-stat span{display:block;color:var(--text-secondary);font-size:.85rem;margin-bottom:.35rem}.warranty-stat strong{font-size:1.75rem}.warranty-stat.expiring strong{color:var(--warning-text)}.warranty-stat.active strong{color:var(--success-text)}.warranty-stat.expired strong{color:var(--danger-color)}.warranty-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.warranty-filter{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.5rem .8rem;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary)}.warranty-filter.active{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 12%,var(--card-bg));color:var(--primary-color)}.warranty-filter span{min-width:1.5rem;min-height:1.5rem;display:inline-grid;place-items:center;border-radius:999px;background:var(--bg-color);color:var(--text-secondary);font-size:.8rem}.warranty-list{display:grid;gap:.75rem}.warranty-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:1rem;align-items:center;text-align:left;background:var(--card-bg);border:1px solid var(--border-color);border-left-width:4px;border-radius:8px;padding:1rem;box-shadow:0 2px 8px var(--card-shadow)}.warranty-row:hover{border-color:var(--primary-color)}.warranty-row.expiring{border-left-color:var(--warning-text)}.warranty-row.active{border-left-color:var(--success-text)}.warranty-row.expired{border-left-color:var(--danger-color)}.warranty-row-main h2{margin:.5rem 0 .25rem;font-size:1.05rem}.warranty-row-main p{margin:0;color:var(--text-secondary)}.warranty-row-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.warranty-row-details label{display:block;color:var(--text-muted);font-size:.75rem;margin-bottom:.2rem}.warranty-row-details span{color:var(--text-primary);font-weight:650}.warranty-badge{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700}.warranty-badge.active{color:var(--success-text);background:var(--success-bg)}.warranty-badge.expired{color:var(--warning-text);background:var(--warning-bg)}.warranty-state{max-width:560px;min-height:calc(70vh - 80px);margin:0 auto;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.warranty-state.compact{min-height:180px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px}.warranty-state h2{margin:0 0 .5rem}.warranty-state p{color:var(--text-secondary);margin-bottom:1rem}.warranty-empty-icon{font-size:4rem;margin-bottom:1rem}@media(max-width:760px){.warranty-summary,.warranty-row,.warranty-row-details{grid-template-columns:1fr}.warranty-header{align-items:flex-start}}.service-providers-page{min-height:100vh;padding:1rem 1rem 5rem;background:var(--bg-primary);color:var(--text-primary)}.providers-header{display:flex;align-items:center;gap:1rem;margin:0 auto 1rem;max-width:1180px}.providers-header h1{margin:0;color:var(--text-primary);font-size:1.75rem}.providers-header p{margin:.25rem 0 0;color:var(--text-secondary)}.providers-content{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:1180px}.providers-summary{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.provider-stat{padding:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.provider-stat span,.provider-contact-field span{display:block;color:var(--text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase}.provider-stat strong{display:block;margin-top:.25rem;color:var(--text-primary);font-size:1.45rem}.providers-tools{display:grid;align-items:center;gap:.75rem;grid-template-columns:minmax(0,1fr) 180px}.provider-search{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.provider-search span{color:var(--text-secondary);font-size:1.25rem}.provider-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:1rem}.provider-search button{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:1.25rem}.providers-tools select{min-height:44px;padding:0 .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem}.providers-layout{display:grid;align-items:start;gap:1rem;grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr)}.providers-list,.provider-detail{border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.providers-list{overflow:hidden}.provider-row,.provider-record-row{width:100%;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.provider-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color)}.provider-row:last-child{border-bottom:0}.provider-row:hover,.provider-row.active{background:var(--bg-hover, rgba(100, 108, 255, .08))}.provider-row-main{min-width:0}.provider-row-main h2{margin:0;overflow:hidden;color:var(--text-primary);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.provider-row-main p,.provider-row-meta span,.provider-record-row span,.provider-detail-header p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.85rem}.provider-row-meta{flex-shrink:0;text-align:right}.provider-row-meta strong{display:block;color:var(--text-primary)}.provider-detail{padding:1rem}.provider-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.provider-detail-header h2{margin:0;color:var(--text-primary);font-size:1.35rem}.provider-contact-grid,.provider-breakdown-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.provider-contact-field{min-width:0;padding:.875rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.provider-contact-field a,.provider-contact-field strong{display:block;margin-top:.25rem;overflow-wrap:anywhere;color:var(--text-primary);font-size:.95rem;text-decoration:none}.provider-breakdown-grid{margin-top:1rem}.provider-breakdown-grid h3,.provider-records h3{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem}.provider-chip-list{display:flex;flex-direction:column;gap:.5rem}.provider-chip{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:40px;padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;text-align:left}.provider-chip.static{cursor:default}.provider-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-chip strong{flex-shrink:0;color:var(--text-secondary)}.provider-records{margin-top:1rem}.provider-record-list{overflow:hidden;border:1px solid var(--border-color);border-radius:8px}.provider-record-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem;border-bottom:1px solid var(--border-color)}.provider-record-row:last-child{border-bottom:0}.provider-record-row:hover{background:var(--bg-hover, rgba(100, 108, 255, .08))}.provider-record-row div{min-width:0}.provider-record-row strong,.provider-record-row span{display:block}.provider-record-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-record-meta{flex-shrink:0;text-align:right}.providers-state{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:.75rem;min-height:320px;margin:0 auto;max-width:620px;padding:2rem;color:var(--text-secondary);text-align:center}.providers-state.compact{min-height:180px}.providers-state h2{margin:0;color:var(--text-primary)}.providers-state p{margin:0}.providers-empty-icon{font-size:2rem}@media(max-width:820px){.providers-summary,.providers-tools,.providers-layout,.provider-contact-grid,.provider-breakdown-grid{grid-template-columns:1fr}.provider-detail-header,.provider-row,.provider-record-row{align-items:stretch;flex-direction:column}.provider-row-meta,.provider-record-meta{text-align:left}}.fuel-tracker-page{min-height:100vh;padding-bottom:calc(85px + env(safe-area-inset-bottom));background:var(--bg-color);color:var(--text-primary)}.fuel-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:calc(.75rem + env(safe-area-inset-top)) 1rem .75rem;background:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px var(--card-shadow)}.fuel-header h1,.fuel-header p{margin:0}.fuel-header h1{font-size:1.25rem}.fuel-header p{color:var(--text-secondary);font-size:.875rem}.fuel-header select,.fuel-form select,.fuel-form input,.fuel-form textarea{min-height:42px;width:100%;border:1px solid var(--border-color);border-radius:8px;padding:.625rem .75rem;background:var(--input-bg, #f8fafc);color:var(--text-primary);font:inherit}.fuel-header select{width:min(220px,35vw)}.fuel-content{max-width:1120px;margin:0 auto;padding:1rem}.fuel-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.fuel-stat,.fuel-form,.fuel-history{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #0f172a0d}.fuel-stat{padding:1rem}.fuel-stat span{display:block;color:var(--text-secondary);font-size:.78rem;font-weight:700;text-transform:uppercase}.fuel-stat strong{display:block;margin-top:.25rem;font-size:1.35rem}.fuel-layout{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:1rem;align-items:start}.fuel-form,.fuel-history{padding:1rem}.fuel-form{position:sticky;top:86px}.fuel-form h2,.fuel-history h2{margin:0 0 1rem;font-size:1.1rem}.fuel-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.fuel-checkbox{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;font-weight:600}.fuel-checkbox input{width:18px;min-height:18px}.fuel-history-header{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.fuel-history-header span{color:var(--text-secondary);font-size:.875rem;font-weight:700}.fuel-record-list{display:flex;flex-direction:column;gap:.75rem}.fuel-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:.85rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-color)}.fuel-record-row h3,.fuel-record-row p{margin:0}.fuel-record-row p{color:var(--text-secondary);font-size:.875rem}.fuel-notes{margin-top:.25rem!important}.fuel-record-metrics{display:grid;gap:.15rem;text-align:right;white-space:nowrap}.fuel-record-metrics span{color:var(--text-secondary);font-size:.82rem}.fuel-delete-btn{border:1px solid rgba(220,38,38,.25);border-radius:8px;padding:.5rem .75rem;background:#dc262614;color:#b91c1c;cursor:pointer;font-weight:700}.fuel-state,.fuel-empty-list{display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.fuel-empty-icon{font-size:4rem}@media(max-width:820px){.fuel-header{grid-template-columns:auto minmax(0,1fr)}.fuel-header select{grid-column:1 / -1;width:100%}.fuel-summary,.fuel-layout{grid-template-columns:1fr}.fuel-form{position:static}}@media(max-width:520px){.fuel-form-grid,.fuel-record-row{grid-template-columns:1fr}.fuel-record-metrics{text-align:left}}.parts-page{min-height:100vh;padding:20px 20px 110px;background:var(--bg-color);color:var(--text-primary)}.parts-header{max-width:1180px;margin:0 auto 20px;display:flex;align-items:center;gap:14px}.parts-header h1{margin:0;font-size:2rem}.parts-header p{margin:4px 0 0;color:var(--text-secondary)}.parts-content{max-width:1180px;margin:0 auto}.parts-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.part-stat{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.part-stat span{display:block;color:var(--text-secondary);font-size:.86rem}.part-stat strong{display:block;margin-top:6px;font-size:1.45rem}.parts-layout{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:18px;align-items:start}.parts-form,.parts-inventory{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:18px}.parts-form h2,.parts-inventory h2{margin:0 0 14px;font-size:1.25rem}.parts-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.parts-tools{display:grid;grid-template-columns:minmax(220px,1fr) 170px 160px;gap:10px;margin-bottom:14px}.parts-search{display:flex;align-items:center;gap:8px;min-width:0;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:0 10px}.parts-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--text-primary);padding:11px 0}.parts-search input:focus{outline:none}.parts-search button{border:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:1.2rem}.parts-list{display:flex;flex-direction:column;gap:10px}.part-row{border:1px solid var(--border-color);border-left:4px solid #4f8f7f;border-radius:8px;padding:14px;background:var(--bg-color)}.part-row.low{border-left-color:#c98925}.part-row.out{border-left-color:#c94d4d}.part-row-main{display:flex;justify-content:space-between;gap:12px}.part-row h3{margin:0 0 4px;font-size:1.05rem}.part-row p{margin:0 0 4px;color:var(--text-secondary);font-size:.9rem}.part-notes{color:var(--text-primary)!important}.part-status{align-self:flex-start;border-radius:999px;padding:5px 9px;font-size:.78rem;white-space:nowrap;background:#4f8f7f24;color:#2d6e60}.part-status.low{background:#c9892529;color:#8a5b12}.part-status.out{background:#c94d4d26;color:#9b3030}.part-row-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.part-row-metrics div{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px}.part-row-metrics span{display:block;color:var(--text-secondary);font-size:.78rem}.part-row-metrics strong{display:block;margin-top:4px}.part-row-actions{display:flex;gap:10px}.part-delete-btn{border:1px solid rgba(201,77,77,.45);background:#c94d4d14;color:#b13e3e;border-radius:8px;padding:9px 12px;cursor:pointer}.parts-state{max-width:680px;margin:40px auto;text-align:center;color:var(--text-secondary)}.parts-state.compact{margin:18px 0;padding:24px;border:1px dashed var(--border-color);border-radius:8px}.parts-empty-icon{font-size:2rem}@media(max-width:860px){.parts-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.parts-layout,.parts-tools{grid-template-columns:1fr}}@media(max-width:560px){.parts-page{padding:16px 14px 100px}.parts-form-grid,.part-row-metrics{grid-template-columns:1fr}.part-row-main,.part-row-actions{flex-direction:column}}.bottom-nav{position:fixed;bottom:.75rem;left:.75rem;right:.75rem;background-color:color-mix(in srgb,var(--nav-bg) 88%,transparent);border:1px solid color-mix(in srgb,var(--border-color) 75%,transparent);box-shadow:0 18px 40px #11182729,0 4px 14px var(--card-shadow);z-index:1000;padding:.45rem;padding-bottom:calc(.45rem + env(safe-area-inset-bottom));display:none;border-radius:22px;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.bottom-nav-container{display:flex;justify-content:space-between;align-items:center;max-width:100%;gap:.25rem}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.45rem .5rem;min-width:0;min-height:56px;flex:1;background:none;border:none;cursor:pointer;text-decoration:none;color:var(--nav-text);transition:color .2s ease,background-color .2s ease,transform .18s ease;border-radius:16px;position:relative;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overflow:hidden}.nav-item:active{transform:scale(.96);background-color:color-mix(in srgb,var(--primary-color) 12%,transparent)}.nav-item.active{color:var(--primary-color);background-color:color-mix(in srgb,var(--primary-color) 12%,transparent)}.nav-icon{font-size:1.35rem;line-height:1;transition:transform .2s ease,filter .2s ease;width:2rem;height:2rem;display:grid;place-items:center;border-radius:12px}.nav-label{font-size:.75rem;font-weight:700;white-space:nowrap;line-height:1}.nav-item:before{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:0;height:3px;background-color:var(--primary-color);border-radius:999px;transition:width .25s ease}.nav-item.active:before{width:24px}.nav-item.active .nav-icon{transform:translateY(-1px);filter:saturate(1.2)}.more-menu-backdrop{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:999;animation:fadeIn .2s ease-out}.more-menu{position:fixed;bottom:calc(5.75rem + env(safe-area-inset-bottom));left:.75rem;right:.75rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:24px;box-shadow:0 -8px 28px #1118272e,0 2px 12px var(--card-shadow);z-index:1000;animation:slideUp .28s cubic-bezier(.2,.8,.2,1);max-height:min(68vh,560px);overflow-y:auto;padding-bottom:.5rem}.more-menu:before{content:"";display:block;width:44px;height:4px;margin:.75rem auto 0;border-radius:999px;background-color:var(--border-color)}.more-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border-color)}.more-menu-header h3{margin:0;font-size:1.05rem;color:var(--text-primary)}.close-more-menu{background:var(--bg-color);border:1px solid var(--border-color);font-size:1.35rem;color:var(--text-secondary);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}.close-more-menu:hover{color:var(--text-primary);background-color:var(--border-color)}.more-menu-items{display:grid;gap:.35rem;padding:.75rem}.more-menu-item{width:100%;display:flex;align-items:center;gap:.85rem;padding:.75rem;min-height:54px;background:transparent;border:1px solid transparent;text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease;color:var(--text-primary);font-size:.98rem;border-radius:14px}.more-menu-item:hover{background-color:var(--bg-color);border-color:var(--border-color)}.more-menu-item:active{transform:scale(.98);background-color:color-mix(in srgb,var(--primary-color) 10%,var(--bg-color))}.more-menu-item.danger{color:var(--danger-color)}.more-menu-item.danger:hover{background-color:var(--warning-bg)}.more-menu-icon{font-size:1.3rem;width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary-color) 10%,var(--bg-color));flex-shrink:0}.more-menu-divider{height:1px;background-color:var(--border-color);margin:.35rem .5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.bottom-nav{display:block}}@media(min-width:769px){.more-menu-backdrop,.more-menu{display:none!important}}@media(max-width:360px){.nav-label{font-size:.65rem}.nav-icon{font-size:1.25rem;width:1.75rem;height:1.75rem}.nav-item{padding:.4rem .25rem}}*{box-sizing:border-box;margin:0;padding:0}.app{min-height:100vh;background-color:#f5f5f5;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#646cff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background-color:#646cff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s;min-height:44px;min-width:44px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-primary:hover{background-color:#535bf2}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{background-color:#a0a0a0;cursor:not-allowed;transform:none}.btn-secondary{background-color:#f5f5f5;color:#333;border:1px solid #ddd;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s;min-height:44px;min-width:44px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-secondary:hover{background-color:#e0e0e0}.btn-secondary:active{transform:scale(.98)}.btn-danger{background-color:#f44;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.btn-danger:hover{background-color:#c00}.btn-danger:active{transform:scale(.98)}.btn-small{padding:.5rem 1rem;font-size:.875rem}.btn-delete{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.6;transition:opacity .2s,transform .1s;padding:.625rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.btn-delete:hover{opacity:1;transform:scale(1.1)}.btn-edit{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.6;transition:opacity .2s,transform .1s;padding:.625rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.btn-edit:hover{opacity:1;transform:scale(1.1)}.error-message{color:#f44;background-color:#ffe0e0;padding:.75rem;border-radius:6px;margin:1rem 0;font-size:.875rem}.back-btn{background:none;border:none;color:#646cff;font-size:1rem;cursor:pointer;padding:.5rem;transition:color .2s}.back-btn:hover{color:#535bf2}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background-color:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;box-shadow:0 4px 20px #00000026}.modal h3{margin-bottom:1rem;color:#333}.modal p{margin-bottom:1.5rem;color:#666;line-height:1.5}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}@media(prefers-color-scheme:light){.app{background-color:#f5f5f5}}@media(max-width:768px){.modal{padding:1.5rem}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.offline-indicator{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;animation:slideDown .3s ease-out}.offline-indicator.offline{background-color:#ff6b6b;color:#fff}.offline-indicator.online{background-color:#51cf66;color:#fff}.offline-indicator-icon{font-size:1rem}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.splash-screen{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background-color:#646cff;animation:splashFadeOut .4s ease-in 1.1s forwards}.splash-content{text-align:center;color:#fff;animation:splashZoomIn .5s ease-out}.splash-icon{font-size:4rem;margin-bottom:1rem}.splash-title{font-size:2rem;font-weight:700;margin-bottom:.25rem;color:#fff}.splash-subtitle{font-size:1rem;opacity:.85;margin-bottom:2rem}.splash-loader{width:40px;height:40px;margin:0 auto;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes splashZoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes splashFadeOut{to{opacity:0;pointer-events:none}}
