:root{--km-bg:#edf2f7;--km-bg-strong:#e4ebf2;--km-surface:#fffffff0;--km-surface-solid:#fff;--km-surface-soft:#f6f9fc;--km-surface-muted:#edf3f8;--km-border:#d7e1eb;--km-border-strong:#becbda;--km-text:#0f172a;--km-text-muted:#64748b;--km-text-soft:#475569;--km-primary:#0f7a95;--km-primary-strong:#0a6076;--km-primary-soft:#d9eef4;--km-success:#15803d;--km-warning:#b45309;--km-danger:#dc2626;--km-shadow-sm:0 12px 32px #0f172a0f;--km-shadow-md:0 20px 60px #0f172a1a;--km-shadow-lg:0 28px 80px #0f172a1f;--km-radius-sm:14px;--km-radius-md:18px;--km-radius-lg:24px;--km-space-1:4px;--km-space-2:8px;--km-space-3:12px;--km-space-4:16px;--km-space-5:20px;--km-space-6:24px;--km-space-7:28px;--km-space-8:32px;--km-space-9:40px;--km-space-10:48px;--km-sidebar-width:286px;--km-mobile-nav-height:82px;color:var(--km-text);background:var(--km-bg);font-family:Segoe UI Variable Text,Aptos,IBM Plex Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:radial-gradient(circle at top left, #0f7a9514, transparent 32%), linear-gradient(180deg, #f8fbfd 0%, var(--km-bg) 280px);color:var(--km-text)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}img{max-width:100%;display:block}code{background:#0f7a9514;border-radius:6px;padding:0 .3em;font-family:Cascadia Code,Consolas,monospace;font-size:.92em}.app-layout{min-height:100vh}.app-shell{display:block;position:relative}.shell-sidebar{display:none}.shell-main{min-height:100vh}.shell-topbar{z-index:25;justify-content:space-between;align-items:center;gap:var(--km-space-4);padding:calc(14px + env(safe-area-inset-top)) max(var(--km-space-4), env(safe-area-inset-right)) 14px max(var(--km-space-4), env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fbfddb;border-bottom:1px solid #d7e1ebbf;display:flex;position:sticky;top:0}.shell-topbar-copy{gap:2px;display:grid}.shell-topbar-kicker{color:var(--km-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.73rem;font-weight:700}.shell-topbar-copy strong{letter-spacing:-.03em;font-size:1.08rem}.shell-topbar-account{width:42px;height:42px;box-shadow:var(--km-shadow-sm);background:#ffffffd1;border:1px solid #becbdae6;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-button{width:100%}.main-content{padding:0 max(var(--km-space-4), env(safe-area-inset-right)) calc(var(--km-mobile-nav-height) + 28px + env(safe-area-inset-bottom)) max(var(--km-space-4), env(safe-area-inset-left))}.shell-content{display:grid}.bottom-nav{right:max(12px, env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:40;box-shadow:var(--km-shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #becbdaeb;border-radius:24px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:fixed}.bottom-nav-link{min-width:0;color:var(--km-text-muted);text-align:center;border-radius:18px;justify-items:center;gap:6px;padding:8px 4px;font-size:.65rem;font-weight:700;display:grid}.bottom-nav-link-active{color:var(--km-primary-strong);background:#0f7a951a}.bottom-nav-link span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav-icon,.shell-nav-icon{width:38px;height:38px;color:var(--km-primary-strong);background:#0f7a951a;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.bottom-nav-icon svg,.shell-nav-icon svg{width:18px;height:18px}.shell-nav-icon-muted{color:var(--km-text-soft);background:#94a3b824}.page-section{gap:var(--km-space-6);width:min(100%,1240px);padding:var(--km-space-6) 0;margin:0 auto;display:grid}.page-header{gap:8px;display:grid}.page-eyebrow{color:var(--km-primary-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.page-header h2,.fullpage-state-card h1,.auth-copy h1{letter-spacing:-.06em;margin:0;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.04}.page-header p,.fullpage-state-card p,.auth-copy p,.auth-card p,.card p{color:var(--km-text-muted);margin:0;font-size:.98rem}.muted-text{color:var(--km-text-muted)}.text-link{color:var(--km-primary-strong);font-weight:700}.card-grid{gap:var(--km-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start;display:grid}.card{gap:var(--km-space-4);padding:var(--km-space-6);border-radius:var(--km-radius-md);background:var(--km-surface);box-shadow:var(--km-shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #d7e1ebf0;align-content:start;min-width:0;display:grid}.card-muted{background:var(--km-surface-soft)}.card-compact{gap:var(--km-space-3);min-height:168px}.card-label{color:var(--km-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.card-value{letter-spacing:-.05em;font-size:clamp(1.5rem,2vw,2.3rem);line-height:1}.dashboard-compact-value{font-size:clamp(1.2rem,1.6vw,1.7rem)}.status-error,.status-success{border-radius:var(--km-radius-sm);margin:0;padding:14px 16px;font-size:.95rem;font-weight:600}.status-error{color:#991b1b;background:#dc262614;border:1px solid #dc26262e}.status-success{color:#166534;background:#15803d14;border:1px solid #15803d2e}.primary-button,.secondary-button{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:700;transition:border-color .18s,background-color .18s,color .18s,transform .18s;display:inline-flex}.primary-button{color:#fff;background:var(--km-primary);box-shadow:0 12px 24px #0f7a952e}.primary-button:hover{background:var(--km-primary-strong)}.primary-button:disabled,.secondary-button:disabled,.google-signin-button:disabled{cursor:not-allowed;opacity:.68;box-shadow:none;transform:none}.secondary-button{color:var(--km-text);background:#ffffffb8;border-color:#becbdaeb}.secondary-button:hover{background:var(--km-surface-soft)}.panel-actions{flex-wrap:wrap;gap:12px;display:flex}.status-badge{min-height:28px;color:var(--km-primary-strong);background:#0f7a951a;border-radius:999px;align-items:center;padding:0 10px;font-size:.74rem;font-weight:700;display:inline-flex}.status-badge-muted{color:var(--km-text-soft);background:#94a3b824}.brand-block{gap:var(--km-space-4);display:grid}.brand-copy{gap:6px;display:grid}.brand-copy h1{letter-spacing:-.05em;margin:0;font-size:1.45rem}.brand-copy p{color:var(--km-text-muted);margin:0}.brand-mark{color:#f8fafc;letter-spacing:.12em;text-transform:uppercase;background:#0f172a;border:3px solid #60a5fa;border-radius:999px;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.02rem;font-weight:800;display:inline-flex;box-shadow:0 18px 32px #0f172a29}.account-card{grid-template-columns:auto 1fr;align-items:center;gap:12px;display:grid}.account-avatar{object-fit:cover;border-radius:999px;width:40px;height:40px}.account-avatar-large{width:72px;height:72px}.account-avatar-fallback{color:var(--km-primary-strong);background:#0f7a9524;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.account-meta{gap:2px;min-width:0;display:grid}.account-meta strong,.account-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-meta span{color:var(--km-text-muted);font-size:.9rem}.centered-page{min-height:100vh;padding:calc(24px + env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));place-items:center;display:grid}.fullpage-state,.auth-page{width:min(100%,1120px)}.fullpage-state-card{text-align:center;justify-items:center;gap:var(--km-space-5);box-shadow:var(--km-shadow-lg);background:#ffffffeb;border:1px solid #d7e1ebeb;border-radius:32px;padding:clamp(28px,6vw,56px);display:grid}.state-loader{color:var(--km-text-soft);align-items:center;gap:12px;font-weight:600;display:inline-flex}.state-loader-ring{border:2px solid #0f7a952e;border-top-color:var(--km-primary);border-radius:999px;width:20px;height:20px;animation:.9s linear infinite spin}.auth-panel{gap:var(--km-space-5);display:grid}.auth-copy,.auth-card{box-shadow:var(--km-shadow-lg);background:#ffffffeb;border:1px solid #d7e1ebe6;border-radius:32px;padding:clamp(24px,5vw,40px)}.auth-copy{align-content:start;gap:var(--km-space-5);display:grid}.auth-card{gap:var(--km-space-5);display:grid}.google-signin-button{color:#111827;background:#fff;border:1px solid #0f172a1f;border-radius:14px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 18px;font-weight:700;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 10px 24px #0f172a14}.google-signin-button:hover{background:#f8fafc;border-color:#0f172a2e;box-shadow:0 14px 28px #0f172a1f}.google-signin-button__icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.google-signin-button__icon svg{width:18px;height:18px}.google-signin-button__label{line-height:1.2}.auth-inline-hint{color:var(--km-text-muted);margin:-10px 0 0;font-size:.88rem}.auth-feature-list,.plain-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.auth-feature-item,.support-card,.empty-state-card{border-radius:var(--km-radius-sm);background:var(--km-surface-soft);border:1px solid #d7e1ebe0;gap:6px;padding:18px;display:grid}.auth-feature-item strong,.support-card strong,.empty-state-card strong{font-size:.98rem}.section-heading,.dashboard-section-head,.vehicle-item-header,.expense-item-header,.maintenance-item-header,.renewal-item-header,.settings-device-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading h3,.dashboard-section-head h3,.card h3{letter-spacing:-.03em;margin:0;font-size:1.12rem}.form-stack{gap:var(--km-space-5);align-content:start;display:grid}.form-grid{gap:var(--km-space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.form-field{align-content:start;gap:8px;min-width:0;display:grid}.form-field>span{font-size:.9rem;font-weight:700}.form-field-full{grid-column:1/-1}.checkbox-field{align-items:center;gap:12px;display:flex}.checkbox-field input,.settings-preference-item input{width:18px;height:18px;accent-color:var(--km-primary)}.text-input{width:100%;min-height:48px;color:var(--km-text);background:#fffffff0;border:1px solid #becbdaeb;border-radius:14px;outline:none;padding:0 14px;transition:border-color .18s,box-shadow .18s,background-color .18s}.text-input:focus{border-color:#0f7a958a;box-shadow:0 0 0 4px #0f7a951f}.text-area{resize:vertical;min-height:130px;padding-top:14px;padding-bottom:14px}.field-error,.field-help{font-size:.84rem}.field-error{color:#b91c1c}.field-help{color:var(--km-text-muted)}.vehicle-layout,.expense-layout,.renewal-layout,.settings-layout,.dashboard-layout{gap:var(--km-space-4);grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);align-items:start;display:grid}.page-context-card{gap:var(--km-space-5)}.page-context-grid{gap:var(--km-space-4);grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);align-items:start;display:grid}.page-context-summary{border-radius:var(--km-radius-sm);background:var(--km-surface-soft);border:1px solid #d7e1ebe0;align-content:start;gap:10px;min-width:0;padding:18px;display:grid}.page-context-summary strong{letter-spacing:-.03em;font-size:1.08rem}.maintenance-layout{gap:var(--km-space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.maintenance-column{gap:var(--km-space-4);align-content:start;display:grid}.vehicle-list,.expense-list,.maintenance-list,.renewal-list,.settings-device-list,.dashboard-list,.dashboard-mini-grid,.dashboard-vehicle-grid,.list-menu{gap:var(--km-space-4);align-items:start;display:grid}.vehicle-item,.expense-item,.maintenance-item,.renewal-item,.settings-device-item,.dashboard-list-item,.dashboard-detail-item{gap:var(--km-space-4);border-radius:var(--km-radius-sm);background:#ffffffd1;border:1px solid #d7e1ebeb;align-content:start;min-width:0;padding:18px;display:grid}.vehicle-item-active,.maintenance-item-active,.settings-device-item-current{background:#0f7a950f;border-color:#0f7a9547}.vehicle-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.vehicle-title-row h4{margin:0;font-size:1rem}.vehicle-meta,.expense-meta,.maintenance-meta,.renewal-meta,.settings-definition-list,.settings-definition-list-compact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.vehicle-meta div,.expense-meta div,.maintenance-meta div,.renewal-meta div,.settings-definition-list div,.settings-definition-list-compact div{gap:4px;display:grid}.vehicle-meta dt,.expense-meta dt,.maintenance-meta dt,.renewal-meta dt,.settings-definition-list dt,.settings-definition-list-compact dt{color:var(--km-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.vehicle-meta dd,.expense-meta dd,.maintenance-meta dd,.renewal-meta dd,.settings-definition-list dd,.settings-definition-list-compact dd{color:var(--km-text);margin:0;font-weight:600}.expense-meta-full,.maintenance-meta-full{grid-column:1/-1}.settings-preferences-list{gap:14px;display:grid}.settings-preference-item{border-bottom:1px solid #d7e1ebcc;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.settings-preference-item:last-child{border-bottom:0;padding-bottom:0}.settings-device-badges{flex-wrap:wrap;gap:8px;display:flex}.dashboard-hero{gap:var(--km-space-4);display:grid}.dashboard-vehicle-card{gap:var(--km-space-5);background:linear-gradient(135deg,#0f7a9512,#ffffffe6 44%),#fffffff0;padding:clamp(22px,4vw,30px)}.dashboard-vehicle-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-vehicle-head h3{letter-spacing:-.05em;margin:6px 0 4px;font-size:clamp(1.55rem,2.4vw,2.2rem)}.dashboard-vehicle-head p{margin:0}.dashboard-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start}.dashboard-kpi-highlight{background:linear-gradient(135deg,#0f7a951a,#fffffff5 48%),#fffffff0;border-color:#0f7a9538}.dashboard-primary-card,.dashboard-panel{gap:var(--km-space-5);align-content:start}.dashboard-section-head{align-items:center}.dashboard-item-head,.dashboard-item-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-item-meta{color:var(--km-text-muted);font-size:.92rem}.stacked-chart{gap:18px;display:grid}.stacked-chart-legend{flex-wrap:wrap;gap:12px;display:flex}.stacked-chart-legend-item{color:var(--km-text-soft);align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.stacked-chart-legend-swatch{border-radius:999px;width:10px;height:10px}.stacked-chart-frame{height:320px;padding:18px 10px 0;position:relative}.stacked-chart-grid{position:absolute;inset:18px 10px 28px}.stacked-chart-grid-line{border-top:1px dashed #becbdae6;position:absolute;left:0;right:0}.stacked-chart-columns{z-index:1;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:14px;height:100%;display:grid;position:relative}.stacked-chart-column{align-items:end;gap:10px;min-width:0;height:100%;display:grid}.stacked-chart-total{min-height:32px;color:var(--km-text-soft);text-align:center;font-size:.76rem;font-weight:700}.stacked-chart-track{justify-content:center;align-items:end;height:220px;display:flex;position:relative}.stacked-chart-stack{background:#e2e8f073;border-radius:16px 16px 10px 10px;flex-direction:column-reverse;justify-content:flex-start;width:min(56px,100%);min-height:8px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #d7e1ebbf}.stacked-chart-segment{cursor:default;min-height:4px;transition:filter .18s,opacity .18s}.stacked-chart-segment:hover{filter:brightness(.94)}.stacked-chart-label{color:var(--km-text-soft);text-align:center;text-transform:capitalize;font-size:.8rem;font-weight:700}.account-layout{gap:var(--km-space-4);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;display:grid}.account-hero-card{gap:var(--km-space-5)}.account-hero-head{align-items:center;gap:18px;display:flex}.account-hero-copy{gap:4px;display:grid}.account-hero-copy h3{letter-spacing:-.04em;margin:0;font-size:1.6rem}.account-hero-copy p{margin:0}.account-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.list-menu-item{border-radius:var(--km-radius-sm);background:#ffffffc7;border:1px solid #d7e1ebe6;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.list-menu-item strong{margin-bottom:4px;display:block}.list-menu-arrow{color:var(--km-primary-strong);white-space:nowrap;font-size:.84rem;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=720px){.auth-panel{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}}@media (width>=1100px){.app-shell{grid-template-columns:var(--km-sidebar-width) minmax(0, 1fr);gap:0;display:grid}.shell-sidebar{align-self:start;height:100dvh;padding:24px 20px;display:block;position:sticky;top:0;overflow:hidden}.shell-sidebar-inner{gap:var(--km-space-5);height:100%;min-height:0;box-shadow:var(--km-shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border:1px solid #d7e1ebeb;border-radius:30px;grid-template-rows:auto minmax(0,1fr) auto;padding:20px;display:grid}.shell-sidebar-navs{align-content:start;gap:var(--km-space-5);scrollbar-gutter:stable;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.shell-brand-block{border-bottom:1px solid #d7e1ebcc;padding-bottom:8px}.shell-nav-section{gap:12px;display:grid}.shell-nav-section-secondary{border-top:1px solid #d7e1ebcc;padding-top:8px}.shell-nav-label{color:var(--km-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.shell-nav-list{gap:6px;display:grid}.shell-nav-link{color:var(--km-text);border:1px solid #0000;border-radius:18px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.shell-nav-link:hover{background:#f6f9fcf2;border-color:#d7e1ebeb}.shell-nav-link-active{background:#0f7a9517;border-color:#0f7a952e}.shell-nav-text{gap:2px;min-width:0;display:grid}.shell-nav-text strong,.shell-nav-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-nav-text small{color:var(--km-text-muted);font-size:.82rem}.shell-sidebar-footer{border-top:1px solid #d7e1ebcc;align-self:stretch;gap:14px;padding-top:16px;display:grid}.shell-topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;padding:22px 32px 10px}.shell-topbar-account{display:none}.main-content{padding:0 32px 36px}.bottom-nav{display:none}}@media (width<=1099px){.shell-nav-label,.shell-sidebar-footer,.shell-nav-section,.shell-nav-link{display:none}}@media (width<=1023px){.vehicle-layout,.expense-layout,.renewal-layout,.settings-layout,.dashboard-layout,.account-layout,.maintenance-layout,.page-context-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=719px){.page-section{gap:var(--km-space-5);padding:20px 0}.page-header h2,.fullpage-state-card h1,.auth-copy h1{font-size:1.85rem}.card,.auth-copy,.auth-card{border-radius:22px;padding:20px}.card-grid,.form-grid,.vehicle-meta,.expense-meta,.maintenance-meta,.renewal-meta,.settings-definition-list,.settings-definition-list-compact{grid-template-columns:minmax(0,1fr)}.stacked-chart-frame{height:280px;padding-left:0;padding-right:0}.stacked-chart-grid{left:0;right:0}.stacked-chart-columns{gap:10px}.stacked-chart-stack{width:100%}.section-heading,.dashboard-section-head,.vehicle-item-header,.expense-item-header,.maintenance-item-header,.renewal-item-header,.settings-device-header,.dashboard-item-head,.dashboard-item-meta,.dashboard-vehicle-head,.list-menu-item,.account-hero-head{flex-direction:column;align-items:flex-start}}
