@font-face{font-family:Nunito Sans;src:url(/assets/NunitoSans-Variable-latin-CnOsjMXZ.woff2)format("woff2");font-weight:200 1000;font-display:swap}:root{--brand:#006b70;--text-primary:#073f46;--depth:#082f3b;--surface-accent:#dceff0;--action-accent:#6ae3d5;--background:#f3f6f8;--surface:#fff;--text-secondary:#5d7078;--border:#d8e4e8;--input-border:#78949c;--success:#00655c;--warning-text:#82531b;--warning-bg:#f6e7d4;--error:#ac342d;--focus:#b14b1c;--cat-fuel:#006b70;--cat-maintenance:#50b7b9;--cat-other:#6ae3d5;--gradient-brand:linear-gradient(125deg, var(--depth), var(--brand));--gradient-action:linear-gradient(135deg, #9aeee4, #4bd1cf);--glow-aqua:radial-gradient(ellipse at 100% 0%, #4acfcf38, transparent 62%);--shadow-soft:0 6px 20px #073f4622;--radius-field:12px;--radius-button:15px;--radius-card:22px;--screen-margin:20px;--tap:48px;--font:"Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{min-height:100dvh;color:var(--text-primary);font-family:var(--font);background:radial-gradient(at top,#68bbc83a,#0000 70%),#dce8ee;margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit;-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0}button:disabled{opacity:.6;cursor:default}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.035em;font-size:26px;font-weight:800;line-height:1.2}h2{letter-spacing:-.025em;font-size:20px;font-weight:800}h3{font-size:16px;font-weight:800}svg.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:22px;height:22px}.sub{color:var(--text-secondary);margin-top:6px;font-size:14px}.center{place-items:center;min-height:100dvh;display:grid}.app{background:radial-gradient(ellipse at 100% 0%, #a3dfe126, transparent 38%), var(--background);max-width:480px;min-height:100dvh;padding-bottom:calc(100px + env(safe-area-inset-bottom));margin:auto}.app-header{padding:max(16px, env(safe-area-inset-top)) 22px 14px;justify-content:space-between;align-items:center;display:flex}.wordmark{display:block}.avatar{background:linear-gradient(135deg,#c7eff0,#dfedf3);border:1px solid #fff;border-radius:50%;width:44px;height:44px;font-weight:800}main{padding:0 var(--screen-margin);outline:none}.greeting{margin:8px 0 18px}.bottom-nav{width:min(100%,480px);padding:8px 10px max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;background:#f8fcffdf;border-top:1px solid #fff;grid-template-columns:1fr 1fr .8fr 1fr 1fr;align-items:center;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -7px 22px #073f4607}.bottom-nav button{min-height:var(--tap);color:var(--text-secondary);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:3px 0;font-size:12px;font-weight:700;display:flex}.bottom-nav button[aria-current]{color:var(--text-primary);font-weight:900}.bottom-nav button[aria-current] .icon{stroke-width:2.4px}.bottom-nav .add{width:var(--tap);background:var(--gradient-action);color:var(--text-primary);border-radius:18px;justify-self:center;box-shadow:inset 0 1px #ffffffa6,0 4px 12px #008b9b26}.bottom-nav .add .icon{width:27px;height:27px}.primary-button{width:100%;min-height:var(--tap);border-radius:var(--radius-button);background:var(--text-primary);color:#fff;padding:12px 16px;font-weight:800}.primary-button.aqua{color:var(--text-primary);background:linear-gradient(110deg,#8fe9df,#4bd1cf)}.text-button{min-height:44px;color:var(--brand);background:0 0;padding:5px 0;font-size:14px;font-weight:800}.icon-button{background:#dfeaed;border-radius:50%;min-width:44px;min-height:44px;font-size:24px}.notice{border-radius:var(--radius-button);background:var(--surface-accent);color:#07545b;margin:18px 0;padding:14px 16px;font-size:14px;line-height:1.6}.profile-prompt h2{margin:0 0 4px;font-size:16px}.profile-prompt p{margin:0 0 12px}.profile-prompt .field input{background:var(--surface)}.notice.warning{background:var(--warning-bg);color:var(--warning-text)}.empty{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);margin-top:20px;padding:30px 20px}.empty .icon{width:40px;height:40px;margin-bottom:15px}.empty p{color:var(--text-secondary);margin:12px 0 22px;font-size:14px}.empty p:last-child{margin-bottom:0}.sheet{width:min(100%,480px);max-width:100%;max-height:90dvh;padding:12px 22px max(25px, env(safe-area-inset-bottom));background:var(--background);color:var(--text-primary);border:0;border-radius:27px 27px 0 0;margin:auto auto 0;box-shadow:0 -15px 50px #073f4622}.sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#142b2766}.sheet-handle{background:#bacdd2;border-radius:4px;width:35px;height:4px;margin:0 auto 15px}.sheet-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.sheet-header h2{font-size:22px}.sheet p+.primary-button,.sheet .notice+.primary-button{margin-top:8px}.choices{grid-template-columns:1fr 1fr;gap:11px;display:grid}.choice{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:18px;min-height:100px;padding:20px 12px;font-size:15px;font-weight:800}.choice .icon{margin-bottom:12px;display:block}.field{flex-direction:column;gap:6px;margin:15px 0;font-size:14px;font-weight:800;display:flex}.field input,.field select{border:1px solid var(--input-border);border-radius:var(--radius-field);background:var(--surface);width:100%;min-height:49px;color:var(--text-primary);padding:11px;font-size:16px}.check{align-items:flex-start;gap:10px;margin:18px 0;font-size:14px;display:flex}.check input{width:22px;height:22px;accent-color:var(--text-primary);flex-shrink:0;margin:0}.check a{color:var(--brand);font-weight:700}.form-error{color:var(--error);margin:10px 0;font-size:14px}.auth{max-width:504px;min-height:100dvh;padding:max(32px, env(safe-area-inset-top)) var(--screen-margin) 32px;margin:auto}.auth-brand{margin-bottom:28px}.auth-panel{background:linear-gradient(145deg,#ffffffed,#f4fafae6);border:1px solid #ffffffa6;border-radius:28px;padding:32px;box-shadow:0 20px 70px #073f4610}.auth-panel>.sub{margin:12px 0 24px}.auth-panel h1{font-size:clamp(24px,4vw,30px)}.auth-panel .google-button{border:1px solid var(--input-border);background:#fff;min-height:48px}.auth-panel .google-button:hover:not(:disabled){background:#f1f8f8}.auth-password{display:block;position:relative}.auth-password input{padding-right:82px}.password-toggle{min-width:72px;color:var(--brand);background:0 0;border-radius:10px;padding:0 10px;font-size:13px;font-weight:800;position:absolute;top:3px;bottom:3px;right:4px}.password-hint{color:var(--text-secondary);font-size:12px;font-weight:600}.auth-legal{justify-content:center;gap:12px;padding:24px 0 0;font-size:13px;display:flex}.auth-legal a,.auth-note a{color:var(--text-secondary)}.auth-panel .form-error{background:#fff0ed;border-radius:12px;padding:12px}@media (width<=480px){.auth{padding-top:max(16px, env(safe-area-inset-top))}.auth-panel{border-radius:24px;padding:24px 20px}.auth-back{margin-bottom:16px}}.auth-back{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--surface);min-height:44px;color:var(--text-primary);align-items:center;gap:8px;margin-bottom:20px;padding:8px 14px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.auth-back:hover{background:var(--surface-accent)}.auth form{margin:12px 0 4px}.auth .primary-button{margin-top:8px}.google-button{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.auth-divider{color:var(--text-secondary);align-items:center;gap:12px;margin:20px 0;font-size:14px;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--border);flex:1}.auth-note{color:var(--text-secondary);text-align:center;margin:8px 0 0;font-size:13px}.auth-switch{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:0 6px;margin:12px 0 0;font-size:14px;display:flex}@media (width>=700px){body{padding-top:20px}.app{border-radius:25px 25px 0 0;min-height:calc(100dvh - 20px);box-shadow:0 10px 60px #073f4610}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none}}.row{justify-content:space-between;align-items:center;gap:10px;display:flex}.block{display:block}.muted{color:var(--text-secondary)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.section-head{margin:24px 0 12px}h3.section-head{font-size:18px}.form-context{margin:-8px 0 12px}.vehicle-select{width:100%;min-height:var(--tap);text-align:left;background:0 0;align-items:center;gap:10px;margin:4px 0 16px;padding:6px 0;display:flex}.vehicle-select .vehicle-icon{background:#dfebef;border-radius:13px;padding:10px;display:flex}.vehicle-select b{font-size:16px;display:block}.vehicle-select small{color:var(--text-secondary);margin-top:2px;font-size:13px;display:block}.vehicle-select .chevron{margin-left:auto;font-size:20px}.period{color:var(--text-secondary);align-items:center;gap:6px;margin:0 0 12px;font-size:13px;display:flex}.period .icon{width:16px;height:16px}.hero-card{border-radius:var(--radius-card);background:var(--glow-aqua), var(--gradient-brand);color:#fff;text-align:left;border:1px solid #ffffff20;width:100%;padding:22px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff20,0 10px 24px #07475220}.hero-card .label{color:#d0ecee;font-size:14px;font-weight:600}.hero-card .value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:6px 0 10px;font-size:38px;font-weight:800;line-height:1.2;display:block}.hero-card .value small{font-size:20px;font-weight:600}.hero-card .help{text-align:center;border:1px solid #9fc9d0;border-radius:50%;width:22px;height:22px;font-size:13px;line-height:20px;position:absolute;top:20px;right:20px}.hero-card .trend{color:#d7fbf6;background:#ffffff18;border:1px solid #ffffff1c;border-radius:8px;padding:5px 10px;font-size:13px;display:inline-block}.hero-card .explain{color:#d0ecee;margin-top:12px;font-size:13px;display:block}.stats{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 8px;display:grid}.stat{text-align:left;background:linear-gradient(135deg,#fffffff5,#ffffffad);border:1px solid #dce7eb;border-radius:18px;min-height:100px;padding:15px 14px;box-shadow:0 4px 14px #073f4605}.stat>span{color:var(--text-secondary);margin-bottom:6px;font-size:13px;display:block}.stat strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.stat strong small{font-size:13px;font-weight:600}.stat>small{color:var(--text-secondary);margin-top:5px;font-size:12px;display:block}.distribution{border-radius:10px;gap:4px;height:10px;margin:12px 0;display:flex;overflow:hidden}.legend{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.legend>div{color:var(--text-secondary);font-size:13px}.legend b{color:var(--text-primary);margin-top:4px;font-size:14px;display:block}.dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.record{border-bottom:1px solid var(--border);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.record-icon{background:var(--surface-accent);color:var(--brand);border-radius:14px;padding:11px;display:flex}.record-icon.maintenance{color:#456780;background:#e3eaf4}.record-icon.other{color:#596783;background:#e8e9f1}.record-icon.income{color:var(--success);background:#dff3e9}.record-text{min-width:0}.record-text b{font-size:15px;display:block}.record-text small{color:var(--text-secondary);margin-top:3px;font-size:13px;display:block}.record strong{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:15px;font-weight:800}.month-nav{text-transform:capitalize;justify-content:space-between;align-items:center;margin-top:18px;display:flex}.filter{width:100%;min-height:var(--tap);border:1px solid var(--input-border);border-radius:var(--radius-field);background:var(--surface);color:var(--text-primary);margin-top:12px;padding:10px;font-size:16px}.formula{padding:12px 0;font-size:15px;line-height:1.8}.formula strong{font-size:22px}.formula hr{border:0;border-top:1px solid #c9dce2;margin:12px 0}.consumption-value{gap:2px;margin-bottom:8px;display:grid}.consumption-value strong{letter-spacing:-.03em;font-size:36px;font-weight:800}.cycle,.archived{border-bottom:1px solid var(--border);min-height:48px}.segmented-field{border:0;margin:15px 0;padding:0}.segmented-field legend{margin-bottom:6px;font-size:14px;font-weight:800}.segmented{background:#e1eaee;border-radius:14px;padding:4px;display:flex}.segmented button{min-height:42px;color:var(--text-secondary);background:0 0;border-radius:10px;flex:1;font-size:14px;font-weight:800}.segmented button.active{color:var(--text-primary);background:#fff;box-shadow:0 2px 5px #073f4608}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-row .field{margin:15px 0 0}.field.has-error input,.field.has-error select{border-color:var(--error);border-width:2px}.field-error{color:var(--error);font-size:13px;font-weight:600}.form-help{color:var(--text-secondary);margin:6px 0;font-size:13px;font-weight:400;line-height:1.5}details.more{border:1px solid var(--border);border-radius:var(--radius-field);background:var(--surface);margin:12px 0;padding:0 14px}details.more summary{min-height:var(--tap);cursor:pointer;align-items:center;font-size:14px;font-weight:800;display:flex}.button-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.secondary-button{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-button);background:var(--surface);color:var(--text-primary);padding:12px 16px;font-weight:800}.secondary-button.wide{width:100%;margin-top:12px}.danger-button{min-height:var(--tap);border-radius:var(--radius-button);background:var(--error);color:#fff;padding:12px 16px;font-weight:800}.vehicle-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);margin-top:15px;padding:19px}.vehicle-card.selected{border:2px solid #007c82;padding:18px}.vehicle-card .vehicle-art{background:radial-gradient(at 100%,#60d2d42b,#0000),linear-gradient(130deg,#edf6f9,#d7e8ef);border-radius:16px;place-items:center;height:84px;margin-bottom:16px;display:grid}.vehicle-art .icon{stroke-width:1.1px;width:70px;height:57px}.vehicle-card .primary-button{margin-top:15px}.choice[aria-pressed=true]{border:2px solid #007c82}.toast{bottom:calc(96px + env(safe-area-inset-bottom));z-index:15;background:var(--text-primary);width:min(90%,400px);box-shadow:var(--shadow-soft);color:#fff;border-radius:14px;padding:13px 16px;font-size:14px;display:none;position:fixed;left:50%;transform:translate(-50%)}.toast.visible{display:block}.link-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.account-signout{margin-top:20px}.danger-text{color:var(--error);margin-top:12px;display:block}.pick-list{border:1px solid var(--border);border-radius:var(--radius-field);background:var(--surface);max-height:46dvh;display:grid;overflow-y:auto}.pick{min-height:var(--tap);border-bottom:1px solid var(--border);text-align:left;background:0 0;padding:12px 14px;font-size:15px}.pick:last-child{border-bottom:0}.wizard-trail{align-items:center;gap:12px;margin-bottom:4px;display:flex}.wizard-question{margin:8px 0 4px;font-size:18px}.wizard>.secondary-button.wide{margin-top:16px}.fipe{background:var(--background);border-radius:14px;gap:2px;margin-top:12px;padding:12px 14px;display:grid}.fipe-label{color:var(--text-secondary);font-size:13px}.fipe strong{font-variant-numeric:tabular-nums;font-size:20px}.fipe .form-help{margin:0}.fipe-manual{margin-top:4px}.vehicle-actions{justify-content:center;gap:24px;display:flex}.ipva{border-top:1px solid var(--border);gap:2px;margin-top:10px;padding-top:10px;display:grid}.ipva strong small,.ipva-monthly small{color:var(--text-secondary);font-size:13px;font-weight:600}.ipva-monthly{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}fieldset.segmented{border:0;min-width:0;margin:0}.mode-switch{margin-bottom:16px}.period-switch{margin-bottom:14px}.money-grid{grid-template-columns:1fr 1fr;gap:10px;padding:14px 0 4px;display:grid}.money-grid small{color:var(--text-secondary);font-size:13px}.money-grid strong{font-variant-numeric:tabular-nums;margin-top:3px;font-size:19px;display:block}.inline-link{color:inherit;background:0 0;padding:0;font-weight:800;text-decoration:underline}.share-form{margin-top:8px}.agenda-card{border:1px solid var(--border);background:var(--surface);border-radius:19px;margin-top:12px;padding:16px}.agenda-card.status-overdue{border-color:#e5b9a0}.agenda-card.completed{opacity:.7}.agenda-card h3{margin:0}.agenda-card .sub{margin-top:4px}.tag{background:var(--surface-accent);border-radius:8px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-block}.tag.overdue{background:var(--warning-bg);color:var(--warning-text)}.agenda-item{border-bottom:1px solid var(--border);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 0;display:flex}.agenda-item .chevron{color:var(--text-secondary);margin-left:auto;font-size:22px}.status-dot{background:var(--cat-maintenance);border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-dot.overdue{background:#c8682f}.status-dot.soon{background:#e3a33b}.status-dot.check{border:2px solid var(--text-secondary);background:0 0}.agenda-group .count{color:var(--text-secondary);margin-left:6px;font-weight:600}details.agenda-group summary{min-height:var(--tap);cursor:pointer;align-items:center;margin-top:16px;font-size:16px;font-weight:800;display:flex}.stack{gap:10px;margin-top:14px;display:grid}.button-row.three{grid-template-columns:repeat(3,1fr)}.notice.question p{margin-bottom:4px}
