:root{--bg:#f4f5f7;--card:#fff;--text:#17191d;--muted:#6b7280;--border:#dfe2e7;--accent:#23262d;--soft:#eef0f3;--danger:#b42318;--good:#157347;--warn:#9a6700}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{max-width:1240px;margin:0 auto;padding:24px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.brand{font-size:25px;font-weight:800;letter-spacing:-.04em}.brand span{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:0}.sub,.muted{color:var(--muted)}.user{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--muted)}a{color:inherit}.tabs{display:flex;gap:6px;overflow:auto;margin-bottom:12px;padding-bottom:2px}.tab,.segmented button,.account-filter{border:1px solid var(--border);background:var(--card);padding:9px 14px;border-radius:10px;font-weight:700;cursor:pointer;white-space:nowrap;color:var(--text)}.tab.active,.account-filter.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab.disabled{opacity:.42;cursor:not-allowed}.period-bar{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}.period-bar label{display:block;font-size:11px;color:var(--muted);font-weight:700;margin-bottom:4px}.period-bar input{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fff;font-size:15px}.period-note{font-size:12px;color:var(--muted);text-align:right}.view{display:none}.view.active{display:block}.view-title{font-size:21px;margin:0 0 3px;letter-spacing:-.02em}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:14px}.toolbar p{margin:0;font-size:13px}.segmented{display:flex;gap:6px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.kpis.daily-kpis{grid-template-columns:repeat(2,minmax(160px,240px))}.kpis article,.panel,.close-preview,.expense-row,.control-row,.daily-row{background:var(--card);border:1px solid var(--border);border-radius:14px}.kpis article{padding:15px}.kpis span,.close-preview span{display:block;color:var(--muted);font-size:12px}.kpis strong{display:block;font-size:21px;margin-top:4px}.close-preview{padding:15px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.close-preview strong{display:block;margin-top:3px}.close-preview small{color:var(--muted)}.expense-list,.control-list,.daily-list{display:grid;gap:9px}.expense-row{padding:13px;display:grid;grid-template-columns:minmax(170px,1.5fr) .8fr 1fr .9fr .85fr;gap:14px;align-items:center}.expense-name{font-weight:750}.tiny{font-size:12px;color:var(--muted)}.metric-label{font-size:11px;color:var(--muted);display:block;margin-bottom:3px}.metric-value{font-weight:750;margin-top:3px}.actual-input,.status-select,.control-row input,.control-row select,.control-form input,.control-form select,.daily-form input,.daily-form select,.account-control-row input,.user-form input,.reset-password{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:15px}.delta.negative{color:var(--danger)}.status-field{display:block}.status-badge{display:inline-flex;align-items:center;min-height:36px;padding:7px 10px;border-radius:999px;background:var(--soft);font-size:12px;font-weight:750}.status-badge.auto{color:#3f4b5a}.auto-real{min-width:0}.actions{display:flex;gap:6px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:#fff;padding:9px 12px;border-radius:9px;font-weight:700;cursor:pointer;color:var(--text)}.btn.primary{background:var(--accent);color:white;border-color:var(--accent)}.btn.small{font-size:12px;padding:7px 9px}.btn.danger{color:var(--danger)}.panel{padding:18px;margin-bottom:16px}.panel h2,.section-head h2{margin:0 0 4px;font-size:18px}.panel p,.section-head p{margin:0 0 14px;font-size:13px}.control-form{display:grid;grid-template-columns:1.35fr .8fr 1fr 1fr 1fr 1fr;gap:12px;align-items:end}.control-form label,.control-row label,.daily-form label,.user-form label{font-size:12px;color:var(--muted);font-weight:650}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px}.check-line{display:flex!important;gap:8px;align-items:center;min-height:40px;color:var(--text)!important}.check-line input{width:auto}.section-head{display:flex;justify-content:space-between;gap:12px;margin:20px 0 10px}.control-row{padding:13px;display:grid;grid-template-columns:1.35fr .8fr 1fr 1fr 1fr 1fr 1.2fr auto;gap:10px;align-items:end}.control-flags{display:grid;gap:2px}.note{font-size:13px;margin-top:16px}.loading{padding:20px;text-align:center;color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;max-width:380px;background:#17191d;color:#fff;padding:11px 14px;border-radius:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.18s;z-index:100}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#8f1d17}.daily-form{display:grid;grid-template-columns:.85fr 1.6fr 1fr 1fr 1fr;gap:12px;align-items:end}.daily-form .wide{min-width:0}.daily-row{padding:12px 13px;display:grid;grid-template-columns:110px minmax(160px,1fr) 130px auto;gap:14px;align-items:center}.daily-date{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.daily-main{min-width:0}.daily-main strong{display:block;overflow-wrap:anywhere}.daily-amount{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.accounts-control{display:grid;gap:9px;max-width:720px}.account-control-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;align-items:end;border-top:1px solid var(--border);padding-top:10px}.account-control-row:first-child{border-top:0;padding-top:0}.account-control-row .tiny{display:block;margin-bottom:4px}.user-form{display:grid;grid-template-columns:1.5fr 1fr auto;gap:12px;align-items:end;margin-top:14px}.users-list{display:grid;gap:10px;margin-top:16px}.user-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(360px,1.5fr);align-items:center;gap:16px;border-top:1px solid var(--border);padding-top:12px}.user-actions{display:grid;grid-template-columns:auto minmax(150px,1fr) auto;gap:8px;align-items:center}.switch{display:flex;gap:7px;align-items:center;min-height:40px;font-size:12px}.switch input{width:auto}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px}.login-card h1{font-size:20px;margin:22px 0 6px}.login-card p{color:var(--muted);margin:0 0 18px}.login-form{display:grid;gap:14px}.login-form label{font-size:13px;font-weight:700}.login-form input{width:100%;margin-top:5px;padding:11px;border:1px solid var(--border);border-radius:10px;font-size:16px}.alert{padding:10px;border-radius:9px;margin-bottom:14px}.alert.error{background:#fff1f0;color:#8f1d17;border:1px solid #f1c4c0}
@media(max-width:1050px){.expense-row{grid-template-columns:minmax(160px,1.3fr) .8fr 1fr .9fr}.expense-row>div:last-child{grid-column:1/-1}.control-form{grid-template-columns:repeat(3,1fr)}.control-row{grid-template-columns:repeat(4,1fr)}.user-row{grid-template-columns:1fr}.user-actions{grid-template-columns:auto 1fr auto}}
@media(max-width:760px){.app-shell{padding:16px}.kpis{grid-template-columns:repeat(2,1fr)}.kpis.daily-kpis{grid-template-columns:1fr 1fr}.expense-row{grid-template-columns:1fr 1fr}.expense-row .expense-main{grid-column:1/-1}.control-form,.control-row,.daily-form{grid-template-columns:1fr 1fr}.daily-form .wide{grid-column:1/-1}.daily-row{grid-template-columns:88px 1fr auto}.daily-row .actions{grid-column:2/-1}.period-bar{align-items:flex-start;flex-direction:column}.period-note{text-align:left}.user-actions{grid-template-columns:1fr}.form-actions{grid-column:1/-1}}
@media(max-width:520px){.topbar{align-items:flex-start}.user span{display:none}.kpis,.kpis.daily-kpis{grid-template-columns:1fr 1fr}.kpis strong{font-size:18px}.close-preview{align-items:flex-start;flex-direction:column}.expense-row,.control-form,.control-row,.daily-form{grid-template-columns:1fr}.daily-form .wide{grid-column:auto}.daily-row{grid-template-columns:1fr auto}.daily-date{grid-column:1/-1}.daily-row .actions{grid-column:1/-1}.form-actions{grid-column:auto}.segmented{width:100%}.segmented button{flex:1}.toolbar{align-items:stretch}.account-control-row{grid-template-columns:1fr}.user-row{grid-template-columns:1fr}}

/* v0.3 · importación por correo y fuentes */
.panel-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.count-badge{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;vertical-align:middle}.incoming-panel{border-style:solid}.incoming-list{display:grid;gap:12px}.incoming-row{border-top:1px solid var(--border);padding-top:14px}.incoming-row:first-child{border-top:0;padding-top:0}.incoming-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}.origin-chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--soft);font-size:11px;font-weight:800;white-space:nowrap}.incoming-grid{display:grid;grid-template-columns:.8fr 1.6fr .9fr 1.1fr 1fr 1.25fr .65fr 1fr;gap:10px;align-items:end}.incoming-grid label,.source-form label,.mail-form label,.user-admin-grid label{font-size:12px;color:var(--muted);font-weight:650}.incoming-grid input,.incoming-grid select,.source-form input,.source-form select,.mail-form input,.mail-form select,.user-import,.user-display-name,.user-login-email{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:14px}.incoming-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.empty-good{padding:12px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:13px}.source-form{display:grid;grid-template-columns:1.2fr 1fr .9fr 1fr .85fr;gap:12px;align-items:end;margin-bottom:16px}.sources-list{display:grid;gap:8px}.source-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--border);padding-top:10px}.source-row:first-child{border-top:0}.source-actions{display:flex;align-items:center;gap:10px}.user-form{grid-template-columns:1.1fr 1.25fr 1.25fr 1fr auto}.user-admin-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(210px,1.1fr) minmax(220px,1.2fr) auto;gap:8px;align-items:end}.user-admin-grid .admin-label{align-self:center}.mail-form{display:grid;grid-template-columns:1.2fr .55fr .8fr 1.2fr 1fr;gap:12px;align-items:end}.mail-status{margin-top:14px}.diag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.diag-item{border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--soft)}.diag-item span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.diag-item strong{font-size:13px}.diag-item strong.ok{color:var(--good)}.diag-item strong.bad{color:var(--danger)}.cron-box{margin-top:10px;border:1px solid var(--border);border-radius:10px;padding:10px}.cron-box span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.cron-box code{display:block;white-space:normal;overflow-wrap:anywhere;font-size:12px}.origin-chip,.count-badge{user-select:none}
@media(max-width:1180px){.incoming-grid{grid-template-columns:repeat(4,1fr)}.incoming-desc{grid-column:span 2}.user-admin-grid{grid-template-columns:1.4fr auto 1fr auto}.user-admin-grid .switch,.user-admin-grid .admin-label{grid-row:2}.mail-form{grid-template-columns:repeat(3,1fr)}.diag-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.source-form{grid-template-columns:1fr 1fr}.incoming-grid{grid-template-columns:1fr 1fr}.incoming-desc{grid-column:1/-1}.mail-form{grid-template-columns:1fr 1fr}.user-form{grid-template-columns:1fr 1fr}.user-admin-grid{grid-template-columns:1fr 1fr}.source-row{align-items:flex-start;flex-direction:column}.diag-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.source-form,.incoming-grid,.mail-form,.user-form,.user-admin-grid,.diag-grid{grid-template-columns:1fr}.incoming-desc{grid-column:auto}.incoming-head{flex-direction:column}.source-actions{width:100%;justify-content:space-between}}

/* v0.4 · movimientos, cuentas de gasto y períodos de ciclo */
.period-bar select{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fff;font-size:15px;color:var(--text)}
.movement-form{display:grid;grid-template-columns:1.6fr .85fr 1.1fr 1.15fr .65fr 1fr;gap:12px;align-items:end}.movement-form label,.spending-form label,.cutoff-form label{font-size:12px;color:var(--muted);font-weight:650}.movement-form input,.movement-form select,.spending-form input,.spending-form select,.cutoff-form input,.cutoff-form select{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:14px}.movement-form .wide{min-width:0}.movement-list{display:grid;gap:8px;margin-top:10px}.movement-row{display:grid;grid-template-columns:minmax(220px,1.8fr) .8fr .8fr .9fr auto;gap:12px;align-items:center;border-top:1px solid var(--border);padding-top:11px}.movement-row:first-child{border-top:0;padding-top:0}.movement-main{min-width:0}.movement-main strong{overflow-wrap:anywhere}.compact-panel{padding-top:14px;padding-bottom:14px}.deleted-row,.cutoff-row,.spending-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.deleted-row:first-child,.cutoff-row:first-child,.spending-row:first-child{border-top:0;padding-top:0;margin-top:0}.spending-form{display:grid;grid-template-columns:1.2fr 1fr 1.5fr 1fr;gap:12px;align-items:end;margin-bottom:16px}.cutoff-form{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;align-items:end;margin-bottom:14px}.incoming-grid.v04{grid-template-columns:1.7fr .8fr 1.1fr 1.2fr .65fr 1fr}.source-form.v04{grid-template-columns:1.2fr 1fr .9fr .75fr}.control-form.v04{grid-template-columns:1.35fr .8fr 1fr 1fr 1fr 1.1fr}.control-row.v04{grid-template-columns:1.35fr .8fr 1fr 1fr 1fr .9fr 1.3fr auto}.daily-row.v04{grid-template-columns:minmax(180px,1fr) 140px auto}.daily-row.v04 .daily-main{grid-column:auto}.period-note strong{color:var(--text)}
@media(max-width:1100px){.movement-form{grid-template-columns:repeat(3,1fr)}.movement-form .wide{grid-column:span 2}.movement-row{grid-template-columns:minmax(180px,1.5fr) 1fr 1fr}.movement-row .actions{grid-column:1/-1}.spending-form,.cutoff-form{grid-template-columns:repeat(2,1fr)}.incoming-grid.v04{grid-template-columns:repeat(3,1fr)}.incoming-grid.v04 .incoming-desc{grid-column:span 2}.control-row.v04{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.movement-form,.spending-form,.cutoff-form,.incoming-grid.v04{grid-template-columns:1fr 1fr}.movement-form .wide,.incoming-grid.v04 .incoming-desc{grid-column:1/-1}.movement-row{grid-template-columns:1fr 1fr}.movement-row .movement-main{grid-column:1/-1}.deleted-row,.cutoff-row,.spending-row{align-items:flex-start;flex-direction:column}.control-form.v04{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.movement-form,.spending-form,.cutoff-form,.incoming-grid.v04,.control-form.v04,.control-row.v04{grid-template-columns:1fr}.movement-form .wide,.incoming-grid.v04 .incoming-desc{grid-column:auto}.movement-row{grid-template-columns:1fr}.daily-row.v04{grid-template-columns:1fr auto}.source-form.v04{grid-template-columns:1fr}}

/* v0.4.1 · nomenclatura estructural */
.kpis.provisioned-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}
.account-control-row.structural{grid-template-columns:1fr;align-items:start}
.check-line input:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.kpis.provisioned-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.kpis.provisioned-kpis{grid-template-columns:1fr}}

/* v0.4.2 · ingresos, ahorros y navegación de períodos */
.period-nav{display:flex;align-items:center;gap:7px}.period-step{min-width:38px;padding:8px 10px;font-size:20px;line-height:1}.income-rule-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:14px}.income-extra-form{display:grid;grid-template-columns:1fr 1.7fr .8fr 1fr .9fr;gap:12px;align-items:end;margin-bottom:16px}.income-extra-form label,.income-rule-form label,.savings-account-form label,.provision-control-row label{font-size:12px;color:var(--muted);font-weight:650}.income-extra-form input,.income-extra-form select,.income-rule-form input,.income-rule-form select,.savings-account-form input,.savings-account-form select,.provision-control-row input,.provision-control-row select,.savings-row input{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:14px}.simple-list{display:grid;gap:8px}.simple-row{display:flex;align-items:center;gap:9px;border-top:1px solid var(--border);padding-top:10px}.simple-row:first-child{border-top:0;padding-top:0}.simple-row>span{flex:1;min-width:0}.provision-control-list{display:grid;gap:10px}.provision-control-row{display:grid;grid-template-columns:minmax(140px,1.2fr) 1fr 1fr 1fr 1fr auto;gap:10px;align-items:end;border-top:1px solid var(--border);padding-top:12px}.provision-control-row:first-child{border-top:0;padding-top:0}.savings-account-form{display:grid;grid-template-columns:1fr 1.2fr 1fr 1fr auto;gap:12px;align-items:end}.savings-list{display:grid;gap:10px;margin-top:14px}.savings-row{display:grid;grid-template-columns:minmax(180px,1.6fr) 1fr 1fr 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px}.savings-main{min-width:0}.savings-row .actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.negative{color:var(--danger)!important}.provision-balance-row{grid-template-columns:minmax(190px,1.4fr) repeat(4,1fr)}
@media(max-width:1050px){.income-extra-form{grid-template-columns:repeat(3,1fr)}.income-extra-form .wide{grid-column:span 2}.provision-control-row{grid-template-columns:repeat(3,1fr)}.provision-control-row>div:first-child{grid-column:1/-1}.savings-row{grid-template-columns:1.4fr 1fr 1fr}.savings-row .actions{grid-column:1/-1}.provision-balance-row{grid-template-columns:minmax(180px,1.4fr) repeat(2,1fr)}.provision-balance-row>div:last-child{grid-column:auto}}
@media(max-width:760px){.income-rule-form,.income-extra-form,.savings-account-form{grid-template-columns:1fr 1fr}.income-extra-form .wide{grid-column:1/-1}.provision-control-row{grid-template-columns:1fr 1fr}.savings-row{grid-template-columns:1fr 1fr}.savings-main{grid-column:1/-1}.provision-balance-row{grid-template-columns:1fr 1fr}.provision-balance-row .expense-main{grid-column:1/-1}}
@media(max-width:520px){.period-nav{width:100%}.period-nav select{flex:1;min-width:0}.income-rule-form,.income-extra-form,.savings-account-form,.provision-control-row,.savings-row,.provision-balance-row{grid-template-columns:1fr}.income-extra-form .wide,.savings-main,.provision-balance-row .expense-main{grid-column:auto}.simple-row{align-items:flex-start;flex-wrap:wrap}}

/* v0.4.3 · Ingresos Extras netos */
.income-kpis{grid-template-columns:repeat(4,minmax(160px,1fr))}
.income-tax-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.income-tax-form label{font-size:12px;color:var(--muted);font-weight:650}
.income-tax-form input{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:14px}
.income-tax-form small{display:block;margin-top:4px;font-weight:500}
.rate-chip{align-self:flex-start;border:1px solid var(--border);background:#f7f8fa;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}
.rate-chip.actual{color:var(--good);border-color:color-mix(in srgb,var(--good) 35%,var(--border));background:color-mix(in srgb,var(--good) 8%,white)}
.income-extra-list{display:grid;gap:9px}
.income-extra-row{display:grid;grid-template-columns:minmax(220px,1.8fr) 1fr 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--border);padding-top:12px}
.income-extra-row:first-child{border-top:0;padding-top:0}
.income-extra-main{min-width:0}
.income-extra-main>div:not(.tiny){margin-top:2px}
.income-extra-row .actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:1050px){.income-kpis{grid-template-columns:repeat(2,1fr)}.income-extra-form{grid-template-columns:repeat(3,1fr)}.income-extra-row{grid-template-columns:minmax(180px,1.5fr) 1fr 1fr}.income-extra-row .actions{grid-column:1/-1}}
@media(max-width:760px){.income-tax-form{grid-template-columns:1fr 1fr}.income-tax-form .form-actions{grid-column:1/-1}.income-extra-row{grid-template-columns:1fr 1fr}.income-extra-main{grid-column:1/-1}}
@media(max-width:520px){.income-kpis,.income-tax-form,.income-extra-row{grid-template-columns:1fr}.income-tax-form .form-actions,.income-extra-main{grid-column:auto}}

@media(min-width:1051px){.income-extra-form{grid-template-columns:1fr 1.7fr .8fr 1fr .9fr 1.1fr}.income-tax-form .form-actions{grid-column:auto}}

/* v0.4.4 · Ahorros: saldo fijado, variación e importación por imagen */
.savings-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}
.positive{color:var(--good)!important}
.savings-row.confirmed{background:#fafafa}
.savings-row input:disabled,.savings-row button:disabled{opacity:.55;cursor:not-allowed}
.savings-image-tools{display:grid;grid-template-columns:1fr 1.6fr auto;gap:12px;align-items:end}
.savings-image-tools label,.savings-import-head label{font-size:12px;color:var(--muted);font-weight:650}
.savings-image-tools input,.savings-import-head input,.savings-import-item select{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:14px}
.savings-imports{display:grid;gap:10px;margin-top:14px}
.savings-import-empty{padding:8px 0}
.savings-import-card{border-top:1px solid var(--border);padding-top:13px;display:grid;gap:11px}
.savings-import-card:first-child{border-top:0}
.savings-import-card.error{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.savings-import-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr);gap:14px;align-items:end}
.savings-import-items{display:grid;gap:7px}
.savings-import-item{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(220px,1fr);gap:12px;align-items:center;background:var(--soft);border-radius:10px;padding:10px}
.savings-close-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}
.savings-close-panel h2{margin-bottom:3px}.savings-close-panel p{margin:0}
@media(max-width:820px){.savings-kpis{grid-template-columns:1fr 1fr}.savings-image-tools,.savings-import-head,.savings-import-item{grid-template-columns:1fr}.savings-import-card.error{grid-template-columns:1fr}.savings-close-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.savings-kpis{grid-template-columns:1fr}}

/* v0.4.6 · Ahorros: aportes/retiros + OCR local gratuito */
.savings-kpis{grid-template-columns:repeat(5,minmax(150px,1fr))}
.savings-row{grid-template-columns:minmax(170px,1.45fr) repeat(4,minmax(105px,.8fr)) minmax(125px,.9fr) auto}
.savings-flow-form{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.5fr auto;gap:12px;align-items:end;margin-bottom:14px}
.savings-flow-form label{font-size:12px;color:var(--muted);font-weight:650}
.savings-flow-form input,.savings-flow-form select{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:14px}
.savings-flows-list{display:grid;gap:8px}
.savings-flow-row{display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:14px;align-items:center;border-top:1px solid var(--border);padding-top:10px}
.savings-flow-row:first-child{border-top:0;padding-top:0}
.savings-flow-row .actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:1180px){.savings-kpis{grid-template-columns:repeat(3,1fr)}.savings-row{grid-template-columns:minmax(180px,1.4fr) repeat(3,1fr)}.savings-row label:has(.savings-current){grid-column:auto}.savings-row .actions{grid-column:1/-1}.savings-flow-form{grid-template-columns:repeat(3,1fr)}.savings-flow-form .wide{grid-column:span 2}}
@media(max-width:760px){.savings-kpis{grid-template-columns:1fr 1fr}.savings-row{grid-template-columns:1fr 1fr}.savings-main{grid-column:1/-1}.savings-flow-form{grid-template-columns:1fr 1fr}.savings-flow-form .wide{grid-column:1/-1}.savings-flow-row{grid-template-columns:1fr auto}.savings-flow-row .actions{grid-column:1/-1}}
@media(max-width:520px){.savings-kpis,.savings-row,.savings-flow-form,.savings-flow-row{grid-template-columns:1fr}.savings-main,.savings-flow-form .wide,.savings-flow-row .actions{grid-column:auto}}

/* v0.4.7: edición OCR y edición de cuentas */
.savings-import-detected{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(120px,.8fr);gap:8px 10px;align-items:end}
.savings-import-detected .tiny{grid-column:1/-1}
.savings-import-detected label,.savings-import-item>label{font-size:12px;color:var(--muted);font-weight:650}
.savings-import-detected input,.savings-import-item>label select{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:#fff;color:var(--text);font-size:14px}
@media(max-width:620px){.savings-import-detected{grid-template-columns:1fr}}
