:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;--surface: #ffffff;--surface-muted: #f1f5f9;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--primary: #0f172a;--success: #0f766e;--danger: #b91c1c;--radius: 18px;--shadow: 0 18px 45px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f8fafc;color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.center-shell,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.loading-card,.setup-card,.first-space-card,.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.loading-card{padding:26px 32px;color:var(--muted)}.setup-card,.first-space-card{width:min(920px,100%);padding:34px}.setup-card pre{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:14px;padding:16px;overflow:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}.brand-large{font-size:1.18rem;margin-bottom:26px}.brand-mark{width:34px;height:34px;border-radius:11px;background:#0f172a;color:#fff;display:grid;place-items:center;font-size:.8rem;letter-spacing:.04em}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(360px,460px);gap:72px;max-width:1180px;margin:0 auto}.auth-copy h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98;letter-spacing:-.06em;margin:0 0 24px;max-width:780px}.auth-copy>p{color:var(--muted);font-size:1.1rem;max-width:660px;line-height:1.65}.auth-points{display:grid;gap:10px;margin-top:28px;color:#334155}.auth-card{padding:30px}.auth-card h2{margin:0 0 24px}.auth-card form{display:grid;gap:16px}label{display:grid;gap:7px;font-size:.9rem;font-weight:650;color:#334155}input,select{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 13px;outline:none;background:#fff;color:var(--text)}input:focus,select:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826}.primary-button,.secondary-button,.quick-button{border:0;border-radius:12px;min-height:44px;padding:0 16px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{background:var(--primary);color:#fff}.secondary-button{background:#eef2f7;color:#0f172a}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:default}.text-button{border:0;background:transparent;color:#334155;font-weight:700;padding:9px 0;display:inline-flex;align-items:center;gap:4px}.text-button.inline{padding:0}.form-message{margin:10px 0 0;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;font-size:.9rem}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:11px 14px;margin-bottom:16px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.choice-card{border:1px solid var(--border);border-radius:18px;padding:22px;display:grid;gap:12px;align-content:start}.choice-card h2,.choice-card p{margin:0}.choice-card p{color:var(--muted);line-height:1.5}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;border-right:1px solid var(--border);background:#fffffff5;padding:26px 18px;display:flex;flex-direction:column;z-index:20}.sidebar nav{display:grid;gap:7px;margin-top:34px}.sidebar-bottom{margin-top:auto}.nav-button{width:100%;border:0;background:transparent;color:#64748b;border-radius:11px;min-height:44px;display:flex;align-items:center;gap:11px;padding:0 12px;font-weight:700;text-align:left}.nav-button.active{background:#f1f5f9;color:#0f172a}.logout-button{width:100%;border:0;background:transparent;padding:11px 12px;display:flex;gap:10px;color:#64748b;font-weight:700}.content{grid-column:2;width:min(1160px,100%);padding:34px 38px 70px;margin:0 auto}.topbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.topbar h1{margin:4px 0 0;font-size:2rem;letter-spacing:-.035em}.eyebrow{margin:0;color:#64748b;font-weight:750;font-size:.78rem;letter-spacing:.075em;text-transform:uppercase}.top-actions{display:flex;gap:10px}.quick-button{color:#fff}.quick-button.expense{background:#991b1b}.quick-button.income{background:#0f766e}.mobile-nav{display:none}.page-stack{display:grid;gap:18px}.hero-balance{background:#0f172a;color:#fff;border-radius:24px;padding:28px 30px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;box-shadow:var(--shadow)}.hero-balance p{color:#94a3b8;margin:0 0 6px;font-weight:700}.hero-balance strong{display:block;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.05em}.hero-balance span{display:block;color:#94a3b8;margin-top:4px;font-size:.88rem}.hero-divider{width:1px;height:76px;background:#334155}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:19px}.metric-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f1f5f9;margin-bottom:18px}.metric-card p{color:var(--muted);margin:0 0 5px;font-size:.88rem;font-weight:650}.metric-card strong{display:block;font-size:1.5rem;letter-spacing:-.025em}.metric-card span{display:block;margin-top:5px;color:#94a3b8;font-size:.82rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.panel-heading h2{margin:3px 0 0;font-size:1.2rem}.transaction-list{display:grid}.transaction-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #f1f5f9}.transaction-row:last-child{border-bottom:0}.transaction-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.transaction-icon.expense{background:#fef2f2;color:#b91c1c}.transaction-icon.income{background:#f0fdfa;color:#0f766e}.transaction-main{min-width:0}.transaction-main strong,.transaction-main span{display:block}.transaction-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-main span{color:var(--muted);font-size:.8rem;margin-top:3px}.transaction-value{white-space:nowrap}.transaction-value.expense{color:#991b1b}.transaction-value.income{color:#0f766e}.empty-state{padding:32px 12px;text-align:center;color:var(--muted);border:1px dashed #cbd5e1;border-radius:14px}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.search-input{max-width:360px}.segmented{display:flex;background:#f1f5f9;border-radius:11px;padding:3px}.segmented button{border:0;background:transparent;padding:8px 11px;border-radius:9px;font-size:.84rem;font-weight:700;color:#64748b}.segmented button.active{background:#fff;color:#0f172a;box-shadow:0 1px 4px #0f172a14}.settings-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:start}.account-list{display:grid}.account-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #f1f5f9}.account-row strong,.account-row span{display:block}.account-row span,.muted{color:var(--muted);font-size:.86rem;line-height:1.55}.inline-form{display:flex;gap:9px;margin-top:16px;align-items:end}.inline-form input{min-width:0}.invite-code{margin-top:16px;border:1px dashed #cbd5e1;border-radius:13px;padding:12px;display:grid;gap:8px}.invite-code span{font-size:.8rem;color:var(--muted);font-weight:700}.invite-code code{overflow-wrap:anywhere}.modal-backdrop{position:fixed;inset:0;background:#0f172a8a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px;z-index:100}.transaction-modal{width:min(600px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:22px;padding:24px;box-shadow:0 28px 70px #0f172a40}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-heading h2{margin:3px 0 0;font-size:1.5rem}.icon-button{width:38px;height:38px;border-radius:11px;border:1px solid var(--border);background:#fff;display:grid;place-items:center}.quick-fields{display:grid;grid-template-columns:1.4fr .8fr;gap:12px}.money-field{display:flex;align-items:center;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.money-field:focus-within{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826}.money-field span{padding-left:12px;color:#64748b}.money-field input{border:0;box-shadow:none!important;padding-left:7px}.defaults-summary{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#64748b;font-size:.86rem;background:#f8fafc;border-radius:11px;padding:10px 12px}.advanced-toggle{margin:12px 0 0;border:0;background:transparent;padding:6px 0;display:flex;align-items:center;gap:5px;color:#475569;font-weight:750}.advanced-toggle svg{transition:transform .18s ease}.advanced-toggle svg.rotate{transform:rotate(180deg)}.advanced-fields{margin-top:10px;padding-top:14px;border-top:1px solid var(--border);display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:11px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.check-row input{width:17px;height:17px;margin-top:2px}.check-row strong,.check-row small{display:block}.check-row small{color:var(--muted);font-weight:450;margin-top:3px;line-height:1.4}.option-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.modal-actions button{min-width:104px}@media(max-width:900px){.auth-shell{grid-template-columns:1fr;gap:28px;max-width:680px}.auth-copy h1{font-size:clamp(2.5rem,10vw,4rem)}.sidebar{display:none}.app-shell{grid-template-columns:1fr}.content{grid-column:1;padding:24px 20px 92px}.mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:50;background:#fffffff5;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:5px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav .nav-button{flex-direction:column;justify-content:center;gap:2px;min-height:54px;font-size:.7rem;padding:4px}.metric-grid{grid-template-columns:1fr 1fr 1fr}.settings-grid{grid-template-columns:1fr}}@media(max-width:640px){.center-shell,.auth-shell{padding:16px}.auth-card,.setup-card,.first-space-card{padding:22px;border-radius:20px}.choice-grid{grid-template-columns:1fr}.content{padding:18px 14px 90px}.topbar{align-items:start;margin-bottom:18px}.topbar h1{font-size:1.55rem}.top-actions{position:fixed;right:14px;bottom:84px;z-index:55;flex-direction:column;align-items:stretch}.quick-button{box-shadow:0 10px 24px #0f172a29;min-height:42px;padding:0 13px}.hero-balance{grid-template-columns:1fr 1fr;padding:22px 18px;gap:16px}.hero-divider{display:none}.hero-balance strong{font-size:1.75rem}.metric-grid{grid-template-columns:1fr}.metric-card{display:grid;grid-template-columns:38px 1fr;column-gap:12px;align-items:center}.metric-icon{grid-row:1 / span 3;margin:0}.metric-card p,.metric-card strong,.metric-card span{grid-column:2}.panel{padding:17px 14px;border-radius:16px}.panel-heading{align-items:start}.transaction-row{grid-template-columns:38px 1fr}.transaction-value{grid-column:2;margin-top:-4px}.filter-row{align-items:stretch;flex-direction:column}.search-input{max-width:none}.segmented{width:100%}.segmented button{flex:1}.inline-form{flex-direction:column;align-items:stretch}.transaction-modal{padding:20px 16px;border-radius:18px}.quick-fields,.form-grid{grid-template-columns:1fr}.modal-actions{position:sticky;bottom:-20px;background:#fff;padding:13px 0 4px}}.sidebar-close,.mobile-menu{display:none}.topbar-title{display:flex;align-items:center;gap:12px}.sidebar-overlay{display:none}.auth-links{display:flex;justify-content:space-between;gap:14px;margin-top:8px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:0 12px;background:#fff;flex:1;max-width:390px}.search-box input{border:0;box-shadow:none!important;padding-left:0}.filter-cluster{display:flex;align-items:center;gap:10px}.filter-cluster>select{width:auto;min-width:180px}.transaction-row{grid-template-columns:42px minmax(0,1fr) auto auto}.transaction-row.cancelled{opacity:.52}.row-actions{display:flex;align-items:center;gap:4px}.row-actions button{border:0;background:transparent;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#64748b}.row-actions button:hover{background:#f1f5f9;color:#0f172a}.account-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.account-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-width:0}.account-card-head{display:flex;justify-content:space-between;align-items:start}.account-card p{margin:14px 0 2px;color:var(--muted);font-size:.8rem}.account-card h2{margin:0;font-size:1.06rem}.account-card>strong{display:block;font-size:1.55rem;margin-top:16px;letter-spacing:-.03em}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;min-height:36px}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#f1f5f9;padding:5px 9px;font-size:.72rem;font-weight:800;color:#475569}.badge.light{background:#ffffff29;color:#fff}.icon-button.subtle{border-color:transparent;background:#f8fafc;color:#64748b}.form-footer{display:flex;justify-content:flex-end;margin-top:16px}.category-list,.management-list{display:grid}.category-row,.management-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #f1f5f9}.category-row:last-child,.management-row:last-child{border-bottom:0}.category-info{flex:1;min-width:0}.category-info strong,.category-info span,.category-info small,.management-row strong,.management-row span{display:block}.category-info span,.management-row span{color:var(--muted);font-size:.8rem;margin-top:3px}.category-info small{color:var(--muted);margin-top:5px}.progress{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:9px;max-width:440px}.progress i{display:block;height:100%;background:#0f766e;border-radius:inherit}.report-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}.bar-chart{height:290px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:end;border-bottom:1px solid var(--border);padding:18px 8px 0}.bar-group{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;align-items:end;text-align:center;color:var(--muted);font-size:.72rem}.bars{height:100%;display:flex;align-items:end;justify-content:center;gap:5px}.bar{width:min(18px,38%);min-height:3px;border-radius:6px 6px 2px 2px;display:block}.bar.income,.dot.income{background:#0f766e}.bar.expense,.dot.expense{background:#b91c1c}.legend{display:flex;gap:16px;margin-top:14px;color:var(--muted);font-size:.8rem}.legend span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:999px;display:inline-block}.ranking-list{display:grid;gap:15px}.ranking-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.85rem}.ranking-row span{color:var(--muted)}.rank-bar{height:7px;margin-top:7px;background:#f1f5f9;border-radius:999px;overflow:hidden}.rank-bar i{display:block;height:100%;background:#334155;border-radius:inherit}.supermarket-hero{background:#0f172a;color:#fff;border-radius:24px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:24px}.supermarket-hero h2{font-size:clamp(1.6rem,4vw,2.5rem);letter-spacing:-.04em;margin:12px 0 10px}.supermarket-hero p{color:#cbd5e1;max-width:760px;line-height:1.65;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px}.feature-card h3{margin:0 0 8px}.feature-card p{color:var(--muted);line-height:1.55;margin:0}.settings-note{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.settings-note strong,.settings-note span{display:block}.settings-note span{color:var(--muted);margin-top:4px;font-size:.86rem}.mobile-add{display:none}@media(max-width:1100px){.account-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}}@media(max-width:900px){.sidebar{display:flex;transform:translate(-105%);transition:transform .2s ease;box-shadow:18px 0 55px #0f172a29}.sidebar.open{transform:translate(0)}.sidebar-close{display:grid;position:absolute;right:14px;top:20px}.sidebar-overlay{display:block;position:fixed;inset:0;background:#0f172a59;z-index:19}.mobile-menu{display:grid}.mobile-nav{grid-template-columns:repeat(5,1fr)}.mobile-add{border:0;width:48px;height:48px;align-self:center;justify-self:center;border-radius:16px;background:#0f172a;color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px #0f172a38}.feature-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}}@media(max-width:640px){.top-actions{display:none}.topbar{align-items:center}.account-cards,.form-grid.three{grid-template-columns:1fr}.filter-cluster{flex-direction:column;align-items:stretch}.filter-cluster>select{width:100%}.search-box{max-width:none}.transaction-row{grid-template-columns:38px minmax(0,1fr) auto}.transaction-value{grid-column:2}.transaction-row .row-actions{grid-column:3;grid-row:1 / span 2;flex-direction:column}.supermarket-hero{align-items:flex-start}.supermarket-hero>svg{display:none}.bar-chart{gap:5px;padding-left:0;padding-right:0}.auth-links{flex-direction:column;gap:0}}.transactions-toolbar{align-items:flex-start;gap:14px;flex-wrap:wrap}.transactions-toolbar .search-box{min-width:260px;flex:1}.list-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 16px;border-bottom:1px solid var(--border);margin-bottom:4px;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.control-group>span{font-size:12px;color:var(--muted);font-weight:700}.secondary-button.compact{min-height:38px;padding:8px 12px;display:inline-flex;align-items:center;gap:7px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 2px 2px;color:var(--muted);font-size:13px}.pagination>div{display:flex;gap:6px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.recurrence-icon{color:var(--muted);flex:0 0 auto}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.report-main{overflow:hidden}.report-heading{align-items:flex-start;gap:16px}.period-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 10px}.period-nav strong{text-transform:capitalize;min-width:180px;text-align:center}.line-chart-wrap{position:relative;padding:16px 6px 2px;margin-top:4px}.line-chart{display:block;width:100%;height:280px;overflow:visible}.chart-grid-line{stroke:var(--border);stroke-width:.35;vector-effect:non-scaling-stroke}.balance-line{fill:none;stroke:var(--primary);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.chart-y-label{position:absolute;left:8px;font-size:11px;color:var(--muted);background:var(--surface);padding:2px 5px;border-radius:6px;z-index:1}.chart-y-label.top{top:4px}.chart-x-labels{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:11px;padding:0 3px}.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}@media(max-width:760px){.list-controls,.control-group{align-items:stretch}.list-controls{flex-direction:column}.control-group{width:100%}.control-group select,.control-group .secondary-button{flex:1}.report-heading{flex-direction:column}.report-heading .segmented{width:100%}.report-heading .segmented button{flex:1}.line-chart{height:220px}.report-metrics,.form-grid.two{grid-template-columns:1fr}.period-nav strong{min-width:0;flex:1}.transaction-row{grid-template-columns:auto minmax(0,1fr) auto}.transaction-row .row-actions{grid-column:2/-1;justify-content:flex-end}.recurrence-icon{display:none}}.transaction-row.clickable{cursor:pointer;transition:background .15s ease}.transaction-row.clickable:hover{background:var(--surface-2,#f8fafc)}.info-box{background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--muted);font-size:.86rem;line-height:1.5}.badge-stack{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.mini-actions{display:flex;gap:8px;flex-wrap:wrap}.category-emoji{width:36px;height:36px;border-radius:10px;background:#f8fafc;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.category-row{justify-content:flex-start}.category-row .row-actions{margin-left:auto}.period-nav{flex-wrap:wrap}.today-button{margin-left:6px}.report-metrics.enhanced .metric-card{min-height:150px;padding:20px}.report-metrics.enhanced .metric-card strong{font-size:clamp(1.4rem,3vw,2rem);line-height:1.1;letter-spacing:-.04em}.settings-options{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--border)}.settings-options:first-of-type{border-top:0}.settings-options strong,.settings-options span{display:block}.settings-options span{color:var(--muted);font-size:.84rem;margin-top:4px}.active-toggle{background:#0f172a!important;color:#fff!important}.member-list{display:grid;margin-bottom:16px}.privacy-mode .hero-balance strong,.privacy-mode .metric-card strong,.privacy-mode .transaction-value,.privacy-mode .account-card>strong,.privacy-mode .private-value{filter:blur(7px);-webkit-user-select:none;user-select:none;transition:filter .15s ease}:root[data-theme=dark]{--bg:#0b1220;--surface:#111827;--surface-2:#182235;--border:#263244;--text:#f8fafc;--muted:#94a3b8;--primary:#5eead4;color-scheme:dark}:root[data-theme=dark] body{background:var(--bg);color:var(--text)}:root[data-theme=dark] .panel,:root[data-theme=dark] .account-card,:root[data-theme=dark] .metric-card,:root[data-theme=dark] .feature-card,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .choice-card,:root[data-theme=dark] .setup-card,:root[data-theme=dark] .loading-card,:root[data-theme=dark] .transaction-modal{background:var(--surface);border-color:var(--border);color:var(--text)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:#0f172a;border-color:var(--border);color:var(--text)}:root[data-theme=dark] .icon-button.subtle,:root[data-theme=dark] .badge,:root[data-theme=dark] .category-emoji,:root[data-theme=dark] .info-box{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .transaction-row.clickable:hover{background:var(--surface-2)}:root[data-theme=dark] .progress,:root[data-theme=dark] .rank-bar{background:#243045}@media(max-width:760px){.today-button{width:100%;justify-content:center;margin-left:0}.settings-options{align-items:flex-start;flex-direction:column}}.entity-name-button{border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;font-weight:750;text-align:left;cursor:pointer}.entity-name-button:hover{text-decoration:underline}.account-name-button{font-size:1.25rem;line-height:1.25;margin:3px 0 8px;text-decoration:none!important}.balance-point-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(118px,1fr);gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.balance-point-card{border:1px solid var(--border);background:var(--surface-2,#f8fafc);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px;min-height:76px}.balance-point-card span{font-size:12px;color:var(--muted);text-transform:capitalize}.balance-point-card strong{font-size:14px;white-space:nowrap}.balance-point-card small{font-size:10px;color:var(--muted)}.chart-granularity{text-align:center;margin:7px 0 0}.privacy-setting{align-items:flex-start}.privacy-segmented{flex-wrap:wrap}.privacy-segmented button{display:flex;align-items:center;gap:5px}@media(max-width:760px){.balance-point-strip{grid-auto-columns:minmax(110px,42%)}.privacy-setting{flex-direction:column}.privacy-segmented{width:100%}.privacy-segmented button{flex:1;justify-content:center}}.choice-modal{width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:0 28px 70px #0f172a47}.choice-action-list{display:grid;gap:10px;margin-top:20px}.choice-action,.danger-choice,.danger-button{border:0;border-radius:12px;min-height:44px;padding:0 16px;font-weight:750}.choice-action{background:var(--primary);color:#fff}.danger-choice,.danger-button{background:#b91c1c;color:#fff}.entity-form-modal{width:min(680px,100%)}.defaults-checks{margin-top:16px}.transaction-help{margin:4px 0 16px;padding:10px 12px;background:var(--surface-muted);border-radius:10px}.privacy-select-label{min-width:260px}.chart-point-layer{position:absolute;inset:16px 6px 2px;pointer-events:none}.chart-point{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;z-index:3}.chart-point-dot{width:9px;height:9px;border-radius:999px;background:var(--primary);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--primary)}.chart-point strong{font-size:11px;line-height:1;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:4px 5px;white-space:nowrap;box-shadow:0 3px 10px #0f172a14}.chart-point small{font-size:9px;color:var(--muted);text-transform:capitalize;background:var(--surface);padding:1px 3px;border-radius:4px}:root[data-theme=dark] .sidebar{background:#0b1220f7;border-color:var(--border)}:root[data-theme=dark] .sidebar .brand{color:#f8fafc}:root[data-theme=dark] .sidebar .brand-mark{background:#f8fafc;color:#0f172a;border:1px solid #334155;box-shadow:0 4px 14px #00000038}:root[data-theme=dark] .nav-button{color:#94a3b8}:root[data-theme=dark] .nav-button.active{background:#182235;color:#f8fafc}:root[data-theme=dark] .logout-button,:root[data-theme=dark] .text-button{color:#cbd5e1}:root[data-theme=dark] label{color:#dbeafe}:root[data-theme=dark] .secondary-button{background:#263244;color:#f8fafc}:root[data-theme=dark] .segmented{background:#182235}:root[data-theme=dark] .segmented button{color:#a8b5c7}:root[data-theme=dark] .segmented button.active{background:#334155;color:#fff;box-shadow:none}:root[data-theme=dark] .search-box,:root[data-theme=dark] .money-field{background:#0f172a;border-color:var(--border)}:root[data-theme=dark] .defaults-summary,:root[data-theme=dark] .transaction-help{background:#182235;color:#cbd5e1}:root[data-theme=dark] .transaction-row,:root[data-theme=dark] .category-row,:root[data-theme=dark] .management-row,:root[data-theme=dark] .account-row{border-color:#263244}:root[data-theme=dark] .row-actions button:hover{background:#263244;color:#fff}:root[data-theme=dark] .modal-actions{background:transparent}:root[data-theme=dark] .mobile-nav{background:#111827f7;border-color:var(--border)}:root[data-theme=dark] .choice-modal{background:var(--surface);color:var(--text)}:root[data-theme=dark] .chart-point strong,:root[data-theme=dark] .chart-point small{background:#111827}:root[data-theme=dark] .chart-point-dot{border-color:#111827}:root[data-theme=dark] .form-message{background:#422006;border-color:#78350f;color:#fde68a}:root[data-theme=dark] .error-banner{background:#450a0a;border-color:#7f1d1d;color:#fecaca}@media(max-width:760px){.option-row.defaults-checks{grid-template-columns:1fr}.privacy-select-label{min-width:0;width:100%}.chart-point strong{font-size:10px}.chart-point small{display:none}}.bank-badge{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:.86rem;letter-spacing:-.03em;border:1px solid var(--border);background:#f8fafc;color:#0f172a;box-shadow:inset 0 0 0 1px #ffffff59}.bank-badge.bank-nubank{background:#820ad1;color:#fff;border-color:#820ad1}.bank-badge.bank-itau{background:#ec7000;color:#fff;border-color:#ec7000}.bank-badge.bank-bradesco{background:#cc092f;color:#fff;border-color:#cc092f}.bank-badge.bank-santander{background:#ec0000;color:#fff;border-color:#ec0000}.bank-badge.bank-bb{background:#ffdf00;color:#153d8a;border-color:#e3c800}.bank-badge.bank-caixa{background:#005ca9;color:#fff;border-color:#005ca9}.bank-badge.bank-inter{background:#ff7a00;color:#fff;border-color:#ff7a00}.bank-badge.bank-c6{background:#1f2937;color:#fff;border-color:#1f2937}.bank-badge.bank-picpay{background:#21c25e;color:#fff;border-color:#21c25e}.bank-badge.bank-mercadopago{background:#00a8e0;color:#fff;border-color:#00a8e0}.bank-badge.bank-sicredi{background:#43a047;color:#fff;border-color:#43a047}.bank-badge.bank-sicoob{background:#0b7765;color:#fff;border-color:#0b7765}.account-default-checks{display:flex;align-items:center;gap:18px;margin-top:17px;padding-top:14px;border-top:1px solid var(--border)}.account-default-checks label,.default-inline-checks label{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:750;color:var(--text);cursor:pointer;white-space:nowrap}.account-default-checks input,.default-inline-checks input{width:17px;height:17px;margin:0;accent-color:var(--primary)}.payment-row{align-items:center}.payment-main{min-width:0;flex:1}.payment-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex:0 0 auto}.default-inline-checks{display:flex;align-items:center;gap:14px;padding:6px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2,#f8fafc)}:root[data-theme=dark] .bank-badge.bank-generic{background:#263244;color:#f8fafc}:root[data-theme=dark] .default-inline-checks{background:#182235}@media(max-width:760px){.payment-row{align-items:flex-start;flex-direction:column}.payment-actions{width:100%;justify-content:space-between}.default-inline-checks{flex-wrap:wrap}.account-default-checks{justify-content:space-between}}.bank-icon-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;margin:4px 0 18px}.bank-icon-choice{display:flex;flex-direction:column;align-items:center;gap:7px;min-height:82px;padding:10px 8px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);cursor:pointer;transition:.15s ease}.bank-icon-choice:hover{border-color:var(--muted);transform:translateY(-1px)}.bank-icon-choice.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.bank-icon-choice small{font-size:11px;color:var(--muted);text-align:center;line-height:1.15}[data-theme=dark] .bank-icon-choice{background:var(--surface-2)}:root[data-theme=dark] .transaction-icon.expense{background:#f8717124;color:#fca5a5;border:1px solid rgba(248,113,113,.2)}:root[data-theme=dark] .transaction-icon.income{background:#2dd4bf24;color:#5eead4;border:1px solid rgba(45,212,191,.2)}.plan-hero{background:linear-gradient(135deg,#0f172a,#172554);color:#fff;border-radius:24px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow)}.plan-hero h2{font-size:2rem;margin:4px 0 8px}.plan-hero p{margin:0;color:#cbd5e1;line-height:1.55}.plan-hero .eyebrow{color:#93c5fd}.plan-price{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.plan-price strong{font-size:2.25rem;letter-spacing:-.05em}.plan-price span{color:#cbd5e1}.plan-status{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border)}.plan-status>div{display:flex;align-items:center;gap:12px}.plan-status strong,.plan-status span{display:block}.plan-status span{color:var(--muted);font-size:.84rem;margin-top:3px}.plan-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 24px;padding:22px 0;color:var(--text);font-weight:650}.plan-note{display:grid;gap:4px;background:var(--surface-muted);border-radius:12px;padding:13px 14px;margin-bottom:16px}.plan-note span{color:var(--muted);font-size:.85rem;line-height:1.45}:root[data-theme=dark] .plan-note{background:var(--surface-2)}@media(max-width:760px){.plan-hero{align-items:flex-start;flex-direction:column}.plan-features{grid-template-columns:1fr}}.transactions-primary-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.transactions-primary-toolbar .search-box{flex:1;min-width:230px}.status-segmented{flex:0 0 auto}.compact-select{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:12px}.compact-select select{min-width:68px}.advanced-filter-panel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:12px;margin:0 0 10px;background:var(--surface-2,#f8fafc);border:1px solid var(--border);border-radius:14px}.advanced-filter-panel label{margin:0}.clear-filters{min-height:42px;white-space:nowrap}.transaction-help-row{display:flex;align-items:flex-start;gap:8px;margin:2px 0 8px}.transaction-help-row .transaction-help{margin:0;flex:1}.help-button{flex:0 0 auto}.sync-button{opacity:.74}.sync-button:hover{opacity:1}.spin{animation:easyfinance-spin .8s linear infinite}@keyframes easyfinance-spin{to{transform:rotate(360deg)}}.amount-entry{display:flex!important;align-items:center}.amount-entry input{flex:1;min-width:0}.amount-ok{width:34px;height:34px;min-width:34px;border-radius:9px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.amount-ok:hover,.amount-ok.confirmed{background:#0f766e1f;color:#0f766e}.optional-label{font-size:11px;color:var(--muted);font-weight:500}.quick-due{grid-column:1/-1}.invite-form{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:8px;align-items:end}.member-actions{display:flex;gap:8px;align-items:center}.member-actions select{min-width:170px}:root[data-theme=dark] .quick-button.expense{background:#c24141;box-shadow:0 0 0 1px #ffffff14,0 8px 22px #c2414147}:root[data-theme=dark] .advanced-filter-panel{background:#182235}:root[data-theme=dark] .amount-ok.confirmed,:root[data-theme=dark] .amount-ok:hover{background:#173a38;color:#5eead4}@media(max-width:980px){.advanced-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.clear-filters{justify-self:start}.invite-form{grid-template-columns:1fr 1fr}.invite-form button{grid-column:1/-1}}@media(max-width:760px){.top-actions{gap:6px}.sync-button{order:-1;width:36px;height:36px}.quick-button{padding:0 10px}.quick-button.expense{font-weight:800}.hero-balance{padding:15px 14px;gap:10px;border-radius:17px}.hero-balance strong{font-size:1.35rem}.hero-balance p{font-size:.78rem}.hero-balance span{font-size:.72rem}.metric-grid{gap:8px}.metric-card{padding:11px 12px;min-height:0;grid-template-columns:30px 1fr!important;column-gap:8px}.metric-icon{width:30px;height:30px}.metric-card strong{font-size:1.08rem}.metric-card p{font-size:.76rem}.metric-card span{font-size:.72rem}.report-metrics.enhanced{gap:8px}.report-metrics.enhanced .metric-card{min-height:0;padding:11px 12px}.report-metrics.enhanced .metric-card strong{font-size:1.12rem}.transactions-primary-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.transactions-primary-toolbar .search-box{grid-column:1/-1;min-width:0}.status-segmented{grid-column:1/2;width:100%}.status-segmented button{flex:1;padding:0 8px}.filter-toggle{grid-column:2}.compact-select{grid-column:1/2}.csv-button{grid-column:2/4}.advanced-filter-panel{grid-template-columns:1fr;padding:10px}.clear-filters{width:100%;justify-content:center}.transaction-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;gap:5px 9px;padding:11px 2px}.transaction-icon{grid-row:1/3}.transaction-main{grid-column:2;grid-row:1/3;min-width:0}.transaction-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-main span{white-space:normal;line-height:1.25}.transaction-value{grid-column:3;grid-row:1;align-self:center;font-size:.92rem}.transaction-row .row-actions{grid-column:3;grid-row:2;justify-content:flex-end;gap:1px}.transaction-row .row-actions button{width:29px;height:29px}.recurrence-icon{display:none}.account-cards{display:block}.account-card{border-radius:0;border-left:0;border-right:0;border-top:0;padding:10px 2px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;box-shadow:none}.account-card-head{grid-column:1;grid-row:1/3;display:block}.account-card-head .row-actions{display:none}.account-card>p{display:none}.account-name-button{grid-column:2;grid-row:1;margin:0!important;font-size:.98rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-card>strong{grid-column:2;grid-row:2;margin:1px 0 0!important;font-size:1rem!important}.account-default-checks{grid-column:3;grid-row:1/3;margin:0!important;display:flex!important;flex-direction:column;gap:2px}.account-default-checks label{font-size:10px;white-space:nowrap}.account-card:after{content:"Editar";grid-column:3;grid-row:2;font-size:0}.invite-form{grid-template-columns:1fr}.invite-form button{grid-column:auto}.member-row{align-items:flex-start}.member-actions{width:100%;flex-direction:column;align-items:stretch}.member-actions select{min-width:0;width:100%}.quick-fields-value-first{grid-template-columns:1fr}.quick-due{grid-column:auto}}.swipe-chart{touch-action:pan-y;-webkit-user-select:none;user-select:none}.mobile-swipe-hint{display:none}.danger-zone{border-color:#dc262647}.danger-zone h2{color:#b91c1c}.danger-button{border:1px solid rgba(220,38,38,.35);background:#dc262614;color:#b91c1c;border-radius:10px;min-height:40px;padding:9px 13px;font-weight:750;cursor:pointer}.danger-button:hover{background:#dc262624}.danger-choice:disabled{opacity:.45;cursor:not-allowed}:root[data-theme=dark] .danger-zone{border-color:#f8717147}:root[data-theme=dark] .danger-zone h2,:root[data-theme=dark] .danger-button{color:#fca5a5}:root[data-theme=dark] .danger-button{background:#f8717114;border-color:#f8717140}@media(max-width:760px){.mobile-swipe-hint{display:inline}.transaction-row{grid-template-columns:32px minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:3px 8px;padding:9px 2px}.transaction-icon{grid-column:1;grid-row:1/3;width:32px;height:32px}.transaction-main{grid-column:2;grid-row:1/3;min-width:0}.transaction-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.92rem}.transaction-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.76rem;line-height:1.2}.transaction-value{grid-column:3;grid-row:1;align-self:center;font-size:.88rem;white-space:nowrap}.transaction-row .row-actions{grid-column:1/-1;grid-row:3;display:flex!important;flex-direction:row!important;justify-content:flex-end;align-items:center;gap:5px;padding-top:2px}.transaction-row .row-actions button{width:30px;height:28px;min-width:30px;padding:0;display:grid;place-items:center}}.member-identity{display:flex;flex-direction:column;gap:5px;min-width:0}.member-identity strong{overflow-wrap:anywhere}.access-badge{display:inline-flex;width:max-content;align-items:center;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:750;background:#f1f5f9;color:#475569}.access-badge.owner{background:#2563eb1a;color:#1d4ed8}.access-badge.read{background:#64748b1f;color:#475569}.access-badge.write{background:#0596691a;color:#047857}.member-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.danger-text{color:#b91c1c!important}.sharing-panel .member-list{margin-bottom:10px}:root[data-theme=dark] .access-badge{background:var(--surface-2);color:#cbd5e1}:root[data-theme=dark] .access-badge.owner{color:#93c5fd}:root[data-theme=dark] .access-badge.write{color:#6ee7b7}:root[data-theme=dark] .danger-text{color:#fca5a5!important}@media(max-width:720px){.member-row{flex-direction:column}.member-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.member-actions button{width:100%}}.pending-invites{display:grid;gap:8px;margin:4px 0 16px;padding-top:12px;border-top:1px solid var(--border)}.invite-status-row{gap:12px}.invite-status-row small{color:var(--muted)}.access-badge.pending{background:#f59e0b1f;color:#b45309}@media(max-width:720px){.invite-status-row{align-items:flex-start;flex-direction:column}.invite-status-row>button{width:100%}}.supermarket-live{background:linear-gradient(135deg,#0f766e,#115e59)}.supermarket-tabs{display:flex;gap:6px;overflow-x:auto;padding:3px;background:var(--surface-2,#f8fafc);border:1px solid var(--border);border-radius:14px;width:max-content;max-width:100%}.supermarket-tabs button{border:0;background:transparent;color:var(--muted);font-weight:750;padding:9px 13px;border-radius:10px;white-space:nowrap;cursor:pointer}.supermarket-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 2px 8px #0f172a14}.supermarket-message{margin:0}.supermarket-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.supermarket-metrics .metric-card{display:block}.supermarket-metrics .metric-card div{display:grid;gap:4px}.supermarket-metrics span,.supermarket-metrics small{color:var(--muted)}.supermarket-metrics strong{font-size:1.45rem}.routine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.routine-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:13px;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;cursor:pointer;color:var(--text)}.routine-card>div{min-width:0}.routine-card>div strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-card>div span{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.routine-card>strong{white-space:nowrap}.routine-card>small{grid-column:1/-1;display:flex;align-items:center;gap:4px;color:var(--muted)}.price-change-list{display:grid;gap:2px}.price-change-list button{display:grid;grid-template-columns:minmax(0,1fr) auto 76px;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:11px 2px;text-align:left;cursor:pointer}.price-change-list button:last-child{border-bottom:0}.price-change-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-change-list em{font-style:normal;font-weight:800;text-align:right}.expense-color{color:#dc2626!important}.income-color{color:#059669!important}.receipt-list{display:grid}.receipt-list button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:12px 2px;text-align:left;cursor:pointer}.receipt-list button:last-child{border-bottom:0}.receipt-list button>div{min-width:0}.receipt-list button>div strong,.receipt-list button>div span{display:block}.receipt-list button>div strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-list button>div span{color:var(--muted);font-size:.78rem;margin-top:2px}.receipt-list.compact button{padding:9px 2px}.nfce-import-panel>.muted{margin-top:-4px}.nfce-scan-actions{display:flex;align-items:center;gap:12px;margin:18px 0}.nfce-scan-actions>span{color:var(--muted);font-size:.8rem}.nfce-url{display:flex;gap:8px;flex:1}.nfce-url input{flex:1;min-width:0}.scanner-modal{position:relative;overflow:hidden;border-radius:18px;background:#020617;min-height:340px;margin:14px 0}.scanner-modal video{width:100%;height:420px;object-fit:contain;background:#020617;display:block}.scanner-heading{position:absolute;z-index:3;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;align-items:center;color:#fff;background:#020617b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:9px 11px}.scanner-heading .icon-button{color:#fff}.scanner-frame{position:absolute;z-index:2;width:min(70vw,280px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px #02061747;pointer-events:none}.scanner-tip{position:absolute;z-index:3;left:16px;right:16px;bottom:14px;color:#fff;text-align:center;font-size:.78rem;line-height:1.35;background:#020617b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:8px 10px}.nfce-preview{border-top:1px solid var(--border);padding-top:18px;margin-top:18px}.nfce-preview-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.nfce-preview-head h3{margin:8px 0 3px}.nfce-preview-head p{margin:0;color:var(--muted)}.nfce-preview-head>strong{font-size:1.35rem}.nfce-items{display:grid;margin:14px 0;border-top:1px solid var(--border)}.nfce-items>div{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--border)}.nfce-items>div>div{min-width:0}.nfce-items>div>div strong,.nfce-items>div>div span{display:block}.nfce-items>div>div strong{font-size:.88rem}.nfce-items>div>div span{font-size:.76rem;color:var(--muted);margin-top:2px}.nfce-items>div>strong{white-space:nowrap;font-size:.88rem}.nfce-finance-link{display:grid;gap:12px;padding:14px;background:var(--surface-2,#f8fafc);border-radius:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-actions.inline{position:static;padding:14px 0 0;margin:0;background:transparent}.link-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.supermarket-search{margin-bottom:8px}.product-history-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px}.product-list{display:grid;align-content:start;border-right:1px solid var(--border);padding-right:14px;max-height:620px;overflow:auto}.product-list button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:center;border:0;border-radius:11px;background:transparent;color:var(--text);text-align:left;padding:10px;cursor:pointer}.product-list button.active{background:var(--surface-2,#f8fafc)}.product-list button>div{min-width:0}.product-list button>div strong,.product-list button>div span{display:block}.product-list button>div strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-list button>div span{font-size:.72rem;color:var(--muted);margin-top:3px}.product-list button>strong{font-size:.82rem;white-space:nowrap}.product-detail{min-width:0}.product-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.product-detail-head h3{margin:0 0 4px}.product-detail-head span{font-size:.78rem;color:var(--muted)}.product-detail-head>strong{display:flex;align-items:center;gap:5px}.price-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.price-summary span{display:grid;gap:4px;border:1px solid var(--border);border-radius:12px;padding:10px}.price-summary small{color:var(--muted)}.price-history-list{display:grid}.price-history-list>div{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:center;border-bottom:1px solid var(--border);padding:10px 2px}.price-history-list>div>div strong,.price-history-list>div>div span{display:block}.price-history-list>div>div span{font-size:.75rem;color:var(--muted);margin-top:2px}.receipt-meta{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;color:var(--muted)}.receipt-meta strong{margin-left:auto;color:var(--text);font-size:1.2rem}.category-pie-wrap{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:center}.category-pie{width:220px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.category-pie>div{width:58%;aspect-ratio:1;border-radius:50%;background:var(--surface);display:grid;place-items:center;align-content:center;text-align:center;box-shadow:0 0 0 1px var(--border)}.category-pie>div strong{font-size:1rem}.category-pie>div span{font-size:.72rem;color:var(--muted)}.category-pie-legend{display:grid;gap:8px}.category-pie-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) 52px 92px;gap:8px;align-items:center}.category-pie-legend i{width:10px;height:10px;border-radius:50%}.category-pie-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-pie-legend strong{text-align:right}.category-pie-legend em{font-style:normal;text-align:right;color:var(--muted)}.pie-note{margin:14px 0 0}:root[data-theme=dark] .supermarket-tabs{background:#182235}:root[data-theme=dark] .supermarket-tabs button.active,:root[data-theme=dark] .routine-card{background:var(--surface)}:root[data-theme=dark] .nfce-finance-link,:root[data-theme=dark] .product-list button.active{background:#182235}:root[data-theme=dark] .category-pie>div{background:var(--surface)}@media(max-width:760px){.supermarket-tabs{width:100%;border-radius:12px}.supermarket-tabs button{flex:1}.supermarket-metrics{grid-template-columns:1fr 1fr;gap:8px}.supermarket-metrics .metric-card:last-child{grid-column:1/-1}.supermarket-metrics strong{font-size:1.12rem}.routine-grid{grid-template-columns:1fr}.price-change-list button{grid-template-columns:minmax(0,1fr) auto}.price-change-list button strong{font-size:.78rem}.price-change-list em{grid-column:2}.nfce-scan-actions{align-items:stretch;flex-direction:column}.nfce-scan-actions>span{text-align:center}.nfce-url{flex-direction:column}.scanner-modal video{height:360px}.nfce-preview-head{gap:8px}.nfce-preview-head>strong{font-size:1.05rem}.form-grid.three,.product-history-layout{grid-template-columns:1fr}.product-list{border-right:0;border-bottom:1px solid var(--border);padding:0 0 12px;max-height:300px}.price-summary{grid-template-columns:repeat(3,1fr)}.category-pie-wrap{grid-template-columns:1fr;justify-items:center;gap:18px}.category-pie{width:min(220px,70vw)}.category-pie-legend{width:100%}.category-pie-legend>div{grid-template-columns:10px minmax(0,1fr) 48px 84px}.receipt-meta strong{width:100%;margin-left:0}.receipt-list button{grid-template-columns:24px minmax(0,1fr) auto}.receipt-list button>strong{font-size:.86rem}}.collective-data-panel .settings-options{align-items:flex-start}.switch-row{display:flex;align-items:center;gap:8px;white-space:nowrap;font-weight:750}.switch-row input{width:18px;height:18px;accent-color:var(--primary)}@media(max-width:760px){.collective-data-panel .settings-options{align-items:flex-start;flex-direction:column}.switch-row{width:100%;justify-content:flex-start}}.market-ranking{display:grid;gap:8px;margin-top:14px}.market-ranking button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px 14px;cursor:pointer;color:inherit}.market-ranking button:hover{border-color:var(--primary);transform:translateY(-1px)}.market-ranking button>div{display:grid;gap:3px;min-width:0}.market-ranking button>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-ranking button>div span{font-size:.82rem;color:var(--muted)}.market-ranking .rank-number{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--surface-2);font-weight:800;font-size:.82rem}.compact-ranking button{padding-top:10px;padding-bottom:10px}.supermarket-feedback-modal{max-width:460px}.price-perception-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 12px}.price-perception-options button{display:grid;place-items:center;gap:7px;min-height:92px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:inherit;cursor:pointer;font:inherit}.price-perception-options button:hover{border-color:var(--primary);background:var(--surface-2)}.price-perception-options button span{font-size:1.6rem}.feedback-skip{width:100%;justify-content:center}.feedback-note{display:block;margin-top:12px;color:var(--muted);line-height:1.45}.supermarket-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.supermarket-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.supermarket-metrics{grid-template-columns:1fr 1fr}.market-ranking button{grid-template-columns:28px minmax(0,1fr)}.market-ranking button>strong{grid-column:2}.price-perception-options{grid-template-columns:1fr}.price-perception-options button{min-height:62px;grid-template-columns:auto auto;justify-content:center}.price-perception-options button span{font-size:1.25rem}}@media(max-width:760px){.supermarket-metrics .metric-card:last-child{grid-column:auto}}:root[data-theme=dark] .mobile-nav .nav-button{color:#cbd5e1}:root[data-theme=dark] .mobile-nav .nav-button svg{color:#e2e8f0;stroke:currentColor}:root[data-theme=dark] .mobile-nav .nav-button.active{background:#243247;color:#5eead4}:root[data-theme=dark] .mobile-nav .nav-button.active svg{color:#5eead4}:root[data-theme=dark] .mobile-add{background:#334155;color:#fff;box-shadow:0 8px 20px #00000052,0 0 0 1px #ffffff14}:root[data-theme=dark] .mobile-menu{color:#f8fafc;background:#182235;border-color:#334155}:root[data-theme=dark] .mobile-menu svg{color:#f8fafc;stroke:currentColor}:root[data-theme=dark] .mobile-nav .nav-button.active{background:transparent;color:#cbd5e1}:root[data-theme=dark] .mobile-nav .nav-button.active svg{color:#e2e8f0;stroke:currentColor}:root[data-theme=dark] .metric-card .metric-icon{background:#243247;color:#f8fafc;border:1px solid #334155}:root[data-theme=dark] .metric-card .metric-icon svg{color:#f8fafc;stroke:currentColor}.member-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.access-badge.active{background:#10b9811f;color:#047857}[data-theme=dark] .access-badge.active{background:#34d39929;color:#6ee7b7}:root[data-theme=dark] .topbar .mobile-menu.icon-button{color:#e2e8f0;background:transparent;border-color:#475569;box-shadow:none}:root[data-theme=dark] .topbar .mobile-menu.icon-button:hover{color:#fff;background:#1e293b}:root[data-theme=dark] .topbar .mobile-menu.icon-button svg{color:currentColor;stroke:currentColor}.recovery-card{width:min(100%,460px)}.recovery-card form{display:grid;gap:14px;margin-top:18px}.single-choice{grid-template-columns:minmax(0,520px);justify-content:center}.auth-card input[readonly]{opacity:.82;cursor:not-allowed}.google-auth-button{width:100%;min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;cursor:pointer;margin:12px 0}.google-auth-button:hover{background:var(--surface-soft)}.google-auth-button:disabled{opacity:.65;cursor:not-allowed}.google-g{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#4285f4;border:1px solid #dadce0;font-weight:800;font-family:Arial,sans-serif}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:14px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--border);flex:1}.transaction-kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-2px 0 16px}.transaction-kind-switch button{min-height:58px;border:1px solid var(--border);border-radius:14px;background:var(--surface,#fff);color:var(--text,#0f172a);display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.transaction-kind-switch button span,.transaction-kind-switch button strong,.transaction-kind-switch button small{display:block}.transaction-kind-switch button strong{font-size:.92rem}.transaction-kind-switch button small{margin-top:2px;color:var(--muted);font-size:.73rem;font-weight:500}.transaction-kind-switch button.active{border-color:currentColor;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 13%,transparent)}.transaction-kind-switch button.expense.active{color:#b42318;background:color-mix(in srgb,#ef4444 7%,var(--surface,#fff))}.transaction-kind-switch button.income.active{color:#067647;background:color-mix(in srgb,#10b981 7%,var(--surface,#fff))}:root[data-theme=dark] .transaction-kind-switch button{background:var(--surface)}@media(max-width:720px){.transaction-kind-switch{position:sticky;top:-20px;z-index:3;padding:8px 0 6px;background:var(--surface,#fff);margin-top:-8px}:root[data-theme=dark] .transaction-kind-switch{background:var(--surface)}}.sidebar-bottom{display:grid;gap:8px}.sidebar-sync-button{width:100%;min-height:42px;border:1px solid var(--border);border-radius:11px;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 12px;font:inherit;font-weight:700;cursor:pointer}.sidebar-sync-button:hover{background:var(--surface-2,#f8fafc)}.sidebar-sync-button:disabled{opacity:.6;cursor:wait}.transaction-kind-toggle{display:inline-grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2,#f8fafc);margin-top:5px}.transaction-kind-toggle button{min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;font:inherit;font-weight:800;cursor:pointer}.transaction-kind-toggle button.active{background:var(--surface,#fff);color:var(--text);box-shadow:0 1px 4px #0f172a1a}.transaction-kind-toggle button.expense.active{color:#b42318}.transaction-kind-toggle button.income.active{color:#067647}:root[data-theme=dark] .transaction-modal .modal-close-button{background:#172033;color:#e5edf8;border-color:#334155;box-shadow:none}:root[data-theme=dark] .transaction-modal .modal-close-button svg{color:currentColor;stroke:currentColor}:root[data-theme=dark] .transaction-modal .modal-close-button:hover{background:#22304a;color:#fff}:root[data-theme=dark] .transaction-kind-toggle{background:#0b1324;border-color:#334155}:root[data-theme=dark] .transaction-kind-toggle button.active{background:#1e293b;box-shadow:none}:root[data-theme=dark] .transaction-kind-toggle button.expense.active{color:#fda4af}:root[data-theme=dark] .transaction-kind-toggle button.income.active{color:#6ee7b7}:root[data-theme=dark] .sidebar-sync-button{color:#e2e8f0;border-color:#334155}:root[data-theme=dark] .sidebar-sync-button:hover{background:#1e293b}@media(max-width:640px){.transaction-modal-heading{align-items:flex-start}.transaction-kind-toggle{width:min(250px,calc(100vw - 115px))}.transaction-kind-toggle button{padding:0 8px}.transaction-kind-switch{display:none}}.nfce-camera-cta{width:100%;min-height:52px;margin:16px 0 10px;justify-content:center;font-size:.98rem}.scanner-primary{scroll-margin-top:18px;margin:16px 0 10px}.scanner-status{margin:8px 0 12px}.nfce-manual-fallback{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.nfce-manual-fallback summary{cursor:pointer;color:var(--muted);font-size:.84rem;font-weight:700;list-style:none}.nfce-manual-fallback summary::-webkit-details-marker{display:none}.nfce-manual-fallback summary:after{content:"  ›";font-size:1rem}.nfce-manual-fallback[open] summary{margin-bottom:10px;color:var(--text)}@media(max-width:760px){.nfce-import-panel{padding:16px}.nfce-import-panel>.muted{font-size:.88rem;line-height:1.45}.scanner-primary{margin-left:-4px;margin-right:-4px;border-radius:16px;min-height:430px}.scanner-primary video{height:min(64vh,520px);min-height:430px;object-fit:cover}.scanner-frame{width:min(72vw,310px)}.nfce-camera-cta{min-height:56px;font-size:1rem}.nfce-manual-fallback .nfce-url{display:flex;flex-direction:column}}.nfce-success-modal{max-width:460px;text-align:center;display:grid;gap:14px}.nfce-success-icon{width:58px;height:58px;margin:0 auto;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 18%,var(--surface));color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border))}.nfce-success-modal h2{margin:2px 0 6px}.nfce-success-modal .modal-actions{justify-content:center}.nfce-success-modal .modal-actions>*{min-width:140px}@media(max-width:560px){.nfce-success-modal .modal-actions{display:grid;grid-template-columns:1fr;gap:10px}.nfce-success-modal .modal-actions>*{width:100%}}.auth-flow-card{min-height:420px;align-self:center}.auth-flow-header{margin-bottom:20px}.auth-flow-header h2{margin:8px 0}.auth-flow-header p{margin:0;line-height:1.55}.auth-status-icon{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.auth-status-icon.success{background:#dcfce7;color:#166534}.auth-context-box{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;margin:0 0 18px;font-size:14px}.auth-context-box span{color:var(--muted);line-height:1.45}.field-help{display:block;color:var(--muted);font-size:12px;margin-top:6px}.auth-back-button{width:100%;margin-top:12px}.auth-confirmation{display:grid;gap:12px}.auth-confirmation p{margin:0;line-height:1.55}.auth-error{padding:11px 12px;border-radius:10px;background:#fff1f2;color:#9f1239;border:1px solid #fecdd3;line-height:1.45}.auth-success-card{text-align:center;display:grid;justify-items:center;gap:12px;max-width:460px}.auth-success-card h2,.auth-success-card p{margin:0}:root[data-theme=dark] .auth-status-icon.success{background:#123524;color:#86efac}:root[data-theme=dark] .auth-error{background:#3b1720;color:#fecdd3;border-color:#7f1d1d}@media(max-width:640px){.auth-flow-card{min-height:0}.auth-flow-header{margin-bottom:16px}.auth-card h2{font-size:1.45rem}.auth-links{gap:4px}}.nfce-quick-feedback{display:grid;gap:14px;text-align:left;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0}.quick-feedback-row{display:grid;gap:8px}.quick-feedback-row>span{font-size:.84rem;font-weight:750}.quick-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.quick-choice button{min-height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.quick-choice button.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary)}.market-stars{display:flex;align-items:center;gap:4px}.market-stars button{border:0;background:transparent;padding:2px;display:grid;place-items:center;color:#94a3b8;cursor:pointer}.market-stars button.active{color:#f5b301}.nfce-view-items{border:0;background:transparent;color:var(--primary);font:inherit;font-weight:800;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:7px}.nfce-view-items:hover{text-decoration:underline}.nfce-success-modal .feedback-note{text-align:center;margin-top:0}@media(max-width:560px){.nfce-success-modal{width:min(94vw,460px);max-height:90vh;overflow:auto}.quick-choice button{min-height:42px}.market-stars{justify-content:center}.quick-feedback-row{text-align:center}}.defaults-summary-button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.defaults-summary-button:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}.beginner-highlight{border-radius:10px;padding:8px 10px!important;background:color-mix(in srgb,var(--primary) 12%,transparent)!important;color:var(--primary)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 22%,transparent)}.beginner-tip{margin:7px 0 2px;padding:9px 11px;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--muted);font-size:.8rem;line-height:1.4}.transaction-save-button{min-height:46px;padding-inline:22px;font-weight:800}.onboarding-card{position:fixed;z-index:1200;right:18px;bottom:82px;width:min(390px,calc(100vw - 28px));padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:0 22px 60px #0f172a38;display:grid;gap:9px}.onboarding-card strong{font-size:1rem}.onboarding-card p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.onboarding-progress{height:4px;background:var(--surface-2);border-radius:999px;overflow:hidden}.onboarding-progress span{display:block;height:100%;background:var(--primary);border-radius:999px}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:3px}@media(max-width:640px){.transaction-modal .amount-entry input{font-size:1.35rem;min-height:48px}.transaction-modal .amount-ok{width:46px;height:46px;min-width:46px}.transaction-modal .transaction-save-button{width:100%;min-height:52px;font-size:1rem}.onboarding-card{left:14px;right:14px;bottom:84px;width:auto}.onboarding-actions{align-items:stretch}.onboarding-actions .primary-button{flex:1}}button:disabled{pointer-events:none}.report-loading{position:sticky;top:8px;z-index:20;display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:calc(100% - 24px);margin:0 auto -42px;padding:9px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow);font-size:13px;font-weight:750;color:var(--muted)}.loading-spinner{width:15px;height:15px;border:2px solid var(--border);border-top-color:currentColor;border-radius:50%;animation:easy-spin .7s linear infinite}@keyframes easy-spin{to{transform:rotate(360deg)}}.report-expense-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.report-expense-summary>div{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.report-expense-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.report-expense-summary strong{font-size:16px}@media(max-width:640px){.report-expense-summary{grid-template-columns:1fr}.report-loading{margin-bottom:-36px}.transaction-save-button{min-height:52px;font-size:16px}}.sidebar-brand-row{display:flex;align-items:center;gap:7px;min-width:0}.sidebar-brand-sync{width:32px;height:32px;min-width:32px;border-radius:9px;color:var(--muted);flex:0 0 auto}.sidebar-brand-sync:hover{color:var(--text);background:var(--surface-2,#f8fafc)}.category-pie{position:relative}.pie-slice-label{position:absolute;z-index:2;transform:translate(-50%,-50%);font-size:.68rem;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45);pointer-events:none;line-height:1}.category-pie-legend>div{grid-template-columns:10px minmax(0,1fr) 52px}.pie-legend-name{display:flex!important;align-items:baseline;gap:8px;min-width:0}.pie-legend-name>em{font-style:normal;color:var(--muted);font-size:.86rem;white-space:nowrap}.category-pie-legend>div>strong{font-size:.84rem;color:var(--muted);font-weight:700}@media(max-width:760px){.category-pie-legend>div{grid-template-columns:10px minmax(0,1fr) 46px}.pie-legend-name{gap:6px}.pie-legend-name>em{font-size:.8rem}.pie-slice-label{font-size:.64rem}}.nfce-fallback-help{margin:0 0 10px;color:var(--muted);font-size:.84rem;line-height:1.5}.nfce-url-highlight{padding:8px;border-radius:14px;background:color-mix(in srgb,var(--primary) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 38%,var(--border))}.nfce-url-highlight input{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.nfce-reading-overlay{position:fixed;inset:0;z-index:1600;background:#070f1db8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.nfce-reading-card{width:min(390px,92vw);display:grid;justify-items:center;text-align:center;gap:10px;padding:28px 22px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:0 25px 80px #0000004d}.nfce-reading-card strong{font-size:1.12rem}.nfce-reading-card span{color:var(--muted);line-height:1.45;font-size:.9rem}.product-search{margin-bottom:14px}.receipt-actions{flex-wrap:wrap}.receipt-actions .danger-button.compact{min-height:40px}.page-title-line{display:flex;align-items:center;gap:5px}.title-icon-button{width:30px;height:30px;min-width:30px;padding:0;opacity:.78}.title-icon-button:hover{opacity:1}.onboarding-picker{max-height:min(74vh,620px);overflow:auto}.onboarding-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.onboarding-topic-grid button{display:grid;gap:3px;text-align:left;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);color:var(--text);padding:11px;cursor:pointer}.onboarding-topic-grid button:hover{border-color:var(--primary)}.onboarding-topic-grid span{font-size:.76rem;color:var(--muted)}.onboarding-back{justify-self:start}.onboarding-tips{margin:0;padding-left:20px;color:var(--muted);font-size:.84rem;line-height:1.5}@media(max-width:560px){.onboarding-topic-grid{grid-template-columns:1fr}.nfce-url-highlight{display:grid!important;grid-template-columns:1fr}.receipt-actions>*{width:100%}}.google-auth-button{min-height:48px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:10px;font-weight:600;box-shadow:0 1px 2px #0000000a}.google-auth-button:hover{background:#f8fafd;border-color:#c7cbd1}.google-auth-button .google-g{width:20px;height:20px;flex:0 0 20px}:root[data-theme=dark] .google-auth-button{background:#fff;color:#1f1f1f;border-color:#dadce0}.danger-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.danger-button-strong{background:#b91c1c;color:#fff;border-color:#b91c1c}.danger-button-strong:hover{background:#991b1b;color:#fff}@media(max-width:760px){.danger-actions{flex-direction:column}.danger-actions .danger-button{width:100%}}.header-sync-button{width:28px;height:28px;min-width:28px;border-radius:9px;padding:0;opacity:.68;color:var(--muted);background:transparent}.header-sync-button:hover{opacity:1;color:var(--text);background:var(--surface-2,#f8fafc)}.help-title-button{color:var(--muted);background:transparent}.onboarding-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-step-head>span{font-size:.76rem;color:var(--muted);font-weight:750}.onboarding-explainer{display:grid;gap:7px;padding:5px 1px}.onboarding-explainer>strong{font-size:1.08rem}.onboarding-explainer .eyebrow{font-size:.7rem}.onboarding-detail{padding:11px 12px;border-radius:12px;background:var(--surface-2,#f8fafc);border:1px solid var(--border);color:var(--text);font-size:.85rem;line-height:1.48}:root[data-theme=dark] .sidebar-close.icon-button,:root[data-theme=dark] .title-icon-button.icon-button,:root[data-theme=dark] .header-sync-button.icon-button{color:#e5edf8;background:#111827;border-color:#334155;box-shadow:none}:root[data-theme=dark] .sidebar-close.icon-button svg,:root[data-theme=dark] .title-icon-button.icon-button svg,:root[data-theme=dark] .header-sync-button.icon-button svg{color:currentColor;stroke:currentColor}:root[data-theme=dark] .sidebar-close.icon-button:hover,:root[data-theme=dark] .title-icon-button.icon-button:hover,:root[data-theme=dark] .header-sync-button.icon-button:hover{color:#fff;background:#1e293b}@media(max-width:900px){.sidebar{padding-bottom:88px;overflow-y:auto}.sidebar nav{margin-top:28px;gap:4px}.sidebar-bottom{margin-top:16px;padding-bottom:8px}.logout-button{min-height:44px;border-top:1px solid var(--border);padding-top:13px}.top-actions{display:flex;margin-left:auto;align-items:center}.top-actions .quick-button{display:none}.header-sync-button{width:27px;height:27px;min-width:27px}}@media(max-width:640px){.top-actions{display:flex}.onboarding-explainer>strong{font-size:1.02rem}}.tutorial-overlay{position:fixed;inset:0;z-index:1400;background:#070d19e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px}.tutorial-window{width:min(760px,100%);max-height:min(760px,calc(100dvh - 36px));overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:24px;box-shadow:0 30px 90px #00000059;padding:22px;display:grid;gap:16px}.tutorial-menu-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.tutorial-menu-head h2,.onboarding-explainer h2{margin:3px 0 7px}.tutorial-menu-head p{margin:0;color:var(--muted);line-height:1.5}.tutorial-exit{flex:0 0 auto}.tutorial-menu-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:14px}.tutorial-body{display:grid;grid-template-columns:minmax(250px,.95fr) minmax(260px,1.05fr);gap:22px;align-items:center;min-height:330px}.onboarding-explainer{display:grid;gap:8px}.onboarding-explainer>p{margin:0;color:var(--muted);line-height:1.55}.onboarding-detail{padding:12px 14px;border-radius:12px;background:var(--surface-2);color:var(--text);font-size:.9rem;line-height:1.5;border:1px solid var(--border)}.tutorial-shot{width:100%;max-width:330px;margin:auto;padding:16px;border-radius:20px;background:var(--bg);border:1px solid var(--border);box-shadow:0 12px 35px #0f172a1f;display:grid;gap:10px}.tutorial-shot-title{font-weight:850;font-size:1.05rem;padding-bottom:9px;border-bottom:1px solid var(--border)}.tutorial-shot-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 0;color:var(--muted)}.tutorial-shot-row strong{color:var(--text);text-align:right}.tutorial-shot small{color:var(--muted);line-height:1.4}.tutorial-shot-button{padding:10px 12px;border-radius:11px;text-align:center;background:var(--primary);color:#fff;font-weight:800}.tutorial-shot-summary,.tutorial-link-field{padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--muted)}.tutorial-shot-highlight{outline:2px solid color-mix(in srgb,var(--primary) 55%,transparent)}.tutorial-shot-chips{display:flex;gap:6px;flex-wrap:wrap}.tutorial-shot-chips b{font-size:.76rem;padding:7px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.tutorial-mini-bars{display:grid;gap:7px;padding:8px 0}.tutorial-mini-bars i{display:block;height:9px;border-radius:999px;background:var(--primary)}.tutorial-check{font-size:.82rem;color:var(--text);padding:9px;border-radius:10px;background:var(--surface)}.tutorial-menu-mock{display:grid;gap:8px}.tutorial-menu-mock b{padding:11px;border-radius:11px;background:var(--surface);border:1px solid var(--border)}.tutorial-qr{font-size:4.5rem;text-align:center;line-height:1;padding:15px}.tutorial-product{display:flex;justify-content:space-between;gap:8px;font-weight:800}.tutorial-product b{font-size:.7rem;color:var(--success,#0f8a72)}.tutorial-finish-actions{display:flex;gap:8px;margin-left:auto}.tutorial-actions{border-top:1px solid var(--border);padding-top:14px}.onboarding-step-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.onboarding-step-head>span{text-align:right;color:var(--muted);font-size:.82rem}@media(max-width:640px){.tutorial-overlay{padding:0;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.tutorial-window{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;padding:18px 16px 22px;box-shadow:none}.tutorial-body{grid-template-columns:1fr;gap:14px;min-height:0}.tutorial-shot{max-width:310px;padding:13px}.tutorial-shot-row{padding:5px 0}.tutorial-menu-head h2,.onboarding-explainer h2{font-size:1.25rem}.onboarding-topic-grid{grid-template-columns:1fr}.tutorial-actions{position:sticky;bottom:-22px;background:var(--surface);padding:12px 0 4px;z-index:2}.tutorial-finish-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.tutorial-finish-actions .primary-button,.tutorial-finish-actions .secondary-button{width:100%;padding-inline:8px}.onboarding-step-head{grid-template-columns:auto 1fr auto}.onboarding-step-head>strong{text-align:center;font-size:.9rem}}:root[data-theme=dark] .tutorial-exit,:root[data-theme=dark] .tutorial-welcome-close{background:#172033!important;color:#e5edf8!important;border-color:#334155!important;box-shadow:none}:root[data-theme=dark] .tutorial-exit svg,:root[data-theme=dark] .tutorial-welcome-close svg{color:currentColor!important;stroke:currentColor!important}.tutorial-kind-mock{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0}.tutorial-kind-mock>*{padding:9px;border:1px solid var(--border);border-radius:10px;text-align:center}.tutorial-kind-mock b{background:var(--surface-2,#f8fafc)}.planned-last{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.tutorial-welcome-overlay{position:fixed;inset:0;z-index:1450;background:#070d19b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.tutorial-welcome-card{position:relative;width:min(560px,100%);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 30px 90px #00000059}.tutorial-welcome-card h2{margin:5px 42px 8px 0}.tutorial-welcome-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.tutorial-welcome-close{position:absolute;right:18px;top:18px}.tutorial-help-preview{margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2,#f8fafc);display:flex;align-items:center;gap:12px}.tutorial-help-preview>div{display:grid;flex:1}.tutorial-help-preview>div span{font-size:.7rem;letter-spacing:.08em;color:var(--muted);font-weight:800}.tutorial-help-preview>div strong{font-size:1.25rem}.tutorial-help-icon{width:34px;height:34px;border:1px solid var(--border);border-radius:10px;display:grid;place-items:center;font-weight:900;background:var(--surface)}.tutorial-preview-arrow{font-size:.8rem;color:var(--muted);white-space:nowrap}.tutorial-welcome-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:640px){.modal-backdrop{place-items:start center;padding:8px 10px 14px}.transaction-modal{max-height:calc(100dvh - 22px);margin-top:4px}.tutorial-welcome-overlay{padding:12px}.tutorial-welcome-card{padding:20px 16px;border-radius:20px}.tutorial-welcome-actions{display:grid;grid-template-columns:1fr}.tutorial-help-preview{padding:14px}.tutorial-preview-arrow{display:none}}.tutorial-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tutorial-benefit-grid b{padding:12px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:.78rem}.tutorial-market-benefits{background:linear-gradient(145deg,var(--bg),color-mix(in srgb,var(--primary) 8%,var(--bg)))}.legal-links{display:flex;gap:8px;flex-wrap:wrap}.legal-links a{text-decoration:none}.legal-page{min-height:100vh;background:var(--bg);padding:32px 18px;color:var(--text)}.legal-document{max-width:820px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.legal-document h1{margin:18px 0 6px}.legal-document h2{font-size:1.05rem;margin:26px 0 8px}.legal-document p{line-height:1.65}.legal-back{display:inline-block;margin-top:20px;text-decoration:none}.legal-notice{margin-top:28px;padding:14px;border-radius:12px;background:var(--bg);border:1px solid var(--border);line-height:1.5;font-size:.88rem}@media(max-width:640px){.tutorial-benefit-grid{grid-template-columns:1fr}.legal-page{padding:0}.legal-document{border:0;border-radius:0;min-height:100vh;padding:22px 18px;box-shadow:none}}.market-smart-actions{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px}.market-smart-actions>button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;padding:15px;cursor:pointer}.market-smart-actions>button:hover{border-color:var(--primary);transform:translateY(-1px)}.market-smart-actions .market-main-action{background:color-mix(in srgb,var(--primary) 9%,var(--surface));border-color:color-mix(in srgb,var(--primary) 32%,var(--border))}.market-smart-actions button div{display:grid;gap:3px;min-width:0;flex:1}.market-smart-actions span{font-size:.78rem;color:var(--muted);line-height:1.35}.personal-inflation>.panel-heading>strong{font-size:1.4rem}.smart-list-panel{overflow:visible}.smart-list-search{position:relative;max-width:720px}.smart-list-search .search-box{margin:0}.list-suggestions{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 36px #0f172a29;padding:6px;max-height:330px;overflow:auto}.list-suggestions button{width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;text-align:left;padding:10px;border-radius:10px;cursor:pointer}.list-suggestions button:hover{background:var(--surface-2)}.list-suggestions button div{display:grid;gap:3px}.list-suggestions span{font-size:.74rem;color:var(--muted)}.list-suggestions .free-item{border-top:1px solid var(--border);border-radius:0;margin-top:4px}.shopping-progress{display:grid;gap:6px;margin:18px 0 10px}.shopping-progress>div{display:flex;justify-content:space-between;font-size:.82rem}.shopping-progress progress{width:100%;height:8px;accent-color:var(--primary)}.smart-list-items{display:grid}.smart-list-items>div{display:grid;grid-template-columns:30px minmax(150px,1fr) 68px 96px auto 34px;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.smart-list-items>div.checked .list-item-main{text-decoration:line-through;opacity:.55}.list-check{width:26px;height:26px;border:2px solid var(--border);border-radius:8px;background:var(--surface);color:#fff;display:grid;place-items:center;cursor:pointer}.checked .list-check{background:var(--primary);border-color:var(--primary)}.list-item-main{display:grid;gap:3px}.list-item-main span{font-size:.73rem;color:var(--muted)}.smart-list-items label{font-size:.68rem;color:var(--muted);display:grid;gap:3px}.smart-list-items input{width:100%;min-width:0;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:7px}.list-trash{color:var(--muted)}.list-total-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.list-total-card>div{display:grid;gap:4px;border:1px solid var(--border);border-radius:14px;padding:13px}.list-total-card span,.list-total-card small{color:var(--muted)}.list-total-card strong{font-size:1.3rem}.list-market-estimates{border-top:1px solid var(--border);padding-top:14px;margin-top:10px}.list-market-estimates>.panel-heading{margin-bottom:5px}.list-market-estimates>div:not(.panel-heading){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.list-market-estimates>div>div{display:grid;gap:2px}.list-market-estimates span{font-size:.74rem;color:var(--muted)}.list-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.price-signal{display:grid;gap:3px;border-radius:12px;padding:11px 13px;margin:0 0 14px}.price-signal span{font-size:.76rem}.price-signal.cheap{background:#10b9811a;color:#047857}.price-signal.normal{background:var(--surface-2);color:var(--text)}.price-signal.expensive{background:#ef444417;color:#b91c1c}:root[data-theme=dark] .price-signal.cheap{color:#6ee7b7}:root[data-theme=dark] .price-signal.expensive{color:#fca5a5}@media(max-width:760px){.market-smart-actions{grid-template-columns:1fr}.market-smart-actions>button{padding:13px}.smart-list-items>div{grid-template-columns:30px minmax(0,1fr) 62px 32px}.smart-list-items>div>label:nth-of-type(2){grid-column:2/4}.smart-list-items>div>strong{grid-column:2/4}.smart-list-items .list-trash{grid-column:4;grid-row:1}.list-total-card{grid-template-columns:1fr}.list-actions{display:grid;grid-template-columns:1fr}.list-actions button{justify-content:center}.product-detail-head{flex-wrap:wrap}}.invoice-prompt{max-width:560px}.invoice-prompt .info-box{margin:12px 0}.invoice-actions{align-items:center;flex-wrap:wrap}.invoice-actions .text-button{margin-right:auto}@media(max-width:760px){.invoice-actions{display:grid;grid-template-columns:1fr 1fr}.invoice-actions .text-button{grid-column:1/-1;text-align:left}.invoice-actions .primary-button,.invoice-actions .secondary-button{width:100%}}.list-sticky-estimate{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:12px 14px;margin:8px 0 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);position:sticky;top:8px;z-index:8}.list-sticky-estimate>div{display:grid;gap:2px}.list-sticky-estimate span,.list-sticky-estimate small{color:var(--muted);font-size:.75rem}.list-sticky-estimate strong{font-size:1.35rem}.quick-list-suggestions{display:grid;gap:8px;margin:14px 0}.quick-list-suggestions>span{font-size:.76rem;font-weight:800;color:var(--muted)}.quick-list-suggestions>div{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.quick-list-suggestions button{flex:0 0 auto;display:flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 10px;cursor:pointer}.quick-list-suggestions button small{color:var(--muted)}.bulk-list-entry{margin:10px 0 14px;border:1px solid var(--border);border-radius:12px;padding:10px 12px}.bulk-list-entry summary{cursor:pointer;font-weight:800;font-size:.82rem}.bulk-list-entry textarea{width:100%;margin-top:10px;resize:vertical;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:10px;font:inherit}.bulk-list-entry>div{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}.bulk-list-entry small{color:var(--muted)}.smart-list-items.lightweight>div{grid-template-columns:30px minmax(140px,1fr) 62px 92px 34px}.compact-total{grid-template-columns:1fr}.shopping-list-history>div:last-child{display:grid}.shopping-list-history article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.shopping-list-history article>div{display:flex;align-items:center;gap:10px}.shopping-list-history article>div:first-child{display:grid;gap:2px}.shopping-list-history article span{font-size:.76rem;color:var(--muted)}@media(max-width:760px){.list-sticky-estimate{top:4px;align-items:center}.list-sticky-estimate small{max-width:145px;text-align:right}.smart-list-items.lightweight>div{grid-template-columns:30px minmax(0,1fr) 58px 32px}.smart-list-items.lightweight>div>strong{grid-column:2/4;font-size:.86rem}.smart-list-items.lightweight .list-trash{grid-column:4;grid-row:1}.bulk-list-entry>div{align-items:stretch;flex-direction:column}.shopping-list-history article{align-items:flex-start}.shopping-list-history article>div:last-child{display:grid;justify-items:end}.quick-list-suggestions>div{margin-right:-8px}.list-sticky-estimate strong{font-size:1.2rem}}.supermarket-hero.supermarket-live{padding:15px 22px;min-height:0}.supermarket-hero.supermarket-live h2{font-size:clamp(1.35rem,3vw,1.9rem);margin:5px 0 4px}.supermarket-hero.supermarket-live p{line-height:1.4;font-size:.88rem}.supermarket-hero.supermarket-live>svg{width:38px;height:38px}.list-sticky-estimate{align-items:center}.picked-subtotal{display:grid;gap:2px;padding-left:14px;border-left:1px solid var(--border)}.picked-subtotal span,.picked-subtotal small{color:var(--muted);font-size:.72rem}.picked-subtotal strong{font-size:1.05rem}.frequent-listbox{display:grid;gap:8px;margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.frequent-listbox-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.frequent-listbox-head>span{font-size:.78rem;font-weight:800}.frequent-listbox-head small{color:var(--muted)}.frequent-search{margin:0}.frequent-options{max-height:210px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:4px;scrollbar-width:thin;background:var(--surface-2)}.frequent-options button{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:8px;text-align:left;cursor:pointer}.frequent-options button:last-child{border-bottom:0}.frequent-options button:hover{background:var(--surface)}.frequent-options button.selected{background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.frequent-options button small{color:var(--muted);white-space:nowrap}.frequent-check{width:19px;height:19px;border:1.5px solid var(--border);border-radius:5px;display:grid;place-items:center}.frequent-options button.selected .frequent-check{background:var(--primary);border-color:var(--primary);color:#fff}.frequent-empty{display:block;padding:10px;color:var(--muted)}@media(max-width:760px){.supermarket-hero.supermarket-live{padding:12px 14px}.supermarket-hero.supermarket-live h2{font-size:1.25rem}.supermarket-hero.supermarket-live p{font-size:.8rem}.list-sticky-estimate{display:grid;grid-template-columns:1fr 1fr}.list-sticky-estimate>small{grid-column:1/-1;max-width:none;text-align:left}.picked-subtotal{padding-left:10px}.frequent-listbox-head{align-items:flex-start;flex-direction:column;gap:2px}.frequent-options{max-height:190px}.frequent-options button{grid-template-columns:22px minmax(0,1fr);gap:7px}.frequent-options button small{grid-column:2;white-space:normal}}.frequent-options{display:grid}.frequent-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 9px;border-bottom:1px solid var(--border)}.frequent-option:last-child{border-bottom:0}.frequent-option>div{display:grid;gap:2px;min-width:0}.frequent-option>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frequent-option>div small{color:var(--muted)}.frequent-add{display:flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:7px 9px;cursor:pointer;font-weight:700}.frequent-add:hover:not(:disabled){border-color:var(--primary)}.frequent-add:disabled{opacity:.62;cursor:default}.smart-list-items.lightweight>div{grid-template-columns:30px minmax(140px,1fr) 62px 118px 92px 34px}.manual-estimate input{min-width:0}@media(max-width:760px){.supermarket-hero.supermarket-live{padding:8px 12px}.supermarket-hero.supermarket-live .badge,.supermarket-hero.supermarket-live p{display:none}.supermarket-hero.supermarket-live h2{font-size:1.08rem;margin:0;line-height:1.2}.supermarket-hero.supermarket-live>svg{display:none}.frequent-option{grid-template-columns:minmax(0,1fr) auto;padding:8px 6px}.frequent-add span{display:none}.frequent-add{padding:7px}.smart-list-items.lightweight>div{grid-template-columns:30px minmax(0,1fr) 58px 32px}.smart-list-items.lightweight .manual-estimate{grid-column:2/4}.smart-list-items.lightweight>div>strong{grid-column:2/4}.smart-list-items.lightweight .list-trash{grid-column:4;grid-row:1}}.shopping-add-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;margin:14px 0}.shopping-search-column{display:grid;gap:8px;border:1px solid var(--border);border-radius:14px;padding:12px;background:var(--surface);min-width:0}.shopping-search-column .smart-list-search{max-width:none}.shopping-search-hint{margin:2px 0 0;color:var(--muted);font-size:.76rem;line-height:1.4}.shopping-add-grid .frequent-listbox{margin:0;min-width:0}.shopping-add-grid .frequent-options{max-height:320px}.shopping-add-grid .list-suggestions.inline-results{position:static;margin-top:7px;box-shadow:none;max-height:320px}.suggestion-more{justify-self:center;margin-top:2px}@media(max-width:760px){.shopping-add-grid{grid-template-columns:1fr}.shopping-search-column{padding:10px}.shopping-add-grid .frequent-options,.shopping-add-grid .list-suggestions.inline-results{max-height:230px}.suggestion-side{order:2}}.shopping-add-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;align-items:start!important}.shopping-add-grid>.shopping-search-column,.shopping-add-grid>.suggestion-side{display:grid!important;visibility:visible!important;opacity:1!important;min-width:0!important}.suggestion-side{min-height:150px!important}@media(max-width:760px){.shopping-add-grid{grid-template-columns:1fr!important}.shopping-add-grid>.suggestion-side{display:grid!important;order:2!important}}.report-head-actions{display:flex;align-items:center;gap:10px}.report-filter-panel{margin-bottom:12px}.clear-filters-first{grid-column:1/-1;justify-self:start}.chart-point-button{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;color:inherit}.chart-point-button.selected .chart-point-dot{transform:scale(1.45)}.point-detail{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.point-detail-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.point-detail-row:last-of-type{border-bottom:0}.compact-loading{margin:4px 0}.compact-page-size{max-width:150px}.transactions-primary-toolbar .filter-toggle{order:4}@media(max-width:700px){.report-head-actions{width:100%;justify-content:space-between}.report-heading{align-items:flex-start;gap:10px}.compact-page-size{max-width:120px}.transactions-primary-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.transactions-primary-toolbar .search-box{grid-column:1/-1}.transactions-primary-toolbar .compact-page-size{min-width:0}.transactions-primary-toolbar .csv-button{white-space:nowrap}.transactions-primary-toolbar .filter-toggle{order:initial}.point-detail{padding:10px}}.chart-week-labels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0 6px;color:var(--muted);font-size:10px;text-align:center;letter-spacing:.01em}.chart-week-labels span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-window-range{text-align:center;margin:5px 0 0;font-size:11px}@media(max-width:760px){.chart-week-labels{font-size:9px;margin:0 2px}.chart-window-range,.chart-granularity{font-size:10px}.line-chart-wrap{padding-bottom:0}}.report-filter-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.report-filter-top .clear-filters{margin:0}.report-category-pie{margin-top:18px;margin-bottom:20px}.line-chart-wrap{min-height:330px;padding-top:28px;padding-left:16px;padding-right:16px}.line-chart{height:310px}@media(max-width:700px){.line-chart-wrap{min-height:360px;padding:30px 12px 4px;margin-top:8px}.line-chart{height:330px}.transactions-primary-toolbar{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto!important;align-items:center;gap:8px}.transactions-primary-toolbar .search-box{grid-column:1/-1!important}.transactions-primary-toolbar .compact-page-size{grid-column:1/3;display:grid;grid-template-columns:auto 92px;align-items:center;gap:8px;max-width:none!important;width:auto}.transactions-primary-toolbar .csv-button{grid-column:3;min-width:0;padding-inline:12px}.transactions-primary-toolbar .filter-toggle{grid-column:4;justify-self:end}.report-category-pie{grid-template-columns:1fr!important}}.report-main .line-chart-wrap{width:100%;max-width:720px;margin-left:auto;margin-right:auto;box-sizing:border-box}.report-main .chart-week-labels,.report-main .chart-window-range{max-width:720px;margin-left:auto;margin-right:auto}.swipe-chart{touch-action:pan-y;overscroll-behavior-x:contain}.chart-point,.balance-line{transition:left .16s ease,top .16s ease}@media(max-width:760px){.report-main .line-chart-wrap{width:calc(100% - 4px);padding-left:20px;padding-right:20px}.report-main .chart-point-layer{left:20px;right:20px}.period-nav strong{min-width:0;flex:1;font-size:16px}}.transactions-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.transactions-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}.transactions-toolbar-row .compact-page-size{display:flex;align-items:center;gap:6px;white-space:nowrap;max-width:none}.transactions-toolbar-row .compact-page-size select{width:72px}.chart-point-button{touch-action:manipulation;-webkit-touch-callout:none}@media(max-width:760px){.transactions-primary-toolbar{display:flex!important;flex-direction:column!important;gap:8px!important}.transactions-primary-toolbar .search-box{width:100%;grid-column:auto!important}.transactions-toolbar-row{display:flex!important;flex-wrap:nowrap!important;width:100%;gap:8px}.transactions-toolbar-row .compact-page-size{display:flex!important;grid-column:auto!important;width:auto!important;min-width:0;gap:5px}.transactions-toolbar-row .compact-page-size select{width:62px;min-width:62px}.transactions-toolbar-actions{display:flex!important;flex-wrap:nowrap!important;margin-left:auto;gap:6px}.transactions-toolbar-actions .csv-button,.transactions-toolbar-actions .filter-toggle{grid-column:auto!important;margin:0!important;flex:0 0 auto}}.swipe-chart{will-change:transform;contain:layout paint}.chart-point,.balance-line{transition:left .12s ease-out,top .12s ease-out}.report-main .chart-point-layer{left:24px;right:24px}@media(max-width:760px){.report-main .line-chart-wrap{padding-left:28px;padding-right:28px}.report-main .chart-point-layer{left:28px;right:28px}}.chart-point-layer{pointer-events:none}.chart-point-button{pointer-events:auto}.point-detail{position:fixed;z-index:1400;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 28px));max-height:min(70vh,620px);overflow:auto;margin:0;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 24px 70px #00000047}.category-pie>.pie-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58%;aspect-ratio:1;border-radius:50%;background:var(--surface);display:grid;place-items:center;align-content:center;text-align:center;box-shadow:0 0 0 1px var(--border);z-index:1}.pie-slice-label{display:flex;flex-direction:column;align-items:center;max-width:82px;text-align:center;gap:1px}.pie-slice-label b{font-size:.7rem}.pie-slice-label small{font-size:.56rem;font-weight:750;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pie-slice-label em{font-size:.55rem;font-style:normal;font-weight:750;white-space:nowrap}@media(max-width:760px){.pie-slice-label.detailed small,.pie-slice-label.detailed em{display:none}.pie-slice-label b{font-size:.66rem}}.clickable-pie{cursor:pointer;touch-action:manipulation}.clickable-pie .pie-center{cursor:default;padding:8px;box-sizing:border-box}.clickable-pie .pie-center strong{max-width:100%;font-size:.82rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable-pie .pie-center span{font-size:.72rem;line-height:1.2;margin-top:3px}.billing-reminder-backdrop{z-index:1700}.billing-reminder-modal{width:min(430px,calc(100vw - 28px));text-align:center}.billing-reminder-icon{width:48px;height:48px;margin:0 auto 10px;border-radius:15px;display:grid;place-items:center;background:var(--surface-soft);border:1px solid var(--border)}.billing-reminder-modal h2{margin:4px 0 8px}.billing-price-line{display:flex;justify-content:center;align-items:baseline;gap:5px;margin:16px 0 4px}.billing-price-line strong{font-size:1.7rem}.billing-price-line span{color:var(--muted)}.billing-safe-note{font-size:.8rem;color:var(--muted);margin:0 0 14px}.description-entry{display:flex;align-items:center;gap:6px}.description-entry input{flex:1;min-width:0}.description-ok{width:42px;height:42px;min-width:42px;border-radius:10px;border:0;background:#0f766e1f;color:#0f766e;display:grid;place-items:center;cursor:pointer}.description-ok:disabled{opacity:.45;cursor:not-allowed}.amount-ok{width:42px;height:42px;min-width:42px}.amount-ok svg,.description-ok svg{pointer-events:none}:root[data-theme=dark] .description-ok{background:#173a38;color:#5eead4}@media(max-width:760px){.transaction-row{grid-template-rows:auto auto!important}.transaction-icon,.transaction-main{grid-row:1/3!important}.transaction-row .row-actions{grid-column:3!important;grid-row:2!important;display:flex!important;flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;gap:3px!important;padding-top:0!important}.transaction-row .row-actions button{width:30px;height:28px;min-width:30px}.amount-ok,.description-ok{width:48px;height:48px;min-width:48px}}.password-requirements{display:grid;gap:4px;margin-top:7px;color:var(--muted);font-size:.82rem}.password-requirements>span{font-weight:600;color:var(--text)}.password-requirements small{display:block;line-height:1.25}.password-requirements small.valid{color:var(--success,#18864b);font-weight:600}.entity-form-subtitle{margin:5px 0 0;max-width:420px}.entity-form-section{margin-top:4px}.compact-section{margin-top:14px}.entity-section-label{display:block;margin-bottom:8px;font-size:.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.field-with-next{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.field-with-next:focus-within{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826}.field-with-next input{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0}.field-next-button{width:44px;min-width:44px;border:0;border-left:1px solid var(--border);border-radius:0;background:var(--surface-2,#f8fafc);color:var(--primary);display:grid;place-items:center;cursor:pointer}.field-next-button:hover{background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.field-next-button.done{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.entity-sticky-actions{position:sticky;bottom:-24px;z-index:4;background:var(--surface);border-top:1px solid var(--border);padding:13px 0 max(6px,env(safe-area-inset-bottom));margin-top:16px}:root[data-theme=dark] .field-with-next,:root[data-theme=dark] .field-next-button{background:var(--surface);color:var(--text)}@media(max-width:640px){.top-actions{bottom:calc(108px + env(safe-area-inset-bottom));right:14px}.entity-modal-backdrop{place-items:start center;padding:8px 10px calc(14px + env(safe-area-inset-bottom));overflow:hidden}.entity-form-modal{width:100%;max-height:calc(100dvh - 22px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;padding:18px 15px 0;scroll-padding-bottom:92px}.entity-form-modal .modal-heading{position:sticky;top:-18px;z-index:3;background:var(--surface);padding:18px 0 10px;margin-bottom:10px;border-bottom:1px solid var(--border)}.entity-form-modal .form-grid.two{gap:10px}.entity-form-modal .option-row{grid-template-columns:1fr;gap:8px}.entity-form-modal .bank-icon-picker{max-height:146px;overflow:auto;padding-bottom:4px}.entity-sticky-actions{bottom:0;margin-left:-15px;margin-right:-15px;padding:11px 15px calc(11px + env(safe-area-inset-bottom));box-shadow:0 -8px 22px #0f172a14}.entity-sticky-actions button{flex:1;min-height:44px}}.brand-logo{width:34px;height:34px;display:block;object-fit:cover;border-radius:11px;flex:0 0 auto}.brand-large .brand-logo{width:42px;height:42px;border-radius:13px}.sidebar .brand-logo{box-shadow:0 5px 16px #0f172a2e}:root[data-theme=dark] .sidebar .brand-logo{box-shadow:0 5px 18px #00000047}@media(max-width:900px){.content{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(112px + env(safe-area-inset-bottom))}.mobile-nav{left:12px;right:12px;bottom:calc(18px + env(safe-area-inset-bottom));border-radius:18px;padding:7px}.mobile-nav .nav-button{min-height:60px;gap:3px;padding:6px 4px;font-size:.72rem}.mobile-nav .nav-button svg{width:21px;height:21px}.mobile-add{width:52px;height:52px;border-radius:17px}}@media(max-width:640px){.content{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(116px + env(safe-area-inset-bottom))}.topbar{margin-bottom:20px}}.home-intro{display:flex;flex-direction:column;gap:4px;padding:2px 4px 0}.home-intro strong{font-size:1.08rem}.home-intro span{color:var(--muted);font-size:.9rem;line-height:1.45}.feature-promo{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface));border-radius:18px;padding:18px;display:flex;justify-content:space-between;gap:18px;align-items:center}.feature-promo h2{margin:4px 0 6px}.feature-promo p{margin:0;color:var(--muted);line-height:1.45}.promo-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.privacy-promo{margin-bottom:18px}.privacy-promo>div{display:flex;flex-direction:column;gap:4px}.privacy-promo span{color:var(--muted);font-size:.9rem;line-height:1.4}.filter-panel-top,.report-filter-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-close-bottom{width:100%;margin-top:4px;display:flex;justify-content:center;align-items:center;gap:7px}.report-filter-button{width:48px!important;height:48px!important;margin-left:auto}.report-head-actions{width:100%}.report-head-actions .report-filter-button{order:2}.report-head-actions .segmented{order:1;flex:1}.row-actions button[title="Voltar para previsto"]{color:#38b98a;border-color:color-mix(in srgb,#38b98a 40%,var(--border));background:color-mix(in srgb,#38b98a 10%,transparent)}.income-expense-panel{overflow:hidden}.chart-toggle{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--muted)}.income-expense-bars{height:250px;display:flex;align-items:flex-end;justify-content:center;gap:min(14vw,90px);padding:30px 20px 4px;border-bottom:1px solid var(--border)}.bar-column{height:100%;width:min(120px,30vw);border:0;background:transparent;color:inherit;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;cursor:pointer}.bar-column .bar-value{font-size:.8rem;font-weight:800;white-space:nowrap}.bar-fill{display:block;width:70%;min-height:12px;border-radius:12px 12px 4px 4px;transition:height .2s ease}.bar-fill.income{background:#39c9ad}.bar-fill.expense{background:#df6470}.bar-column strong{font-size:.88rem}.bar-detail{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.update-modal{text-align:center}.update-modal .billing-reminder-icon{margin-inline:auto}.update-modal small{display:block;margin-top:10px}@media(max-width:760px){.feature-promo{align-items:flex-start;flex-direction:column;padding:16px}.promo-actions{justify-content:flex-start;width:100%}.promo-actions .primary-button,.promo-actions .secondary-button{flex:1}.report-heading .report-head-actions{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:10px}.report-head-actions .segmented{min-width:0}.income-expense-bars{height:220px}.transaction-main span{max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.transaction-title{display:flex!important;align-items:flex-start;gap:6px;min-width:0}.recurrence-inline-icon{display:inline-block!important;flex:0 0 auto;margin-top:2px;color:var(--muted);opacity:.72}.row-actions button.overdue-realize{color:#38b98a;background:color-mix(in srgb,#38b98a 10%,transparent);border-color:color-mix(in srgb,#38b98a 32%,var(--border))}.feature-notice-backdrop{z-index:110}.feature-notice-modal{width:min(480px,100%)}.feature-notice-modal h2{margin:4px 0 0}.feature-notice-modal>.muted{font-size:.94rem;line-height:1.55}.feature-never{justify-content:center;width:100%;color:var(--muted)}.update-notice{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:120;width:min(560px,calc(100% - 28px));display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 16px 40px #0f172a2e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.update-notice-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.update-notice strong,.update-notice span{display:block}.update-notice span{margin-top:2px;color:var(--muted);font-size:.78rem;line-height:1.3}.update-notice>.text-button{padding:6px 4px;color:var(--accent)}.income-expense-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-4px 0 8px}.income-expense-nav>span{color:var(--muted);font-size:.76rem;text-align:center}.income-expense-months{height:260px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px 2px 4px;border-bottom:1px solid var(--border);touch-action:pan-y}.month-bar-group{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}.month-bar-label{text-align:center;text-transform:capitalize;font-size:.82rem}.month-bars{min-height:0;display:flex;align-items:flex-end;justify-content:center;gap:8px}.mini-bar-column{height:100%;min-width:0;flex:1;max-width:62px;border:0;background:transparent;color:inherit;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;padding:0;cursor:pointer}.mini-bar-column .bar-value{font-size:.67rem;font-weight:800;white-space:nowrap}.mini-bar-column .bar-fill{width:72%;min-height:8px}.month-bar-legend{display:grid;grid-template-columns:1fr 1fr;gap:3px;text-align:center;color:var(--muted);font-size:.62rem}@media(max-width:760px){.update-notice{top:max(10px,env(safe-area-inset-top));grid-template-columns:auto minmax(0,1fr) auto}.update-notice>.text-button{grid-column:2;justify-self:start;padding:0}.update-notice>.icon-button{grid-column:3;grid-row:1/3}.income-expense-months{height:230px;gap:7px}.month-bars{gap:4px}.mini-bar-column .bar-value{font-size:.6rem}.month-bar-legend{font-size:.56rem}.feature-notice-modal{max-height:calc(100vh - 36px);overflow:auto}}.row-actions button[title="Voltar para previsto"]{color:inherit;border-color:var(--border);background:transparent}.recurrence-inline-icon{width:7px!important;height:7px!important;margin-left:1px;opacity:.68}.feature-never-check{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 2px;color:var(--muted);font-size:.78rem;cursor:pointer}.feature-never-check input{width:14px;height:14px;margin:0;accent-color:var(--accent)}.income-expense-heading{align-items:flex-start}.income-expense-controls{display:flex;align-items:center;gap:10px}.mini-segmented{display:flex;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2,#f8fafc)}.mini-segmented button{border:0;background:transparent;color:var(--muted);padding:6px 9px;border-radius:7px;font-size:.72rem;font-weight:700;cursor:pointer}.mini-segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0f172a1a}.income-expense-legend{display:flex;justify-content:center;gap:18px;margin:2px 0 7px;color:var(--muted);font-size:.74rem}.income-expense-legend span{display:flex;align-items:center;gap:5px}.income-expense-legend i{width:8px;height:8px;border-radius:50%;display:block}.income-expense-legend i.income{background:#39c9ad}.income-expense-legend i.expense{background:#df6470}.income-expense-months{height:245px}.month-bar-group{grid-template-rows:minmax(0,1fr) auto}.month-bars{gap:3px}.mini-bar-column{max-width:34px;flex:0 1 34px}.mini-bar-column .bar-fill{width:52%;border-radius:7px 7px 3px 3px}.month-summary{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.month-summary strong{text-transform:capitalize;font-size:.78rem}.month-summary span{font-size:.67rem;font-weight:750}.month-summary .positive{color:#2d9f7f}.month-summary .negative{color:#c9505d}.monthly-lines-wrap{grid-column:1/-1;position:relative;height:100%;min-height:210px}.monthly-lines{position:absolute;inset:0;width:100%;height:calc(100% - 38px);overflow:visible}.monthly-line{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}.monthly-line.income{stroke:#39c9ad}.monthly-line.expense{stroke:#df6470}.monthly-line-points{position:absolute;inset:0}.monthly-line-month{position:absolute;top:0;bottom:0;width:33.333%;transform:translate(-50%)}.line-point-actions{position:absolute;inset:0 0 38px}.line-dot{position:absolute;left:50%;transform:translate(-50%,-50%);width:13px;height:13px;border:3px solid var(--surface);border-radius:50%;padding:0;box-shadow:0 0 0 1px var(--border);cursor:pointer}.line-dot.income{background:#39c9ad}.line-dot.expense{background:#df6470}.monthly-line-month>.month-summary{position:absolute;bottom:0;left:0;right:0}@media(max-width:760px){.income-expense-heading{gap:8px}.income-expense-controls{flex-direction:column-reverse;align-items:flex-end;gap:5px}.mini-segmented button{padding:5px 7px}.income-expense-months{height:220px}.mini-bar-column{max-width:28px;flex-basis:28px}.feature-never-check{justify-content:flex-start}}.income-expense-months{height:340px!important;padding-top:18px!important}.month-bar-group{grid-template-rows:minmax(0,1fr) auto!important}.month-bars{height:100%;min-height:0;align-items:flex-end!important;gap:12px!important;padding:28px 2px 0}.mini-bar-column{height:100%!important;max-width:48px!important;flex:0 1 48px!important;position:relative;overflow:visible}.mini-bar-column .bar-fill{width:58%!important;min-height:5px!important}.mini-bar-column .bar-value{position:absolute;z-index:2;font-size:.58rem!important;font-weight:800;line-height:1;white-space:nowrap;top:auto;bottom:calc(var(--bar-label-bottom, 0%) + 5px)}.mini-bar-column.income-column .bar-value{right:50%;transform:translate(4px);color:#39c9ad}.mini-bar-column.expense-column .bar-value{left:50%;transform:translate(-4px);color:#df6470}.line-point-actions{inset:12px 0 42px!important}.line-value{position:absolute;left:50%;z-index:3;font-size:.58rem;font-weight:800;line-height:1;white-space:nowrap;pointer-events:none}.line-value.income{color:#39c9ad;transform:translate(-50%,-24px)}.line-value.expense{color:#df6470;transform:translate(-50%,14px)}.monthly-lines-wrap{min-height:285px!important}@media(max-width:760px){.income-expense-months{height:315px!important}.month-bars{gap:9px!important;padding-top:30px}.mini-bar-column{max-width:42px!important;flex-basis:42px!important}.mini-bar-column .bar-value,.line-value{font-size:.53rem!important}.monthly-lines-wrap{min-height:265px!important}}.mini-bar-column .bar-value{position:static!important;transform:none!important;margin-bottom:2px}.mini-bar-column.income-column .bar-value,.mini-bar-column.expense-column .bar-value{transform:none!important}.report-balance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:8px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.report-balance-strip>div{min-width:0;padding:8px 10px;text-align:center}.report-balance-strip>div+div{border-left:1px solid var(--border)}.report-balance-strip span{display:block;color:var(--muted);font-size:.68rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-balance-strip strong{display:block;margin-top:3px;font-size:.88rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-main .line-chart-wrap{min-height:300px}.report-main .line-chart{height:280px}@media(max-width:700px){.report-main .line-chart-wrap{min-height:286px;padding-top:22px}.report-main .line-chart{height:260px}.report-balance-strip>div{padding:7px 4px}.report-balance-strip span{font-size:.58rem}.report-balance-strip strong{font-size:.72rem;letter-spacing:-.02em}}.income-expense-months.bars .month-bars{position:relative;height:100%;min-height:0;align-items:stretch!important;padding:30px 2px 0!important}.income-expense-months.bars .mini-bar-column{position:relative!important;height:100%!important;min-height:0!important;display:block!important;overflow:visible!important}.income-expense-months.bars .mini-bar-column .bar-fill{position:absolute!important;left:50%!important;bottom:0!important;transform:translate(-50%)!important;height:auto;min-height:5px!important;flex:none!important}.income-expense-months.bars .mini-bar-column .bar-value{position:absolute!important;left:50%!important;bottom:auto;transform:translate(-50%)!important;margin:0!important;line-height:1!important;z-index:3!important}@media(max-width:760px){.income-expense-months.bars .month-bars{padding-top:32px!important}.income-expense-months.bars .mini-bar-column.income-column .bar-value{transform:translate(-58%)!important}.income-expense-months.bars .mini-bar-column.expense-column .bar-value{transform:translate(-42%)!important}}.income-expense-months.bars .mini-bar-column .bar-fill{max-height:220px}.income-expense-months.bars .mini-bar-column .bar-value{top:auto!important}.income-expense-months.bars{display:block!important;position:relative}.monthly-bars-svg{width:100%;height:100%;display:block;overflow:visible}.monthly-svg-baseline{stroke:var(--border);stroke-width:1}.monthly-svg-bar{cursor:pointer;outline:none;transition:opacity .15s ease}.monthly-svg-bar:hover,.monthly-svg-bar:focus{opacity:.82}.monthly-svg-bar.income{fill:#39c9ad}.monthly-svg-bar.expense{fill:#df6470}.monthly-svg-amount{font-size:11px;font-weight:800;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.monthly-svg-amount.income{fill:#39c9ad}.monthly-svg-amount.expense{fill:#df6470}.monthly-svg-month{fill:var(--text);font-size:15px;font-weight:800;text-transform:capitalize}.monthly-svg-net{font-size:13px;font-weight:800;paint-order:stroke;stroke:var(--surface);stroke-width:2px}.monthly-svg-net.positive{fill:#2d9f7f}.monthly-svg-net.negative{fill:#c9505d}@media(max-width:760px){.monthly-svg-amount{font-size:10px}.monthly-svg-month{font-size:14px}.monthly-svg-net{font-size:12px}}.home-market-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:.35rem;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;cursor:pointer}.compact-home-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.compact-home-metrics .metric-card{padding:.9rem}.compact-home-metrics .metric-card p{font-size:.78rem}.compact-home-metrics .metric-card strong{font-size:clamp(1rem,3vw,1.35rem)}.search-box{position:relative}.search-box input{padding-right:2.6rem}.search-clear{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.quick-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem}.quick-date-row .secondary-button{height:48px;white-space:nowrap}.transaction-modal .modal-actions{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:8;background:var(--surface);padding:.8rem 0 .25rem;margin-top:.8rem;box-shadow:0 -12px 22px color-mix(in srgb,var(--surface) 92%,transparent)}.advanced-filter-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.advanced-filter-panel label:first-of-type{grid-column:1/-1}.danger-choice{margin-top:.5rem}@media(max-width:560px){.compact-home-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.compact-home-metrics .metric-card{padding:.7rem .5rem}.compact-home-metrics .metric-icon{display:none}.compact-home-metrics .metric-card span{font-size:.7rem}.quick-date-row{grid-template-columns:1fr}.quick-date-row .secondary-button{height:42px}.transaction-modal{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 78px)}.transaction-modal .modal-actions{bottom:calc(env(safe-area-inset-bottom,0px) + 58px)}}.compact-home-metrics .metric-card{padding:.58rem .7rem;display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:.45rem;align-items:center;border-radius:12px}.compact-home-metrics .metric-icon{width:24px;height:24px}.compact-home-metrics .metric-card p{font-size:.7rem;margin:0}.compact-home-metrics .metric-card strong{font-size:.96rem;line-height:1.15}.compact-home-metrics .metric-card span{font-size:.65rem;margin-top:2px}.quick-date-row{grid-template-columns:1fr}.transaction-modal .modal-actions{position:static;bottom:auto;z-index:auto;background:transparent;padding:.65rem 0 0;margin-top:.5rem;box-shadow:none}.transaction-modal{padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}.report-display-toggle{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.78rem}.category-pie-legend>button{border:0;background:transparent;color:inherit;width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) 48px;gap:8px;align-items:center;text-align:left;padding:7px 4px;cursor:pointer}.category-pie-legend>button i{width:9px;height:9px;border-radius:50%}.category-pie-legend>button strong{text-align:right}.remaining-month-bars{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.remaining-month-bars button{border:1px solid var(--border);background:var(--surface-2,#f8fafc);border-radius:12px;padding:12px;text-align:left;color:inherit}.remaining-month-bars span,.remaining-month-bars strong{display:block}.remaining-month-bars span{font-size:.75rem;color:var(--muted)}.remaining-month-bars strong{font-size:1.05rem;margin-top:3px}.remaining-month-detail{margin-top:8px}@media(max-width:560px){.compact-home-metrics{gap:.32rem}.compact-home-metrics .metric-card{padding:.48rem .42rem;display:block}.compact-home-metrics .metric-icon{display:none}.compact-home-metrics .metric-card strong{font-size:.88rem}.compact-home-metrics .metric-card p{font-size:.65rem}.compact-home-metrics .metric-card span{font-size:.61rem}}.shopping-session-screen{min-height:min(72vh,720px)}.shopping-session-items{display:grid;gap:8px;margin:14px 0 18px}.shopping-session-items>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px}.shopping-session-items>div.checked{opacity:.62}.shopping-session-items>div.checked strong{text-decoration:line-through}.shopping-session-items>div>div strong,.shopping-session-items>div>div span{display:block}.shopping-session-items>div>div span{font-size:.76rem;color:var(--muted);margin-top:2px}.shopping-session-actions{display:flex;justify-content:flex-end;gap:10px;padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}@media(max-width:560px){.shopping-session-actions{display:grid;grid-template-columns:1fr}.shopping-session-actions button{width:100%}}.report-current-period{display:inline-grid;place-items:center;margin-left:5px;padding:2px;border:0;background:transparent;color:var(--primary);cursor:pointer;vertical-align:middle}.remaining-month-bars button{position:relative;overflow:hidden}.remaining-fill{display:block!important;height:5px;border-radius:999px;margin-top:9px;min-width:2px}.remaining-fill.income{background:var(--success,#22a06b)}.remaining-fill.expense{background:var(--danger,#e5484d)}.account-delete-visible{margin-top:8px;border:0;background:transparent;color:var(--danger,#d14343);display:inline-flex;align-items:center;gap:5px;padding:4px 0;font:inherit;font-size:.72rem;font-weight:750;cursor:pointer;align-self:flex-start}.shopping-list-history article>div:last-child{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}.compact-history-delete{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;padding:4px 2px}.danger-text{color:var(--danger,#d14343)!important}.category-pie-legend{gap:0!important;align-content:start}.category-pie-legend>button{padding:3px 4px!important;min-height:26px;line-height:1.05;gap:6px!important}.category-pie-legend>button span{font-size:.78rem;line-height:1.05}.category-pie-legend>button strong{font-size:.76rem;line-height:1.05}.category-pie-legend>button i{width:8px!important;height:8px!important}@media(max-width:760px){.shopping-list-history article>div:last-child{display:flex!important;gap:7px}.category-pie-legend>button{padding:3px 2px!important;min-height:24px}}.account-delete-visible.danger-action{width:100%;justify-content:center;border:1px solid color-mix(in srgb,var(--danger,#d14343) 28%,transparent);border-radius:9px;padding:7px 10px;margin-top:10px;background:color-mix(in srgb,var(--danger,#d14343) 6%,transparent)}.category-pie-legend{row-gap:0!important;gap:0!important}.category-pie-legend>button{margin:0!important;padding:2px 3px!important;min-height:22px!important;line-height:1!important}.category-pie-legend>button+button{border-top:0!important}.category-pie-legend>button span,.category-pie-legend>button strong{line-height:1!important}.invoice-consolidation-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--muted);white-space:nowrap}.invoice-consolidation-toggle input{margin:0}.invoice-group{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.invoice-summary-row{width:100%;border:0;background:transparent;color:inherit;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;text-align:left;align-items:center;cursor:pointer}.invoice-summary-row>div{min-width:0}.invoice-summary-row>div strong,.invoice-summary-row>div span{display:block}.invoice-summary-row>div span{font-size:.72rem;color:var(--muted);margin-top:2px}.invoice-expand-label{grid-column:1/-1;font-size:.7rem;color:var(--primary);font-weight:750}.invoice-items{border-top:1px solid var(--border);padding:3px 8px}.invoice-items .transaction-row:last-child{border-bottom:0}@media(max-width:760px){.account-card .account-delete-visible{grid-column:1/-1;grid-row:auto;width:100%;margin:7px 0 0!important}.invoice-consolidation-toggle{order:3;width:100%;margin-top:4px}.transactions-toolbar-row{flex-wrap:wrap}.category-pie-legend>button{padding:2px 1px!important;min-height:21px!important}}.transactions-inline-preference{margin:-8px 0 8px;padding:0 2px;display:flex;align-items:center;min-height:20px}.transactions-inline-preference .invoice-consolidation-toggle{font-size:.7rem;opacity:.9}.invoice-title-line{display:flex!important;align-items:center;gap:8px;min-width:0}.invoice-title-line>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-title-line .invoice-expand-label{margin-left:auto;flex:0 0 auto;font-size:.68rem;color:var(--primary);font-weight:750;white-space:nowrap}.invoice-summary-row{grid-template-rows:auto auto}.invoice-summary-row>div{grid-row:1/3}.invoice-summary-row>.transaction-value{grid-column:2;grid-row:1/3;align-self:center}@media(max-width:900px){.mobile-nav{bottom:calc(28px + env(safe-area-inset-bottom,0px))!important}.content{padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))!important}}@media(max-width:560px){.transactions-inline-preference{margin-top:-10px;margin-bottom:7px}.transactions-inline-preference .invoice-consolidation-toggle{width:auto!important;margin:0!important;order:initial!important}.invoice-summary-row{padding:9px 10px;gap:2px 7px}.invoice-title-line{gap:6px}.invoice-title-line .invoice-expand-label{font-size:.65rem}}.transactions-inline-preference{justify-content:space-between;gap:10px}.bulk-import-link{margin-left:auto;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;gap:5px;padding:2px 4px;cursor:pointer}.bulk-import-link:hover{color:var(--text)}.filter-pair{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.filter-pair label{min-width:0}.bulk-import-tag{display:inline-flex;align-items:center;margin-left:3px;padding:1px 5px;border-radius:999px;border:1px solid var(--border);font-size:.56rem;line-height:1.25;color:var(--muted);font-weight:700;white-space:nowrap}.bulk-import-modal{max-width:760px;max-height:min(88vh,820px);overflow:auto}.bulk-import-usage{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:9px 11px;margin-bottom:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f8fafc)}.bulk-import-usage span{font-size:.78rem;color:var(--muted)}.bulk-import-usage strong{font-size:.84rem}.bulk-import-usage small{width:100%;font-size:.69rem;color:var(--muted)}.bulk-import-steps{display:grid;gap:8px;margin:12px 0}.bulk-import-steps>div{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid var(--border);border-radius:12px}.bulk-import-steps b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2,#f8fafc);font-size:.72rem;flex:0 0 auto}.bulk-import-steps span{display:grid;gap:2px}.bulk-import-steps small{color:var(--muted);font-size:.72rem}.bulk-import-action-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.bulk-import-action-card>div{display:grid;gap:2px}.bulk-import-action-card small{color:var(--muted);font-size:.72rem}.bulk-import-action-card.prompt-card{display:grid;grid-template-columns:1fr auto}.bulk-import-action-card.prompt-card textarea{grid-column:1/-1;min-height:128px;resize:vertical;font-size:.72rem;line-height:1.4}.import-review-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 0 12px}.import-review-summary>div{border:1px solid var(--border);border-radius:10px;padding:8px;display:grid;gap:2px}.import-review-summary span{font-size:.65rem;color:var(--muted)}.import-review-summary strong{font-size:.84rem}.import-review-list{display:grid;gap:5px;max-height:330px;overflow:auto;padding-right:3px}.import-review-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:10px;padding:7px 9px}.import-review-list>div.invalid{border-color:color-mix(in srgb,#ef4444 45%,var(--border));background:color-mix(in srgb,#ef4444 5%,transparent)}.import-review-list>div>div{display:grid;gap:1px;min-width:0}.import-review-list strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-review-list span,.import-review-list small{font-size:.66rem;color:var(--muted)}.import-review-list .import-ok{font-weight:800;color:#16a34a;white-space:nowrap}.import-done{text-align:center;display:grid;justify-items:center;gap:6px;padding:20px 8px}.import-done h3,.import-done p{margin:0}.import-done p{color:var(--muted);font-size:.82rem}:root[data-theme=dark] .bulk-import-usage,:root[data-theme=dark] .bulk-import-steps b{background:#182235}@media(max-width:700px){.filter-pair{grid-template-columns:1fr 1fr;gap:8px}.bulk-import-modal{max-height:calc(100vh - 32px)}.bulk-import-action-card{align-items:flex-start;flex-direction:column}.bulk-import-action-card.prompt-card{display:grid;grid-template-columns:1fr}.bulk-import-action-card.prompt-card textarea{grid-column:1}.import-review-summary{grid-template-columns:repeat(2,1fr)}.bulk-import-tag{font-size:.52rem}.bulk-import-link{font-size:.68rem}}.bulk-ai-responsibility{margin:10px 0 12px;font-size:.74rem;line-height:1.45}.import-general-defaults{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 12px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f8fafc)}.import-general-defaults label{display:grid;gap:5px;font-size:.72rem;font-weight:700}.import-general-defaults select{width:100%}.import-general-defaults>small{grid-column:1/-1;color:var(--muted);font-size:.68rem;line-height:1.4}.import-review-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:72px}.import-review-row-actions small{max-width:180px;text-align:right}@media(max-width:760px){html,body,#root{min-height:100%;height:auto}.content{min-height:100dvh;overflow-x:hidden;padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.modal-backdrop,.entity-modal-backdrop{display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overscroll-behavior:contain;min-height:100dvh;padding:max(8px,env(safe-area-inset-top,0px)) 10px calc(132px + env(safe-area-inset-bottom,0px))!important;scroll-padding-bottom:45dvh}.transaction-modal,.choice-modal,.entity-form-modal,.bulk-import-modal{width:100%;max-height:none!important;overflow:visible!important;margin:0 auto}.transaction-modal input:focus,.transaction-modal select:focus,.transaction-modal textarea:focus,.choice-modal input:focus,.choice-modal select:focus,.choice-modal textarea:focus{scroll-margin-bottom:45dvh}.modal-actions,.entity-sticky-actions{position:sticky!important;bottom:max(8px,env(safe-area-inset-bottom,0px))!important;z-index:8;background:var(--surface)!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px))!important;box-shadow:0 -8px 18px #0f172a14}.import-general-defaults{grid-template-columns:1fr}.import-general-defaults>small{grid-column:1}.import-review-row-actions small{display:none}}.bulk-import-inline-icon{display:inline-block!important;flex:0 0 auto;margin-left:2px;color:var(--muted);opacity:.78;stroke-width:2.2}.bulk-ai-policy{margin:8px 0 12px;border-top:1px solid var(--border);padding-top:8px;color:var(--muted)}.bulk-ai-policy summary{cursor:pointer;font-size:.72rem;font-weight:800;color:var(--muted);list-style:none}.bulk-ai-policy summary::-webkit-details-marker{display:none}.bulk-ai-policy summary:after{content:" +";font-weight:800}.bulk-ai-policy[open] summary:after{content:" −"}.bulk-ai-policy p{font-size:.72rem;line-height:1.45;margin:8px 0 0}.bulk-import-modal .modal-actions{position:static!important;bottom:auto!important;z-index:auto!important;background:transparent!important;padding:10px 0 0!important;box-shadow:none!important;margin-top:12px!important}.batch-link-scope{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 2px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f8fafc)}.batch-link-scope>span{width:100%;font-size:.74rem;font-weight:800}.batch-link-scope label{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;color:var(--text)}.batch-link-scope small{width:100%;font-size:.68rem;color:var(--muted);line-height:1.4}.shopping-session-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f8fafc)}.shopping-session-summary>div{display:grid;gap:2px}.shopping-session-summary span,.shopping-session-summary small{font-size:.7rem;color:var(--muted)}.shopping-session-summary strong{font-size:1rem}.shopping-session-summary>small{grid-column:1/-1;line-height:1.35}@media(max-width:560px){.batch-link-scope{display:grid;grid-template-columns:1fr}.batch-link-scope>span,.batch-link-scope small{width:auto}.shopping-session-summary{grid-template-columns:1fr 1fr}.shopping-session-actions{grid-template-columns:1fr!important}.bulk-import-modal .modal-actions{display:grid;grid-template-columns:1fr 1fr}.bulk-import-modal .modal-actions button{width:100%;min-width:0}}.form-flow-actions{position:static!important;bottom:auto!important;z-index:auto!important;background:transparent!important;box-shadow:none!important;margin-top:14px!important;padding:10px 0 max(12px,env(safe-area-inset-bottom,0px))!important}.batch-link-scope{display:flex;align-items:center;justify-content:space-between;gap:14px}.batch-link-scope>div{display:grid;gap:3px;min-width:0}.batch-link-scope>div strong{font-size:.76rem}.batch-link-scope>div small{font-size:.68rem;color:var(--muted);line-height:1.4}.batch-link-toggle{flex:0 0 auto!important;width:auto!important}.batch-link-toggle input:disabled{opacity:.45;cursor:not-allowed}.entity-form-modal{padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}@media(max-width:760px){.form-flow-actions{position:static!important;bottom:auto!important;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important}.transaction-modal,.entity-form-modal{scroll-padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}}@media(max-width:560px){.batch-link-scope{align-items:flex-start}.form-flow-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-flow-actions button{width:100%;min-width:0}}.transaction-modal .transaction-form-actions{position:sticky!important;bottom:max(8px,env(safe-area-inset-bottom,0px))!important;z-index:12!important;background:var(--surface)!important;margin-top:14px!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px))!important;box-shadow:0 -8px 18px #0f172a14!important}.transaction-modal{scroll-padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.batch-link-scope{display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-link-scope>strong{font-size:.76rem;line-height:1.25}.batch-toggle-control{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;width:auto!important;margin:0!important;cursor:pointer}.batch-toggle-control input{position:absolute;opacity:0;pointer-events:none}.batch-toggle-track{width:40px;height:22px;border-radius:999px;background:var(--border);display:block;position:relative;transition:background .16s ease}.batch-toggle-track i{position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0f172a40;transition:transform .16s ease}.batch-toggle-control input:checked+.batch-toggle-track{background:var(--primary)}.batch-toggle-control input:checked+.batch-toggle-track i{transform:translate(18px)}.batch-toggle-control input:disabled+.batch-toggle-track{opacity:.45;cursor:not-allowed}.advanced-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important}.advanced-filter-panel .filter-panel-top,.advanced-filter-panel .filter-close-bottom{grid-column:1/-1}.advanced-filter-panel label:first-of-type{grid-column:auto!important}@media(max-width:760px){.advanced-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.advanced-filter-panel label{min-width:0}.advanced-filter-panel select{width:100%;min-width:0}.transaction-modal{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important}.transaction-modal .transaction-form-actions{bottom:max(8px,env(safe-area-inset-bottom,0px))!important}}.transaction-modal .transaction-form-actions,.payment-form-modal .entity-sticky-actions,.receipt-modal .receipt-actions{position:static!important;bottom:auto!important;z-index:auto!important;background:transparent!important;box-shadow:none!important;margin-top:16px!important;padding:12px 0 max(18px,env(safe-area-inset-bottom,0px))!important}.transaction-modal,.payment-form-modal,.receipt-modal{scroll-padding-bottom:calc(42px + env(safe-area-inset-bottom,0px))!important}.privacy-mode-buttons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:440px}.privacy-mode-buttons button{min-width:0;white-space:nowrap}@media(max-width:560px){.privacy-setting{align-items:stretch!important}.privacy-mode-buttons{max-width:none}}.chart-week-labels.year-labels{grid-template-columns:repeat(12,minmax(0,1fr));font-size:8px;gap:1px}@media(max-width:560px){.chart-week-labels.year-labels{font-size:7px;margin-left:0;margin-right:0}}.transaction-month-separator{display:flex;align-items:center;gap:10px;margin:14px 0 4px;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.transaction-month-separator:after{content:"";height:1px;flex:1;background:var(--border)}.transaction-list>.transaction-month-separator:first-child{margin-top:2px}.period-current{display:flex;align-items:center;justify-content:center;gap:8px;min-width:180px;flex:0 1 auto}.period-current strong{min-width:0!important;flex:0 1 auto!important}.today-icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border:1px solid rgba(45,212,191,.34);border-radius:999px;background:#2dd4bf1a;color:var(--primary);padding:0;cursor:pointer}.today-icon-button:hover{background:#2dd4bf2e}.chart-week-labels.year-labels{grid-template-columns:repeat(4,minmax(0,1fr))!important}.report-balance-strip span{display:flex;align-items:center;justify-content:center;gap:3px}.transactions-list-tools{display:flex;align-items:center;gap:7px;position:relative}.sort-menu-wrap{position:relative;display:flex;align-items:center}.sort-popover{position:absolute;left:0;top:calc(100% + 8px);z-index:40;width:min(280px,calc(100vw - 42px));padding:11px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 36px #0f172a2e;display:grid;gap:9px}.sort-popover label{margin:0;display:grid;gap:5px;font-size:.74rem;color:var(--muted)}.sort-popover select{width:100%;min-width:0}.sort-popover .text-button{justify-self:end}.edit-recurrence-block{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2,#f8fafc)}.edit-recurrence-heading{display:grid;gap:3px}.edit-recurrence-heading>strong{font-size:.86rem}.edit-recurrence-heading>small{color:var(--muted);line-height:1.35}:root[data-theme=dark] .edit-recurrence-block{background:#182235}@media(max-width:760px){.period-nav{flex-wrap:nowrap!important;gap:8px!important}.period-current{min-width:0;flex:1}.period-current strong{font-size:1rem}.today-icon-button{width:32px;height:32px;min-width:32px}.transactions-toolbar-row{align-items:center!important}.transactions-list-tools{min-width:0}.sort-popover{left:0}.report-balance-strip span{font-size:.56rem}}@media(max-width:760px){.sort-menu-wrap{position:static}.transactions-list-tools{position:relative}.sort-popover{left:auto!important;right:0;max-width:calc(100vw - 40px);width:min(280px,calc(100vw - 40px));box-sizing:border-box}}.compact-home-metrics .metric-card p{white-space:nowrap}@media(min-width:900px){.compact-home-metrics .metric-card p{font-size:.78rem}}@media(max-width:760px){.sort-popover{position:fixed!important;left:50%!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;width:calc(100vw - 40px)!important;max-width:320px!important;box-sizing:border-box;z-index:90}}:root{--surface-2: #f8fafc;--income: #0f766e;--expense: #b91c1c;--income-soft: rgba(15, 118, 110, .12);--expense-soft: rgba(185, 28, 28, .1);--focus-ring: 0 0 0 3px rgba(94, 234, 212, .35)}:root[data-theme=dark]{--income: #34d399;--expense: #f87171;--income-soft: rgba(52, 211, 153, .14);--expense-soft: rgba(248, 113, 113, .14)}.sync-status-bar{display:flex;align-items:center;gap:10px;border-radius:12px;padding:9px 12px;margin-bottom:14px;font-size:.86rem;font-weight:650;background:#fffbeb;border:1px solid #fde68a;color:#92400e}.sync-status-bar.online{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.sync-status-bar .text-button{margin-left:auto;padding:0;color:inherit;text-decoration:underline;font-weight:750}.sync-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none;animation:sync-pulse 1.6s ease-in-out infinite}@keyframes sync-pulse{50%{opacity:.35}}:root[data-theme=dark] .sync-status-bar{background:#3b2a06;border-color:#78501a;color:#fcd34d}:root[data-theme=dark] .sync-status-bar.online{background:#0f2547;border-color:#1e3a8a;color:#bfdbfe}.supermarket-module .supermarket-tabs{width:100%}.supermarket-module .supermarket-tabs button{flex:1 0 auto;min-height:40px}.market-offline-note{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);padding:2px 4px}.supermarket-message{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.supermarket-message .icon-button{flex:none;width:28px;height:28px}.market-month-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end;height:170px;padding-top:8px}.market-month-bars>div{display:grid;grid-template-rows:auto 1fr auto;align-items:end;justify-items:center;height:100%;gap:6px;font-size:.78rem;color:var(--muted)}.market-month-bars i{width:min(42px,100%);border-radius:8px 8px 3px 3px;background:color-mix(in srgb,var(--income) 45%,var(--surface-2));align-self:end;transition:height .3s ease}.market-month-bars .current i{background:var(--income)}.market-month-bars .current{color:var(--text);font-weight:750}.market-month-value{font-size:.72rem;white-space:nowrap}@supports not (background: color-mix(in srgb,red,blue)){.market-month-bars i{background:#99d5cf}}.restock-list,.merchant-ranking{display:grid;gap:8px}.restock-list>div,.merchant-ranking>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.restock-list svg{color:#d97706}.restock-list strong,.merchant-ranking strong{display:block}.restock-list span,.merchant-ranking span{font-size:.8rem;color:var(--muted)}.merchant-ranking>div.best{border-color:var(--income);background:var(--income-soft)}.merchant-ranking .rank-number{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);font-weight:800;font-size:.8rem}.shopping-planner{display:grid;gap:12px}.shopping-planner-head{display:flex;align-items:center;gap:10px}.shopping-planner-head h2{margin:0}.list-name-input{font-size:1.25rem;font-weight:800;border:1px dashed transparent;padding:6px 8px;margin-left:-8px;background:transparent}.list-name-input:hover,.list-name-input:focus{border-color:var(--border);background:var(--surface)}.shopping-planner-actions{margin-left:auto;display:flex;gap:6px}.quick-add-bar{display:flex;align-items:center;gap:8px;border:2px solid var(--border);border-radius:14px;padding:4px 4px 4px 12px;background:var(--surface)}.quick-add-bar:focus-within{border-color:var(--income);box-shadow:var(--focus-ring)}.quick-add-bar svg{color:var(--muted);flex:none}.quick-add-bar input{border:0;padding:10px 2px;box-shadow:none!important;background:transparent;font-size:1rem}.quick-add-bar .primary-button{min-height:42px}.list-suggestions{display:grid;gap:4px;border:1px solid var(--border);border-radius:12px;padding:4px;background:var(--surface)}.list-suggestions button{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:0;background:transparent;padding:10px;border-radius:9px;color:var(--text)}.list-suggestions button:hover:not(:disabled){background:var(--surface-2)}.list-suggestions button:disabled{opacity:.55}.list-suggestions strong{display:block}.list-suggestions span{font-size:.78rem;color:var(--muted)}.list-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip-label{width:100%;display:flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:4px}.chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 11px;font-size:.84rem;font-weight:650;min-height:34px}.chip:hover{border-color:var(--income)}.chip.restock{border-color:#fcd34d;background:#fffbeb}:root[data-theme=dark] .chip.restock{background:#3b2a06;border-color:#78501a}.bulk-toggle{justify-self:start;padding:0}.bulk-list-entry{display:grid;gap:8px}.bulk-list-entry textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px;font:inherit;background:var(--surface);color:var(--text)}.bulk-list-entry>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted)}.list-estimate-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.list-estimate-strip>div{background:var(--surface-2);border-radius:12px;padding:10px 12px}.list-estimate-strip span{display:block;font-size:.74rem;color:var(--muted);font-weight:700}.list-estimate-strip strong{font-size:1.05rem}.list-section h3,.shopping-section h3{display:flex;align-items:center;gap:8px;margin:16px 0 6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.shopping-section h3 small{background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:.74rem}.list-row{border-bottom:1px solid var(--border)}.list-row-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 0}.list-row .list-check,.shopping-mode-item .list-check{width:30px;height:30px;border-radius:50%;border:2px solid #94a3b8;background:transparent;display:grid;place-items:center;color:#fff;flex:none}.list-check.checked,.list-row.checked .list-check{background:var(--income);border-color:var(--income)}.list-row.checked .list-row-label strong{text-decoration:line-through;color:var(--muted)}.list-row-label{border:0;background:transparent;text-align:left;padding:4px 0;color:var(--text);min-width:0}.list-row-label strong{display:block;font-size:.98rem;overflow-wrap:anywhere}.list-row-label span{font-size:.78rem;color:var(--muted)}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface)}.qty-stepper button{width:34px;height:34px;border:0;background:transparent;color:var(--text);display:grid;place-items:center}.qty-stepper button:hover{background:var(--surface-2)}.qty-stepper span{min-width:28px;text-align:center;font-weight:800;font-size:.9rem}.list-row-edit{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:4px 0 12px 40px}.list-market-estimates{margin-top:16px;display:grid;gap:6px}.list-market-estimates>div:not(.panel-heading){display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.list-market-estimates>div.best{border-color:var(--income);background:var(--income-soft)}.list-market-estimates span{display:block;font-size:.78rem;color:var(--muted)}.list-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:16px}.shopping-mode{display:grid;gap:10px}.shopping-mode-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.shopping-mode-head h2{margin:2px 0 0}.shopping-mode-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:sticky;top:8px;z-index:5;background:var(--surface);padding:8px 0}.shopping-mode-summary>div{background:var(--surface-2);border-radius:12px;padding:10px}.shopping-mode-summary span{display:block;font-size:.72rem;color:var(--muted);font-weight:700}.shopping-mode-summary strong{font-size:1.08rem}.shopping-mode-progress{width:100%;height:8px;accent-color:var(--income)}.shopping-mode-item{display:flex;align-items:center;gap:14px;width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;border-radius:14px;padding:14px;margin-bottom:8px;min-height:60px}button.shopping-mode-item:active{transform:scale(.99);background:var(--income-soft)}.shopping-item-text{display:grid;gap:2px;min-width:0;flex:1}.shopping-item-text strong{font-size:1.05rem;overflow-wrap:anywhere}.shopping-item-text b{color:var(--income);margin-right:2px}.shopping-item-text small{color:var(--muted)}.shopping-mode-item.checked{opacity:.8}.shopping-mode-item.checked strong{text-decoration:line-through;color:var(--muted)}.actual-price{display:grid;gap:2px;font-size:.7rem;width:96px;flex:none}.actual-price input{padding:7px 8px;font-size:.9rem}.shopping-cart-group{margin-top:8px}.shopping-cart-toggle{width:100%;display:flex;align-items:center;gap:8px;justify-content:center;border:1px dashed var(--border);background:transparent;color:var(--muted);border-radius:12px;padding:12px;font-weight:750;margin-bottom:8px}.shopping-cart-toggle .rotate{transform:rotate(180deg)}.shopping-done{display:grid;justify-items:center;text-align:center;gap:4px;padding:18px;border-radius:14px;background:var(--income-soft);color:var(--income)}.shopping-done span{color:var(--muted);font-size:.86rem}.shopping-mode-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.nfce-read-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nfce-read-options .nfce-camera-cta{min-height:56px}.qr-only-card{display:grid;gap:12px}.pending-notes{margin-top:18px;display:grid;gap:8px}.pending-notes>div:not(.panel-heading){display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.pending-notes span{display:block;font-size:.78rem;color:var(--muted)}.receipt-list-entry{display:contents}.price-sparkline{width:100%;height:56px;margin:6px 0 4px}.price-sparkline polyline{fill:none;stroke:var(--income);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.merchant-compare{display:grid;gap:6px;margin:10px 0}.merchant-compare>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--surface-2)}.merchant-compare>div.best{background:var(--income-soft)}.merchant-compare small{color:var(--muted)}@media(max-width:760px){.nfce-read-options{grid-template-columns:1fr}.list-row-edit{grid-template-columns:1fr 1fr;padding-left:0}.list-row-edit .secondary-button{grid-column:1 / -1}.shopping-mode-summary strong{font-size:.95rem}.quick-add-bar .primary-button span{display:none}.pending-notes>div:not(.panel-heading){grid-template-columns:auto 1fr auto}.pending-notes>div:not(.panel-heading)>.secondary-button{grid-column:2 / -1}}.bank-logo{display:inline-grid;place-items:center;flex:none;border-radius:28%;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.bank-logo.has-logo{background:#fff}.bank-logo img{width:100%;height:100%;object-fit:contain;display:block}.account-preview-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,var(--surface-2),var(--surface));margin-bottom:14px}.account-preview-card span{display:block;font-size:.8rem;color:var(--muted)}.bank-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}.bank-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:10px;padding:0 10px;background:var(--surface);color:var(--muted)}.bank-search input{border:0;padding:8px 2px;box-shadow:none!important;width:150px;background:transparent}.bank-logo-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;max-height:260px;overflow-y:auto;padding:2px}.bank-logo-choice{display:grid;justify-items:center;gap:5px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:9px 4px;color:var(--text)}.bank-logo-choice small{font-size:.7rem;line-height:1.15;text-align:center;color:var(--muted)}.bank-logo-choice.selected{border-color:var(--income);box-shadow:var(--focus-ring)}.bank-logo-choice.selected small{color:var(--text);font-weight:750}.account-card-head .bank-logo{width:46px;height:46px}:root{--cat-1:#2a78d6;--cat-2:#eb6834;--cat-3:#1baf7a;--cat-4:#eda100;--cat-5:#e87ba4;--cat-6:#008300;--cat-7:#4a3aa7;--cat-other:#94a3b8}:root[data-theme=dark]{--cat-1:#3987e5;--cat-2:#d95926;--cat-3:#199e70;--cat-4:#c98500;--cat-5:#d55181;--cat-6:#008300;--cat-7:#9085e9;--cat-other:#64748b}.cashflow-chart{position:relative;margin:6px 0 2px;padding-bottom:22px;-webkit-user-select:none;user-select:none}.cashflow-chart svg{width:100%;height:auto;display:block;overflow:visible}.cashflow-line{fill:none;stroke:var(--income);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.cashflow-zero{stroke:var(--border);stroke-width:1;stroke-dasharray:3 4}.cashflow-negative-zone{fill:var(--expense-soft)}.cashflow-today{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3;opacity:.7}.cashflow-today-label{font-size:9px;fill:var(--muted);font-weight:700}.cashflow-crosshair{stroke:var(--muted);stroke-width:1;opacity:.5}.cashflow-point circle{fill:var(--surface);stroke:var(--income);stroke-width:2.2}.cashflow-point.negative circle{stroke:var(--expense)}.cashflow-point.selected circle{fill:var(--income)}.cashflow-point.negative.selected circle{fill:var(--expense)}.cashflow-point text{font-size:10.5px;font-weight:750;fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:3px}.cashflow-point.negative text{fill:var(--expense)}.cashflow-hit-layer{position:absolute;inset:0 0 22px}.cashflow-hit-layer button{position:absolute;top:0;bottom:0;width:44px;transform:translate(-50%);border:0;background:transparent;cursor:pointer;border-radius:10px}.cashflow-hit-layer button:focus-visible{outline:2px solid var(--income)}.cashflow-labels{position:absolute;left:0;right:0;bottom:0;height:18px}.cashflow-labels span{position:absolute;transform:translate(-50%);font-size:.72rem;color:var(--muted);white-space:nowrap}.cashflow-labels span:first-child{transform:none}.cashflow-labels span:last-child{transform:translate(-100%)}.chart-tooltip{position:absolute;top:0;transform:translate(-50%,-100%);background:var(--text);color:var(--surface);border-radius:10px;padding:7px 10px;display:grid;gap:1px;font-size:.78rem;pointer-events:none;white-space:nowrap;z-index:3;box-shadow:var(--shadow)}.chart-tooltip small{opacity:.75;font-size:.68rem}.category-breakdown{display:grid;grid-template-columns:minmax(170px,220px) 1fr;gap:20px;align-items:center;margin-top:10px}.category-donut{position:relative}.category-donut svg{width:100%;height:auto;overflow:visible}.donut-track{fill:none;stroke:var(--surface-2);stroke-width:14}.donut-slice{fill:none;stroke-width:14;cursor:pointer;transition:opacity .2s}.donut-slice.dim{opacity:.25}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:1px;padding:0 33%;pointer-events:none}.donut-center strong{font-size:clamp(.78rem,3.2vw,1rem)!important;line-height:1.15}.donut-center span{font-size:.68rem!important;line-height:1.2}.donut-center strong{font-size:1rem}.donut-center span{font-size:.74rem;color:var(--muted)}.category-bars{display:grid;gap:4px}.category-bars button{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name value" "track track";gap:4px 10px;border:1px solid transparent;background:transparent;padding:8px 10px;border-radius:10px;text-align:left;color:var(--text)}.category-bars button:hover,.category-bars button.selected{background:var(--surface-2);border-color:var(--border)}.category-bar-name{grid-area:name;display:flex;align-items:center;gap:8px;font-weight:650;min-width:0}.category-bar-name i{width:10px;height:10px;border-radius:3px;flex:none}.category-bar-value{grid-area:value;text-align:right;display:grid}.category-bar-value small{color:var(--muted);font-size:.74rem;display:flex;gap:6px;justify-content:flex-end}.category-bar-value em{font-style:normal;font-weight:750}.category-bar-value em.up{color:var(--expense)}.category-bar-value em.down{color:var(--income)}.category-bar-track{grid-area:track;height:6px;border-radius:4px;background:var(--surface-2);overflow:hidden}.category-bar-track i{display:block;height:100%;border-radius:4px}@media(max-width:760px){.category-breakdown{grid-template-columns:1fr}.category-donut{max-width:200px;margin:0 auto}}.tutorial-phone{margin:0 auto;width:min(300px,100%);display:grid;gap:10px}.tutorial-phone-screen{border:8px solid #0f172a;border-radius:30px;background:var(--bg, #f8fafc);overflow:hidden;box-shadow:0 18px 40px #0f172a2e;min-height:360px;display:flex;flex-direction:column}:root[data-theme=dark] .tutorial-phone-screen{border-color:#334155}.tutorial-phone-top{padding:14px 14px 10px;background:var(--surface);border-bottom:1px solid var(--border);display:grid}.tutorial-phone-top span{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.tutorial-phone-top strong{font-size:1rem}.tutorial-phone-body{padding:12px;display:grid;gap:10px;align-content:start;font-size:.86rem;pointer-events:none}.tutorial-phone figcaption,.tutorial-phone>figcaption{font-size:.8rem;color:var(--muted);text-align:center;line-height:1.4}.tutorial-phone-body .transaction-row{padding:8px 4px}.tutorial-phone-body .cashflow-chart{margin:0}.tutorial-phone-body .category-breakdown{grid-template-columns:1fr;gap:6px}.tutorial-phone-body .category-donut{max-width:250px;margin:0 auto}.tutorial-phone-body .bank-logo-picker{grid-template-columns:repeat(3,1fr);max-height:none}.shot-field{position:relative;display:grid;gap:4px;font-size:.72rem;font-weight:700;color:var(--muted)}.shot-field>div{border:1.5px solid var(--border);border-radius:10px;padding:9px 10px;background:var(--surface);color:var(--text);font-size:.92rem;font-weight:650;min-height:38px;display:flex;align-items:center}.shot-field>div em{color:var(--muted);font-style:normal;font-weight:500}.shot-field.active>div{border-color:var(--income);box-shadow:var(--focus-ring)}.shot-caret{display:inline-block;width:2px;height:1.05em;background:var(--income);margin-left:2px;animation:shot-blink 1s steps(1) infinite}@keyframes shot-blink{50%{opacity:0}}.shot-tap{position:absolute;right:8px;bottom:-10px;font-size:1.3rem;animation:shot-tap 1.4s ease-in-out infinite}@keyframes shot-tap{50%{transform:translateY(-4px) scale(.94)}}.shot-summary{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.78rem}.shot-summary.strong{color:var(--income);font-weight:750;background:var(--income-soft)}.shot-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shot-accounts{display:grid;gap:8px}.shot-accounts>div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:9px}.shot-accounts small{display:block;color:var(--muted);font-size:.7rem}.shot-static{pointer-events:none}.quick-add-bar.shot-static{padding:9px 12px;min-height:40px}@media(prefers-reduced-motion:reduce){.shot-caret,.shot-tap,.sync-status-dot{animation:none}}.getting-started{display:grid;gap:12px}.getting-started-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.getting-started-head h2{margin:2px 0 0}.getting-started-progress{height:6px;border-radius:4px;background:var(--surface-2);overflow:hidden}.getting-started-progress i{display:block;height:100%;background:var(--income);border-radius:4px;transition:width .3s}.getting-started-steps{display:grid;gap:6px}.getting-started-steps button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;padding:11px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.getting-started-steps button.done{opacity:.65}.getting-started-steps button.done strong{text-decoration:line-through}.getting-started-steps .step-mark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--border);font-size:.78rem;font-weight:800;color:var(--muted)}.getting-started-steps button.done .step-mark{background:var(--income);border-color:var(--income);color:#fff}.getting-started-steps span small{display:block;color:var(--muted);font-size:.78rem}.dev-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px;margin-top:16px}.tutorial-phone-body .shopping-mode-summary{grid-template-columns:1fr 1fr;position:static}.billing-readonly-bar{display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 12px;margin-bottom:14px;font-size:.86rem;background:#f5f3ff;border:1px solid #ddd6fe;color:#5b21b6}.billing-readonly-bar .text-button{margin-left:auto;padding:0;color:inherit;font-weight:800;text-decoration:underline}:root[data-theme=dark] .billing-readonly-bar{background:#2e1065;border-color:#5b21b6;color:#ddd6fe}.badge.badge-success{background:var(--income-soft);color:var(--income)}.shopping-mode-summary{grid-template-columns:repeat(3,1fr) auto;align-items:stretch;box-shadow:0 6px 12px -10px #0f172a59}.shopping-mode-summary .primary-button{min-height:0;height:100%;padding:0 14px}.shopping-mode{padding-bottom:28px}@media(max-width:760px){.shopping-mode-summary{grid-template-columns:repeat(3,1fr)}.shopping-mode-summary .primary-button{grid-column:1 / -1;min-height:42px}.shopping-mode-actions{grid-template-columns:1fr}}.remaining-month-bars button{cursor:pointer;transition:opacity .2s,box-shadow .2s}.remaining-month-bars button.active{box-shadow:var(--focus-ring)}.remaining-month-bars button.dimmed{opacity:.4}.remaining-filter-note{font-size:.8rem;margin:8px 0 0}.donut-slice.active{stroke-width:18}.category-hint{color:var(--muted);font-size:.76rem;padding:0 10px 4px}.import-review-list>div.skipped{opacity:.75}.import-review-list>div.skipped strong{text-decoration:line-through}.invoice-skip-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:3px 10px}.invoice-skip-toggle input{width:auto}:root[data-theme=dark] .invoice-skip-toggle{background:#3b2a06;border-color:#78501a;color:#fcd34d}.donut-slice{pointer-events:stroke}.donut-label{cursor:pointer;transition:opacity .2s}.donut-label.dim{opacity:.3}.donut-label text{font-size:6.4px;fill:var(--text)}.donut-label-pct{font-weight:800}.donut-label-name{font-size:5.4px!important;fill:var(--muted)!important}.category-breakdown{grid-template-columns:minmax(220px,300px) 1fr}@media(max-width:760px){.category-donut{max-width:300px}}.transaction-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-title{max-width:100%}.point-detail-row span,.bar-detail .point-detail-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-list button div,.market-ranking button div{min-width:0}.receipt-list strong,.market-ranking div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}@media(max-width:900px){.mobile-nav{bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;padding:3px!important;border-radius:14px!important}.mobile-nav .nav-button{min-height:44px!important;gap:1px!important;font-size:.64rem!important;padding:2px!important}.mobile-nav .nav-button svg{width:18px;height:18px}.mobile-add{width:40px!important;height:40px!important;border-radius:13px!important}.content{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}}.plan-support-note{background:var(--income-soft);border-radius:12px;padding:12px 14px;margin:12px 0;font-size:.88rem;line-height:1.45}.nfce-merchant-name{margin:10px 0}.nfce-duplicate{display:grid;gap:8px;padding:12px 14px;margin:10px 0;border-radius:12px;background:#fffbeb;border:1px solid #fde68a}.nfce-duplicate>span{font-size:.84rem;color:var(--muted)}:root[data-theme=dark] .nfce-duplicate{background:#3b2a06;border-color:#78501a}.welcome-guide{max-width:520px}.welcome-steps{list-style:none;padding:0;margin:14px 0;display:grid;gap:8px}.welcome-steps li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.welcome-steps li>svg{color:var(--income)}.welcome-steps small{display:block;color:var(--muted);font-size:.8rem}.welcome-skip{display:block;margin:10px auto 0}.guide-bar{position:fixed;z-index:45;right:20px;bottom:20px;width:min(380px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 40px #0f172a2e;padding:12px 14px;display:grid;gap:10px}.guide-bar-head{display:flex;align-items:center;justify-content:space-between}.guide-bar-steps{display:grid;gap:4px;font-size:.84rem}.guide-bar-steps span{display:flex;align-items:center;gap:8px;color:var(--muted)}.guide-bar-steps b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;border:1.5px solid var(--border)}.guide-bar-steps .current{color:var(--text);font-weight:750}.guide-bar-steps .current b{border-color:var(--income);color:var(--income)}.guide-bar-steps .done b{background:var(--income);border-color:var(--income);color:#fff}.guide-bar-steps .done,.guide-bar-steps .skipped{text-decoration:line-through}.guide-bar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.guide-bar-done{margin-right:auto;font-weight:750}@media(max-width:900px){.guide-bar{left:12px;right:12px;width:auto;bottom:calc(66px + env(safe-area-inset-bottom,0px))}}.bulk-import-limit{display:grid;gap:2px;padding:10px 12px;border-radius:12px;margin:8px 0 12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:.86rem}.bulk-import-limit b{font-size:.95rem}.bulk-import-limit span{color:#1e40af;font-size:.8rem}:root[data-theme=dark] .bulk-import-limit{background:#0f2547;border-color:#1e3a8a;color:#bfdbfe}:root[data-theme=dark] .bulk-import-limit span{color:#93c5fd}html,body{max-width:100%;overflow-x:clip}.app-shell,.content,.page-stack,.settings-grid{min-width:0;max-width:100%}.page-stack>*,.settings-grid>*,.panel,.panel>*,.report-main>*{min-width:0;max-width:100%}.point-detail-row>span{flex:1 1 auto}.point-detail-row>strong{flex:none}.content svg,.content img,.content video,.content canvas{max-width:100%}.content table{display:block;max-width:100%;overflow-x:auto}@media(max-width:760px){.report-head-actions{width:100%;min-width:0}.report-head-actions .segmented{flex:1;min-width:0}.report-head-actions .segmented button{flex:1;min-width:0;padding-left:6px;padding-right:6px}.period-current{min-width:0;flex:1}.period-current strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.income-expense-heading{flex-wrap:wrap;gap:8px}.income-expense-controls{flex-wrap:wrap}.report-balance-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.report-balance-strip strong{font-size:.85rem;overflow-wrap:anywhere}.remaining-month-bars{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}}.income-expense-months.bars{height:auto!important;display:block!important;padding-top:6px!important}.monthly-bars-svg{width:100%;height:auto;display:block}.monthly-svg-amount{font-size:20px;font-weight:750}.monthly-svg-month{font-size:20px;fill:var(--muted)}.monthly-svg-net{font-size:19px;font-weight:750}@media(max-width:760px){.category-breakdown{grid-template-columns:minmax(0,1fr)!important;gap:10px}.category-donut{max-width:300px;width:100%;margin:0 auto}.category-bars button{grid-template-columns:minmax(0,1fr) auto}.category-bar-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.template-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sync-status-bar.refreshing{padding:7px 12px}.history-loader{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);font-size:.82rem;color:var(--muted)}.import-issues{display:grid;gap:8px;margin:10px 0}.import-issues-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.import-issue-group{display:grid;gap:8px;padding:11px 12px;border-radius:12px;border:1px solid #fecaca;background:#fef2f2}.import-issue-group.blocking{border-color:#fde68a;background:#fffbeb;margin:10px 0}.import-issue-group>div:first-child{display:grid;gap:2px;min-width:0}.import-issue-group strong{display:flex;align-items:center;gap:6px;font-size:.88rem}.import-issue-group span{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.import-issue-actions{display:flex;flex-wrap:wrap;gap:6px}.import-issue-actions .primary-button,.import-issue-actions .secondary-button{min-height:34px;font-size:.8rem;padding:0 10px}:root[data-theme=dark] .import-issue-group{background:#3b0d0d;border-color:#7f1d1d}:root[data-theme=dark] .import-issue-group.blocking{background:#3b2a06;border-color:#78501a}.import-all-good{display:flex;align-items:center;gap:8px;color:var(--income);font-weight:750;margin:10px 0}.import-row-issue{color:var(--expense)!important;font-weight:700}.import-show-more{margin:8px auto 0;display:flex}.inline-link{display:inline;padding:0;text-decoration:underline;font-weight:750;color:inherit}.import-done .spin{color:var(--muted)}.welcome-tip{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--income) 10%,var(--surface));font-size:.86rem}.welcome-tip svg{flex:none;margin-top:2px;color:var(--income)}.welcome-start{width:100%;min-height:48px;font-size:1rem}.welcome-secondary{display:flex;justify-content:space-between;gap:12px;margin-top:10px}.welcome-secondary .text-button,.guide-bar-foot .text-button{min-height:36px;color:var(--muted);font-size:.84rem}.guide-bar-progress{display:flex;gap:5px}.guide-bar-progress i{width:26px;height:5px;border-radius:3px;background:var(--border)}.guide-bar-progress i.done{background:var(--income)}.guide-bar-progress i.current{background:color-mix(in srgb,var(--income) 45%,var(--border))}.guide-bar-step strong{display:block;font-size:1rem}.guide-bar-step p{margin:3px 0 0;color:var(--muted);font-size:.86rem;line-height:1.35}.guide-bar-next{display:grid;gap:6px}.guide-bar-next .secondary-button{justify-content:flex-start;min-height:40px}.guide-bar-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:4px;margin-top:-2px}@media(max-width:900px){.guide-bar{bottom:calc(74px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 180px);overflow-y:auto}}.monthly-svg-amount{font-size:19px}.nfce-save-error{margin:10px 0 4px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--expense) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--expense) 45%,var(--border));color:var(--text);font-size:.88rem;font-weight:600}.forecast-note{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--income) 10%,var(--surface));font-size:.86rem;line-height:1.4}.field-help.forecast-warning{color:var(--expense);font-weight:650}.label-inline{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}.label-inline .optional-label{display:inline;margin:0;font-weight:500;color:var(--muted);font-size:.8em}.quick-fields .quick-category,.quick-fields .quick-date-row,.quick-fields .quick-recurrence,.quick-fields .quick-recurrence-help,.quick-fields .quick-due{grid-column:1 / -1}.quick-date-row{grid-template-columns:minmax(0,170px) auto!important;justify-content:space-between}.repeat-toggle{height:48px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:650;white-space:nowrap;cursor:pointer}.repeat-toggle.active{border-color:var(--income);background:color-mix(in srgb,var(--income) 14%,var(--surface));color:var(--income)}.repeat-toggle:disabled{opacity:.5;cursor:not-allowed}.quick-recurrence{gap:10px}@media(max-width:560px){.quick-recurrence{grid-template-columns:1fr 1fr!important}}.cash-health h2{font-size:1.15rem}.cash-health-forecast{margin:2px 0 12px;font-size:1rem}.cash-health-forecast strong{font-size:1.25rem}.cash-health .positive{color:var(--income)}.cash-health .negative{color:var(--expense)}.cash-health-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cash-health-figures>div{min-width:0;padding:10px;border:1px solid var(--border);border-radius:12px;display:grid;gap:2px}.cash-health-figures span{color:var(--muted);font-size:.76rem}.cash-health-figures strong{font-size:.98rem;overflow-wrap:anywhere}.cash-health-daily{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--income) 10%,var(--surface));font-size:.9rem}.cash-health-answers{margin:14px 0 0;display:grid}.cash-health-answers>div{padding:10px 0;border-top:1px solid var(--border);display:grid;gap:2px}.cash-health-answers dt{font-weight:750;font-size:.9rem}.cash-health-answers dd{margin:0;color:var(--muted);font-size:.9rem;line-height:1.4}.cash-health-answers dd b{color:var(--text)}.can-i-spend{margin-top:6px;padding:12px;border-radius:14px;border:1px solid var(--border);display:grid;gap:8px}.can-i-spend label{display:grid;gap:1px}.can-i-spend label small{color:var(--muted);font-weight:500}.can-i-spend .money-field{display:flex;align-items:center;gap:6px}.can-i-spend .money-field input{flex:1;min-width:0}.can-i-spend-answer{margin:0;padding:10px 12px;border-radius:12px;font-size:.9rem;line-height:1.4;background:color-mix(in srgb,var(--income) 10%,var(--surface))}.can-i-spend-answer.tight{background:color-mix(in srgb,#eda100 16%,var(--surface))}.can-i-spend-answer.short{background:color-mix(in srgb,var(--expense) 12%,var(--surface))}.what-changed ul{margin:0;padding:0 0 0 18px;display:grid;gap:4px;font-size:.92rem}.what-changed li.up::marker{color:var(--income)}.what-changed li.down::marker{color:var(--expense)}@media(max-width:420px){.cash-health-figures{grid-template-columns:1fr}.cash-health-figures>div{grid-template-columns:1fr auto;align-items:center}}.welcome-paths{display:grid;gap:10px;margin:14px 0}.welcome-path{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:14px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.welcome-path.featured{border-color:var(--income);background:color-mix(in srgb,var(--income) 8%,var(--surface))}.welcome-path strong{display:block;font-size:.98rem}.welcome-path strong em{font-style:normal;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--income);border-radius:999px;padding:2px 8px;margin-left:4px;white-space:nowrap}.welcome-path small{display:block;color:var(--muted);font-size:.82rem;line-height:1.35;margin-top:2px}.welcome-path-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--income) 14%,var(--surface));color:var(--income)}.smart-import{display:grid;gap:12px}.smart-import-drop{display:grid;justify-items:center;gap:4px;padding:26px 16px;border-radius:16px;border:2px dashed var(--border);background:transparent;color:var(--text);cursor:pointer}.smart-import-drop small{color:var(--muted);text-align:center}.smart-import-lock{display:flex;gap:8px;align-items:center;margin:0;overflow-wrap:anywhere}.smart-import-reading{display:grid;justify-items:center;gap:8px;padding:34px 12px;text-align:center}.smart-import-reading span{color:var(--muted);font-size:.88rem}.smart-import-summary{display:grid;gap:4px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--income) 8%,var(--surface))}.smart-import-summary .badge{justify-self:start}.smart-import-summary span:last-child{color:var(--muted);font-size:.86rem}.smart-import-block{border:1px solid var(--border);border-radius:14px;padding:10px 12px 12px;margin:0;display:grid;gap:8px;min-width:0}.smart-import-block legend{display:inline-flex;align-items:center;gap:6px;font-weight:750;font-size:.9rem;padding:0 6px}.smart-import-days{grid-template-columns:1fr 1fr!important;gap:8px}.smart-import-chips{display:flex;flex-wrap:wrap;gap:6px}.smart-import-chips button{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.84rem;cursor:pointer}.smart-import-chips button.active{border-color:var(--income);color:var(--text);background:color-mix(in srgb,var(--income) 12%,var(--surface))}.smart-import-chips small{color:var(--muted)}.smart-import-recurring{list-style:none;margin:0;padding:0;display:grid;gap:6px}.smart-import-recurring li{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.smart-import-recurring small{display:block;color:var(--muted);font-size:.78rem}.smart-import-entry{border-color:var(--income)!important}.cash-health-forecast strong{white-space:nowrap}.smart-import-quota{margin:0;color:var(--muted);font-size:.82rem;text-align:center}.cash-health.collapsed .panel-heading{margin-bottom:0}.setup-wizard{max-width:460px;display:grid;gap:12px}.setup-wizard form{display:grid;gap:12px}.setup-wizard h2{margin:0;font-size:1.3rem}.setup-wizard .muted{margin:0}.setup-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.setup-head .guide-bar-progress{justify-self:start}.setup-next{width:100%;min-height:48px;font-size:1rem}.setup-foot{text-align:center}.setup-options{display:grid;gap:8px}.setup-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1.5px solid var(--border);border-radius:12px;cursor:pointer}.setup-option.checked{border-color:var(--income);background:color-mix(in srgb,var(--income) 8%,var(--surface))}.setup-option input{width:20px;height:20px;accent-color:var(--income)}.setup-option strong{display:block}.setup-option small{color:var(--muted);font-size:.82rem}.setup-card-fields{display:grid;gap:8px;padding:0 4px 4px 12px;border-left:3px solid var(--income);margin-left:8px}.setup-days{display:grid;grid-template-columns:1fr 1fr;gap:8px}.setup-card ul{list-style:none;margin:8px 0 12px;padding:0;display:grid;gap:6px}.setup-card li{display:flex;align-items:center;gap:10px;font-size:.93rem}.setup-card li .step-mark{width:20px;height:20px;flex:none;border-radius:50%;border:1.5px solid var(--border);display:grid;place-items:center}.setup-card li.done{color:var(--muted)}.setup-card li.done .step-mark{background:var(--income);border-color:var(--income);color:#fff}.setup-done{text-align:center;justify-items:center}.setup-done-emoji{font-size:2.4rem;margin:0}.setup-done-balance{display:grid;gap:2px;padding:14px 24px;border-radius:14px;background:color-mix(in srgb,var(--income) 10%,var(--surface))}.setup-done-balance span{color:var(--muted);font-size:.84rem}.setup-done-balance strong{font-size:1.7rem}.setup-skip{margin:0 auto}.package-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--income) 14%,var(--surface));color:var(--text);font-size:.72rem;font-weight:700;vertical-align:middle;white-space:nowrap}.price-basis-note{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--income) 8%,var(--surface));font-size:.86rem;line-height:1.4}.raw-name{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}.list-screen{position:fixed;inset:0;z-index:1300;display:flex;flex-direction:column;background:var(--bg, #f6f8fb)}:root[data-theme=dark] .list-screen{background:#0b1220}.list-screen-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;background:#0f766e;color:#fff;box-shadow:0 2px 10px #0f172a2e}.list-screen-back{width:40px;height:40px;border:0;border-radius:12px;background:#ffffff24;color:#fff;display:grid;place-items:center;cursor:pointer}.list-screen-title{min-width:0;display:grid}.list-screen-title strong{display:inline-flex;align-items:center;gap:7px;font-size:1.05rem}.list-screen-title small{opacity:.85;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-screen-exit{min-height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.5);border-radius:12px;background:transparent;color:#fff;font-weight:700;font-size:.84rem;cursor:pointer;white-space:nowrap}.list-screen-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 12px calc(24px + env(safe-area-inset-bottom,0px));display:grid;gap:12px;align-content:start;width:100%;max-width:760px;margin:0 auto}.quick-category{display:grid;gap:6px}.quick-category-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.quick-category-head>label{font-weight:650}.suggested-tag{margin-left:6px;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--income) 14%,var(--surface));font-size:.7rem;font-weight:700}.forecast-tick{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.84rem}.forecast-tick label{display:inline-flex!important;align-items:center;gap:5px;font-weight:500;cursor:pointer}.forecast-tick input{width:17px;height:17px;accent-color:var(--income)}.help-dot{width:22px;height:22px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:800;line-height:1;cursor:pointer;padding:0}.forecast-badge{margin-left:6px;padding:0 6px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:.66rem;font-weight:700;vertical-align:middle}.transaction-title-text{cursor:pointer}.transaction-row.show-full .transaction-title,.transaction-row.show-full .transaction-title-text{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;display:inline!important;-webkit-line-clamp:unset!important}.review-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}.review-chips button:not(.text-button){padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,#eda100 55%,var(--border));background:color-mix(in srgb,#eda100 12%,var(--surface));color:var(--text);font-size:.82rem;font-weight:650;cursor:pointer}.review-chips button.active{background:#eda100;border-color:#eda100;color:#1f1300}.review-chips small{flex-basis:100%;color:var(--muted);font-size:.8rem}.transactions-toolbar-row .compact-page-size select{width:84px!important;min-width:84px!important}.cash-health-horizon{display:flex;gap:4px;margin:0 0 10px;flex-wrap:wrap}.cash-health-horizon button{flex:1 1 auto;min-height:36px;padding:0 10px;white-space:nowrap}.market-month-bars>button{display:grid;grid-template-rows:auto 1fr auto;align-items:end;justify-items:center;height:100%;gap:6px;font-size:.78rem;color:var(--muted);border:0;background:transparent;padding:0;cursor:pointer;border-radius:10px;font-family:inherit}.market-month-bars>button:disabled{cursor:default}.market-month-bars>button.selected{color:var(--text);font-weight:750;background:color-mix(in srgb,var(--income) 8%,transparent)}.market-month-bars>button.selected i{background:var(--income);outline:2px solid var(--income);outline-offset:2px}.market-month-items{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;display:grid;gap:4px}.market-month-items-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9rem;text-transform:capitalize}.market-month-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.market-month-item:last-of-type{border-bottom:0}.market-month-item div{min-width:0;display:grid}.market-month-item div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.market-month-item div span{color:var(--muted);font-size:.78rem}.import-skip-panel{display:grid;gap:6px;padding:12px;border-radius:14px;border:1.5px solid color-mix(in srgb,#eda100 55%,var(--border));background:color-mix(in srgb,#eda100 10%,var(--surface));margin:6px 0 12px}.import-skip-panel>span{color:var(--muted);font-size:.84rem}.import-skip-list{display:grid;gap:4px;max-height:260px;overflow-y:auto}.import-skip-list label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:8px;border-radius:10px;background:var(--surface);cursor:pointer}.import-skip-list label.kept{outline:1.5px solid var(--income)}.import-skip-list input{width:18px;height:18px;margin-top:2px;accent-color:var(--income)}.import-skip-list strong{display:block;font-size:.88rem;overflow-wrap:anywhere}.import-skip-list small{color:var(--muted);font-size:.78rem}.receipt-link-button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;padding:12px;margin:0 0 12px;border-radius:14px;border:1.5px solid var(--income);background:color-mix(in srgb,var(--income) 8%,var(--surface));color:var(--text);cursor:pointer}.receipt-link-button small{display:block;color:var(--muted);font-size:.8rem}.budget-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.budget-totals>div{min-width:0;padding:10px;border:1px solid var(--border);border-radius:12px;display:grid;gap:2px}.budget-totals span{color:var(--muted);font-size:.76rem}.budget-totals strong{font-size:.98rem;overflow-wrap:anywhere}.budget-review .positive,.investments-panel .positive{color:var(--income)}.budget-review .negative,.investments-panel .negative{color:var(--expense)}.budget-note{font-size:.82rem;margin:10px 0}.budget-rows{display:grid;gap:10px}.budget-row-head{display:flex;justify-content:space-between;gap:10px;font-size:.9rem}.budget-row-head span{color:var(--muted);font-size:.82rem;white-space:nowrap}.budget-bar{height:8px;border-radius:99px;background:var(--border);overflow:hidden;margin:4px 0 2px}.budget-bar i{display:block;height:100%;background:var(--income);border-radius:99px}.budget-rows .over .budget-bar i{background:var(--expense)}.budget-rows small{color:var(--muted);font-size:.78rem}.budget-rows .over small{color:var(--expense);font-weight:650}.investment-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;height:130px;align-items:end;margin-top:14px}.investment-bars>div{display:grid;grid-template-rows:1fr auto;height:100%;gap:4px;justify-items:center;font-size:.66rem;color:var(--muted)}.investment-pair{display:flex;align-items:flex-end;gap:2px;height:100%}.investment-pair i{width:7px;min-height:2px;border-radius:3px 3px 0 0}.investment-pair i.invested,.investment-legend i.invested{background:#2a78d6}.investment-pair i.received,.investment-legend i.received{background:var(--income)}.investment-legend{display:flex;gap:14px;font-size:.78rem;color:var(--muted);margin-top:6px}.investment-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}.investment-list{display:grid;margin-top:12px}.investment-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--border);font-size:.86rem}.investment-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.investment-list small{color:var(--muted)}.quick-feedback-intro{margin:0;color:var(--muted);font-size:.84rem}.quick-feedback-row.question{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid var(--border);border-radius:14px;text-align:left}.quick-feedback-row.question>div{display:grid;gap:8px}.quick-feedback-row.question small{color:var(--muted);font-size:.78rem;margin-top:-6px}.question-number{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--income);color:#fff;font-weight:800;font-size:.85rem}.price-choice{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.price-choice button{display:inline-flex;align-items:center;justify-content:center;gap:5px}@media(max-width:420px){.budget-totals{grid-template-columns:1fr}}@media(max-width:390px){html{font-size:15px}.content{padding-left:10px!important;padding-right:10px!important}.panel{padding:13px 12px!important}h1{font-size:1.45rem}h2{font-size:1.12rem}.tutorial-welcome-card h2,.choice-modal h2,.feature-notice-modal h2,.setup-wizard h2{font-size:1.25rem!important;line-height:1.25}.modal-backdrop,.tutorial-welcome-overlay{padding:8px!important}.tutorial-welcome-card,.choice-modal,.transaction-modal{padding-left:14px!important;padding-right:14px!important}.transaction-row{grid-template-columns:28px minmax(0,1fr) auto!important;column-gap:8px!important}.transaction-icon{width:28px!important;height:28px!important}.transaction-icon svg{width:16px;height:16px}.transaction-title{white-space:normal!important}.transaction-title-text{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}.transaction-value{font-size:.86rem!important}.row-actions button{width:30px;height:30px}.invoice-title-line{flex-wrap:wrap!important;row-gap:2px}.csv-button{font-size:.8rem!important;padding:0 9px!important;height:34px!important}.transactions-toolbar-row .compact-page-size select{width:72px!important;min-width:72px!important}.metric-card strong,.hero-balance strong{font-size:1.2rem}.cash-health-figures strong,.budget-totals strong{font-size:.9rem}.cash-health-horizon button,.segmented button{padding-left:8px!important;padding-right:8px!important;font-size:.78rem!important}.market-month-bars{gap:5px!important}.market-month-value{font-size:.64rem}.welcome-path{padding:11px!important;gap:9px!important}.welcome-path-icon{width:36px!important;height:36px!important}.list-screen-exit{padding:0 9px;font-size:.78rem}.list-screen-title small{font-size:.7rem}}@media(max-width:350px){html{font-size:14px}.mobile-nav .nav-button{font-size:.58rem!important}.mobile-nav .nav-button svg{width:16px!important;height:16px!important}.transaction-kind-toggle button{padding-left:8px!important;padding-right:8px!important}.quick-date-row{grid-template-columns:minmax(0,1fr) auto!important}.forecast-tick{font-size:.76rem}.price-choice,.budget-totals,.cash-health-figures{grid-template-columns:1fr!important}}.app-lock-screen{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:24px;background:var(--bg, #f6f8fb)}:root[data-theme=dark] .app-lock-screen{background:#0b1220}.app-lock-card{display:grid;justify-items:center;gap:12px;text-align:center;max-width:340px;width:100%}.app-lock-card h2{margin:6px 0 0}.app-lock-card p{margin:0;color:var(--muted)}.app-lock-card .primary-button{width:100%;min-height:48px}.app-lock-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:color-mix(in srgb,var(--income) 14%,var(--surface));color:var(--income);margin-top:10px}.switch-row{display:inline-flex;align-items:center;gap:8px;font-weight:650;cursor:pointer}.switch-row input{width:20px;height:20px;accent-color:var(--income)}.review-panel{display:grid;gap:10px;margin-bottom:12px}.review-intro{margin:0;font-size:.86rem;color:var(--muted);line-height:1.4}.review-card{border:1px solid var(--border);border-radius:14px;padding:10px 12px;display:grid;gap:8px;background:var(--surface)}.review-why{margin:0;font-size:.86rem}.review-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--border) 35%,var(--surface))}.review-item>div{min-width:0;display:grid;gap:2px}.review-item strong{font-size:.9rem;overflow-wrap:anywhere}.review-item small{color:var(--muted);font-size:.78rem}.review-delete{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--expense);font-weight:700;font-size:.8rem;cursor:pointer;white-space:nowrap}.review-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.import-skip-bulk{display:flex;gap:14px;flex-wrap:wrap}.import-skip-item{display:grid;gap:8px;padding:10px;border-radius:12px;background:var(--surface);border:1.5px solid transparent}.import-skip-item.kept{border-color:var(--income)}.import-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.import-compare>div{min-width:0;display:grid;gap:1px;padding:8px;border-radius:10px;background:color-mix(in srgb,var(--border) 35%,var(--surface))}.import-compare small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.import-compare strong{font-size:.86rem;overflow-wrap:anywhere}.import-compare span{font-size:.78rem;color:var(--muted)}.import-skip-choice{display:grid;grid-template-columns:1fr 1fr;gap:6px}.import-skip-choice button{min-height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.8rem;font-weight:650;cursor:pointer;padding:4px 6px}.import-skip-choice button.active{border-color:var(--income);background:color-mix(in srgb,var(--income) 14%,var(--surface))}.restore-purchase{display:block;margin:10px auto 0}@media(max-width:390px){.import-compare,.import-skip-choice{grid-template-columns:1fr}}.post-import-review{display:grid;gap:6px;padding:12px;border-radius:14px;border:1.5px solid color-mix(in srgb,#eda100 55%,var(--border));background:color-mix(in srgb,#eda100 10%,var(--surface));margin:6px 0 4px;text-align:left}.post-import-review span{color:var(--muted);font-size:.86rem}.post-import-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.post-import-ok{display:flex;align-items:center;gap:6px;justify-content:center;color:var(--income);font-weight:650;font-size:.88rem;margin:6px 0}.title-import-button{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.76rem;font-weight:700;cursor:pointer;white-space:nowrap;vertical-align:middle}.collective-subtle{padding:4px 6px 8px}.collective-subtle label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;color:var(--muted);font-size:.78rem;line-height:1.35;opacity:.85;cursor:pointer}.collective-subtle input{width:15px;height:15px;margin-top:1px;accent-color:#94a3b8}.forecast-remove{color:var(--muted)}.review-badge{margin-left:6px;padding:1px 6px;border-radius:999px;border:1px solid var(--border);font-size:.66rem;font-weight:700;color:var(--muted)}.collective-hint{display:grid;gap:2px;padding:10px 12px;border-radius:12px;border:1px dashed var(--border);margin:10px 0}.collective-hint span{font-size:.9rem}.collective-hint small{color:var(--muted);font-size:.76rem}.product-detail{scroll-margin-top:80px}.import-help{border:1px solid var(--border);border-radius:12px;padding:8px 12px;background:var(--surface)}.import-help summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;font-size:.88rem;list-style:none}.import-help summary::-webkit-details-marker{display:none}.import-help ul{margin:8px 0 2px;padding-left:18px;display:grid;gap:6px;font-size:.84rem;color:var(--muted);line-height:1.4}.import-help li strong{color:var(--text)}.bulk-import-limit span{display:block}.statement-check{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid var(--border);margin:8px 0}.statement-check span{display:grid;gap:2px}.statement-check small{color:var(--muted);font-size:.8rem;line-height:1.35}.statement-check.ok{border-color:color-mix(in srgb,#16a34a 45%,var(--border))}.statement-check.ok svg{color:#16a34a;flex:none}.statement-check.warn{border-color:color-mix(in srgb,#d97706 60%,var(--border));background:color-mix(in srgb,#f59e0b 8%,transparent)}.statement-check.warn svg{color:#d97706;flex:none}.statement-check.none{display:block;color:var(--muted);font-size:.82rem}.manual-replace{display:grid;gap:6px;padding:12px;border-radius:12px;border:1px solid var(--border);margin:8px 0}.manual-replace>span{color:var(--muted);font-size:.84rem;line-height:1.4}.manual-replace ul{list-style:none;margin:0;padding:0;display:grid;gap:3px}.manual-replace li{display:flex;justify-content:space-between;gap:8px;font-size:.84rem}.manual-replace li small{color:var(--muted);white-space:nowrap}.manual-replace-choice{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.manual-replace-choice button{padding:8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer}.manual-replace-choice button.active{border-color:var(--accent, #2563eb);background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent)}@media(max-width:380px){.manual-replace-choice{grid-template-columns:1fr}}.smart-import-learned{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.82rem;margin:4px 0}.screen-loading{display:grid;place-items:center;min-height:40vh}.screen-loading .spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent, #2563eb);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.market-insights{display:grid;gap:12px}.insight-context{color:var(--muted);font-size:.84rem;margin:0;line-height:1.4}.insight-card{border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:grid;gap:6px}.insight-card.warn{border-color:color-mix(in srgb,#d97706 55%,var(--border));background:color-mix(in srgb,#f59e0b 7%,transparent)}.insight-card h3{margin:0;font-size:.98rem}.insight-sub{margin:0;color:var(--muted);font-size:.8rem}.insight-main{margin:0;font-size:.9rem;line-height:1.45}.insight-main.good strong{color:#16a34a}.insight-empty{margin:0;color:var(--muted);font-size:.86rem}.insight-list{list-style:none;margin:0;padding:0;display:grid;gap:3px}.insight-list li{display:flex;justify-content:space-between;gap:8px;font-size:.84rem}.insight-list small{color:var(--muted)}.insight-precision{margin:0;font-size:.76rem;color:var(--muted);padding-left:8px;border-left:3px solid var(--border)}.insight-precision.high{border-left-color:#16a34a}.insight-precision.mid{border-left-color:#d97706}.insight-precision.low{border-left-color:#94a3b8}.insight-community{margin:0;font-size:.84rem;line-height:1.45;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--accent, #2563eb) 7%,transparent)}.insight-community small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}.insight-mix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.insight-mix div{display:grid;gap:2px;padding:6px 8px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.insight-mix span{font-size:.7rem;color:var(--muted)}.insight-mix strong{font-size:.84rem}.insight-products{display:grid;gap:6px}.insight-products button{display:grid;gap:2px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.insight-products span{font-size:.8rem;color:var(--muted)}.insight-products .insight-community-line{color:var(--accent, #2563eb)}.insight-products small{font-size:.72rem;color:var(--muted)}@media(max-width:380px){.insight-mix{grid-template-columns:1fr}}.insight-list.basket li{display:grid;gap:1px;padding:6px 0;border-bottom:1px solid var(--border)}.insight-list.basket li:last-child{border-bottom:0}.nfce-contribution{margin:6px 0 0;font-size:.82rem;color:var(--muted);line-height:1.4}.nfce-photo-ai{display:inline-flex;align-items:center;gap:6px;margin-top:4px}.regional-prices{display:grid;gap:6px;margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.regional-prices>small,.regional-note{color:var(--muted);font-size:.76rem;line-height:1.35}.regional-prices ul,.list-where ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.regional-prices li,.list-where li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:.86rem}.regional-prices li:last-child,.list-where li:last-child{border-bottom:0}.regional-prices li>span:last-child,.list-where li>span:last-child{display:grid;justify-items:end;text-align:right}.regional-prices li small,.list-where li small{color:var(--muted);font-size:.74rem}.regional-prices li.best strong,.list-where li.best>span:last-child>strong{color:#16a34a}.list-where-button{margin:4px 0 8px}.list-where{display:grid;gap:6px;margin:4px 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.list-where li>span:first-child{display:grid}.list-where-split{margin:0;font-size:.84rem;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,#16a34a 8%,transparent)}.list-where-empty{color:var(--muted);font-size:.82rem;margin:4px 0 8px}.market-map{height:52vh;min-height:280px;border-radius:14px;overflow:hidden;border:1px solid var(--border);z-index:0}.map-store-list{display:grid;gap:6px;margin:12px 0}.map-store-list a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none;background:var(--surface)}.map-store-list a span{display:grid;gap:2px}.map-store-list small{color:var(--muted);font-size:.76rem}.map-store-list em{font-style:normal;font-weight:700;font-size:.86rem;white-space:nowrap}.plan-quota{margin:8px 0;font-size:.88rem}.plan-compare{display:grid;gap:0;margin:10px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.plan-compare-row{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(auto-fit,minmax(0,1fr));gap:8px;padding:8px 10px;border-top:1px solid var(--border);align-items:center;font-size:.82rem}.plan-compare-row:first-child{border-top:0}.plan-compare-row.head{background:var(--surface);font-size:.84rem}.plan-compare-row em{font-style:normal;text-align:center}.plan-compare-row strong{text-align:center}.plan-compare-row.price em{font-weight:700}.plan-market-note{color:var(--muted);font-size:.8rem;margin:6px 0 10px}.plan-plus-button{margin-top:8px;width:100%}.base-unlock{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid color-mix(in srgb,var(--accent, #2563eb) 40%,var(--border));background:color-mix(in srgb,var(--accent, #2563eb) 6%,transparent)}.base-unlock>div{display:grid;gap:4px}.base-unlock span{color:var(--muted);font-size:.84rem;line-height:1.4}.captcha-slot:empty{display:none}.captcha-slot{display:flex;justify-content:center;margin:10px 0}@media(max-width:420px){.base-unlock{flex-direction:column;align-items:stretch}.plan-compare-row{font-size:.76rem}}.conf-tag{display:inline-block;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.conf-high{color:#15803d;border-color:color-mix(in srgb,#16a34a 45%,var(--border))}.conf-mid{color:#b45309;border-color:color-mix(in srgb,#d97706 45%,var(--border))}.conf-low{color:var(--muted)}.conf-none{color:var(--muted);opacity:.8}.active-list-card{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid color-mix(in srgb,var(--accent, #2563eb) 35%,var(--border))}.active-list-card h2{margin:2px 0;font-size:1.05rem}.active-list-card span{color:var(--muted);font-size:.84rem}.active-list-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.quick-list-start{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 12px}.new-list-sheet .list-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 12px}.new-list-sheet .list-type-grid button{display:grid;gap:2px;text-align:left;padding:12px;min-height:64px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.new-list-sheet .list-type-grid small{color:var(--muted);font-size:.76rem}.list-shortcuts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.suggestion-review{max-height:92vh;overflow-y:auto}.suggestion-name{display:grid;gap:4px;margin:6px 0 10px}.suggestion-group h3{font-size:.82rem;color:var(--muted);margin:12px 0 6px;text-transform:none}.suggestion-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.suggestion-row.off .suggestion-text{opacity:.55}.suggestion-text{display:grid;gap:2px;min-width:0}.suggestion-text strong{font-size:.9rem;overflow-wrap:anywhere}.suggestion-text small{color:var(--muted);font-size:.74rem}.export-sheet .export-options{display:grid;gap:6px;margin:6px 0}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.segmented button{padding:7px 12px;border:0;background:var(--surface);color:var(--text);font-size:.82rem;cursor:pointer;min-height:36px}.segmented button.active{background:color-mix(in srgb,var(--accent, #2563eb) 14%,var(--surface));font-weight:700}.segmented.small button{padding:5px 10px;font-size:.76rem;min-height:32px}.check-row.compact{display:flex;gap:8px;align-items:center;font-size:.86rem}.export-preview{width:100%;font-family:inherit;font-size:.82rem;line-height:1.4;border-radius:10px;border:1px solid var(--border);padding:8px;background:var(--surface);color:var(--text);resize:vertical}.export-actions{display:grid;grid-template-columns:1fr;gap:6px;margin:8px 0 4px}@media(min-width:520px){.export-actions{grid-template-columns:1.4fr 1fr 1fr}}.export-actions>button:first-child{grid-column:1 / -1}.export-actions{grid-template-columns:1fr 1fr}@media(min-width:520px){.export-actions{grid-template-columns:repeat(4,1fr)}}.purchase-summary{display:grid;gap:8px;margin:10px 0;text-align:left}.category-bars{display:grid;gap:6px}.category-bars>div{display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr) auto;gap:8px;align-items:center;font-size:.8rem}.category-bars .bar{width:100%;min-height:0;height:8px;border-radius:999px;background:color-mix(in srgb,var(--border) 70%,transparent);overflow:hidden}.category-bars .bar i{display:block;height:100%;border-radius:999px;background:var(--accent, #2563eb)}.category-bars em{font-style:normal;font-weight:700;white-space:nowrap;font-size:.76rem}.discoveries{margin:0;padding-left:18px;display:grid;gap:3px;font-size:.84rem}.category-drilldown{display:grid;gap:4px;margin:8px 0}.drill-head{display:flex;gap:6px;align-items:center;width:100%;padding:9px 6px;border:0;border-bottom:1px solid var(--border);background:none;color:var(--text);cursor:pointer;font-size:.9rem;text-align:left;min-height:42px}.drill-head span{flex:1}.drill-sub{padding-left:12px}.drill-sub-head{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);padding:6px 0 2px}.drill-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:6px 0;border-bottom:1px dashed var(--border);font-size:.84rem}.drill-line>div:first-child{display:grid;gap:2px;min-width:0}.drill-line strong{overflow-wrap:anywhere}.drill-line small{color:var(--muted);font-size:.74rem}.drill-line-actions{grid-column:1 / -1;display:flex;gap:10px}.drill-line select{grid-column:1 / -1}.receipt-raw-items summary{cursor:pointer;font-size:.84rem;color:var(--muted);padding:6px 0}.low-confidence-note{display:flex;gap:6px;align-items:center;font-size:.8rem;color:var(--muted);margin:4px 0}.monthly-consolidation .month-nav{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:center}.monthly-consolidation h2:first-letter{text-transform:uppercase}.month-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:10px 0}.month-kpis>div{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:10px}.month-kpis span,.month-kpis small{font-size:.74rem;color:var(--muted)}.month-compare{margin:4px 0;font-size:.88rem}.month-why{font-size:.84rem;line-height:1.45;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--accent, #2563eb) 5%,transparent);margin-bottom:10px}.month-why p{margin:2px 0}.plan-vs-actual{max-height:92vh;overflow-y:auto}.plan-group ul{margin:4px 0 8px;padding-left:20px;font-size:.86rem;display:grid;gap:3px}.plan-compare-button{margin:6px 0}.list-reference-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px}.list-type-chip{font-size:.74rem;font-weight:700;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent, #2563eb) 10%,transparent)}.reference-store{display:flex;gap:6px;align-items:center;font-size:.8rem;color:var(--muted)}.reference-store select{max-width:180px}.list-view-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:6px 0 10px}.undo-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--text);color:var(--surface);font-size:.86rem;margin-bottom:8px}.undo-bar .text-button{color:inherit;font-weight:700;text-decoration:underline}.item-brand{color:var(--muted);font-weight:400}.estimate-detail{grid-column:1 / -1;color:var(--muted);font-size:.74rem;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.shopping-head-actions{display:flex;gap:6px;align-items:center}@media(max-width:380px){.category-bars>div{grid-template-columns:minmax(80px,38%) minmax(0,1fr)}.category-bars em{grid-column:1 / -1}.new-list-sheet .list-type-grid{grid-template-columns:1fr 1fr}.active-list-card{flex-direction:column;align-items:stretch}}.home-list-card{display:flex;gap:12px;align-items:center;justify-content:space-between}.home-list-card>div{display:grid;gap:2px;min-width:0}.home-list-card span{color:var(--muted);font-size:.82rem}.list-row-label .nearby-price{display:block;font-size:.74rem;color:var(--muted);margin-top:1px}.list-row-label .nearby-price.cheaper{color:var(--income, #0f766e);font-weight:650}.nearby-detail{margin:0 0 8px;font-size:.8rem;color:var(--muted);line-height:1.4}.nearby-detail .text-button{padding:0 2px;font-size:.8rem}.list-screen~.modal-backdrop{z-index:1350}.modal-backdrop.nested{z-index:1360}.market-section.collapsed{padding-top:12px;padding-bottom:12px}.market-section.collapsed .panel-heading{margin-bottom:0}.market-section .collapsed-title{display:block;font-size:.95rem;color:var(--text)}.market-section-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.list-start-card,.active-list-card{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.list-start-card h2{margin:2px 0;font-size:1.05rem}.list-start-card span{color:var(--muted);font-size:.84rem}.list-start-actions,.active-list-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.market-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.market-secondary-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;font-weight:650;font-size:.86rem;cursor:pointer}.market-smart-actions{grid-template-columns:1fr}.month-headline{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:6px 0 4px}.month-headline strong{font-size:1.6rem;letter-spacing:-.01em}.month-headline span{font-size:.8rem;font-weight:650}.month-kpis.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.category-compare{display:grid;gap:10px;margin:6px 0 4px}.category-compare-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;font-size:.84rem}.category-compare-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-compare-track{grid-column:1;position:relative;height:12px;border-radius:999px;background:color-mix(in srgb,var(--border) 45%,transparent)}.category-compare-track i{position:absolute;left:0;top:0;bottom:0;border-radius:999px}.category-compare-track i.prev{background:color-mix(in srgb,var(--muted) 30%,transparent)}.category-compare-track i.now{top:3px;bottom:3px;background:var(--accent, #2563eb)}.category-compare-row>em{grid-column:2;align-self:center;text-align:right;min-width:46px;font-style:normal;font-size:.66rem;font-weight:700;line-height:1;color:var(--muted)}.category-compare-row>em.up{color:var(--expense, #b91c1c)}.category-compare-row>em.down{color:var(--income, #0f766e)}.category-compare-legend{display:flex;gap:14px;font-size:.72rem;color:var(--muted);margin:6px 0 2px}.category-compare-legend i{display:inline-block;width:14px;height:8px;border-radius:999px;vertical-align:middle;margin-right:4px}.category-compare-legend i.now{background:var(--accent, #2563eb)}.category-compare-legend i.prev{background:color-mix(in srgb,var(--muted) 30%,transparent)}details.month-why{margin:10px 0 0}details.month-why summary{cursor:pointer;font-weight:650;color:var(--accent, #2563eb);list-style-position:inside}details.month-why[open] summary{margin-bottom:6px}.sort-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none;align-items:center}.sort-chips::-webkit-scrollbar{display:none}.sort-chips>span{font-size:.76rem;color:var(--muted);flex:none}.sort-chips button{flex:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:.8rem;min-height:34px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.sort-chips button.active{background:color-mix(in srgb,var(--accent, #2563eb) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent, #2563eb) 45%,var(--border));font-weight:700}.sort-chips button small{font-size:.7rem;color:var(--muted)}.start-shopping-top{white-space:nowrap}.history-catalog .catalog-search{margin:0 0 8px}.catalog-list{display:grid}.catalog-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--border)}.catalog-row:last-child{border-bottom:0}.catalog-row>div{display:grid;gap:1px;min-width:0;flex:1}.catalog-row strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-row span{font-size:.74rem;color:var(--muted)}.catalog-row.added strong{color:var(--muted)}.catalog-add{flex:none;width:40px;height:40px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent, #2563eb) 45%,var(--border));background:color-mix(in srgb,var(--accent, #2563eb) 10%,var(--surface));color:var(--accent, #2563eb);display:grid;place-items:center;cursor:pointer}.catalog-add.added{border-color:var(--border);background:var(--surface-2);color:var(--income, #0f766e);cursor:default}.shopping-section-nav{position:sticky;top:-14px;z-index:2;display:flex;gap:6px;overflow-x:auto;padding:8px 0;margin:0 0 4px;background:var(--surface);scrollbar-width:none}.shopping-section-nav::-webkit-scrollbar{display:none}.shopping-section-nav button{flex:none;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 11px;font-size:.78rem;font-weight:650;min-height:34px;cursor:pointer}.shopping-section-nav button small{background:var(--accent, #2563eb);color:#fff;border-radius:999px;padding:0 6px;font-size:.68rem}.shopping-section-nav button.done{color:var(--muted);background:var(--surface-2)}.shopping-section{scroll-margin-top:60px}.shopping-section.done h3{color:var(--muted)}.shopping-section-done{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.82rem;color:var(--income, #0f766e)}.shopping-mode-row{display:flex;align-items:center;gap:6px}.shopping-mode-row .shopping-mode-item{flex:1;min-width:0}.cut-help{flex:none;display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:var(--accent, #2563eb);cursor:pointer;vertical-align:middle}.cut-help:hover{background:var(--surface-2)}.suggestion-text strong .cut-help{width:26px;height:26px;margin-left:2px}.suggestion-group h3{display:flex;align-items:center;justify-content:space-between;gap:8px}.suggestion-group h3 .text-button{font-size:.76rem;font-weight:600}.bbq-planner{max-height:min(92vh,860px);overflow-y:auto}.bbq-counts{display:grid;gap:8px}.bbq-count{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-weight:650}.qty-stepper.large button{width:44px;height:44px}.qty-stepper.large span{min-width:40px;font-size:1.05rem}.bbq-block{display:grid;gap:8px;margin-top:14px}.bbq-block>strong small{font-weight:400;color:var(--muted);font-size:.74rem;margin-left:6px}.bbq-block .segmented{width:100%}.bbq-block .segmented button{flex:1;display:grid;gap:1px;justify-items:center}.bbq-block .segmented button small{font-size:.68rem;font-weight:500;color:var(--muted)}.bbq-cut-group{display:grid;gap:4px}.bbq-cut-group>span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.bbq-cuts{display:flex;flex-wrap:wrap;gap:6px}.bbq-cut{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface);overflow:hidden}.bbq-cut>button:first-child{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--text);padding:7px 4px 7px 12px;font-size:.82rem;min-height:36px;cursor:pointer}.bbq-cut.on{border-color:color-mix(in srgb,var(--accent, #2563eb) 55%,var(--border));background:color-mix(in srgb,var(--accent, #2563eb) 12%,var(--surface))}.bbq-cut.on>button:first-child{font-weight:700}.bbq-cut .cut-help{width:30px;height:30px}.bbq-toggles{grid-template-columns:1fr;gap:2px}.bbq-summary{margin-top:14px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent, #2563eb) 8%,var(--surface));display:grid;gap:2px}.bbq-summary span{font-size:.8rem;color:var(--muted)}.cut-guide{max-width:480px}.cut-guide-list{margin:4px 0 10px;display:grid;gap:4px}.cut-guide-list dt{font-weight:750;font-size:.84rem;margin-top:6px}.cut-guide-list dd{margin:0;font-size:.86rem;line-height:1.45;color:var(--text)}.cut-freshness summary{cursor:pointer;font-weight:650;color:var(--accent, #2563eb)}.cut-freshness ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;font-size:.84rem;line-height:1.4}@media(max-width:420px){.active-list-actions,.list-start-actions{width:100%}.active-list-actions .primary-button,.list-start-actions .primary-button{flex:1;justify-content:center}.month-kpis.compact>div{padding:6px 8px}.month-kpis.compact strong{font-size:.92rem}}.suggestion-text .suggestion-price{color:var(--text);font-weight:650}.review-footer{position:sticky;bottom:0;z-index:1;background:var(--surface);padding-top:8px;margin-top:8px;box-shadow:0 -8px 12px -10px #0f172a40}.review-footer .modal-actions{position:static;margin-top:8px;box-shadow:none}.review-estimate{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent, #2563eb) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent, #2563eb) 25%,var(--border))}.review-estimate>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.review-estimate span{font-size:.8rem;color:var(--muted)}.review-estimate strong{font-size:1.15rem}.review-estimate small{font-size:.72rem;color:var(--muted);line-height:1.35}.list-row-label strong,.list-row-label>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row-label>span{font-size:.78rem;color:var(--muted)}.list-row-label .nearby-inline{font-style:normal;color:var(--income, #0f766e);font-weight:650}.qty-stepper span small{font-size:.68rem;font-weight:600;color:var(--muted)}.list-row-more{margin-top:2px}.list-row-more summary{cursor:pointer;font-size:.82rem;color:var(--accent, #2563eb);font-weight:600;padding:4px 0}.list-row-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.list-row-more-grid label:last-child{grid-column:1 / -1}.estimate-detail.wide{grid-column:1 / -1;color:var(--muted)}.history-catalog .section-chips{position:sticky;top:-14px;z-index:3;background:var(--surface);margin:0 -4px;padding:8px 4px}.list-fab{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:1320;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:10px 16px;background:#0f766e;color:#fff;font-weight:700;font-size:.86rem;box-shadow:0 6px 18px #0f172a47;cursor:pointer}.list-row-main{grid-template-columns:auto minmax(0,1fr) auto auto}.list-row-main .cut-help{width:30px;height:30px}.list-row-edit .wide{grid-column:1 / -1}.transaction-value.credit{color:var(--income, #0f766e)}.credit-badge{display:block;font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--income, #0f766e);text-align:right}.list-screen-exit{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.list-add-sticky{position:sticky;top:-14px;z-index:5;margin:-14px -12px 0;padding:12px 12px 8px;background:var(--bg, #f6f8fb);box-shadow:0 6px 10px -10px #0f172a59}.list-add-sticky .quick-add-bar{margin:0}.list-add-sticky .list-suggestions{position:static;max-height:45vh;overflow-y:auto;margin-top:6px}.shopping-sticky{position:sticky;top:-14px;z-index:4;background:var(--surface);margin:0 -4px;padding:6px 4px 0}.shopping-sticky .shopping-section-nav{position:static;margin-bottom:0}.list-row-main{padding:3px 0;gap:8px}.list-row-label{padding:2px 0}.list-row-label strong{font-size:.9rem;line-height:1.25}.list-row-label>span{font-size:.74rem;line-height:1.25}.list-row-main .list-check{width:26px;height:26px}.list-row-main .qty-stepper button{width:30px;height:30px}.list-section h3{margin:10px 0 2px}.list-start-card.compact{padding-top:12px;padding-bottom:12px;flex-wrap:nowrap}.list-start-card.compact h2{margin:0;font-size:1rem}.list-start-card.compact>div:first-child{min-width:0}.list-start-card.compact .list-start-actions{width:auto;flex:none;flex-wrap:nowrap}details.insight-card>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}details.insight-card>summary::-webkit-details-marker{display:none}details.insight-card>summary h3{margin:0}details.insight-card>summary:after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s;flex:none;margin-right:4px}details.insight-card[open]>summary:after{transform:rotate(-135deg)}details.insight-card[open]>summary{margin-bottom:8px}.home-list-actions{display:flex;align-items:center;gap:4px;flex:none}.list-row-main{padding:1px 0;gap:6px;min-height:0}.list-row-label{padding:1px 0}.list-row-label strong{font-size:.86rem;line-height:1.2}.list-row-label>span{font-size:.72rem;line-height:1.2}.list-row-main .list-check{width:22px;height:22px;border-width:2px}.list-row-main .qty-stepper button{width:26px;height:26px}.list-row-main .qty-stepper span{font-size:.84rem;min-width:26px}.list-row-main .cut-help{width:26px;height:26px}.list-section h3{margin:8px 0 0;font-size:.82rem}.list-add-helpers{display:grid;gap:6px;margin-top:-4px}.list-add-helpers .bulk-toggle{justify-self:start}.list-add-helpers .list-chips{margin:0}.history-catalog .section-chips{top:calc(var(--list-add-h, 64px) - 14px);z-index:4}.shopping-items-panel .shopping-planner-head{margin-bottom:6px}.month-current{display:block;margin:2px auto 0;font-size:.74rem;padding:0;color:var(--accent, #2563eb)}.monthly-consolidation .month-nav button:disabled{opacity:.3}.import-history .muted{margin:0 0 10px}.import-history-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:min(60vh,520px);overflow:auto}.import-history-list li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line,rgba(15,23,42,.1));border-radius:12px}.import-history-list li>svg{color:var(--muted,#64748b)}.import-history-list li>div{min-width:0;display:grid;gap:2px}.import-history-list strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-history-list small{color:var(--muted,#64748b);font-size:.78rem}.import-history-list li.reverted{opacity:.6}.import-history-confirm{font-size:.8rem;color:#b45309;margin-top:4px}.import-history-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.import-history-actions .danger-choice{min-height:34px;padding:0 12px;border-radius:10px;font-size:.85rem}.import-history-empty{display:flex;gap:8px;align-items:center;color:var(--muted,#64748b)}.import-history-link{display:block;margin:4px auto 0}.imported-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;margin:8px 0;border-radius:10px;background:#2563eb0f;font-size:.85rem}@media(max-width:520px){.import-history-list li{grid-template-columns:auto 1fr}.import-history-list li>button,.import-history-actions{grid-column:1/-1;justify-self:end}}.catalog-add.added{cursor:pointer}.earlier-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 2px 10px;font-size:.84rem;color:var(--muted,#64748b)}.category-history-select{display:grid;gap:4px;max-width:320px;margin-bottom:10px;font-size:.85rem}.category-history-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:150px;margin:12px 0 6px}.category-history-bars button{display:grid;grid-template-rows:1fr auto;height:100%;gap:4px;border:0;background:none;padding:0;cursor:pointer;color:var(--muted,#64748b);font:inherit}.category-history-bars button>div{display:flex;align-items:flex-end;justify-content:center;height:100%}.category-history-bars i{display:block;width:70%;max-width:26px;min-height:2px;border-radius:5px 5px 2px 2px;background:var(--expense,#dc2626);opacity:.75}.category-history-bars button.active i{opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--expense,#dc2626) 30%,transparent)}.category-history-bars span{font-size:.68rem;text-align:center;text-transform:capitalize}.shopping-mode-row.picked .shopping-item-text strong{text-decoration:line-through;color:var(--muted,#64748b)}.shopping-mode-row.picked .shopping-item-text small{opacity:.6}.shopping-mode-row.picked .list-check{display:inline-grid;place-items:center;background:var(--income,#0f766e);border-color:var(--income,#0f766e);color:#fff}.shopping-section-done{margin:0 0 6px}.catalog-row.added{opacity:1}.catalog-add.added{background:var(--income,#0f766e);border-color:var(--income,#0f766e);color:#fff;cursor:pointer}.catalog-add.added:hover{filter:brightness(1.08)}.category-history-bars button>div{flex-direction:column;align-items:center;justify-content:flex-end}.category-history-bars em{font-style:normal;font-size:.62rem;font-weight:700;color:var(--text,#0f172a);white-space:nowrap;margin-bottom:2px}.category-history-bars{grid-template-columns:repeat(6,1fr);height:170px}.category-history .income-expense-nav{margin-bottom:8px}.list-build-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.list-build-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:650;font-size:.9rem}.list-build-tabs button.active{background:var(--income,#0f766e);border-color:var(--income,#0f766e);color:#fff}.list-build-tabs small{font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,currentColor 15%,transparent)}.list-empty-history{margin:4px auto 8px;display:flex}.catalog-row{cursor:pointer;border-radius:8px}.catalog-row:active{background:var(--income-soft,#e6f4f1)}.shopping-items-panel .list-row-main{padding:4px 0;gap:8px}.shopping-items-panel .list-row-label strong{font-size:.95rem;line-height:1.25}.shopping-items-panel .list-row-label>span{font-size:.76rem}.shopping-items-panel .list-row-main .list-check{width:26px;height:26px}.shopping-items-panel .list-row-main .qty-stepper button{width:30px;height:30px}.shopping-items-panel .list-section h3{margin:12px 0 2px}.shopping-mode-row .shopping-mode-item{padding:8px 10px;gap:10px;min-height:44px;margin-bottom:5px;border-radius:11px}.shopping-mode-row .shopping-item-text{gap:0}.shopping-mode-row .shopping-item-text strong{font-size:.93rem;line-height:1.25}.shopping-mode-row .shopping-item-text small{font-size:.72rem;line-height:1.2}.shopping-mode-row .list-check{width:24px;height:24px}.shopping-mode-row .cut-help{width:30px;height:30px}.shopping-section h3{margin:10px 0 4px}.category-history-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 12px;margin-bottom:6px}.category-history-top .category-history-select{margin:0;flex:1 1 200px}.category-history .income-expense-nav{margin:0}.category-history-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin:10px -4px 4px;padding:0 4px}.category-history-bars{position:relative;display:grid;grid-template-columns:repeat(12,minmax(46px,1fr));gap:6px;height:220px;margin:0;min-width:100%}.category-history-bars button{scroll-snap-align:end;grid-template-rows:1fr 22px;gap:0}.category-history-bars button>div{flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.category-history-bars i{width:78%;max-width:40px;border-radius:7px 7px 3px 3px;opacity:.55;transition:height .25s ease}.category-history-bars button.above i{opacity:.8}.category-history-bars button.current i{opacity:1}.category-history-bars button.active i{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--expense,#dc2626) 28%,transparent)}.category-history-bars em{font-size:.66rem;margin-bottom:3px}.category-history-bars span{display:flex;flex-direction:column;align-items:center;line-height:1.05;font-size:.7rem;padding-top:3px}.category-history-bars span small{font-size:.58rem;opacity:.7}.category-history-bars button.current span{color:var(--text,#0f172a);font-weight:700}.category-history-avg{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed color-mix(in srgb,var(--muted,#64748b) 70%,transparent);pointer-events:none;z-index:1}.category-history-avg small{position:absolute;right:0;top:-15px;font-size:.6rem;font-weight:700;color:var(--muted,#64748b);background:var(--surface,#fff);padding:0 4px;border-radius:4px}.category-history-hint{display:block;font-size:.72rem}@media(min-width:760px){.category-history-hint{display:none}}.active-list-card{display:grid;gap:10px}.active-list-card>div:first-child{min-width:0}.active-list-card h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0}.active-list-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem}.active-list-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}.active-list-actions .primary-button{flex:1 1 auto;white-space:nowrap;justify-content:center}.active-list-actions .secondary-button{white-space:nowrap;flex:0 1 auto}.active-list-actions .icon-button{flex:none}.list-start-card{display:flex;align-items:center;gap:10px}.list-start-card>div:first-child{min-width:0;flex:1}.list-start-card span{display:block;font-size:.8rem}.list-start-actions{display:flex;gap:6px;flex:none}.market-main-action span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shopping-planner-head{display:flex;align-items:center;gap:8px}.list-title{display:grid;min-width:0;flex:1}.list-title strong{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-title small{color:var(--muted);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shopping-planner-actions .icon-button.active{background:var(--income-soft,#e6f4f1);color:var(--income,#0f766e)}.list-setup{display:grid;gap:10px;margin:10px 0 4px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2,#f8fafc)}.list-setup .eyebrow{margin:0}.list-setup-name{display:grid;gap:4px;font-size:.82rem;font-weight:600}.list-setup .list-name-input{width:100%}.list-setup .list-market-estimates{margin:0}.list-setup-ok{justify-content:center;width:100%}.history-catalog-empty{display:grid;justify-items:center;text-align:center;gap:6px;padding:14px 8px;color:var(--muted)}.history-catalog-empty strong{color:var(--text)}.history-catalog-empty span{font-size:.84rem;max-width:420px}.list-start-footer{position:sticky;bottom:0;z-index:6;margin:12px -12px -14px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg,#f6f8fb) 75%,transparent)}.list-start-big{width:100%;justify-content:center;min-height:52px;font-size:1.02rem;border-radius:14px;box-shadow:0 8px 20px -10px color-mix(in srgb,var(--income,#0f766e) 70%,transparent)}.list-start-big small{font-weight:600;opacity:.85;margin-left:6px;font-size:.8rem}.list-back-top{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:7;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;box-shadow:0 6px 16px -6px #0f172a59}.category-history .budget-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.category-history .budget-totals>div{padding:8px;min-width:0}.category-history .budget-totals span{font-size:.66rem;line-height:1.2;display:block}.category-history .budget-totals strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.category-history-bars{width:max(100%,618px)}.invoice-summary-wrap{display:flex;align-items:center;gap:4px}.invoice-summary-wrap .invoice-summary-row{flex:1;min-width:0}.invoice-actions-mini{display:flex;gap:2px;flex:none}.invoice-actions-mini button{opacity:.75}.invoice-paid-badge{margin-left:6px;padding:1px 7px;border-radius:999px;font-size:.66rem;font-weight:700;background:var(--income-soft,#e6f4f1);color:var(--income,#0f766e);vertical-align:middle}.today-page{font-size:.78rem;padding:4px 8px;margin-right:4px;opacity:.85}.transaction-list{scroll-margin-top:76px}.home-market-card{display:grid;gap:10px;padding:14px;border-radius:18px;border:1px solid color-mix(in srgb,var(--income,#0f766e) 35%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--income,#0f766e) 12%,var(--surface)),var(--surface))}.home-market-head{display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;color:var(--text);text-align:left;cursor:pointer}.home-market-head>svg:first-child{color:var(--income,#0f766e);flex:none}.home-market-head span{display:grid;flex:1;min-width:0}.home-market-head strong{font-size:1rem}.home-market-head small{color:var(--muted);font-size:.78rem}.home-market-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-market-actions button{justify-content:center;min-height:46px;white-space:nowrap}.new-list-choice{display:grid;gap:10px}.new-list-choice button{display:grid;gap:3px;text-align:left;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.new-list-choice button:hover{border-color:var(--income,#0f766e)}.new-list-choice strong{font-size:1rem}.new-list-choice small{color:var(--muted);font-size:.8rem}.list-setup{margin-top:16px}.list-setup-head{display:grid;gap:1px}.list-setup-head strong{font-size:.95rem}.list-setup-open{display:flex;align-items:center;gap:6px;margin:16px auto 4px;border:1px dashed var(--border);background:none;color:var(--muted);border-radius:12px;padding:9px 14px;font-size:.85rem;cursor:pointer}.list-setup-open small{font-size:.7rem;opacity:.8}.nearby-detail{font-size:.78rem;margin:0}.home-market-card{gap:8px;padding:10px 12px}.home-market-head small{font-size:.74rem}.home-market-actions button{min-height:36px;padding-top:6px;padding-bottom:6px;font-size:.88rem}.row-actions button.paid-toggle,.transaction-row .row-actions button.paid-toggle{color:#16a34a;background:color-mix(in srgb,#16a34a 14%,transparent)}.row-actions button.paid-toggle:hover{color:#15803d;background:color-mix(in srgb,#16a34a 22%,transparent)}.row-actions button.paid-toggle:disabled{opacity:1;cursor:default}:root[data-theme=dark] .row-actions button.paid-toggle{color:#4ade80;background:color-mix(in srgb,#4ade80 16%,transparent)}.row-actions button[title*="marcar como pago" i],.row-actions button[title*="Marcar fatura" i],.row-actions button.paid-toggle,.row-actions button[title*="total da fatura" i]{width:38px!important;height:36px!important;min-width:38px!important}:root[data-theme=dark] .icon-button[aria-label=Fechar]{background:#172033;color:#e5edf8;border-color:#334155;box-shadow:none}:root[data-theme=dark] .icon-button[aria-label=Fechar] svg{color:currentColor;stroke:currentColor}:root[data-theme=dark] .icon-button[aria-label=Fechar]:hover{background:#22304a;color:#fff}.shopping-mode-actions.scan-first{grid-template-columns:1fr}.shopping-mode-actions .shopping-scan{min-height:50px;font-size:1rem;justify-content:center}.shopping-mode-actions .shopping-finish{min-height:36px;justify-content:center;font-size:.86rem}.empty-list-ready{display:grid;gap:6px;margin:6px 0 12px}.empty-list-ready>small{color:var(--muted)}.invoice-summary-row .invoice-title-line{flex-wrap:nowrap!important}.invoice-summary-row .invoice-title-line>span:first-child{flex:0 1 auto}.invoice-summary-row .invoice-title-line .invoice-paid-badge{flex:none}.invoice-summary-row>div .invoice-due-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-summary-row>div .invoice-expand-label{display:inline-block;font-size:.7rem;color:var(--primary);font-weight:750;margin-top:3px}.row-actions button.paid-toggle,.transaction-row .row-actions button.paid-toggle,:root[data-theme=dark] .row-actions button.paid-toggle{background:transparent;border-color:transparent}.row-actions button.paid-toggle:hover{background:transparent}.today-top{border:1px solid var(--border);background:var(--surface);color:var(--primary);font-weight:750;font-size:.8rem;border-radius:999px;padding:5px 12px;cursor:pointer;white-space:nowrap}:root[data-theme=dark] .today-top{background:#172033;color:#e5edf8;border-color:#334155}.new-list-main{display:grid;gap:8px;margin-bottom:12px}.new-list-main button{display:grid;justify-items:start;text-align:left;gap:2px;padding:12px 14px;min-height:56px}.new-list-main button small{font-weight:500;opacity:.85;font-size:.78rem}.new-list-ready-label{margin:4px 0 8px;color:var(--muted);font-size:.8rem;font-weight:700}.budget-review .budget-month{margin:0 0 10px;max-width:260px}.budget-income{font-size:.86rem;margin:10px 0 0}.floating-clear-filters{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:30;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:999px;box-shadow:0 4px 14px #0f172a2e;cursor:pointer}@media(min-width:900px){.floating-clear-filters{bottom:24px}}:root[data-theme=dark] .floating-clear-filters{background:#172033;color:#e5edf8;border-color:#334155}.report-refresh-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:-6px}.report-refresh-bar small{color:var(--muted);font-size:.76rem}.report-refresh-bar .text-button{display:inline-flex;align-items:center;gap:5px;font-size:.8rem}.duplicate-review .dup-section{display:grid;gap:8px;margin-top:6px}.duplicate-review .dup-section h3{display:flex;align-items:center;gap:6px;font-size:.95rem;margin:4px 0 0}.duplicate-review .dup-section>p{font-size:.82rem;margin:0}.dup-pair{border:1px solid var(--border);border-radius:12px;padding:8px;display:grid;gap:6px}.dup-pair-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dup-pair-options button{display:grid;gap:4px;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:8px;cursor:pointer}.dup-pair-options button span{display:grid;gap:2px;min-width:0}.dup-pair-options button small{color:var(--muted);font-size:.74rem}.dup-pair-options button em{font-style:normal;font-weight:750;font-size:.78rem;color:var(--primary)}@media(max-width:520px){.dup-pair-options{grid-template-columns:1fr}}.dup-groups{display:grid;gap:8px;max-height:46vh;overflow:auto}.dup-group{border:1px solid var(--border);border-radius:12px;padding:8px 10px}.dup-group-head{display:grid;gap:2px}.dup-group-head span{color:var(--muted);font-size:.76rem}.dup-row{font-size:.82rem;margin-top:4px}.recurrence-hints{display:grid;gap:4px;font-size:.84rem;background:color-mix(in srgb,var(--primary) 7%,transparent);border-radius:10px;padding:8px 10px}.recurrence-hints p{margin:0}:root[data-theme=dark] .modal-heading .icon-button,:root[data-theme=dark] .modal-close-button{background:#172033;color:#e5edf8;border-color:#334155;box-shadow:none}:root[data-theme=dark] .modal-heading .icon-button svg,:root[data-theme=dark] .modal-close-button svg{color:currentColor;stroke:currentColor}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .modal-heading .icon-button{background:#172033;color:#e5edf8;border-color:#334155}}.floating-clear-filters{background:var(--primary,#0f172a);color:#fff;border-color:transparent;padding:7px 14px;font-size:.84rem}:root[data-theme=dark] .floating-clear-filters{background:#5eead4;color:#0f172a;border-color:transparent}.list-today-row{display:flex;justify-content:flex-end;margin:-2px 0 6px}.point-summary{border:1px solid var(--border);border-radius:12px;padding:8px 10px;margin:6px 0;display:grid;gap:6px}.point-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.point-summary-head strong{font-size:.86rem;display:inline-block}.point-summary-head strong:first-letter{text-transform:uppercase}.point-summary-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.point-summary-figures span{display:grid;gap:2px;font-size:.74rem;color:var(--muted)}.point-summary-figures strong{font-size:.86rem;color:var(--text)}.point-summary-figures strong.positive{color:var(--income)}.point-summary-figures strong.negative{color:var(--expense)}.filter-chips-panel{border:1px solid var(--border);border-radius:14px;padding:10px 12px;display:grid;gap:10px;margin:8px 0;background:var(--surface)}.filter-chips-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px}.filter-chips-head small{grid-column:1;color:var(--muted);font-size:.76rem}.filter-chips-head .icon-button{grid-column:2;grid-row:1/3}.filter-chips-group{display:grid;gap:6px}.filter-chips-label{font-size:.74rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chips button{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 11px;font-size:.82rem;cursor:pointer}.filter-chips button.active{background:var(--primary);color:var(--surface);border-color:var(--primary)}:root[data-theme=dark] .filter-chips button.active{color:#0f172a}.filter-chips-panel .filter-close-bottom{justify-content:center}.panel.report-collapsed{padding-top:12px;padding-bottom:12px}.report-collapsed .panel-heading{margin-bottom:0;align-items:center}.report-collapsed .eyebrow{display:none}.report-collapsed h2{font-size:1rem;margin:0;line-height:1.25}.report-collapsed-hint{margin:2px 0 0;color:var(--muted);font-size:.8rem;line-height:1.3;font-weight:500}.report-collapsed .chart-toggle span,.report-collapsed .report-display-toggle span{font-size:.8rem}.report-collapsed .panel-heading>div:first-child{min-width:0;flex:1}.report-collapsed-hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-collapsed .report-heading{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center}.report-collapsed .report-head-actions{width:auto!important;flex:none}.report-collapsed .report-head-actions{margin-left:auto}.report-loading{display:flex;align-items:center;gap:10px;color:var(--muted)}.chart-placeholder{min-height:176px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted)}.report-main .report-heading{flex-direction:row!important;align-items:center!important;justify-content:space-between;flex-wrap:nowrap;margin-bottom:8px}.report-controls-row{display:flex!important;align-items:center;gap:8px;width:100%;margin:0 0 8px}.report-controls-row .segmented{flex:1;min-width:0;display:flex}.report-controls-row .segmented button{flex:1;min-width:0}.report-controls-row .report-filter-button{order:2;flex:none}.nfce-photo-hint{display:block;font-size:.72rem;font-weight:600;opacity:.75}.nfce-batch-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid color-mix(in srgb,var(--income,#0f766e) 40%,var(--border));background:color-mix(in srgb,var(--income,#0f766e) 8%,var(--surface));border-radius:12px;padding:10px 12px;margin:8px 0}.nfce-batch-bar span{display:grid;gap:2px}.nfce-batch-bar small{color:var(--muted);font-size:.78rem}.nfce-batch-bar>div{display:flex;align-items:center;gap:8px}
