:root{font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--primary-color: #6366f1;--primary-hover: #4f46e5;--danger-color: #ef4444;--danger-hover: #dc2626;--success-color: #22c55e;--warning-color: #f59e0b;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-accent: linear-gradient(135deg, #06b6d4 0%, #6366f1 100%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gradient-warm: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);--gradient-success: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--glow-primary: 0 0 20px rgba(99, 102, 241, .35);--glow-accent: 0 0 20px rgba(6, 182, 212, .3);--glow-danger: 0 0 20px rgba(239, 68, 68, .35);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .16), 0 8px 20px rgba(0, 0, 0, .1);--border-radius-xs: 4px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--border-radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--transition: all .25s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .3s cubic-bezier(.34, 1.56, .64, 1)}:root,:root.theme-light{--bg-color: #f5f5f7;--bg-secondary: #ffffff;--bg-tertiary: #f0f0f4;--text-primary: #213547;--text-secondary: #555555;--text-muted: #888888;--border-color: #e0e0e8;--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .08);--input-bg: #ffffff;--input-border: #d8d8e8;--nav-bg: rgba(255, 255, 255, .85);--nav-text: #666666;--warning-bg: #fff3cd;--warning-text: #856404;--success-bg: #d4edda;--success-text: #155724;--surface-elevated: rgba(99, 102, 241, .04);--border-subtle: rgba(99, 102, 241, .15);--scrollbar-thumb: rgba(99, 102, 241, .25);--scrollbar-track: transparent}:root.theme-dark{--bg-color: #0f0f13;--bg-secondary: #161620;--bg-tertiary: #1a1a26;--text-primary: #e8e8f0;--text-secondary: #b0b0c8;--text-muted: #6e6e88;--border-color: #2a2a3a;--card-bg: #1c1c28;--card-shadow: rgba(0, 0, 0, .4);--input-bg: #22222e;--input-border: #32323f;--nav-bg: rgba(22, 22, 32, .9);--nav-text: #b0b0c8;--warning-bg: #332b00;--warning-text: #fbbf24;--success-bg: #0f2e1b;--success-text: #4ade80;--surface-elevated: rgba(255, 255, 255, .06);--border-subtle: rgba(99, 102, 241, .15);--scrollbar-thumb: rgba(99, 102, 241, .3);--scrollbar-track: transparent;--glow-primary: 0 0 24px rgba(99, 102, 241, .45);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25), 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .55), 0 8px 20px rgba(0, 0, 0, .4)}@media(prefers-color-scheme:dark){:root:not(.theme-light){--bg-color: #0f0f13;--bg-secondary: #161620;--bg-tertiary: #1a1a26;--text-primary: #e8e8f0;--text-secondary: #b0b0c8;--text-muted: #6e6e88;--border-color: #2a2a3a;--card-bg: #1c1c28;--card-shadow: rgba(0, 0, 0, .4);--input-bg: #22222e;--input-border: #32323f;--nav-bg: rgba(22, 22, 32, .9);--nav-text: #b0b0c8;--primary-color: #818cf8;--primary-hover: #6366f1;--warning-bg: #332b00;--warning-text: #fbbf24;--success-bg: #0f2e1b;--success-text: #4ade80;--surface-elevated: rgba(255, 255, 255, .06);--border-subtle: rgba(99, 102, 241, .15);--scrollbar-thumb: rgba(99, 102, 241, .3);--scrollbar-track: transparent;--glow-primary: 0 0 24px rgba(99, 102, 241, .45);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25), 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .55), 0 8px 20px rgba(0, 0, 0, .4)}}html{scroll-behavior:smooth}@supports (overscroll-behavior-y: contain){html{overscroll-behavior-y:contain}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}a{font-weight:500;color:var(--primary-color);text-decoration:inherit;transition:var(--transition-fast)}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,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.25}h1{font-size:2.25rem;line-height:1.2}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}@media(max-width:640px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}button{border-radius:var(--border-radius-sm);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:600;font-family:inherit;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:var(--transition)}button:hover{border-color:var(--primary-color);transform:translateY(-1px)}button:active{transform:translateY(1px)}.btn-primary{background:var(--gradient-primary);color:#fff;border:none}.btn-primary:hover{box-shadow:var(--glow-primary);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-color);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--surface-elevated);border-color:var(--primary-color);color:var(--primary-color)}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--border-radius-xs)}.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:var(--border-radius-xs)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.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:var(--border-radius-sm);font-size:1.1rem;font-weight:500;cursor:pointer;transition:var(--transition)}.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:var(--border-radius-sm);margin-top:1rem;font-size:.875rem}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.landing-header{background-color:#ffffffb8;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.06);padding:1rem 0;position:sticky;top:0;z-index:100}:root.theme-dark .landing-header{background-color:#1e1e1eb8;border-bottom:1px solid rgba(255,255,255,.05)}.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:var(--transition)}.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:var(--border-radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-signin:hover{background-color:var(--primary-hover)}.hero{text-align:center;padding:7rem 0 6rem;background:radial-gradient(circle at top,rgba(99,102,241,.08) 0%,transparent 60%),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:var(--border-radius-sm);font-size:1.1rem;font-weight:500;cursor:pointer;transition:var(--transition);color:var(--text-primary)}.google-signin-btn:hover:not(:disabled){background-color:var(--bg-color);border-color:var(--border-color);box-shadow:var(--shadow-sm)}.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:var(--border-radius-md);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:var(--border-radius-md);border:1px solid var(--border-color);transition:var(--transition)}.type-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-subtle)}.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:var(--border-radius-md);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:var(--transition)}.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:var(--border-radius-sm)}.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:var(--border-radius-md);box-shadow:var(--shadow-md);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:var(--border-radius-sm);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:var(--border-radius-lg)}@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:var(--border-radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:var(--transition)}.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(--surface-elevated);border-radius:var(--border-radius-md)}.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:var(--border-color)}}.stats-trend-chart{background:var(--card-bg);border-radius:var(--border-radius-md);border:1px solid var(--border-color);padding:1.25rem 1.5rem;margin-top:1.5rem;box-shadow:var(--shadow-sm);text-align:left}.stats-trend-chart .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.stats-trend-chart h4{font-size:1.1rem;margin:0;color:var(--text-primary)}.stats-trend-chart .chart-info-tag{font-size:.75rem;color:var(--text-muted);background-color:var(--bg-color);padding:.25rem .5rem;border-radius:var(--border-radius-xs);border:1px solid var(--border-color)}.mini-bar-chart{display:flex;justify-content:space-around;align-items:flex-end;height:90px;padding:.5rem 0;gap:.5rem}.mini-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.mini-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.mini-bar-fill{width:40%;max-width:24px;background:linear-gradient(180deg,var(--primary-color) 0%,rgba(99,102,241,.4) 100%);border-radius:var(--border-radius-xs) var(--border-radius-xs) 0 0;transition:var(--transition)}.mini-bar-col:hover .mini-bar-fill{background:linear-gradient(180deg,var(--primary-hover) 0%,rgba(99,102,241,.6) 100%);width:48%}.mini-bar-label{font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.mini-bar-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:105%;left:50%;transform:translate(-50%);background-color:#1c1c28;color:#fff;text-align:center;padding:4px 8px;border-radius:var(--border-radius-xs);font-size:.75rem;white-space:nowrap;z-index:10;box-shadow:var(--shadow-md);transition:opacity .2s,visibility .2s}.mini-bar-col:hover .mini-bar-tooltip{visibility:visible;opacity:1}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-15px);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulseGlow{0%,to{box-shadow:0 4px 20px #6366f159}50%{box-shadow:0 8px 36px #6366f199}}.onboarding-container{max-width:900px;margin:2rem auto;padding:3rem 2.5rem;background:color-mix(in srgb,var(--card-bg) 92%,transparent);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-radius:var(--border-radius-lg);border:1px solid color-mix(in srgb,var(--primary-color) 12%,var(--border-color));box-shadow:0 0 0 1px #ffffff08,0 10px 40px #00000024,0 4px 16px #6366f114;text-align:center;position:relative;overflow:hidden;animation:fadeSlideIn .5s cubic-bezier(.2,.8,.2,1) both}.onboarding-container:before{content:"";position:absolute;top:-120px;left:50%;transform:translate(-50%);width:480px;height:280px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--primary-color) 12%,transparent) 0%,transparent 70%);pointer-events:none;z-index:0}.onboarding-container>*{position:relative;z-index:1}.onboarding-hero{margin-bottom:3rem;animation:fadeSlideIn .55s cubic-bezier(.2,.8,.2,1) .05s both}.hero-emoji{display:inline-flex;align-items:center;justify-content:center;font-size:3.5rem;margin-bottom:1.25rem;width:6rem;height:6rem;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 14%,var(--bg-color)),color-mix(in srgb,var(--primary-color) 6%,var(--bg-color)));border:1px solid color-mix(in srgb,var(--primary-color) 20%,var(--border-color));box-shadow:0 4px 20px #6366f12e,inset 0 1px 1px #ffffff14}.animate-bounce{animation:bounce 2.2s cubic-bezier(.4,0,.6,1) infinite}.onboarding-title{font-size:2.25rem;font-weight:800;letter-spacing:-.03em;margin:.5rem 0 1rem;line-height:1.15;background:linear-gradient(120deg,var(--primary-color) 0%,#8b5cf6 40%,#a78bfa 60%,var(--primary-color) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s linear infinite}.onboarding-subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:560px;margin:0 auto;line-height:1.65}.onboarding-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:3rem}.onboarding-step-card{background:color-mix(in srgb,var(--bg-color) 75%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:2rem 1.5rem;border-radius:var(--border-radius-md);border:1px solid color-mix(in srgb,var(--border-color) 80%,transparent);position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease,border-color .22s ease,background .22s ease;animation:fadeSlideIn .5s cubic-bezier(.2,.8,.2,1) .12s both}.onboarding-step-card:nth-child(1){animation-delay:.12s}.onboarding-step-card:nth-child(2){animation-delay:.22s}.onboarding-step-card:nth-child(3){animation-delay:.32s}.onboarding-step-card:nth-child(4){animation-delay:.42s}.onboarding-step-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary-color) 40%,transparent) 50%,transparent);opacity:0;transition:opacity .28s ease}.onboarding-step-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--primary-color) 35%,var(--border-color));background:color-mix(in srgb,var(--bg-color) 90%,transparent);box-shadow:0 12px 32px #0000001f,0 4px 16px #6366f11f}.onboarding-step-card:hover:before{opacity:1}.step-badge{position:absolute;top:1rem;left:1rem;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#8b5cf6);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #6366f159}.step-icon{display:inline-flex;align-items:center;justify-content:center;font-size:2rem;width:4rem;height:4rem;border-radius:50%;margin-bottom:1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 14%,var(--bg-color)),color-mix(in srgb,var(--primary-color) 6%,var(--bg-color)));border:1px solid color-mix(in srgb,var(--primary-color) 18%,var(--border-color));box-shadow:inset 0 1px 1px #ffffff12;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.onboarding-step-card:hover .step-icon{transform:scale(1.1) rotate(-4deg)}.onboarding-step-card h3{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.6rem;color:var(--text-primary)}.onboarding-step-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.55;margin:0}.onboarding-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;animation:fadeSlideIn .55s cubic-bezier(.2,.8,.2,1) .3s both}.onboarding-btn-cta{font-size:1.05rem;font-weight:700;letter-spacing:.01em;padding:.9rem 2.5rem;width:100%;max-width:320px;border-radius:var(--border-radius-sm);border:none;cursor:pointer;background:linear-gradient(135deg,var(--primary-color) 0%,#8b5cf6 100%);background-size:200% auto;color:#fff;box-shadow:0 4px 15px #6366f166,0 1px 3px #00000026;transition:background-position .4s ease,box-shadow .3s ease,transform .18s cubic-bezier(.34,1.56,.64,1);animation:pulseGlow 3s ease-in-out infinite}.onboarding-btn-cta:hover{background-position:right center;background:linear-gradient(135deg,var(--primary-hover) 0%,#7c3aed 100%);box-shadow:0 8px 28px #6366f18c,0 2px 8px #0000002e;transform:translateY(-2px) scale(1.02);animation:none}.onboarding-btn-cta:active{transform:translateY(0) scale(.98);box-shadow:0 3px 12px #6366f159}.onboarding-or{font-size:.85rem;color:var(--text-muted);font-weight:500;position:relative;display:flex;align-items:center;gap:.75rem;width:100%;max-width:320px}.onboarding-or:before,.onboarding-or:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--border-color) 70%,transparent)}.onboarding-btn-import{font-size:1rem;font-weight:600;padding:.78rem 2rem;width:100%;max-width:320px;background:transparent;color:var(--primary-color);border:2px solid color-mix(in srgb,var(--primary-color) 55%,var(--border-color));border-radius:var(--border-radius-sm);cursor:pointer;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease}.onboarding-btn-import:hover{background:color-mix(in srgb,var(--primary-color) 9%,transparent);border-color:var(--primary-color);color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 14px #6366f12e}.onboarding-btn-import:active{transform:translateY(0) scale(.98)}.onboarding-footer-text{font-size:.8rem;color:var(--text-muted);margin:0;opacity:.8;animation:fadeSlideIn .55s cubic-bezier(.2,.8,.2,1) .45s both}@media(max-width:640px){.onboarding-container{padding:2rem 1.25rem;margin:1rem;border-radius:20px}.onboarding-title{font-size:1.75rem}.onboarding-subtitle{font-size:1rem}.onboarding-hero{margin-bottom:2rem}.hero-emoji{width:5rem;height:5rem;font-size:2.75rem}.onboarding-steps-grid{gap:.875rem;margin-bottom:2rem}.onboarding-step-card{padding:1.5rem 1rem}}.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 var(--space-8);background:var(--gradient-primary);border-radius:var(--border-radius-md);padding:0;overflow:hidden;box-shadow:var(--shadow-lg),var(--glow-primary)}.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:#fff;color:var(--primary-color);flex-shrink:0}.sync-banner .btn-primary:hover{background:#f8f8f8;color:var(--primary-hover)}.guest-info{display:flex;align-items:center;gap:1rem}.guest-badge{background-color:var(--bg-color);padding:var(--space-2) var(--space-4);border-radius:var(--border-radius-full);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:var(--space-6) var(--space-8);box-shadow:var(--shadow-sm)}.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:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.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:var(--border-radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition);border:2px solid transparent;will-change:transform;-webkit-tap-highlight-color:transparent;min-height:120px}.vehicle-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-subtle)}.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:var(--space-3);border-radius:var(--border-radius-sm);margin-bottom:var(--space-2)}.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:var(--border-radius-sm);background-color:var(--card-bg);color:var(--text-primary);font-size:.9375rem;outline:none;transition:var(--transition-fast)}.search-bar:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--border-subtle)}.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:var(--border-radius-full);border:1.5px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-fast);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:var(--warning-color);border-color:var(--warning-color);color:#fff}.filter-chip.up-to-date.active{background:var(--success-color);border-color:var(--success-color);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:var(--border-radius-sm);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:var(--space-2);border-radius:var(--border-radius-sm);background:transparent;transition:var(--transition-fast)}.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:var(--border-radius-sm);padding:0 12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);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(--surface-elevated, #f3f4f6);border-radius:var(--border-radius-sm);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:var(--border-radius-xs);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:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.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:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.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:var(--transition);white-space:nowrap;color:var(--text-secondary)}.tab-btn:hover{color:var(--text-primary);background-color:var(--bg-color);border-radius:var(--border-radius-sm) var(--border-radius-sm) 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:var(--border-radius-lg);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-md)}.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:var(--border-radius-full);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:var(--border-radius-sm);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:var(--border-radius-sm);border:1px solid var(--border-color);transition:var(--transition-fast)}.record-item:hover{background-color:var(--bg-secondary);border-color:var(--border-subtle)}.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:var(--border-radius-xs);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:var(--border-radius-md);padding:2rem;box-shadow:var(--shadow-sm)}.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:var(--border-radius-sm);font-size:1rem;font-family:inherit;transition:var(--transition);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:var(--border-radius-sm);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:var(--border-radius-full);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:var(--border-radius-sm);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:var(--border-radius-md)}.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:var(--border-radius-sm);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:var(--border-radius-sm);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:var(--border-radius-sm);cursor:pointer;color:var(--text-secondary);background-color:var(--bg-color-secondary, rgba(0, 0, 0, .02));transition:var(--transition);-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:var(--border-radius-sm);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:var(--border-radius-full);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:var(--gradient-primary);color:#fff;border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-lg),var(--glow-primary)}.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:var(--border-radius-md);padding:2rem;box-shadow:var(--shadow-sm)}.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:var(--border-radius-md);cursor:pointer;transition:var(--transition);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:var(--shadow-sm)}.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:var(--success-color);color:#fff;padding:.25rem .75rem;border-radius:var(--border-radius-md);font-size:.75rem;font-weight:600;text-transform:uppercase}.format-badge.pro{background-color:var(--warning-color);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:var(--border-radius-md);cursor:pointer;transition:var(--transition)}.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:var(--border-radius-sm);cursor:pointer;transition:var(--transition)}.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:var(--border-radius-sm);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:var(--shadow-sm);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:var(--border-radius-lg);box-shadow:var(--shadow-sm);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:var(--border-radius-md)}.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:var(--border-radius-xs);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:var(--border-radius-md);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:var(--border-radius-md);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:var(--border-radius-md);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)}.btn-primary:active{transform:scale(.98)}@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:var(--border-radius-md);box-shadow:var(--shadow-sm);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:var(--border-radius-sm);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:var(--border-radius-md);box-shadow:var(--shadow-sm);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:var(--transition)}.sortable-header:hover{background:var(--border-color, #eee)!important}.clickable-row{cursor:pointer;transition:var(--transition)}.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:var(--border-radius-xs);font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.admin{background:var(--surface-elevated);color:var(--primary-color)}.role-badge.user{background:var(--bg-tertiary);color:var(--text-secondary)}.vehicle-count-badge{display:inline-block;padding:.25rem .5rem;background:var(--bg-secondary, #f5f5f5);border-radius:var(--border-radius-md);min-width:24px;text-align:center;font-weight:600}.error-banner{background:#ef44441a;color:var(--danger-color);padding:1rem;border-radius:var(--border-radius-sm);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:var(--border-radius-sm);font-size:.875rem;cursor:pointer;color:var(--text-primary, #333);transition:var(--transition)}.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:var(--border-radius-md);box-shadow:var(--shadow-sm);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:var(--border-radius-full);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:var(--border-radius-md);box-shadow:var(--shadow-sm)}.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:var(--border-radius-md);box-shadow:var(--shadow-sm);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:var(--border-radius-sm);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:var(--border-radius-sm);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:var(--border-radius-md);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:var(--shadow-sm);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:var(--border-radius-sm);padding:.5rem 1.5rem .5rem .75rem;font-size:.875rem;font-weight:600;cursor:pointer;outline:none;transition:var(--transition-fast)}.vehicle-dropdown:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--border-subtle)}.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:var(--border-radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:var(--transition)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-subtle)}.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:var(--border-radius-lg);padding:1.5rem;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.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:var(--border-radius-sm);transition:var(--transition-fast)}.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:var(--border-radius-xs) var(--border-radius-xs) 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:#1c1c28;color:#fff;padding:.25rem .5rem;border-radius:var(--border-radius-xs);font-size:.75rem;white-space:nowrap;pointer-events:none;z-index:5;box-shadow:var(--shadow-sm)}.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:var(--border-radius-lg);padding:1.5rem;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.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:var(--border-radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;transition:var(--transition)}.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:var(--border-radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;transition:var(--transition)}.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:var(--border-radius-md);padding:.75rem 1rem;box-shadow:var(--shadow-sm)}.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:var(--border-radius-sm);transition:var(--transition)}.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:var(--border-radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition)}.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:var(--border-radius-lg);box-shadow:var(--shadow-md);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:var(--transition);-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:var(--border-radius-xs);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:var(--border-radius-lg);padding:1.25rem;box-shadow:var(--shadow-md);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:var(--border-radius-md);background-color:var(--bg-color);transition:var(--transition)}.schedule-item-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-subtle)}.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:var(--border-radius-md);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:var(--border-radius-sm);cursor:pointer;font-weight:600;transition:var(--transition)}.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:var(--border-radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;transition:var(--transition)}.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:var(--border-radius-lg);box-shadow:var(--shadow-md);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:var(--border-radius-lg);padding:1.25rem;box-shadow:var(--shadow-md);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:var(--border-radius-sm);border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--text-primary);font-size:1rem;cursor:pointer;transition:var(--transition);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:var(--border-radius-sm);overflow:hidden;border:1px solid var(--border-color)}.progress-bar-fill{height:100%;background-color:var(--primary-color);border-radius:var(--border-radius-sm);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:var(--border-radius-sm);border:none;background-color:var(--primary-color);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition);box-shadow:var(--glow-primary)}.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:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);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:var(--border-radius-sm);cursor:pointer;transition:var(--transition);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:var(--border-radius-sm);background-color:var(--input-bg);position:relative;flex-shrink:0;margin-top:2px;transition:var(--transition)}.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:var(--transition)}.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:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);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:var(--border-radius-sm);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:var(--border-radius-xs)}.delete-log-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:.5rem;border-radius:var(--border-radius-sm);transition:var(--transition)}.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:var(--border-radius-sm);padding:1.5rem;box-shadow:var(--shadow-sm)}.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:var(--border-radius-sm);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:var(--border-radius-sm)}.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:var(--border-radius-sm);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:var(--border-radius-sm);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:var(--border-radius-sm);text-align:center;box-shadow:var(--shadow-sm)}.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:var(--shadow-sm);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:var(--border-radius-sm);padding:1rem;box-shadow:var(--shadow-sm)}.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:var(--border-radius-sm);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:var(--border-radius-full);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:var(--border-radius-sm);padding:1rem;box-shadow:var(--shadow-sm)}.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:var(--border-radius-full);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:var(--border-radius-sm)}.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-color);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:var(--border-radius-sm);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:var(--border-radius-sm);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:var(--border-radius-sm);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:var(--border-radius-sm);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(--surface-elevated)}.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:var(--border-radius-sm);background:var(--bg-color)}.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:var(--border-radius-sm);background:var(--bg-color);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:var(--border-radius-sm)}.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(--surface-elevated)}.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:var(--shadow-sm)}.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:var(--border-radius-sm);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:var(--border-radius-sm);box-shadow:var(--shadow-sm)}.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:var(--border-radius-sm);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:var(--border-radius-sm);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:var(--space-3);margin-bottom:18px}.part-stat{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--space-4)}.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:var(--border-radius-sm);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:var(--space-3)}.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:var(--space-2);min-width:0;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);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 var(--success-color);border-radius:var(--border-radius-sm);padding:14px;background:var(--bg-color)}.part-row.low{border-left-color:var(--warning-color)}.part-row.out{border-left-color:var(--danger-color)}.part-row-main{display:flex;justify-content:space-between;gap:var(--space-3)}.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:var(--border-radius-full);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:var(--border-radius-sm);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:var(--border-radius-sm);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:var(--space-6);border:1px dashed var(--border-color);border-radius:var(--border-radius-sm)}.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-mix(in srgb,var(--nav-bg) 80%,transparent);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid color-mix(in srgb,var(--border-color) 60%,transparent);border-radius:22px;box-shadow:0 -2px 1px #ffffff0d,0 20px 50px #00000038,0 6px 20px #6366f114;z-index:1000;padding:.45rem;padding-bottom:calc(.45rem + env(safe-area-inset-bottom));display:none}.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 .22s cubic-bezier(.4,0,.2,1),background .22s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.34,1.56,.64,1);border-radius:16px;position:relative;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overflow:hidden}.nav-item:active{transform:scale(.94);background:color-mix(in srgb,var(--primary-color) 14%,transparent)}.nav-item.active{color:var(--primary-color);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 18%,transparent),color-mix(in srgb,var(--primary-color) 8%,transparent))}.nav-icon{font-size:1.35rem;line-height:1;transition:transform .22s cubic-bezier(.34,1.56,.64,1),filter .22s 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;letter-spacing:.01em}.nav-item:before{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(to right,#6366f1,#8b5cf6);border-radius:999px;transition:width .28s cubic-bezier(.34,1.56,.64,1)}.nav-item.active:before{width:24px}.nav-item.active .nav-icon{transform:translateY(-2px);filter:drop-shadow(0 2px 6px rgba(99,102,241,.5)) saturate(1.3)}.more-menu-backdrop{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);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:color-mix(in srgb,var(--card-bg) 95%,transparent);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid color-mix(in srgb,var(--primary-color) 15%,var(--border-color));border-radius:24px;box-shadow:0 -8px 40px #00000038,0 4px 16px #6366f114;z-index:1000;animation:slideUp .3s cubic-bezier(.2,.8,.2,1);max-height:min(68vh,560px);overflow-y:auto;overflow-x:hidden;padding-bottom:.5rem}.more-menu:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--primary-color) 35%,transparent) 40%,color-mix(in srgb,var(--primary-color) 35%,transparent) 60%,transparent 100%);border-radius:24px 24px 0 0;pointer-events:none}.more-menu:before{content:"";display:block;width:44px;height:4px;margin:.75rem auto 0;border-radius:999px;background:color-mix(in srgb,var(--border-color) 70%,transparent)}.more-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--border-color) 60%,transparent)}.more-menu-header h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.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;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background-color .2s ease,transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.close-more-menu:hover{color:var(--text-primary);background-color:color-mix(in srgb,var(--primary-color) 10%,var(--bg-color));border-color:color-mix(in srgb,var(--primary-color) 25%,var(--border-color));transform:rotate(90deg) scale(1.08);box-shadow:0 2px 8px #6366f126}.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 .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;color:var(--text-primary);font-size:.98rem;border-radius:14px}.more-menu-item:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--bg-color));border-color:color-mix(in srgb,var(--primary-color) 20%,var(--border-color));box-shadow:0 2px 8px #6366f112}.more-menu-item:active{transform:scale(.97);background:color-mix(in srgb,var(--primary-color) 14%,var(--bg-color));border-color:color-mix(in srgb,var(--primary-color) 30%,var(--border-color))}.more-menu-item.danger{color:var(--danger-color)}.more-menu-item.danger:hover{background-color:var(--warning-bg);border-color:color-mix(in srgb,var(--danger-color) 20%,var(--border-color))}.more-menu-icon{font-size:1.3rem;width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 15%,var(--bg-color)),color-mix(in srgb,var(--primary-color) 8%,var(--bg-color)));box-shadow:inset 0 1px 1px #ffffff1a;transition:background .2s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}.more-menu-item:hover .more-menu-icon{transform:scale(1.08);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 22%,var(--bg-color)),color-mix(in srgb,var(--primary-color) 12%,var(--bg-color)))}.more-menu-divider{height:1px;background:color-mix(in srgb,var(--border-color) 60%,transparent);margin:.35rem .5rem;border-radius:1px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(28px);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:var(--bg-color, #f5f5f7);overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}@media(prefers-color-scheme:light){.app{background-color:var(--bg-color, #f5f5f7)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.spinner{width:48px;height:48px;border-radius:50%;border:4px solid transparent;border-top-color:var(--primary-color, #6366f1);border-right-color:#6366f159;border-bottom-color:#6366f126;border-left-color:#6366f10d;animation:spin .85s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 6px rgba(99,102,241,.4))}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background:var(--gradient-primary, linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius-sm, 8px);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition, all .25s cubic-bezier(.4, 0, .2, 1));min-height:44px;min-width:44px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;letter-spacing:.01em}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translate(-100%);transition:transform .5s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{box-shadow:var(--glow-primary, 0 0 20px rgba(99, 102, 241, .35));transform:translateY(-2px)}.btn-primary:hover:before{transform:translate(100%)}.btn-primary:active{transform:scale(.97) translateY(0);box-shadow:none}.btn-primary:disabled{background:linear-gradient(135deg,#a0a0b0,#8a8a9a);box-shadow:none;cursor:not-allowed;transform:none;opacity:.65}.btn-secondary{background-color:var(--bg-secondary, #ffffff);color:var(--text-secondary, #555555);border:1.5px solid var(--border-color, #e0e0e8);padding:.75rem 1.5rem;border-radius:var(--border-radius-sm, 8px);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition, all .25s cubic-bezier(.4, 0, .2, 1));min-height:44px;min-width:44px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-secondary:hover{background-color:var(--surface-elevated, rgba(99, 102, 241, .06));border-color:var(--primary-color, #6366f1);color:var(--primary-color, #6366f1);transform:translateY(-1px);box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08))}.btn-secondary:active{transform:scale(.98);box-shadow:none}.btn-danger{background:var(--gradient-danger, linear-gradient(135deg, #ef4444 0%, #dc2626 100%));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius-sm, 8px);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition, all .25s cubic-bezier(.4, 0, .2, 1));position:relative;overflow:hidden;letter-spacing:.01em}.btn-danger:hover{box-shadow:var(--glow-danger, 0 0 20px rgba(239, 68, 68, .35));transform:translateY(-2px)}.btn-danger:active{transform:scale(.97) translateY(0);box-shadow:none}.btn-small{padding:.5rem 1rem;font-size:.875rem;min-height:36px}.btn-delete{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.55;transition:var(--transition, all .25s cubic-bezier(.4, 0, .2, 1));padding:.625rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;border-radius:var(--border-radius-sm, 8px);color:var(--danger-color, #ef4444)}.btn-delete:hover{opacity:1;transform:scale(1.1);background-color:#ef44441a}.btn-delete:active{transform:scale(.95)}.btn-edit{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.55;transition:var(--transition, all .25s cubic-bezier(.4, 0, .2, 1));padding:.625rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;border-radius:var(--border-radius-sm, 8px);color:var(--primary-color, #6366f1)}.btn-edit:hover{opacity:1;transform:scale(1.1);background-color:#6366f11a}.btn-edit:active{transform:scale(.95)}.back-btn{background:none;border:none;color:var(--primary-color, #6366f1);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem;transition:var(--transition-fast, all .15s cubic-bezier(.4, 0, .2, 1));border-radius:var(--border-radius-sm, 8px);display:inline-flex;align-items:center;gap:.375rem}.back-btn:hover{color:var(--primary-hover, #4f46e5);background-color:#6366f114;transform:translate(-2px)}.error-message{color:var(--danger-color, #ef4444);background:linear-gradient(135deg,#ef44441a,#dc26260f);border:1px solid rgba(239,68,68,.25);padding:.75rem 1rem;border-radius:var(--border-radius-sm, 8px);margin:1rem 0;font-size:.875rem;font-weight:500}.modal-overlay{position:fixed;inset:0;background-color:#00000073;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.modal{background-color:var(--card-bg, #ffffff);border-radius:var(--border-radius-lg, 16px);padding:2rem;max-width:500px;width:100%;box-shadow:var(--shadow-xl, 0 20px 50px rgba(0, 0, 0, .16));border:1px solid var(--border-subtle, rgba(99, 102, 241, .15));animation:modalSlideUp .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.modal:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary, linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%));border-radius:var(--border-radius-lg, 16px) var(--border-radius-lg, 16px) 0 0}@keyframes modalSlideUp{0%{transform:translateY(16px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal h3{margin-bottom:.75rem;color:var(--text-primary, #213547);font-size:1.25rem;font-weight:700}.modal p{margin-bottom:1.5rem;color:var(--text-secondary, #666);line-height:1.6}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:768px){.modal{padding:1.5rem;border-radius:var(--border-radius-md, 12px)}.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:600;animation:slideDown .35s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);letter-spacing:.01em}.offline-indicator.offline{background:linear-gradient(90deg,#ef4444eb,#dc2626eb);color:#fff;box-shadow:0 2px 12px #ef444466}.offline-indicator.online{background:linear-gradient(90deg,#22c55eeb,#16a34aeb);color:#fff;box-shadow:0 2px 12px #22c55e59}.offline-indicator-icon{font-size:1rem}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.splash-screen{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4f46e5,#7c3aed 80%);animation:splashFadeOut .45s cubic-bezier(.4,0,1,1) 1.1s forwards;overflow:hidden}.splash-screen:before{content:"";position:absolute;top:-20%;right:-15%;width:55vmax;height:55vmax;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.45) 0%,transparent 70%);pointer-events:none;animation:orb 6s ease-in-out infinite alternate}.splash-screen:after{content:"";position:absolute;bottom:-25%;left:-10%;width:50vmax;height:50vmax;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.25) 0%,transparent 70%);pointer-events:none;animation:orb 8s ease-in-out infinite alternate-reverse}@keyframes orb{0%{transform:scale(1) translate(0)}to{transform:scale(1.08) translate(2%,3%)}}.splash-content{text-align:center;color:#fff;animation:splashZoomIn .55s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1}.splash-icon{font-size:4rem;margin-bottom:1rem;display:block;filter:drop-shadow(0 4px 16px rgba(0,0,0,.25))}.splash-title{font-size:2rem;font-weight:800;margin-bottom:.25rem;color:#fff;letter-spacing:-.025em;text-shadow:0 2px 12px rgba(0,0,0,.2)}.splash-subtitle{font-size:1rem;font-weight:500;opacity:.85;margin-bottom:2.5rem;letter-spacing:.01em}.splash-loader{width:40px;height:40px;margin:0 auto;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.splash-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff26;overflow:hidden}.splash-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff9,#fff,#fff9);transform-origin:left center;transform:scaleX(0);animation:progressFill 1.5s cubic-bezier(.4,0,.6,1) 0s forwards}@keyframes progressFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes splashZoomIn{0%{transform:scale(.82) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes splashFadeOut{to{opacity:0;pointer-events:none}}
