: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}}
