/* Tema negro con acento lima limón */
:root{--bg:#050604;--surface:#10120e;--surface-2:#171a13;--surface-3:#202319;--line:#2a2e22;--line-soft:#1e2119;--ink:#f3f5ea;--muted:#a0a695;--subtle:#727967;--mint:#d7f542;--mint-dim:#2b3510;--blue:#78adff;--blue-dim:#1d2e43;--red:#ff777e;--red-dim:#3d2023;--gold:#e9d875}
body{background:radial-gradient(ellipse at 90% 0%,#1a200b 0,transparent 38%),var(--bg)}
.sidebar{display:none}
.main-area{width:100%;max-width:1420px;margin:0 auto;padding:0 54px 74px}
.topbar{height:82px;border:0;margin-bottom:36px;gap:32px}
.mobile-brand{display:flex;align-items:center;gap:6px;color:var(--ink);font:800 21px/1 Manrope,system-ui,sans-serif;letter-spacing:-1px;text-decoration:none;white-space:nowrap}
.brand-symbol,.brand-period{color:var(--mint)}
.desktop-nav{display:flex;align-items:center;gap:4px;margin:auto}
.desktop-nav button{border:0;background:transparent;color:#a4aa98;padding:10px 13px;border-radius:22px;font-size:11px;font-weight:600}
.desktop-nav button:hover{background:#1c2016;color:var(--ink)}
.desktop-nav button.active{background:#252d12;color:#e7fa9b}
.crumb{display:none}
.top-right{margin-left:auto}
.theme-toggle{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--accent-lime,var(--mint));font-size:19px;line-height:1;transition:transform .15s ease,background .15s ease}
.theme-toggle:hover{transform:rotate(-12deg);background:var(--surface-3)}
.page{max-width:1170px}
.page-heading{margin-bottom:30px}
.page-heading h1{font-size:32px;letter-spacing:-1px}
.eyebrow{color:var(--mint)}
.panel,.metric-card,.account-card,.feature-card,.summary-card{border-color:#24281d;border-radius:19px;background:linear-gradient(145deg,rgba(21,23,17,.98),rgba(14,16,12,.99));box-shadow:0 9px 28px rgba(0,0,0,.22)}
.metric-card{padding:19px}
.metric-card>b{font-size:25px}
.balance-card{background:linear-gradient(130deg,#202710,#171b11 65%,#11130e)}
.period-summary{gap:13px}
.summary-card{padding:17px 18px}
.summary-card b{font-size:21px}
.view-switch{border-color:#292d21}
.view-switch button.selected{border-bottom-color:var(--mint);color:var(--mint)}
.period-toolbar{padding:8px 0}
.period-arrow,.icon-action{background:#151710;border-color:#292d21;border-radius:50%;width:34px;height:34px}
.period-arrow:hover,.icon-action:hover{background:#22261a}
.today-button,.text-action{color:var(--mint)}
.movement-section{background:#10120e}
.movement-row{padding:15px 0;border-bottom-color:#20231a}
.movement-icon{border-radius:50%;background:#1d2116;color:#d7f542}
.movement-icon.category-icon{width:38px;height:38px;border-radius:12px;background:#1c2112;color:#d7f542}
.movement-icon.category-icon svg{width:19px;height:19px}
.movement-icon.merchant-logo{border-radius:10px;background:#fff;overflow:hidden}
.movement-icon.merchant-logo svg{display:block;width:38px;height:38px}
.movement-icon.merchant-logo img{display:block;width:38px;height:38px;object-fit:cover}
.movement-icon.merchant-tesla img{transform:scale(1.1)}
.movement-icon.merchant-amazon img{transform:translate(-1px,1px) scale(1.27)}
.movement-copy small{line-height:1.45}
.delete-movement{border-radius:8px}
.calendar-day{font:inherit;text-align:left;cursor:pointer;background:#10120e;border-color:#25291e}
.calendar-day:hover{border-color:#879d27;background:#1a1e12}
.calendar-day:focus-visible{outline:2px solid var(--mint);outline-offset:1px}
.calendar-day.today{border-color:#a2bd28}
.calendar-day.today .day-number{color:#e4fa78}
.compare-bar.income-bar{background:linear-gradient(0deg,#3e6b9b,#78adff)}
.compare-bar.expense-bar{background:linear-gradient(0deg,#8f474b,#ff777e)}
.annual-column .annual-inc{background:#78adff}
.annual-column .annual-exp{background:#ff777e}
.category-meter i{background:linear-gradient(90deg,#9cb92d,#d7f542)}
.split-row .split-dot{background:#d7f542}
.split-row.variable .split-dot{background:#78adff}
.wealth-card{background:radial-gradient(ellipse at 90% 0%,#28340d 0,#181d10 42%,#10120e 85%);border-color:#343d19;border-radius:22px}
.account-symbol{background:#1b2a3a;color:#8db8ef;border-radius:50%}
.account-symbol.invest{background:#28300f;color:#d7f542}
.settings-tabs button.selected{background:#252d12;color:#e7fa9b}
.button.primary{background:#d7f542;color:#171b09}
.button.primary:hover{background:#e4ff69}
.outline-button{border-color:#46521d;color:#d7f542}
.bottom-nav button.active{color:#d7f542}
.sidebar-note{background:#171d0e}
.metric-icon.mint{background:#2b3510;color:#d7f542}
.toast{background:#202710;color:#effbb4;border-color:#56651f}
body.compact .panel{padding:14px}
body.compact .metric-card{padding:11px}
body.compact .movement-row{padding:8px 0}
body.compact .period-summary{gap:8px}
body.compact .summary-card{padding:10px 12px}
@media(max-width:760px){
 .main-area{padding:0 18px calc(91px + env(safe-area-inset-bottom))}
 .topbar{height:65px;margin:0 -18px 25px;padding:0 18px;border-bottom:1px solid #20231a}
 .mobile-brand{font-size:20px}
 .desktop-nav{display:none}
 .top-right{margin-left:auto}
 .page-heading{margin-bottom:22px}
 .page-heading h1{font-size:27px}
 .panel,.metric-card,.account-card,.feature-card{border-radius:17px}
 .bottom-nav{background:rgba(8,9,7,.97);border-top-color:#25291e}
 .bottom-nav button.active{color:#d7f542}
}
@media(max-width:760px){.more-panel{padding:15px;margin-bottom:10px}.more-panel-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.more-panel-heading>div{min-width:0;flex:1 1 170px}.more-panel-heading h2{font-size:17px}.more-panel-heading p{font-size:10px;max-width:210px}.more-panel-heading .button{font-size:9px;padding:8px 9px}.more-period{gap:7px;margin:15px 0 11px}.more-period>b{min-width:112px;font-size:12px}.budget-summary{gap:5px}.budget-summary-card{padding:9px 8px}.budget-summary-card span,.budget-summary-card small{font-size:8px}.budget-summary-card b{font-size:14px}.budget-row{gap:8px;padding:10px}.budget-row-main b{font-size:11px}.budget-row-value b{font-size:11px}.budget-row-actions button,.recurring-actions button{font-size:9px;padding:6px 8px}.recurring-note{font-size:10px;padding:9px 10px}.recurring-row{gap:8px 10px;padding:11px}.recurring-icon{width:34px;height:34px}.recurring-copy b{font-size:11px}.recurring-copy small{font-size:9px}.recurring-amount{font-size:11px}.assist-card{padding:13px;gap:10px}.assist-card p{font-size:10px}.assist-card .outline-button{font-size:9px;padding:8px}}
@media(min-width:761px){.bottom-nav{display:none}}
/* Tema claro: blanco, grafito y rojo contenido */
body[data-theme="claro"]{color-scheme:light;--bg:#f3f4f5;--surface:#ffffff;--surface-2:#f7f7f8;--surface-3:#eceef0;--line:#d9dcdf;--line-soft:#eceef0;--ink:#17191b;--muted:#74797e;--subtle:#92979c;--mint:#e82127;--mint-dim:#fde8e9;--blue:#3978bd;--blue-dim:#e8f1fb;--red:#e82127;--red-dim:#fde8e9;--gold:#937512;background:radial-gradient(ellipse at 90% 0%,#ffffff 0,transparent 42%),var(--bg);color:var(--ink)}
body[data-theme="claro"] .topbar{border-bottom:1px solid #e1e3e5}
body[data-theme="claro"] .theme-toggle{border-color:#d9dcdf;background:#fff;color:#303438;box-shadow:0 2px 8px rgba(20,24,28,.06)}
body[data-theme="claro"] .desktop-nav button{color:#555a5f}
body[data-theme="claro"] .desktop-nav button:hover{background:#f0f1f2;color:#17191b}
body[data-theme="claro"] .desktop-nav button.active{background:#17191b;color:#fff}
body[data-theme="claro"] .panel,body[data-theme="claro"] .metric-card,body[data-theme="claro"] .account-card,body[data-theme="claro"] .feature-card,body[data-theme="claro"] .summary-card{border-color:#e1e3e5;background:#fff;box-shadow:0 5px 18px rgba(20,24,28,.045)}
body[data-theme="claro"] .balance-card{background:linear-gradient(135deg,#fff,#f8f8f8 72%,#f2f3f4)}
body[data-theme="claro"] .view-switch{border-color:#dedfe1}
body[data-theme="claro"] .view-switch button.selected{border-bottom-color:#e82127;color:#17191b}
body[data-theme="claro"] .period-toolbar{color:#25282b}
body[data-theme="claro"] .period-arrow,body[data-theme="claro"] .icon-action{background:#fff;border-color:#d8dade;color:#303438}
body[data-theme="claro"] .period-arrow:hover,body[data-theme="claro"] .icon-action:hover{background:#f0f1f2}
body[data-theme="claro"] .today-button,body[data-theme="claro"] .text-action{color:#d51f25}
body[data-theme="claro"] .button.primary{background:#e82127;color:#fff}
body[data-theme="claro"] .button.primary:hover{background:#c91d23}
body[data-theme="claro"] .movement-section{background:#fff}
body[data-theme="claro"] .movement-row{border-bottom-color:#eceef0}
body[data-theme="claro"] .day-heading{color:#25282b}
body[data-theme="claro"] .movement-icon{background:#f0f1f2;color:#373b3f}
body[data-theme="claro"] .movement-icon.category-icon{background:#f1f2f3;color:#222528}
body[data-theme="claro"] .calendar-day{background:#fff;border-color:#e2e4e6;color:#33373a}
body[data-theme="claro"] .calendar-day:hover{border-color:#e82127;background:#fff8f8}
body[data-theme="claro"] .calendar-day.today{border-color:#e82127}
body[data-theme="claro"] .calendar-day.today .day-number{color:#c91d23}
body[data-theme="claro"] .month-table td:first-child,body[data-theme="claro"] .annual-month{color:#202326}
body[data-theme="claro"] .compare-bars{border-bottom-color:#d9dcdf}
body[data-theme="claro"] .savings-ring{background:conic-gradient(var(--mint) var(--saving-deg,0deg),#eceef0 0)}
body[data-theme="claro"] .category-meter{background:#eceef0}
body[data-theme="claro"] .category-meter i{background:linear-gradient(90deg,#ea7377,#e82127)}
body[data-theme="claro"] .split-bar{background:#eceef0}
body[data-theme="claro"] .split-row .split-dot{background:#e82127}
body[data-theme="claro"] .split-row.variable .split-dot{background:#6c9bd0}
body[data-theme="claro"] .wealth-card{background:linear-gradient(125deg,#fff,#f4f5f6);border-color:#dfe1e3}
body[data-theme="claro"] .wealth-card span{color:#34383b}
body[data-theme="claro"] .wealth-card small{color:#777d81}
body[data-theme="claro"] .account-symbol{background:#edf3fa;color:#3978bd}
body[data-theme="claro"] .account-symbol.invest{background:#fcebec;color:#d51f25}
body[data-theme="claro"] .coming{background:#f0f1f2;color:#666c70}
body[data-theme="claro"] .outline-button{border-color:#d5d8db;color:#24272a}
body[data-theme="claro"] .settings-tabs button.selected{background:#f0f1f2;color:#17191b}
body[data-theme="claro"] .setting-row{border-top-color:#e6e8ea}
body[data-theme="claro"] .setting-row select,body[data-theme="claro"] .setting-row input,body[data-theme="claro"] .settings-panel select,body[data-theme="claro"] .settings-panel input,body[data-theme="claro"] .dialog select,body[data-theme="claro"] .dialog input,body[data-theme="claro"] .total-toolbar select{background:#fff;border-color:#d6d9dc;color:#17191b}
body[data-theme="claro"] .editable-category{background:#fff;border-color:#e1e3e5}
body[data-theme="claro"] .category-top input{color:#17191b}
body[data-theme="claro"] .subcat-pill{background:#f0f1f2;color:#4c5155}
body[data-theme="claro"] .add-inline input{background:#fff;border-color:#d6d9dc;color:#17191b}
body[data-theme="claro"] .add-inline button{background:#f1f2f3;color:#282c30}
body[data-theme="claro"] .settings-divider{border-color:#e3e5e7}
body[data-theme="claro"] .export-card{border-color:#e3e5e7}
body[data-theme="claro"] .export-card button{background:#f1f2f3;border-color:#d9dcdf;color:#222629}
body[data-theme="claro"] .dialog{background:#fff;border-color:#d9dcdf;color:#17191b;box-shadow:0 18px 55px rgba(0,0,0,.18)}
body[data-theme="claro"] .dialog-close{color:#63696e}
body[data-theme="claro"] .dialog-form label{color:#454a4e}
body[data-theme="claro"] .type-options span{background:#f5f6f7;border-color:#d9dcdf}
body[data-theme="claro"] .type-options input:checked+span{border-color:#e82127;color:#c91d23;background:#fff5f5}
body[data-theme="claro"] .demo-notice{background:#fff;border-color:#e0e2e4}
body[data-theme="claro"] .demo-notice button{background:#e82127;border-color:#e82127;color:#fff}
body[data-theme="claro"] .demo-mode .demo-notice{background:#fff8f8;border-color:#efc6c8}
body[data-theme="claro"] .toast{background:#202326;color:#fff;border-color:#202326}
@media(max-width:760px){body[data-theme="claro"] .topbar{border-bottom-color:#e1e3e5}body[data-theme="claro"] .bottom-nav{background:rgba(255,255,255,.96);border-top-color:#e0e2e4;box-shadow:0 -4px 18px rgba(20,24,28,.045)}body[data-theme="claro"] .bottom-nav button{color:#757a7e}body[data-theme="claro"] .bottom-nav button.active{color:#e82127}}
/* Ajustes de acabado para acercar la interfaz clara al lenguaje visual de Tesla */
body[data-theme="claro"] .page-heading h1{font-weight:600;letter-spacing:-.8px}
body[data-theme="claro"] .eyebrow{color:#777c81;letter-spacing:.12em}
body[data-theme="claro"] .panel,body[data-theme="claro"] .metric-card,body[data-theme="claro"] .account-card,body[data-theme="claro"] .feature-card,body[data-theme="claro"] .summary-card{border-radius:14px;box-shadow:0 3px 12px rgba(20,24,28,.035)}
body[data-theme="claro"] .button.primary{background:#17191b;color:#fff;border-radius:9px}
body[data-theme="claro"] .button.primary:hover{background:#303336}
body[data-theme="claro"] .desktop-nav button.active{background:#17191b;color:#fff}
body[data-theme="claro"] .view-switch button.selected{color:#e82127}
body[data-theme="claro"] .period-arrow,body[data-theme="claro"] .icon-action{border-radius:10px}
body[data-theme="claro"] .settings-tabs button.selected{background:#fff;color:#17191b;box-shadow:inset 0 -2px #e82127}
body[data-theme="claro"] .metric-icon.mint{background:#fde8e9;color:#d51f25}
body[data-theme="claro"] .account-card,body[data-theme="claro"] .feature-card{border-color:#e6e7e9}
body[data-theme="claro"] .wealth-card{border-radius:14px}
body[data-theme="claro"] .bottom-nav button.active{color:#e82127}

/* Acentos lima limón: los importes y cifras de gasto conservan su color rojo. */
:root{--accent-lime:#d7f542;--accent-lime-soft:#2b3510}
body[data-theme="claro"]{--accent-lime:#b8d52d;--accent-lime-soft:#eff6d2;--mint:#b8d52d;--mint-dim:#eff6d2}
.brand-symbol,.brand-period,.feature-icon{color:var(--accent-lime)}
.desktop-nav button.active,.settings-tabs button.selected{color:var(--accent-lime)}
.view-switch button.selected{border-bottom-color:var(--accent-lime);color:var(--accent-lime)}
.today-button,.text-action,.account-details button,.category-top button,.delete-movement:hover{color:var(--accent-lime)}
.button.primary{background:var(--accent-lime);border-color:var(--accent-lime);color:#171b09}
.button.primary:hover{background:#e4ff69}
.metric-icon.red{background:var(--accent-lime-soft);color:var(--accent-lime)}
.legend-red{background:var(--accent-lime)}
.compare-bar.expense-bar{background:linear-gradient(0deg,#74891c,var(--accent-lime))}
.annual-column .annual-exp{background:var(--accent-lime)}
.category-meter i{background:linear-gradient(90deg,#849b20,var(--accent-lime))}
.settings-tabs button.selected{background:var(--accent-lime-soft)}
.type-options input:checked+span{border-color:var(--accent-lime);color:var(--accent-lime);background:var(--accent-lime-soft)}
.demo-notice button{border-color:#829622;background:var(--accent-lime-soft);color:var(--accent-lime)}
.demo-mode .demo-notice{border-color:#829622;background:linear-gradient(100deg,#202710,#11130e)}
body[data-theme="claro"] .desktop-nav button.active{background:#17191b;color:#fff}
body[data-theme="claro"] .view-switch button.selected{border-bottom-color:var(--accent-lime);color:#718519}
body[data-theme="claro"] .today-button,body[data-theme="claro"] .text-action{color:#718519}
body[data-theme="claro"] .button.primary{background:var(--accent-lime);border-color:var(--accent-lime);color:#202508}
body[data-theme="claro"] .button.primary:hover{background:#cce85a}
body[data-theme="claro"] .calendar-day:hover{border-color:var(--accent-lime);background:#fbfdf3}
body[data-theme="claro"] .calendar-day.today{border-color:var(--accent-lime)}
body[data-theme="claro"] .category-meter i{background:linear-gradient(90deg,#a6c221,var(--accent-lime))}
body[data-theme="claro"] .account-symbol.invest{background:var(--accent-lime-soft);color:#718519}
body[data-theme="claro"] .type-options input:checked+span{border-color:var(--accent-lime);color:#718519;background:#f8fbe9}
body[data-theme="claro"] .demo-notice button{background:var(--accent-lime);border-color:var(--accent-lime);color:#202508}
body[data-theme="claro"] .settings-tabs button.selected{background:#fff;color:#718519;box-shadow:inset 0 -2px var(--accent-lime)}
body[data-theme="claro"] .metric-icon.red{background:var(--accent-lime-soft);color:#718519}
@media(max-width:760px){body[data-theme="claro"] .bottom-nav button.active{color:#718519}}
/* Gráfica anual de gastos por categoría */
.annual-year-picker{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;white-space:nowrap}
.annual-category-block{border-top:1px solid var(--line-soft);padding-top:14px;margin:3px 0 15px}
.annual-category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}
.annual-category-heading h3{font:650 12px Manrope,var(--font);margin:0}
.annual-category-heading small{font-size:9px;color:var(--muted);text-align:right}
.annual-category-chart{display:grid;gap:9px}
.annual-category-row{display:grid;grid-template-columns:28px minmax(105px,.8fr) minmax(80px,1.4fr) 40px auto;align-items:center;gap:9px;min-height:29px}
.annual-category-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#1c2112;color:var(--mint);font-size:12px}
.annual-category-icon svg{width:15px;height:15px}
.annual-category-name{font-size:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.annual-category-track{height:6px;background:var(--surface-3);border-radius:8px;overflow:hidden}
.annual-category-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#899f22,var(--accent-lime,#d7f542))}
.annual-category-share{font-size:9px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.annual-category-amount{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
body[data-theme="claro"] .annual-category-icon{background:var(--accent-lime-soft);color:#718519}
body[data-theme="claro"] .annual-category-track{background:#e7eadf}
body[data-theme="claro"] .annual-category-track i{background:linear-gradient(90deg,#a6c221,var(--accent-lime,#b8d52d))}
@media(max-width:760px){.annual-category-row{grid-template-columns:25px minmax(72px,.85fr) minmax(45px,1fr) 32px auto;gap:6px}.annual-category-icon{width:24px;height:24px}.annual-category-name{font-size:9px}.annual-category-amount{font-size:9px}.annual-category-share{font-size:8px}.annual-category-heading h3{font-size:11px}.annual-category-heading small{font-size:8px}}
.annual-legend{display:flex;gap:13px;color:var(--muted);font-size:9px;margin:-5px 0 3px}
.annual-legend span{display:inline-flex;align-items:center;gap:5px}
.annual-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}
.annual-legend-income{background:var(--blue)}
.annual-legend-expense{background:var(--accent-lime,#d7f542)}
/* Importación histórica: tipos de movimiento y gastos sin clasificación original */
.movement-amount.transfer-amount{color:var(--mint)}
.movement-amount.adjustment-amount{color:var(--muted)}
.split-bar i:first-child{background:#9e6add}
.split-bar i:nth-child(2){background:#5f9cce}
.split-bar i:nth-child(3){background:var(--accent-lime,#d7f542)}
.split-row.unclassified .split-dot{background:var(--gold)}
body[data-theme="claro"] .split-bar i:nth-child(1){background:#a37ad4}
body[data-theme="claro"] .split-bar i:nth-child(2){background:#6198c5}
body[data-theme="claro"] .split-bar i:nth-child(3){background:var(--accent-lime,#b8d52d)}

.investment-card{align-items:start}
.investment-metrics{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:10px}
.investment-metrics span{display:inline-flex;gap:5px;align-items:center}
.investment-metrics b{font-weight:700;font-variant-numeric:tabular-nums}
.investment-card .account-details{align-items:center}
.form-hint{display:block;color:var(--muted);font-size:10px;line-height:1.45}
.investment-groups{display:grid;gap:11px}
.investment-account-group{min-width:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.investment-group-heading{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:8px 12px;padding:14px 15px;cursor:pointer;list-style:none}
.investment-group-heading::-webkit-details-marker{display:none}
.investment-group-title{display:flex;align-items:center;gap:10px;min-width:0}
.investment-group-title>span:last-child{min-width:0}
.investment-group-title b,.investment-group-title small,.investment-group-value b,.investment-group-value small{display:block}
.investment-group-title b{font-size:12px}
.investment-group-title small,.investment-group-value small{color:var(--muted);font-size:9px;margin-top:2px}
.investment-group-value{text-align:right;white-space:nowrap}
.investment-group-value b{font-size:13px;font-variant-numeric:tabular-nums}
.investment-group-chevron{color:var(--muted);font-size:18px;transition:transform .18s ease}
.investment-account-group:not([open]) .investment-group-chevron{transform:rotate(-90deg)}
.investment-group-performance{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;padding-left:46px;color:var(--muted);font-size:9px}
.investment-group-performance>span b{margin-left:5px;color:var(--ink)}
.investment-group-items{display:grid;gap:8px;padding:0 10px 10px}
.investment-group-items .investment-card{margin:0}
.more-panel{padding:22px;margin-bottom:14px}
.more-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.more-panel-heading h2{margin:5px 0;font:700 20px Manrope,var(--font);letter-spacing:-.4px}
.more-panel-heading p{margin:0;color:var(--muted);font-size:12px}
.more-panel-heading .button{white-space:nowrap}
.more-period{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0 14px}
.more-period>b{min-width:150px;text-align:center;text-transform:capitalize;font:700 14px Manrope,var(--font)}
.budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
.budget-summary-card{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.budget-summary-card span,.budget-summary-card small{display:block;color:var(--muted);font-size:10px}
.budget-summary-card b{display:block;margin:4px 0;font:700 17px Manrope,var(--font);font-variant-numeric:tabular-nums}
.budget-list,.recurring-list{display:grid;gap:8px}
.budget-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 15px;align-items:center;padding:12px 13px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2)}
.budget-row-main{display:flex;align-items:center;gap:10px;min-width:0}
.budget-dot{width:9px;height:9px;flex:none;border-radius:50%;background:var(--mint)}
.budget-row-main b,.budget-row-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.budget-row-main b{font-size:12px}.budget-row-main small{margin-top:2px;color:var(--muted);font-size:10px}
.budget-row-value{text-align:right;white-space:nowrap}.budget-row-value b{font-size:12px;font-variant-numeric:tabular-nums}.budget-row-value small{display:block;color:var(--muted);font-size:10px}
.budget-progress{grid-column:1/-1;height:6px;overflow:hidden;border-radius:9px;background:var(--line)}.budget-progress i{display:block;height:100%;border-radius:inherit;background:var(--mint)}.budget-progress.over i{background:var(--red)}
.budget-row-actions{display:flex;justify-content:flex-end;gap:5px}.budget-row-actions button,.recurring-actions button{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);padding:6px 9px;font-size:10px}.budget-row-actions button:hover,.recurring-actions button:hover{color:var(--ink);border-color:var(--mint)}
.recurring-note{margin:16px 0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:11px}.recurring-note b{color:var(--mint)}
.recurring-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;padding:14px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2)}
.recurring-main{display:flex;align-items:center;gap:11px;min-width:0}.recurring-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;background:var(--mint-dim);color:var(--mint);font-size:17px}
.recurring-copy{min-width:0}.recurring-copy b,.recurring-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurring-copy b{font-size:12px}.recurring-copy small{margin-top:2px;color:var(--muted);font-size:10px}
.recurring-amount{text-align:right;white-space:nowrap;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.recurring-amount.expense{color:var(--red)!important}.recurring-amount.income{color:var(--blue)!important}
.recurring-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.recurring-actions .register-recurring{border-color:transparent;background:var(--mint);color:#171b09;font-weight:700}.recurring-row.paused{opacity:.62}
.more-empty{padding:20px 13px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center;font-size:11px}
.assist-card{display:flex;align-items:center;gap:14px;min-height:90px;padding:17px 20px}.assist-card .feature-icon{flex:none}.assist-card>div{flex:1}.assist-card h2{margin:0 0 3px;font-size:14px}.assist-card p{margin:0;color:var(--muted);font-size:11px}
body[data-theme="claro"] .budget-summary-card,body[data-theme="claro"] .budget-row,body[data-theme="claro"] .recurring-row,body[data-theme="claro"] .recurring-note{background:#f7f7f8;border-color:#e5e7e9}
body[data-theme="claro"] .budget-row-actions button,body[data-theme="claro"] .recurring-actions button{background:#fff;border-color:#dfe2e5}
body[data-theme="claro"] .investment-account-group{background:#fff;border-color:#e1e3e5}
body[data-theme="claro"] .investment-group-performance>span b{color:#30343a}
.account-name b{font-size:12px}
.account-name small,.account-details,.account-details button,.account-flow{font-size:10px}
.investment-metrics{font-size:11px}
.investment-group-title b{font-size:13px}
.investment-group-title small,.investment-group-value small,.investment-group-performance{font-size:10px}
.investment-group-value b{font-size:14px}
.account-name b{font-size:14px}
.account-card>strong{font-size:14px}
.account-name small,.account-details,.account-details button,.account-flow{font-size:12px}
.investment-metrics{font-size:13px}
.investment-group-title b{font-size:15px}
.investment-group-title small,.investment-group-value small,.investment-group-performance{font-size:12px}
.investment-group-value b{font-size:16px}
.brand-logo{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;overflow:hidden;border-radius:12px;background:var(--surface-3)}
.brand-logo svg{display:block;width:100%;height:100%}
.brand-logo img{display:block;width:100%;height:100%;object-fit:cover}
.investment-card .brand-logo{width:38px;height:38px;border-radius:50%}
.investment-group-title .brand-logo{width:36px;height:36px}
.account-logo{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;font-weight:800;line-height:1;letter-spacing:-.05em}
.logo-ing{border-radius:50%;background:#f36f21;color:#fff;font-size:9px;letter-spacing:-.08em}
.logo-revolut{background:#08090b;color:#fff;border:1px solid #34363a;font-size:22px;font-style:italic}
.logo-myinvestor{background:#173c5a;color:#a8e8f0;font-size:13px;letter-spacing:-.08em}
.logo-ledger{background:#111916;color:#70e2c2;border:1px solid #355348;font-size:22px}
.logo-generic{background:var(--surface-3);color:var(--accent-lime);font-size:12px}
.investment-group-title .account-logo{width:36px;height:36px}
body[data-theme="claro"] .logo-revolut{background:#101114;color:#fff}
body[data-theme="claro"] .logo-myinvestor{background:#e8f5f7;color:#126b7a}
body[data-theme="claro"] .logo-ledger{background:#e7f7f1;color:#16765c}

.account-flow{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:5px 14px;color:var(--muted);font-size:9px;padding-top:3px}.account-flow span{display:inline-flex;gap:4px;align-items:center}.account-flow b{font-weight:650;font-variant-numeric:tabular-nums}

/* Navegación mensual, desplegables estadísticos y edición de movimientos */
.stats-month-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.stats-month-picker .month-chip{white-space:nowrap}
.stats-disclosure>summary{list-style:none;cursor:pointer}
.stats-disclosure>summary::-webkit-details-marker{display:none}
.stats-disclosure .disclosure-chevron{margin-left:auto;color:var(--muted);font-size:15px;transition:transform .18s ease}
.stats-disclosure[open] .disclosure-chevron{transform:rotate(180deg)}
.stats-disclosure .panel-heading{display:flex;align-items:center}
.stats-disclosure .category-chart{padding-top:10px}
.category-preview{display:none;align-items:center;gap:6px;min-width:0;max-width:62%;overflow:hidden}
.stats-disclosure:not([open]) .category-preview{display:flex}
.category-preview-chip{display:inline-flex;align-items:center;gap:4px;max-width:190px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.category-preview-chip b{color:var(--ink);font-weight:700}
.dashboard-grid>article.panel:has(>details.stats-disclosure:not([open])){align-self:start}
.annual-category-heading{list-style:none;cursor:pointer}
.annual-category-heading::-webkit-details-marker{display:none}
.annual-category-chart{padding-top:4px}
.annual-category-block .annual-table-wrap{margin-top:14px}
.annual-category-block:not([open]) .annual-category-heading small{display:none}
.edit-movement{flex:0 0 auto;border:0;background:transparent;color:#6c7380;font-size:15px;padding:4px}
.edit-movement:hover{color:var(--mint)}
@media(max-width:760px){.stats-month-picker{gap:5px}.stats-month-picker .today-button{font-size:9px;padding:4px 3px}.stats-month-picker .period-arrow{width:28px;height:28px}.annual-category-block .annual-table-wrap{max-width:100%}.category-preview{max-width:55%;gap:4px}.category-preview-chip{font-size:8px;padding:4px 6px}.category-preview-chip:nth-child(n+3){display:none}.annual-category-heading .category-preview{margin-left:auto}}

/* Mobile: navegación de pulgar, filtros compactos y lectura en una columna */
@media(max-width:760px){
 .main-area{padding:0 14px calc(92px + env(safe-area-inset-bottom))}
 .topbar{position:sticky;top:0;z-index:35;height:56px;margin:0 -14px 18px;padding:0 14px;background:var(--bg);box-shadow:0 1px 0 var(--line-soft)}
 .mobile-brand{font-size:19px}
 .top-right{gap:7px}
 .today-pill{font-size:10px;white-space:nowrap}
 .small-avatar{width:28px;height:28px}
 .theme-toggle{width:38px;height:38px}
 .page-heading{align-items:flex-start;gap:12px;margin-bottom:16px}
 .page-heading h1{font-size:25px;line-height:1.15;margin-top:5px}
 .page-heading p{font-size:11px;line-height:1.4}
 #page-transacciones .page-heading{align-items:center}
 #openAdd{flex:0 0 42px;width:42px;height:42px;padding:0;border-radius:14px;font-size:21px}
 #openAdd span{display:none}
 .stats-month-picker{justify-content:flex-start;width:100%;gap:7px}
 .stats-month-picker .period-arrow{width:36px;height:36px}
 .stats-month-picker .month-chip{min-width:128px;text-align:center;font-size:12px}
 .stats-month-picker .today-button{margin-left:auto;padding:8px 9px;font-size:10px}
 .view-switch{position:sticky;top:56px;z-index:25;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 -14px 10px;padding:0 8px;background:var(--bg);border-bottom-color:var(--line)}
 .view-switch button{padding:12px 3px 11px;font-size:10px}
 .period-toolbar{display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto 36px 36px 36px;gap:6px;min-height:42px;padding:4px 0 8px}
 .period-toolbar>b{min-width:0;font-size:12px}
 .period-toolbar .period-arrow,.period-toolbar .icon-action{width:36px;height:36px}
 #prevPeriod{grid-column:1} #periodLabel{grid-column:2} #nextPeriod{grid-column:3} #goToday{grid-column:4;padding:0 5px} #searchToggle{grid-column:5} #importTransactions{grid-column:6} #csvExport{grid-column:7}
 .toolbar-spacer{display:none}
 .period-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 12px}
 .summary-card{min-width:0;padding:10px 9px;border-radius:14px}
 .summary-card span,.summary-card small{font-size:9px;line-height:1.25}
 .summary-card b{font-size:15px;white-space:nowrap}
 .panel{padding:14px;border-radius:16px}
 .movement-section{padding:12px 14px}
 .movement-row{gap:7px;padding:12px 0}
 .movement-icon,.movement-icon.category-icon{flex-basis:34px;width:34px;height:34px}
 .movement-copy b{font-size:12px}
 .movement-copy small{font-size:9px;line-height:1.35}
 .movement-amount{font-size:11px}
 .edit-movement,.delete-movement{display:grid;place-items:center;flex:0 0 32px;width:32px;height:38px;padding:0;font-size:17px}
 .day-heading{font-size:13px}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
 .metric-card{padding:12px;border-radius:15px}
 .metric-label{font-size:10px}
 .metric-card>b{font-size:19px}
 .metric-card>small{font-size:9px;line-height:1.3}
 .dashboard-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .dashboard-grid>.panel{min-width:0}
 .comparison-chart{min-height:145px}
 .compare-bars{height:108px}
 .annual-panel{padding:14px}
 .annual-chart{height:116px;gap:4px;padding-inline:0}
 .annual-column>i{width:min(36%,12px)}
 .annual-category-heading{flex-wrap:wrap;align-items:center}
 .annual-category-heading h3{flex:1 1 auto}
 .annual-category-block .annual-table-wrap{overflow-x:auto}
 .account-grid,.feature-grid{grid-template-columns:minmax(0,1fr);gap:9px}
 .account-card{padding:14px;gap:7px 10px;border-radius:16px}
 .account-name b{font-size:14px}
 .account-name small,.account-details{font-size:11px}
 .account-card>strong{font-size:15px}
 .investment-group-heading{grid-template-columns:minmax(0,1fr) auto 18px;gap:8px}
 .investment-group-performance{padding-left:0}
 .investment-card{grid-template-columns:34px minmax(0,1fr) auto;gap:7px 9px}
 .investment-card .account-name b{font-size:12px}
 .investment-card .investment-metrics{grid-column:2/-1;flex-wrap:wrap;font-size:11px}
 .investment-card .account-details{grid-column:2/-1}
 .wealth-card{padding:17px;border-radius:17px}
 .wealth-card>b{font-size:22px}
 .settings-tabs{position:sticky;top:56px;z-index:20;background:var(--bg)}
 .settings-tabs button{padding:11px 12px;font-size:11px}
 .modal-backdrop{align-items:flex-end;padding:0}
 .dialog{width:100%;max-width:none;max-height:90dvh;overflow:auto;border-radius:22px 22px 0 0;padding:26px 18px calc(20px + env(safe-area-inset-bottom))}
 .dialog-close{top:14px;right:14px;width:38px;height:38px}
 .form-two{grid-template-columns:1fr 1fr;gap:9px}
 .form-two input,.form-two select,.dialog-form>label>input,.dialog-form>label>select{min-height:44px}
 .bottom-nav{min-height:64px;justify-content:stretch;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
 .bottom-nav button{min-width:0;min-height:48px;gap:3px;font-size:9px}
 .bottom-nav button span{font-size:18px;line-height:20px}
}
@media(max-width:390px){
 .main-area{padding-right:11px;padding-left:11px}
 .topbar{margin-right:-11px;margin-left:-11px;padding-right:11px;padding-left:11px}
 .view-switch{margin-right:-11px;margin-left:-11px}
 .stats-month-picker .month-chip{min-width:112px;font-size:11px}
 .period-toolbar{grid-template-columns:32px minmax(0,1fr) 32px auto 32px 32px 32px;gap:4px}
 .period-toolbar .period-arrow,.period-toolbar .icon-action{width:32px;height:32px}
 .summary-card{padding:9px 7px}
 .summary-card b{font-size:14px}
 .movement-row{gap:5px}
 .movement-amount{font-size:10px}
 .edit-movement,.delete-movement{flex-basis:28px;width:28px}
 .category-preview{max-width:49%}
}
.assist-actions{display:flex;gap:7px;flex:none}.assist-actions .outline-button{white-space:nowrap}
.receipt-assistant{display:grid;gap:13px}.receipt-upload{display:grid;justify-items:center;gap:6px;padding:22px 14px;border:1px dashed var(--line);border-radius:13px;background:var(--surface-2);text-align:center;cursor:pointer}.receipt-upload:hover{border-color:var(--mint)}.receipt-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.receipt-upload-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--mint-dim);color:var(--mint);font-size:21px}.receipt-upload b{font-size:12px}.receipt-upload small{color:var(--muted);font-size:10px}.receipt-preview{display:block;max-width:min(100%,360px);max-height:280px;margin:0 auto;border:1px solid var(--line);border-radius:12px;object-fit:contain}.receipt-read-row{display:flex;align-items:center;gap:10px}.receipt-read-row .button{white-space:nowrap}.receipt-read-row button:disabled{opacity:.5;cursor:not-allowed}.receipt-read-row span{color:var(--muted);font-size:10px}.receipt-form{padding-top:13px;border-top:1px solid var(--line)}.receipt-review-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.receipt-review-heading>b{font-size:12px}.receipt-text-details{border:1px solid var(--line);border-radius:10px;padding:9px 11px}.receipt-text-details summary{color:var(--muted);font-size:10px;cursor:pointer}.receipt-text-details textarea{display:block;width:100%;margin-top:9px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:11px/1.5 var(--font);resize:vertical}
.file-import{display:grid;gap:12px}.file-import .receipt-upload{margin-bottom:0}.import-file-status{font-size:11px;color:var(--muted)}.import-file-label{display:flex;justify-content:space-between;gap:10px;align-items:baseline;color:var(--muted);font-size:10px}.import-file-label b{color:var(--ink);font-size:11px;overflow-wrap:anywhere}.import-mapping{display:grid;gap:11px}.import-map-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.import-map-grid label,.import-sheet{display:grid;gap:4px;color:var(--muted);font-size:9px}.import-map-grid select,.import-sheet select{width:100%;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--ink);font-size:10px}.import-sheet{grid-template-columns:minmax(0,1fr) minmax(140px,240px);align-items:center}.import-summary{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:10px}.import-preview-table{max-height:340px;overflow:auto;border:1px solid var(--line-soft);border-radius:10px}.import-preview-table table{width:100%;border-collapse:collapse;min-width:700px;font-size:10px}.import-preview-table th,.import-preview-table td{padding:8px 9px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap}.import-preview-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-weight:600}.import-preview-table tbody tr:last-child td{border-bottom:0}.import-preview-table td:first-child,.import-preview-table th:first-child{width:34px}.import-preview-table input{accent-color:var(--mint)}.import-preview-table .import-duplicate td:last-child{color:var(--gold)}.import-preview-table .import-invalid td:last-child{color:var(--red)}.import-more-rows{display:block;padding:8px;color:var(--muted)}.import-preview .form-hint{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.import-preview button:disabled{opacity:.45;cursor:not-allowed}.dialog:has(.file-import){width:min(100%,900px)}body[data-theme="claro"] .import-map-grid select,body[data-theme="claro"] .import-sheet select{background:#fff;border-color:#d6d9dc;color:#17191b}body[data-theme="claro"] .import-preview-table th{background:#f0f1f2}
body[data-theme="claro"] .receipt-upload{background:#f7f7f8;border-color:#d9dcdf}body[data-theme="claro"] .receipt-text-details textarea{background:#fff;border-color:#d9dcdf}
@media(max-width:760px){.assist-card{flex-wrap:wrap}.assist-actions{width:100%;justify-content:flex-end}.receipt-upload{padding:18px 11px}.receipt-preview{max-height:220px}.receipt-read-row{align-items:flex-start;flex-direction:column}.receipt-read-row .button{width:100%}.receipt-review-heading>b{font-size:11px}}
@media(max-width:760px){.dialog:has(.file-import){width:100%}.import-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-preview-table{max-height:29vh}.import-file-label{align-items:flex-start;flex-direction:column;gap:2px}.import-summary{gap:6px 12px}.import-sheet{grid-template-columns:1fr}.import-sheet select{min-height:40px}}
.cloud-logout{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:10px;padding:6px 9px}.cloud-logout:hover{color:var(--mint);border-color:var(--mint)}.cloud-auth-gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px;background:rgba(5,6,4,.94);backdrop-filter:blur(18px)}.cloud-auth-card{width:min(100%,420px);padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.38)}.cloud-brand{margin:0 0 36px;font:800 22px/1 Manrope,sans-serif;letter-spacing:-1px}.cloud-auth-card h1{font:700 25px/1.2 Manrope,var(--font);margin:8px 0}.cloud-auth-card p{margin:0 0 20px;color:var(--muted);font-size:12px}.cloud-auth-card form{display:grid;gap:12px}.cloud-auth-card label{display:grid;gap:6px;color:var(--muted);font-size:11px}.cloud-auth-card input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink)}.cloud-auth-card form .button,.cloud-auth-card>#cloudContinueEmpty{width:100%;min-height:43px}.cloud-backup-picker{margin:0 0 11px;padding:14px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer}.cloud-backup-picker b,.cloud-backup-picker small{display:block}.cloud-backup-picker b{color:var(--ink);font-size:12px}.cloud-backup-picker small{margin-top:4px;color:var(--muted);font-size:10px}.cloud-backup-picker input{margin-top:8px;padding:7px;font-size:10px}.cloud-auth-message{min-height:20px!important;margin:13px 0 0!important;color:var(--gold)!important;font-size:11px!important}.cloud-privacy-note{display:block;color:var(--subtle);font-size:9px;line-height:1.5}.cloud-auth-card button:disabled{opacity:.55;cursor:wait}body[data-theme="claro"] .cloud-auth-gate{background:rgba(243,244,245,.94)}body[data-theme="claro"] .cloud-auth-card{background:#fff;border-color:#d9dcdf}body[data-theme="claro"] .cloud-auth-card input{background:#fff;border-color:#d6d9dc;color:#17191b}body[data-theme="claro"] .cloud-backup-picker{background:#f7f7f8;border-color:#d9dcdf}body[data-theme="claro"] .cloud-backup-picker b{color:#17191b}@media(max-width:760px){.cloud-auth-card{padding:23px 19px;border-radius:20px}.cloud-brand{margin-bottom:27px}.cloud-auth-card h1{font-size:22px}.cloud-logout{font-size:9px;padding:5px 7px}}
html.saldo-cloud .app-shell,html.saldo-cloud .bottom-nav{visibility:hidden}html.saldo-cloud #cloudAuthGate{display:grid!important}
