:root{--brand-900:#001722;--brand-800:#002231;--brand-700:#003447;--brand-600:#0a4a63;--brand-soft:#eaf3f7;--brand-soft-2:#d9e9f0;--bg-app:#f5f7f9;--surface:#fff;--surface-secondary:#f2f4f6;--border-soft:#e2e8ec;--text-primary:#0f1720;--text-secondary:#5f6b76;--text-tertiary:#8a949e;--success:#1f8a70;--warning:#d4a017;--danger:#d95c4f;--info:#3b82f6;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-2xl:26px;--radius-pill:999px;--shadow-card:0 1px 2px #0f172008, 0 8px 24px #0f17200d;--shadow-card-hover:0 2px 4px #0f17200a, 0 12px 30px #0f172012;--shadow-modal:0 24px 70px #00172233;--color-primary-900:var(--brand-900);--color-primary-800:var(--brand-800);--color-primary-700:var(--brand-700);--color-primary-600:var(--brand-600);--color-primary-soft:var(--brand-soft);--color-primary-soft-2:var(--brand-soft-2);--color-bg:var(--bg-app);--color-surface:var(--surface);--color-border:var(--border-soft);--color-border-soft:#edf1f4;--color-border-strong:#c5d0d7;--color-text:var(--text-primary);--color-text-muted:var(--text-secondary);--color-text-subtle:var(--text-tertiary);--color-success:var(--success);--color-success-dark:#176b58;--color-success-soft:#e8f6f1;--color-success-border:#a8d8ca;--color-warning:var(--warning);--color-warning-dark:#8a6417;--color-warning-soft:#fff6d9;--color-warning-border:#dfc98d;--color-danger:var(--danger);--color-danger-dark:#a63f36;--color-danger-soft:#fff0ee;--color-danger-border:#eab9b3;--color-info:var(--info);--color-info-soft:#eaf2ff;--color-white:#fff;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,sans-serif}html{background:var(--bg-app);overflow-x:hidden}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--color-text);background:var(--color-bg);margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:transform .12s,opacity .12s,color .16s,border-color .16s,background-color .16s,box-shadow .18s}button:active:not(:disabled){transform:scale(.97)}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--color-primary-soft-2);outline-offset:2px}input:focus,select:focus,textarea:focus{border-color:var(--color-primary-600);outline:none;box-shadow:0 0 0 3px #0a4a631f}.app-shell{min-height:100vh}.auth-page{grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr);min-width:0;min-height:100vh;display:grid}.auth-intro{min-height:100vh;color:var(--color-white);background:var(--color-primary-800);flex-direction:column;justify-content:space-between;padding:clamp(36px,6vw,88px);display:flex;position:relative;overflow:hidden}.auth-intro:after{content:"";border:1px solid #ffffff29;border-radius:24px;width:300px;height:300px;position:absolute;bottom:14%;right:-100px;transform:rotate(28deg)}.brand-mark{z-index:1;background:#ffffff1a;border:1px solid #ffffff47;border-radius:8px;place-items:center;width:52px;height:52px;display:grid;position:relative}.brand-mark svg{width:26px;height:26px}.eyebrow{color:var(--color-primary-600);letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:.75rem;font-weight:800}.auth-intro .eyebrow{color:var(--color-primary-soft-2)}.auth-intro h1{max-width:620px;margin:0;font-size:clamp(2.5rem,5vw,5.5rem);font-weight:750;line-height:.98}.auth-intro__copy{max-width:520px;color:var(--color-primary-soft-2);margin:28px 0 0;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65}.auth-intro__footer{z-index:1;color:var(--color-primary-soft-2);margin:0;font-size:.875rem;position:relative}.auth-panel{background:var(--color-bg);place-items:center;min-width:0;min-height:100vh;padding:48px clamp(28px,7vw,104px);display:grid}.auth-form-wrap{width:min(100%,440px);min-width:0}.mobile-brand{display:none}.auth-heading h2{color:var(--color-text);margin:0;font-size:clamp(2rem,4vw,2.75rem);line-height:1.1}.auth-heading>p:last-child{color:var(--color-text-muted);margin:14px 0 0;line-height:1.6}.auth-tabs{border:1px solid var(--color-border);background:var(--color-primary-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:32px 0 28px;padding:4px;display:grid}.auth-tabs button{min-width:0;min-height:42px;color:var(--color-text-muted);background:0 0;border:0;border-radius:5px;padding:0 8px;font-size:.875rem;font-weight:700}.auth-tabs button.active{color:var(--color-primary-800);background:var(--color-white);box-shadow:0 1px 4px #0022311f}.auth-form{gap:10px;display:grid}.auth-form label{color:var(--color-text);margin-top:6px;font-size:.875rem;font-weight:700}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>svg{width:18px;height:18px;color:var(--color-text-subtle);pointer-events:none;position:absolute;left:15px}.input-wrap input{border:1px solid var(--color-border);width:100%;min-height:50px;color:var(--color-text);background:var(--color-white);border-radius:7px;outline:none;padding:0 48px 0 44px;transition:border-color .16s,box-shadow .16s}.input-wrap input::placeholder{color:var(--color-text-subtle)}.input-wrap input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px #0a4a631f}.password-toggle{width:38px;height:38px;color:var(--color-text-muted);background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid;position:absolute;right:7px}.password-toggle:hover{color:var(--color-primary-700);background:var(--color-primary-soft)}.password-toggle svg{width:18px;height:18px}.form-alert{border-radius:6px;margin:6px 0 0;padding:11px 13px;font-size:.875rem;line-height:1.45}.form-alert--error{border:1px solid var(--color-danger-border);color:var(--color-danger-dark);background:var(--color-danger-soft)}.form-alert--success{border:1px solid var(--color-success-border);color:var(--color-success-dark);background:var(--color-success-soft)}.primary-button,.secondary-button{border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:48px;font-weight:750;display:inline-flex}.primary-button{border:1px solid var(--color-primary-800);width:100%;color:var(--color-white);background:var(--color-primary-800);margin-top:12px;box-shadow:0 8px 20px #00223129}.primary-button:hover:not(:disabled){background:var(--color-primary-700)}.primary-button:active:not(:disabled){border-color:var(--color-primary-900);background:var(--color-primary-900)}.primary-button:disabled,.secondary-button:disabled{opacity:.7}.primary-button svg,.secondary-button svg{width:18px;height:18px}.auth-switch{color:var(--color-text-muted);text-align:center;margin:24px 0 0;font-size:.875rem}.auth-switch button{color:var(--color-primary-800);background:0 0;border:0;padding:0;font-weight:800}.auth-switch button:hover{text-decoration:underline}.auth-forgot{justify-content:flex-end;margin-top:1px;display:flex}.auth-forgot button,.auth-switch button{color:var(--color-primary-800)}.auth-forgot button{background:0 0;border:0;padding:4px 0;font-size:.82rem;font-weight:750}.auth-forgot button:hover{text-decoration:underline}.auth-switch__back{align-items:center;gap:7px;display:inline-flex}.auth-switch button svg{width:16px;height:16px}.auth-form--recovery,.auth-form--reset,.auth-reset-state,.auth-reset-actions{margin-top:30px}.auth-reset-state{min-height:96px;color:var(--color-primary-800);background:var(--color-primary-soft);border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:20px;font-size:.9rem;font-weight:700;display:flex}.auth-reset-state svg{width:20px;height:20px}.auth-reset-actions{gap:18px;display:grid}.auth-reset-actions .primary-button{text-decoration:none}.auth-reset-success{width:58px;height:58px;color:var(--color-success-dark);background:var(--color-success-soft);border-radius:16px;place-items:center;margin:0 auto;display:grid}.auth-reset-success svg{width:28px;height:28px}.auth-loading{min-height:100vh;color:var(--color-primary-800);background:var(--color-bg);grid-template-columns:auto auto;place-content:center;gap:14px;display:grid}.auth-loading>svg:first-child{grid-column:1/-1;justify-self:center;width:42px;height:42px}.auth-loading .spin{width:18px;height:18px}.spin{animation:.9s linear infinite spin}.dashboard-page{min-height:100vh;color:var(--color-text);background:var(--color-bg)}.dashboard-header{border-bottom:1px solid var(--color-border);background:var(--color-white);justify-content:space-between;align-items:center;gap:24px;min-height:74px;padding:12px clamp(20px,5vw,72px);display:flex}.dashboard-brand{color:var(--color-primary-800);align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-brand svg{width:25px;height:25px;color:var(--color-primary-600)}.secondary-button{border:1px solid var(--color-primary-800);min-height:42px;color:var(--color-primary-800);background:var(--color-white);padding:0 15px}.secondary-button:hover:not(:disabled){border-color:var(--color-primary-800);background:var(--color-primary-soft)}.dashboard-content{width:min(100% - 40px,1100px);margin:0 auto;padding:clamp(64px,10vw,120px) 0}.dashboard-content h1{max-width:700px;margin:0;font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.05}.user-detail{border:1px solid var(--color-border);border-left:4px solid var(--color-primary-600);background:var(--color-white);border-radius:7px;align-items:center;gap:14px;width:min(100%,480px);margin-top:40px;padding:20px;display:flex;box-shadow:0 10px 32px #0022310f}.user-detail>svg{width:24px;height:24px;color:var(--color-primary-600);flex:none}.user-detail div{gap:4px;min-width:0;display:grid}.user-detail span{color:var(--color-text-subtle);text-transform:uppercase;font-size:.75rem;font-weight:700}.user-detail strong{overflow-wrap:anywhere}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=820px){.auth-page{grid-template-columns:1fr;width:100%}.auth-intro{display:none}.auth-panel{align-items:start;min-height:100vh;padding:28px 22px 48px}.mobile-brand{color:var(--color-primary-800);align-items:center;gap:9px;margin-bottom:clamp(52px,12vh,96px);font-weight:800;display:flex}.mobile-brand svg{width:25px;height:25px;color:var(--color-primary-600)}}@media (width<=540px){.dashboard-header{min-height:68px}.dashboard-brand span{display:none}.secondary-button{color:#0000;gap:0;width:42px;padding:0;overflow:hidden}.secondary-button svg{color:var(--color-text);flex:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.authenticated-shell{min-height:100vh;color:var(--color-text);background:var(--color-bg);grid-template-columns:248px minmax(0,1fr);display:grid}.app-sidebar{z-index:20;height:100vh;color:var(--color-white);background:var(--color-primary-800);border-right:1px solid #ffffff1a;flex-direction:column;padding:26px 18px 20px;display:flex;position:sticky;top:0}.app-brand,.mobile-app-brand{color:inherit;align-items:center;gap:11px;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex}.app-brand__mark{width:38px;height:38px;color:var(--color-primary-800);background:var(--color-primary-soft-2);border-radius:7px;flex:none;place-items:center;display:grid}.app-brand__mark svg{width:21px;height:21px}.app-nav{gap:5px;margin-top:48px;display:grid}.app-nav__link{min-height:46px;color:var(--color-primary-soft-2);border-radius:6px;align-items:center;gap:12px;padding:0 13px;font-size:.9rem;font-weight:650;text-decoration:none;transition:color .15s,background .15s;display:flex}.app-nav__link:hover{color:var(--color-white);background:var(--color-primary-700)}.app-nav__link.active{color:var(--color-white);background:var(--color-primary-600)}.app-nav__link svg{flex:none;width:19px;height:19px}.nav-label-short{display:none}.sidebar-account{border-top:1px solid #ffffff1f;gap:6px;min-width:0;margin-top:auto;padding:17px 12px 0;display:grid}.sidebar-account__label{color:var(--color-primary-soft-2);text-transform:uppercase;font-size:.69rem;font-weight:800}.sidebar-account strong{color:var(--color-primary-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.sidebar-signout{color:var(--color-primary-soft-2);text-align:left;background:0 0;border:0;align-items:center;gap:9px;margin:10px 0 0;padding:8px 0;font-size:.82rem;font-weight:700;display:inline-flex}.sidebar-signout:hover{color:var(--color-white)}.sidebar-signout svg{width:17px;height:17px}.sidebar-account>p{color:var(--color-danger-border);margin:4px 0 0;font-size:.75rem;line-height:1.4}.mobile-app-header,.mobile-nav,.mobile-nav-sheet-backdrop,.mobile-signout-error{display:none}.app-main{min-width:0}.page-container{width:min(100% - 64px,1240px);margin:0 auto;padding:48px 0 72px}.page-header{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:34px;display:flex}.page-header h1{color:var(--color-primary-800);margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.08}.page-header__description{max-width:650px;color:var(--color-text-muted);margin:11px 0 0;line-height:1.6}.page-header__action{flex:none}.solid-button,.outline-button,.danger-button,.text-link{border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 15px;font-size:.875rem;font-weight:750;text-decoration:none;display:inline-flex}.solid-button{border:1px solid var(--color-primary-800);color:var(--color-white);background:var(--color-primary-800);box-shadow:0 6px 16px #00223124}.solid-button:hover:not(:disabled){border-color:var(--color-primary-700);background:var(--color-primary-700)}.solid-button:active:not(:disabled){border-color:var(--color-primary-900);background:var(--color-primary-900)}.solid-button svg,.outline-button svg,.danger-button svg,.text-link svg{width:17px;height:17px}.outline-button{border:1px solid var(--color-primary-800);color:var(--color-primary-800);background:var(--color-white)}.outline-button:hover:not(:disabled){border-color:var(--color-primary-800);background:var(--color-primary-soft)}.danger-button{border:1px solid var(--color-danger-dark);color:var(--color-white);background:var(--color-danger-dark)}.danger-button:hover:not(:disabled){background:var(--color-danger-dark)}.text-link{min-height:auto;color:var(--color-primary-800);padding:5px 0}.text-link:hover{color:var(--color-primary-900);text-decoration:underline}.icon-button{width:38px;height:38px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button--danger:hover:not(:disabled){color:var(--color-danger-dark);background:var(--color-danger-soft)}.icon-button svg{width:18px;height:18px}.page-loader{min-height:320px;color:var(--color-text-muted);justify-content:center;align-items:center;gap:11px;display:flex}.page-loader svg{width:20px;height:20px;color:var(--color-primary-600)}.data-error,.page-notice{border-radius:7px;font-size:.875rem}.data-error{border:1px solid var(--color-danger-border);min-height:120px;color:var(--color-danger-dark);background:var(--color-danger-soft);justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.data-error p{margin:6px 0 0}.page-notice{margin:0 0 20px;padding:12px 14px}.page-notice--success{border:1px solid var(--color-success-border);color:var(--color-success-dark);background:var(--color-success-soft)}.page-notice--error{border:1px solid var(--color-danger-border);color:var(--color-danger-dark);background:var(--color-danger-soft)}.empty-state{border:1px dashed var(--color-border);min-height:280px;color:var(--color-text-muted);text-align:center;background:#ffffff75;border-radius:8px;align-content:center;place-items:center;padding:42px 24px;display:grid}.empty-state>svg{width:34px;height:34px;color:var(--color-primary-600);margin-bottom:16px}.empty-state h3{color:var(--color-text);margin:0;font-size:1.05rem}.empty-state p{max-width:440px;margin:9px 0 19px;line-height:1.55}.empty-state p:last-child{margin-bottom:0}.filters-bar{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;grid-template-columns:auto minmax(150px,.7fr) minmax(150px,.7fr) minmax(190px,1fr) auto;align-items:end;gap:14px;margin-bottom:22px;padding:16px;display:grid}.filters-bar__title{color:var(--color-text-muted);align-self:center;align-items:center;gap:8px;padding-right:7px;font-size:.82rem;font-weight:800;display:flex}.filters-bar__title svg{width:17px;height:17px;color:var(--color-primary-600)}.filters-bar label,.movement-form label{color:var(--color-text);gap:7px;font-size:.79rem;font-weight:750;display:grid}.filters-bar input,.filters-bar select,.movement-form input,.movement-form select,.movement-form textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-white);border-radius:6px;outline:none;transition:border-color .15s,box-shadow .15s}.filters-bar input,.filters-bar select{min-height:40px;padding:0 10px}.filters-bar input:focus,.filters-bar select:focus,.movement-form input:focus,.movement-form select:focus,.movement-form textarea:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px #0a4a631c}.reset-filters{border-color:var(--color-border);background:var(--color-bg)}.movement-table-wrap{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;overflow-x:auto}.movement-table{border-collapse:collapse;width:100%;font-size:.86rem}.movement-table th,.movement-table td{border-bottom:1px solid var(--color-border-soft);text-align:left;white-space:nowrap;padding:15px 14px}.movement-table th{color:var(--color-text-muted);background:var(--color-bg);text-transform:uppercase;font-size:.72rem;font-weight:800}.movement-table tbody tr:last-child td{border-bottom:0}.movement-table tbody tr:hover{background:var(--color-bg)}.movement-table .movement-description{min-width:180px;color:var(--color-text);white-space:normal;font-weight:700}.amount-column,.movement-table .movement-amount{text-align:right}.movement-amount{white-space:nowrap;font-variant-numeric:tabular-nums}.movement-amount--ingreso{color:var(--color-success)}.movement-amount--gasto{color:var(--color-danger)}.type-badge{border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:0 8px;font-size:.72rem;font-weight:800;display:inline-flex}.type-badge svg{width:13px;height:13px}.type-badge--ingreso{color:var(--color-success-dark);background:var(--color-success-soft)}.type-badge--gasto{color:var(--color-danger-dark);background:var(--color-danger-soft)}.row-actions{justify-content:flex-end;gap:2px;display:flex}.movement-cards{display:none}.modal-open{overflow:hidden}.modal-backdrop{z-index:100;background:#0017229e;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.form-modal,.confirm-dialog{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;width:min(100%,680px);max-height:calc(100vh - 48px);position:relative;overflow-y:auto;box-shadow:0 24px 70px #0017223d}.modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.modal-header h2,.confirm-dialog h2{color:var(--color-text);margin:0;font-size:1.45rem}.modal-close{margin:-7px -7px 0 0}.movement-form{gap:18px;display:grid}.movement-form label>span,.type-selector legend{color:var(--color-text);font-size:.79rem;font-weight:750}.movement-form label small{color:var(--color-text-subtle);font-weight:500}.movement-form label .field-error{color:var(--color-danger-dark);font-size:.72rem;font-weight:650;line-height:1.4}.movement-form input,.movement-form select{min-height:45px;padding:0 12px}.movement-form textarea{resize:vertical;min-height:90px;padding:11px 12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.type-selector{border:0;margin:0;padding:0}.type-selector legend{margin-bottom:7px}.type-selector>div{border:1px solid var(--color-border);background:var(--color-primary-soft);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px;display:grid}.type-selector button{min-height:39px;color:var(--color-text-muted);background:0 0;border:0;border-radius:5px;font-weight:750}.type-selector button.active{background:var(--color-white);box-shadow:0 1px 4px #00223121}.type-selector button.active.expense{color:var(--color-danger-dark)}.type-selector button.active.income{color:var(--color-success-dark)}.field-with-icon,.amount-input{align-items:center;display:flex;position:relative}.field-with-icon svg{width:17px;height:17px;color:var(--color-text-muted);pointer-events:none;position:absolute;left:12px}.field-with-icon input{padding-left:39px}.amount-input>span{color:var(--color-text-muted);font-weight:800;position:absolute;left:12px}.amount-input input{padding-left:34px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.confirm-dialog{text-align:center;width:min(100%,430px);padding:30px}.confirm-dialog__icon{width:48px;height:48px;color:var(--color-danger-dark);background:var(--color-danger-soft);border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.confirm-dialog__icon svg{width:24px;height:24px}.confirm-dialog>p{color:var(--color-text-muted);margin:12px 0 24px;line-height:1.55}.confirm-dialog .dialog-actions{justify-content:center}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px;display:grid}.metric-card{border:1px solid var(--color-border);border-top:3px solid var(--color-primary-600);background:var(--color-white);border-radius:7px;min-width:0;padding:20px;box-shadow:0 8px 24px #0022310a}.metric-card--income{border-top-color:var(--color-success)}.metric-card--expense{border-top-color:var(--color-danger)}.metric-card--balance{border-top-color:var(--color-info)}.metric-card__top{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:.78rem;font-weight:750;display:flex}.metric-card__icon{width:32px;height:32px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:6px;place-items:center;display:grid}.metric-card--income .metric-card__icon{color:var(--color-success);background:var(--color-success-soft)}.metric-card--expense .metric-card__icon{color:var(--color-danger);background:var(--color-danger-soft)}.metric-card--balance .metric-card__icon{color:var(--color-info);background:var(--color-info-soft)}.metric-card__icon svg{width:17px;height:17px}.metric-card>strong{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;margin-top:20px;font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.15;display:block}.metric-card>p{color:var(--color-text-subtle);margin:8px 0 0;font-size:.72rem}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:start;gap:18px;display:grid}.dashboard-section,.category-group{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;min-width:0;padding:22px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px;display:flex}.section-heading h2{color:var(--color-primary-800);margin:0;font-size:1.08rem}.section-kicker{color:var(--color-text-subtle);text-transform:uppercase;margin:0 0 5px;font-size:.68rem;font-weight:800}.dashboard-section .empty-state{background:var(--color-bg);border:0;min-height:310px}.recent-list{display:grid}.recent-item{border-bottom:1px solid var(--color-border-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;display:grid}.recent-item:last-child{border-bottom:0}.recent-item__type{border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.recent-item__type--ingreso{color:var(--color-success);background:var(--color-success-soft)}.recent-item__type--gasto{color:var(--color-danger);background:var(--color-danger-soft)}.recent-item__type svg{width:17px;height:17px}.recent-item__main{gap:4px;min-width:0;display:grid}.recent-item__main strong,.recent-item__main span,.recent-item__main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-item__main strong{color:var(--color-text);font-size:.86rem}.recent-item__main span{color:var(--color-text-muted);font-size:.73rem}.recent-item__main small{color:var(--color-text-subtle);font-size:.67rem}.recent-item>.movement-amount{font-size:.84rem}.chart-wrap{width:100%;min-height:280px}.category-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.category-list{grid-template-columns:1fr;gap:8px;display:grid}.category-item{border:1px solid var(--color-border-soft);min-height:52px;color:var(--color-text);background:var(--color-bg);border-radius:6px;align-items:center;gap:11px;padding:8px 10px;font-size:.84rem;font-weight:700;display:flex}.category-item--inactive{color:var(--color-text-subtle);background:var(--color-bg);opacity:.82}.category-item__name{gap:3px;min-width:0;display:grid}.category-item__name strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.category-item__name small{color:var(--color-text-muted);font-size:.64rem;font-weight:650}.category-item__actions{margin-left:auto;display:flex}.category-group__empty{color:var(--color-text-muted);margin:20px 0 4px;font-size:.78rem}.category-icon{border-radius:6px;flex:none;place-items:center;width:32px;height:32px;display:grid}.category-icon--gasto{color:var(--color-danger);background:var(--color-danger-soft)}.category-icon--ingreso{color:var(--color-success);background:var(--color-success-soft)}.category-icon svg{width:16px;height:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.month-selector{color:var(--color-text-muted);gap:6px;font-size:.72rem;font-weight:800;display:grid}.month-selector>div{align-items:center;display:flex;position:relative}.month-selector svg{width:17px;height:17px;color:var(--color-primary-600);pointer-events:none;position:absolute;left:12px}.month-selector input{border:1px solid var(--color-border);min-width:190px;min-height:43px;color:var(--color-text);background:var(--color-white);border-radius:6px;outline:none;padding:0 12px 0 39px;font-weight:700}.month-selector input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px #0a4a631c}.budget-period-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px;display:flex}.budget-period-heading h2{color:var(--color-primary-800);margin:0;font-size:1.3rem}.budget-period-heading>span{color:var(--color-text-muted);font-size:.8rem;font-weight:700}.budget-summary{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:26px;display:grid;box-shadow:0 8px 24px #0022310a}.budget-summary__item{border-right:1px solid var(--color-border-soft);justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:112px;padding:20px;display:flex}.budget-summary__item:last-child{border-right:0}.budget-summary__item>div{gap:10px;min-width:0;display:grid}.budget-summary__item>div>span{color:var(--color-text-muted);font-size:.73rem;font-weight:750}.budget-summary__item strong{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:clamp(1.05rem,2vw,1.45rem);line-height:1.15}.budget-summary__icon{width:36px;height:36px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:6px;flex:none;place-items:center;display:grid}.budget-summary__icon svg{width:18px;height:18px}.budget-summary__item--spent .budget-summary__icon,.budget-summary__item--danger .budget-summary__icon{color:var(--color-danger);background:var(--color-danger-soft)}.budget-summary__item--available .budget-summary__icon,.budget-summary__item--normal .budget-summary__icon{color:var(--color-success);background:var(--color-success-soft)}.budget-summary__item--warning .budget-summary__icon{color:var(--color-warning-dark);background:var(--color-warning-soft)}.budget-summary__item--danger strong{color:var(--color-danger-dark)}.budget-table{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;overflow:hidden}.budget-table__heading{border-bottom:1px solid var(--color-border-soft);justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.budget-table__heading h2{color:var(--color-text);margin:0;font-size:1.08rem}.budget-table__heading p{color:var(--color-text-muted);margin:0;font-size:.78rem}.budget-table__columns,.budget-row{grid-template-columns:minmax(155px,1.2fr) minmax(115px,.8fr) minmax(105px,.72fr) minmax(105px,.72fr) minmax(170px,1.3fr) 76px;align-items:center;gap:16px;display:grid}.budget-table__columns{border-bottom:1px solid var(--color-border-soft);min-height:42px;color:var(--color-text-muted);background:var(--color-bg);text-transform:uppercase;padding:0 20px;font-size:.68rem;font-weight:800}.budget-row{border-bottom:1px solid var(--color-border-soft);min-height:88px;padding:15px 20px;position:relative}.budget-row:last-child{border-bottom:0}.budget-row:before{background:var(--color-primary-600);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:15px;bottom:15px;left:0}.budget-row--warning:before{background:var(--color-warning)}.budget-row--danger:before{background:var(--color-danger)}.budget-row__category{align-items:center;gap:10px;min-width:0;display:flex}.budget-row__category strong{color:var(--color-text);text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.budget-input-form{grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:6px;display:grid}.budget-amount-input input{border:1px solid var(--color-border);width:100%;min-width:0;min-height:39px;color:var(--color-text);background:var(--color-white);border-radius:6px;outline:none;padding:0 9px 0 30px;font-size:.82rem}.budget-amount-input input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px #0a4a631a}.budget-save-button{border-color:var(--color-border);width:36px;height:36px;color:var(--color-primary-800);background:var(--color-primary-soft)}.budget-save-button:disabled{opacity:.48}.budget-value{gap:4px;min-width:0;display:grid}.budget-value>span{color:var(--color-text-muted);font-size:.68rem;font-weight:750;display:none}.budget-value strong{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.82rem}.budget-value--available strong{color:var(--color-success)}.budget-value--available.negative strong{color:var(--color-danger)}.budget-progress-cell{min-width:0}.budget-progress__label{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;font-size:.7rem;font-weight:750;display:flex}.budget-progress__label strong{color:var(--color-danger-dark);text-align:right;font-size:.66rem}.budget-progress{background:var(--color-border-soft);border-radius:999px;height:7px;overflow:hidden}.budget-progress>span{border-radius:inherit;background:var(--color-success);height:100%;transition:width .22s;display:block}.budget-progress--warning>span{background:var(--color-warning)}.budget-progress--danger>span{background:var(--color-danger)}.budget-row__error{color:var(--color-danger-dark);margin:7px 0 0;font-size:.68rem;line-height:1.35}@media (width<=1120px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.category-list{grid-template-columns:1fr}.filters-bar{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.filters-bar__title{grid-column:1/-1}.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-summary__item:nth-child(2){border-right:0}.budget-summary__item:nth-child(-n+2){border-bottom:1px solid var(--color-border-soft)}.budget-table__columns{display:none}.budget-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px;padding:18px 20px}.budget-progress-cell{grid-column:1/-1}.budget-value>span{display:block}}@media (width<=820px){.authenticated-shell{display:block}.app-sidebar{display:none}.mobile-app-header{z-index:30;border-bottom:1px solid var(--color-border);min-height:62px;color:var(--color-primary-800);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;padding:10px 18px;display:flex;position:sticky;top:0}.mobile-app-brand svg{width:23px;height:23px;color:var(--color-primary-600)}.mobile-nav{z-index:40;min-height:70px;padding:5px max(8px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav .app-nav__link{min-width:0;min-height:54px;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;gap:4px;padding:3px;font-size:.62rem;line-height:1.1}.mobile-nav .app-nav__link:hover,.mobile-nav .app-nav__link.active{color:var(--color-primary-800);background:var(--color-primary-soft)}.mobile-nav .app-nav__link svg{width:20px;height:20px}.mobile-nav .app-nav__link>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-nav__more{background:0 0;border:0}.app-main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.mobile-nav-sheet-backdrop{z-index:70;background:#00172294;justify-content:center;align-items:flex-end;padding-top:56px;display:flex;position:fixed;inset:0}.mobile-nav-sheet{width:min(100%,620px);max-height:min(84vh,720px);padding:19px 18px calc(20px + env(safe-area-inset-bottom));border:1px solid var(--color-border);background:var(--color-white);border-bottom:0;border-radius:8px 8px 0 0;overflow-y:auto;box-shadow:0 -18px 50px #00172233}.mobile-nav-sheet__header{z-index:2;border-bottom:1px solid var(--color-border-soft);background:var(--color-white);justify-content:space-between;align-items:flex-start;gap:18px;margin:-1px 0 16px;padding:1px 0 11px;display:flex;position:sticky;top:-19px}.mobile-nav-sheet__header p,.mobile-nav-sheet__header h2{margin:0}.mobile-nav-sheet__header p{color:var(--color-primary-600);text-transform:uppercase;margin-bottom:4px;font-size:.68rem;font-weight:800}.mobile-nav-sheet__header h2{color:var(--color-primary-800);font-size:1.18rem}.mobile-more-links{gap:7px;display:grid}.mobile-more-link,.mobile-nav-sheet__commands button{width:100%;min-height:50px;color:var(--color-text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:8px 10px;font-size:.86rem;font-weight:700;text-decoration:none;display:flex}.mobile-more-link:hover,.mobile-more-link.active,.mobile-nav-sheet__commands button:hover:not(:disabled){color:var(--color-primary-800);background:var(--color-primary-soft)}.mobile-more-link>span{width:34px;height:34px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:6px;flex:none;place-items:center;display:grid}.mobile-more-link.active>span{color:var(--color-white);background:var(--color-primary-800)}.mobile-more-link svg,.mobile-nav-sheet__commands svg,.mobile-nav-restore svg{width:18px;height:18px}.mobile-nav-sheet__commands{border-top:1px solid var(--color-border-soft);gap:3px;margin-top:15px;padding-top:13px;display:grid}.mobile-nav-sheet__commands .mobile-nav-sheet__signout{color:var(--color-danger-dark)}.mobile-nav-customizer__help{border-left:3px solid var(--color-primary-600);color:var(--color-text-muted);background:var(--color-primary-soft);margin:0 0 13px;padding:10px 12px;font-size:.76rem;line-height:1.45}.mobile-nav-order{gap:7px;margin:0;padding:0;list-style:none;display:grid}.mobile-nav-order li{border:1px solid var(--color-border);background:var(--color-white);border-radius:6px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:58px;padding:8px 8px 8px 6px;display:grid}.mobile-nav-order li.is-direct{border-color:var(--color-primary-soft-2);background:var(--color-primary-soft)}.mobile-nav-order__handle{width:17px;height:17px;color:var(--color-text-subtle)}.mobile-nav-order__icon{width:32px;height:32px;color:var(--color-primary-700);background:var(--color-white);border-radius:6px;place-items:center;display:grid}.mobile-nav-order__icon svg{width:17px;height:17px}.mobile-nav-order li>div:not(.mobile-nav-order__controls){gap:2px;min-width:0;display:grid}.mobile-nav-order strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.mobile-nav-order small{color:var(--color-primary-600);font-size:.63rem;font-weight:750}.mobile-nav-order__controls{gap:3px;display:flex}.mobile-nav-order__controls button{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-primary-800);background:var(--color-white);border-radius:5px;place-items:center;padding:0;display:grid}.mobile-nav-order__controls button:hover:not(:disabled){border-color:var(--color-primary-600);background:var(--color-primary-soft)}.mobile-nav-order__controls button:disabled{color:var(--color-text-subtle);opacity:.45}.mobile-nav-order__controls svg{width:16px;height:16px}.mobile-nav-restore{color:var(--color-primary-700);background:0 0;border:0;align-items:center;gap:7px;margin-top:14px;padding:7px 0;font-size:.74rem;font-weight:750;display:inline-flex}.mobile-nav-customizer__actions{border-top:1px solid var(--color-border-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;padding-top:14px;display:grid}.mobile-nav-customizer__actions .outline-button,.mobile-nav-customizer__actions .solid-button{width:100%;min-height:44px}.mobile-nav-sheet__error{border:1px solid var(--color-danger-border);color:var(--color-danger-dark);background:var(--color-danger-soft);border-radius:6px;margin:12px 0 0;padding:9px 11px;font-size:.75rem}.mobile-signout-error{border:1px solid var(--color-danger-border);color:var(--color-danger-dark);background:var(--color-danger-soft);border-radius:6px;margin:12px 18px 0;padding:10px 12px;font-size:.8rem;display:block}.page-container{width:min(100% - 36px,720px);padding:32px 0 42px}.page-header{align-items:flex-start;margin-bottom:26px}.page-header h1{font-size:2rem}.category-columns{grid-template-columns:1fr}}@media (width<=700px){.page-header{flex-direction:column;gap:18px}.page-header__action,.page-header__action .solid-button{width:100%}.filters-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-bar label:last-of-type{grid-column:1/-1}.reset-filters{margin-top:-1px;position:absolute;right:28px}.movement-table-wrap{display:none}.movement-cards{gap:10px;display:grid}.movement-card{border:1px solid var(--color-border);background:var(--color-white);border-radius:7px;padding:16px}.movement-card__top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.movement-card__top h3{color:var(--color-text);margin:0;font-size:.93rem}.movement-card__top p{color:var(--color-text-muted);margin:5px 0 0;font-size:.75rem}.movement-card__top>.movement-amount{flex:none;font-size:.86rem}.movement-card__meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:15px;font-size:.75rem;display:flex}.movement-card .row-actions{border-top:1px solid var(--color-border-soft);margin:11px -6px -6px 0;padding-top:8px}.metrics-grid{grid-template-columns:1fr;gap:10px}.metric-card{padding:17px}.metric-card>strong{margin-top:13px}.recent-item{grid-template-columns:auto minmax(0,1fr);padding:10px 0}.recent-item>.movement-amount{grid-column:2}.form-grid{grid-template-columns:1fr}.month-selector,.month-selector>div,.month-selector input{width:100%}.budget-period-heading{flex-direction:column;align-items:flex-start;gap:7px}.budget-summary{grid-template-columns:1fr}.budget-summary__item{border-right:0;border-bottom:1px solid var(--color-border-soft);min-height:92px}.budget-summary__item:nth-child(3){border-bottom:1px solid var(--color-border-soft)}.budget-summary__item:last-child{border-bottom:0}.budget-table__heading{flex-direction:column;align-items:flex-start;gap:5px}.budget-row{grid-template-columns:1fr}.budget-row__category,.budget-progress-cell{grid-column:auto}.budget-input-form{max-width:320px}}@media (width<=520px){.mobile-app-brand span{font-size:.88rem}.filters-bar{grid-template-columns:1fr}.filters-bar label:last-of-type{grid-column:auto}.modal-backdrop{align-items:end;padding:0}.form-modal,.confirm-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0;width:100%;max-height:calc(100vh - 24px)}.form-modal{padding:22px 18px max(22px, env(safe-area-inset-bottom))}.confirm-dialog{padding:28px 20px max(28px, env(safe-area-inset-bottom))}.dialog-actions>*{flex:1 1 0}.dashboard-section,.category-group{padding:17px}.chart-wrap{width:calc(100% + 8px);margin-left:-8px}.data-error{flex-direction:column;align-items:stretch}}.account-activity-preview{border-top:1px solid var(--color-border-soft);min-width:0;margin-top:18px;padding-top:16px}.account-activity-preview__heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:5px;display:flex}.account-activity-preview__heading h4{color:var(--color-text-muted);text-transform:uppercase;margin:0;font-size:.7rem;font-weight:750}.account-activity-preview__heading>span{min-width:24px;height:24px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:999px;place-items:center;padding:0 7px;font-size:.67rem;font-weight:750;display:inline-grid}.account-activity-preview__state,.account-activity-modal__empty{color:var(--color-text-subtle);text-align:center;margin:8px 0;padding:14px 0;font-size:.78rem}.account-activity-preview__state--error{color:var(--color-danger-dark)}.account-activity-row{border-bottom:1px solid var(--color-border-soft);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px 0;display:grid}.account-activity-row--compact{padding:9px 0}.account-activity-row__icon{width:34px;height:34px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:10px;place-items:center;display:grid}.account-activity-row__icon svg{width:16px;height:16px}.account-activity-row__icon--positive,.account-activity-row__icon--relief{color:var(--color-success-dark);background:var(--color-success-soft)}.account-activity-row__icon--negative,.account-activity-row__icon--debt{color:var(--color-danger-dark);background:var(--color-danger-soft)}.account-activity-row__main{gap:2px;min-width:0;display:grid}.account-activity-row__main strong,.account-activity-row__main span,.account-activity-row__main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-activity-row__main strong{color:var(--color-text);font-size:.78rem;font-weight:700}.account-activity-row__main span{color:var(--color-text-muted);font-size:.7rem}.account-activity-row__main small{color:var(--color-text-subtle);font-size:.66rem}.account-activity-row__amount{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.77rem;font-weight:750}.account-activity-row__amount--positive,.account-activity-row__amount--relief{color:var(--color-success-dark)}.account-activity-row__amount--negative,.account-activity-row__amount--debt{color:var(--color-danger-dark)}.account-activity-preview__link{width:100%;min-height:40px;color:var(--color-primary-700);text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:5px;padding:7px 9px;font-size:.73rem;font-weight:750;display:flex}.account-activity-preview__link:hover{color:var(--color-primary-800);background:var(--color-primary-soft)}.account-activity-preview__link svg{flex:none;width:16px;height:16px}.account-activity-modal{flex-direction:column;width:min(100%,680px);max-height:min(100vh - 48px,780px);display:flex;overflow:hidden}.account-activity-modal .modal-header{flex:none}.account-activity-filters{background:var(--color-border-soft);border-radius:12px;flex:none;gap:4px;margin-bottom:12px;padding:4px;display:flex}.account-activity-filters button{min-width:0;min-height:40px;color:var(--color-text-muted);background:0 0;border:0;border-radius:9px;flex:1 1 0;padding:0 8px;font-size:.75rem;font-weight:700}.account-activity-filters button.active{color:var(--color-primary-800);background:var(--color-white);box-shadow:0 1px 4px #0022311f}.account-activity-modal__list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding-right:4px;overflow:hidden auto}.account-activity-modal__list .account-activity-row:last-child{border-bottom:0}@media (width<=700px){.account-activity-modal{max-height:min(90dvh,100dvh - 12px)}.account-activity-modal .modal-header{position:static}.account-activity-filters button{min-height:44px;padding-inline:5px;font-size:.7rem}.account-activity-modal__list{padding-bottom:max(8px, env(safe-area-inset-bottom))}}@container (width<=340px){.account-activity-row{grid-template-columns:32px minmax(0,1fr)}.account-activity-row__amount{grid-column:2;justify-self:start}}@media (width<=768px){.modal-backdrop--movement{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));align-items:center;overflow:hidden}.form-modal--movement{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;width:min(100%,680px);max-height:min(90dvh,100dvh - 24px);padding:0;display:flex;overflow:hidden}.form-modal--movement .modal-header{border-bottom:1px solid var(--color-border-soft);background:var(--color-white);flex:none;margin:0;padding:18px 18px 14px}.form-modal--movement .modal-header h2{font-size:1.25rem}.form-modal--movement .modal-close{width:44px;height:44px;margin:-7px -7px 0 0}.form-modal--movement .movement-form{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:16px 18px;scroll-padding-block:16px 88px;overflow:hidden auto}.form-modal--movement .movement-form input,.form-modal--movement .movement-form select,.form-modal--movement .movement-form textarea,.form-modal--movement .type-selector button{min-height:48px;font-size:1rem}.form-modal--movement .movement-form input[type=date]{appearance:none;min-width:0;max-width:100%}.form-modal--movement .movement-form textarea{min-height:88px}.form-modal--movement .dialog-actions{z-index:2;padding:12px 18px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--color-border-soft);background:var(--color-white);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);margin:0 -18px -16px;display:grid;position:sticky;bottom:-16px;box-shadow:0 -8px 18px #0022310f}.form-modal--movement .dialog-actions>*{width:100%;min-height:48px}}@media (width<=360px){.form-modal--movement .dialog-actions{grid-template-columns:1fr}}.scheduled-summary .budget-summary__item small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.scheduled-tabs{border:1px solid var(--color-border);background:var(--color-primary-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,460px);margin:30px 0 20px;padding:4px;display:grid}.scheduled-tabs button{min-height:42px;color:var(--color-text-muted);background:0 0;border:0;border-radius:5px;padding:0 14px;font-size:.84rem;font-weight:750}.scheduled-tabs button.active{color:var(--color-primary-700);background:var(--color-white);box-shadow:0 1px 5px #00223121}.installment-automation-note{border:1px solid var(--color-primary-soft-2);border-left:3px solid var(--color-primary-600);max-width:760px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:7px;align-items:flex-start;gap:10px;margin:-4px 0 20px;padding:12px 14px;display:flex}.installment-automation-note svg{flex:none;width:17px;height:17px;margin-top:1px}.installment-automation-note p{color:var(--color-text-muted);margin:0;font-size:.76rem;line-height:1.5}.horizontal-card-carousel{--carousel-card-basis:clamp(360px, 47%, 570px);min-width:0}.horizontal-card-carousel--accounts{--carousel-card-basis:clamp(300px, 32%, 420px)}.horizontal-card-carousel__controls{justify-content:flex-end;align-items:center;gap:12px;min-height:38px;margin-bottom:9px;display:flex}.horizontal-card-carousel__indicator{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:750}.horizontal-card-carousel__arrows{gap:6px;display:flex}.carousel-arrow{border:1px solid var(--color-primary-800);width:36px;height:36px;color:var(--color-primary-800);background:var(--color-white);border-radius:6px;place-items:center;padding:0;transition:color .15s,background .15s,border-color .15s;display:grid}.carousel-arrow:hover:not(:disabled){color:var(--color-white);background:var(--color-primary-700);border-color:var(--color-primary-700)}.carousel-arrow:active:not(:disabled){background:var(--color-primary-900);border-color:var(--color-primary-900)}.carousel-arrow--hidden{visibility:hidden;pointer-events:none}.carousel-arrow svg{width:18px;height:18px}.horizontal-card-carousel__viewport{scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;min-width:0;padding:2px 2px 12px;scroll-padding-inline:2px;overflow:auto hidden}.horizontal-card-carousel__viewport:focus-visible{outline:3px solid var(--color-primary-soft-2);outline-offset:2px;border-radius:8px}.horizontal-card-carousel__track{align-items:flex-start;gap:16px;min-width:100%;display:flex}.horizontal-card-carousel__item{flex:0 0 var(--carousel-card-basis);scroll-snap-align:start;scroll-snap-stop:normal;min-width:0;container-type:inline-size}.horizontal-card-carousel__dots{justify-content:center;align-items:center;gap:2px;min-height:28px;margin-top:3px;display:flex}.carousel-dot{background:0 0;border:0;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;display:grid;position:relative}.carousel-dot:before{background:var(--color-primary-soft-2);width:7px;height:7px;box-shadow:inset 0 0 0 1px var(--color-border-strong);content:"";border-radius:50%;transition:width .15s,height .15s,background .15s,box-shadow .15s}.carousel-dot:hover:before{background:var(--color-primary-600);box-shadow:none}.carousel-dot--active:before{background:var(--color-primary-800);width:10px;height:10px;box-shadow:none}.carousel-dot:focus-visible{outline-offset:0}.horizontal-card-carousel__item>.scheduled-card,.horizontal-card-carousel__item>.account-card{width:100%}@media (width<=900px){.horizontal-card-carousel--scheduled{--carousel-card-basis:clamp(340px, 68%, 520px)}.horizontal-card-carousel--accounts{--carousel-card-basis:clamp(290px, 48%, 390px)}}@media (width<=640px){.horizontal-card-carousel{--carousel-card-basis:calc(100% - 10px)}.horizontal-card-carousel__controls{justify-content:flex-start;min-height:24px;margin-bottom:7px}.horizontal-card-carousel__arrows{display:none}.horizontal-card-carousel__viewport{scrollbar-width:none;margin-right:-2px;padding-bottom:8px}.horizontal-card-carousel__viewport::-webkit-scrollbar{display:none}.horizontal-card-carousel__track{gap:12px}}@container (width<=520px){.scheduled-card__header{flex-direction:column;align-items:flex-start;gap:13px}.scheduled-card__actions{align-self:flex-end}.scheduled-card__identity{width:100%}.scheduled-card__primary{grid-template-columns:1fr}.installment-progress>div:first-child{flex-direction:column;align-items:flex-start;gap:4px}.scheduled-payment-row{grid-template-columns:minmax(0,1fr) auto;padding:10px 0}.scheduled-payment-row__actions{grid-column:1/-1;justify-content:flex-start}}@container (width<=400px){.scheduled-payment-row{grid-template-columns:1fr;gap:7px}.scheduled-payment-row__actions{grid-column:auto}.payment-action--paid{flex:auto}}@container (width<=360px){.account-values{grid-template-columns:1fr}.account-card__actions{flex-wrap:wrap}.account-card__actions .outline-button{flex:1 0 100%;margin-right:0}}.scheduled-card{border:1px solid var(--color-border);border-left:4px solid var(--color-primary-600);background:var(--color-white);border-radius:8px;padding:22px;box-shadow:0 7px 22px #00223109}.scheduled-card--inactive{border-left-color:var(--color-border-strong);background:var(--color-bg)}.scheduled-card__header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.scheduled-card__identity{align-items:center;gap:12px;min-width:0;display:flex}.scheduled-card__identity>div{min-width:0}.scheduled-card__title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scheduled-card__title-line h3{color:var(--color-primary-800);margin:0;font-size:1.02rem}.scheduled-card__identity p{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.76rem;overflow:hidden}.automatic-charge-badge{border:1px solid var(--color-primary-soft-2);min-height:24px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:999px;align-items:center;gap:5px;margin-top:9px;padding:3px 8px;font-size:.67rem;font-weight:800;display:inline-flex}.automatic-charge-badge svg{width:13px;height:13px}.activity-badge,.payment-status{border-radius:999px;align-items:center;min-height:23px;padding:0 7px;font-size:.66rem;font-weight:800;display:inline-flex}.activity-badge{color:var(--color-success-dark);background:var(--color-success-soft)}.activity-badge.inactive{color:var(--color-text-muted);background:var(--color-border-soft)}.scheduled-card__actions{flex:none;gap:2px;display:flex}.scheduled-card__primary{border:1px solid var(--color-border-soft);background:var(--color-bg);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0;padding:16px;display:grid}.scheduled-card__primary>div{gap:6px;display:grid}.scheduled-card__primary span{color:var(--color-text-muted);text-transform:uppercase;font-size:.69rem;font-weight:750}.scheduled-card__primary strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.95rem}.scheduled-card__primary small{color:var(--color-text-muted);font-size:.73rem;font-weight:600}.installment-progress{margin:4px 0 20px}.installment-progress>div:first-child{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;font-size:.74rem;display:flex}.installment-progress>div:first-child strong{color:var(--color-text)}.scheduled-payments{border-top:1px solid var(--color-border-soft);padding-top:16px}.scheduled-payments__heading{color:var(--color-text-muted);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:.72rem;font-weight:800;display:flex}.scheduled-payments__heading svg{width:16px;height:16px;color:var(--color-primary-600)}.scheduled-payments__empty{color:var(--color-text-subtle);margin:14px 0 2px;font-size:.8rem}.scheduled-payments__toggle{width:100%;min-height:36px;color:var(--color-primary-600);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:7px;padding:6px 10px;font-size:.73rem;font-weight:750;display:flex}.scheduled-payments__toggle:hover{color:var(--color-primary-800);background:var(--color-primary-soft)}.scheduled-payments__toggle svg{width:15px;height:15px}.scheduled-payments--history{margin-top:18px}.scheduled-payment-row{border-bottom:1px solid var(--color-border-soft);grid-template-columns:minmax(180px,1fr) auto minmax(220px,auto);align-items:center;gap:16px;min-height:54px;display:grid}.scheduled-payment-row:last-child{border-bottom:0}.scheduled-payment-row>div:first-child{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.scheduled-payment-row>div:first-child>strong{color:var(--color-text);font-size:.78rem}.scheduled-payment-row__dates>span:not(.payment-status){color:var(--color-text-muted);font-size:.7rem}.scheduled-payment-row>strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.8rem}.payment-status--pendiente{color:var(--color-warning-dark);background:var(--color-warning-soft)}.payment-status--pagado,.payment-status--automatic-paid{color:var(--color-success-dark);background:var(--color-success-soft)}.payment-status--scheduled{color:var(--color-primary-700);background:var(--color-primary-soft)}.payment-status--processing{color:var(--color-warning-dark);background:var(--color-warning-soft)}.payment-status--vencido{color:var(--color-danger-dark);background:var(--color-danger-soft)}.payment-status--omitido{color:var(--color-text-muted);background:var(--color-border-soft)}.scheduled-payment-row__actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.payment-action{border:1px solid var(--color-border);min-height:34px;color:var(--color-text-muted);background:var(--color-white);border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.71rem;font-weight:750;display:inline-flex}.payment-action:hover:not(:disabled){background:var(--color-primary-soft)}.payment-action--paid{border-color:var(--color-success-border);color:var(--color-success-dark);background:var(--color-success-soft)}.payment-action--revert{border-color:var(--color-warning-border);color:var(--color-warning-dark);background:var(--color-warning-soft)}.payment-action--revert:hover:not(:disabled){background:var(--color-warning-soft)}.payment-action svg{width:14px;height:14px}.scheduled-form-modal{width:min(100%,740px)}.calculated-field{border:1px solid var(--color-border);background:var(--color-primary-soft);border-radius:6px;align-content:center;gap:7px;min-height:70px;padding:10px 13px;display:grid}.calculated-field span{color:var(--color-text-muted);font-size:.72rem;font-weight:750}.calculated-field strong{color:var(--color-primary-800);font-size:.95rem}.transfer-source-readonly{border:1px solid var(--color-primary-soft-2);background:var(--color-primary-soft);border-radius:13px;gap:8px;padding:14px;display:grid}.transfer-source-readonly>span{color:var(--color-text-muted);font-size:.72rem;font-weight:750}.transfer-source-readonly>div{gap:3px;display:grid}.transfer-source-readonly strong{color:var(--color-primary-800);font-size:.96rem}.transfer-source-readonly small{color:var(--color-text-muted);font-size:.74rem}.transfer-source-readonly p{color:var(--color-text-muted);border-top:1px solid #0022311a;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 0;padding-top:9px;font-size:.72rem;display:flex}.transfer-source-readonly b{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.85rem}.toggle-field{cursor:pointer;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px}.toggle-field>input{opacity:0;width:1px;height:1px;position:absolute}.toggle-field>span{background:var(--color-border-strong);border-radius:999px;width:42px;height:24px;transition:background .15s;position:relative}.toggle-field>span:after{background:var(--color-white);content:"";border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00223133}.toggle-field>input:focus-visible+span{outline:3px solid #0a4a632e}.toggle-field>div{gap:3px;display:grid}.toggle-field strong{color:var(--color-text);font-size:.79rem}.toggle-field small{color:var(--color-text-muted);font-size:.7rem;font-weight:500}@media (width<=900px){.scheduled-payment-row{grid-template-columns:minmax(0,1fr) auto;padding:10px 0}.scheduled-payment-row__actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=700px){.scheduled-tabs{width:100%}.scheduled-card{padding:17px}.scheduled-card__header{flex-direction:column;align-items:flex-start;gap:13px}.scheduled-card__actions{align-self:flex-end;margin-top:-51px}.scheduled-card__identity{padding-right:100px}.scheduled-card__primary{grid-template-columns:1fr}.installment-progress>div:first-child{flex-direction:column;align-items:flex-start;gap:4px}}@media (width<=520px){.scheduled-tabs button{padding:0 7px;font-size:.76rem}.scheduled-card__identity{align-items:flex-start;padding-right:0}.scheduled-card__actions{align-self:auto;margin-top:0}.scheduled-payment-row{grid-template-columns:1fr;gap:7px}.scheduled-payment-row__actions{grid-column:auto}.payment-action--paid{flex:auto}}.dashboard-content-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:12px;display:flex}.dashboard-content-heading .section-kicker{color:var(--color-primary-700);margin:0}.dashboard-content-heading>p:last-child{color:var(--color-text-muted);margin:0;font-size:.76rem}.dashboard-commitments{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:18px;margin-bottom:28px;display:grid}.dashboard-commitments__summary,.dashboard-upcoming{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;min-width:0}.dashboard-commitments__summary{border-left:4px solid var(--color-warning);align-items:flex-start;gap:14px;padding:22px;display:flex}.dashboard-commitments__icon{width:38px;height:38px;color:var(--color-warning-dark);background:var(--color-warning-soft);border-radius:6px;flex:none;place-items:center;display:grid}.dashboard-commitments__icon svg{width:19px;height:19px}.dashboard-commitments__summary h2{color:var(--color-text);font-variant-numeric:tabular-nums;margin:0;font-size:1.55rem}.dashboard-commitments__summary>div>p:last-child{color:var(--color-text-muted);margin:8px 0 0;font-size:.75rem;line-height:1.5}.dashboard-upcoming{padding:19px 22px}.dashboard-upcoming .section-heading{margin-bottom:10px}.dashboard-upcoming__empty{color:var(--color-text-muted);margin:24px 0;font-size:.8rem}.dashboard-upcoming__list{display:grid}.dashboard-upcoming__list>div{border-bottom:1px solid var(--color-border-soft);grid-template-columns:105px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:52px;display:grid}.dashboard-upcoming__list>div:last-child{border-bottom:0}.dashboard-upcoming__date{color:var(--color-text-muted);font-size:.71rem}.dashboard-upcoming__main{gap:3px;min-width:0;display:grid}.dashboard-upcoming__main strong,.dashboard-upcoming__list b{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.dashboard-upcoming__main small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.dashboard-commitment-mode{white-space:nowrap;border-radius:999px;align-items:center;min-height:23px;padding:3px 7px;font-size:.64rem;font-weight:800;display:inline-flex}.dashboard-commitment-mode--manual{color:var(--color-warning-dark);background:var(--color-warning-soft)}.dashboard-commitment-mode--automatic{color:var(--color-primary-700);background:var(--color-primary-soft)}.dashboard-upcoming__list b{color:var(--color-danger-dark);font-variant-numeric:tabular-nums}@media (width<=1000px){.dashboard-commitments{grid-template-columns:1fr}}@media (width<=700px){.dashboard-content-heading{flex-direction:column;align-items:flex-start;gap:5px}.dashboard-upcoming__list>div{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:9px 0}.dashboard-upcoming__date{grid-area:1/1}.dashboard-upcoming__main{grid-column:1/-1}.dashboard-commitment-mode{grid-column:1/-1;justify-self:start}.dashboard-upcoming__list b{grid-area:1/2}}.accounts-summary{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:34px;display:grid;overflow:hidden}.accounts-summary__item{border-right:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border-soft);align-items:center;gap:12px;min-width:0;min-height:104px;padding:18px;display:flex}.accounts-summary__item:nth-child(3n){border-right:0}.accounts-summary__item:nth-last-child(-n+3){border-bottom:0}.accounts-summary__item>span{width:36px;height:36px;color:var(--color-primary-600);background:var(--color-primary-soft);border-radius:6px;flex:none;place-items:center;display:grid}.accounts-summary__item>span svg{width:18px;height:18px}.accounts-summary__item>div{gap:5px;min-width:0;display:grid}.accounts-summary__item small{color:var(--color-text-muted);font-size:.69rem;font-weight:750}.accounts-summary__item strong{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:1.05rem}.accounts-section{margin-top:32px}.accounts-section__heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:15px;display:flex}.accounts-section__heading h2{color:var(--color-text);margin:4px 0 0;font-size:1.18rem}.accounts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.account-card{border:1px solid var(--color-border);border-top:3px solid var(--color-primary-600);background:var(--color-white);border-radius:8px;gap:18px;min-width:0;padding:21px;display:grid;box-shadow:0 7px 22px #00223109}.account-card--inactive{border-top-color:var(--color-border-strong);background:var(--color-bg)}.account-card__header{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.account-card__badges{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.account-purpose-badge{border:1px solid var(--color-border);min-height:24px;color:var(--color-text-muted);background:var(--color-bg);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 9px;font-size:.65rem;font-weight:750;line-height:1;display:inline-flex}.account-purpose-badge--ahorro{border-color:var(--color-primary-soft-2);color:var(--color-primary-700);background:var(--color-primary-soft)}.account-card__identity{align-items:center;gap:11px;min-width:0;display:flex}.account-card__identity>span{width:38px;height:38px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:6px;flex:none;place-items:center;display:grid}.account-card__identity svg{width:19px;height:19px}.account-card__identity>div{min-width:0}.account-card__identity h3{color:var(--color-primary-800);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.account-card__identity p{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.73rem;overflow:hidden}.account-card__identity small{color:var(--color-text-subtle);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.67rem;display:block;overflow:hidden}.account-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.account-values>div{border:1px solid var(--color-border-soft);background:var(--color-bg);border-radius:6px;gap:5px;min-width:0;padding:11px;display:grid}.account-values dt{color:var(--color-text-muted);font-size:.65rem;font-weight:750}.account-values dd{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;margin:0;font-size:.82rem;font-weight:800}.account-values--card>div:first-child dd{color:var(--color-danger-dark)}.account-values--card>div:last-child dd{color:var(--color-success)}.account-values--debit{grid-template-columns:repeat(2,minmax(0,1fr))}.account-values--debit>div:last-child dd{color:var(--color-success)}.account-values--debit small{color:var(--color-text-subtle);font-size:.65rem;font-weight:700}.credit-utilization{gap:7px;display:grid}.credit-utilization>div:first-child{color:var(--color-text-muted);justify-content:space-between;font-size:.71rem;font-weight:750;display:flex}.credit-utilization__bar{background:var(--color-border-soft);border-radius:999px;height:7px;overflow:hidden}.credit-utilization__bar span{border-radius:inherit;background:var(--color-success);height:100%;display:block}.credit-utilization__bar--attention span{background:var(--color-warning)}.credit-utilization__bar--warning span,.credit-utilization__bar--limit span{background:var(--color-danger)}.credit-utilization small{color:var(--color-danger-dark);font-size:.68rem;font-weight:750}.account-card__dates{color:var(--color-text-muted);justify-content:space-between;margin:-4px 0 0;font-size:.72rem;display:flex}.account-card__actions{border-top:1px solid var(--color-border-soft);justify-content:flex-end;align-items:center;gap:5px;padding-top:2px;display:flex}.account-card__actions .outline-button{margin-right:auto}.account-type-selector,.account-purpose-selector{border:0;margin:0;padding:0}.account-type-selector legend,.account-purpose-selector legend{color:var(--color-text-muted);margin-bottom:8px;font-size:.73rem;font-weight:750}.account-type-selector>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.account-purpose-selector>div{background:var(--color-bg);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px;display:grid}.account-type-selector button,.account-purpose-selector button{border:1px solid var(--color-border);min-height:54px;color:var(--color-text-muted);background:var(--color-white);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:.74rem;font-weight:750;display:flex}.account-purpose-selector button{background:0 0;border-color:#0000;border-radius:9px;min-height:42px}.account-type-selector button.active,.account-purpose-selector button.active{border-color:var(--color-primary-600);color:var(--color-primary-800);background:var(--color-primary-soft)}.account-type-selector svg{width:17px;height:17px}.transfers-section{margin-bottom:12px}.transfers-list{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;overflow:hidden}.transfer-row{border-bottom:1px solid var(--color-border-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:72px;padding:12px 17px;display:grid}.transfer-row:last-child{border-bottom:0}.transfer-row__icon{width:34px;height:34px;color:var(--color-primary-600);background:var(--color-primary-soft);border-radius:6px;place-items:center;display:grid}.transfer-row__icon.card-payment{color:var(--color-warning-dark);background:var(--color-warning-soft)}.transfer-row__icon svg{width:17px;height:17px}.transfer-row__main{gap:6px;min-width:0;display:grid}.transfer-row__main>div{align-items:center;gap:8px;min-width:0;display:flex}.transfer-row__main strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.transfer-type{color:var(--color-primary-600);background:var(--color-primary-soft);border-radius:999px;flex:none;padding:3px 6px;font-size:.62rem;font-weight:800}.transfer-type--pago_tarjeta{color:var(--color-warning-dark);background:var(--color-warning-soft)}.transfer-row__main p{color:var(--color-text-muted);align-items:center;gap:6px;margin:0;font-size:.7rem;display:flex}.transfer-row__main p svg{flex:none;width:13px;height:13px}.transfer-row__amount{justify-items:end;gap:5px;display:grid}.transfer-row__amount strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.82rem}.transfer-row__amount span,.transfers-empty{color:var(--color-text-muted);font-size:.7rem}.transfers-empty{border:1px dashed var(--color-border);text-align:center;border-radius:8px;margin:0;padding:32px}.dashboard-accounts{border:1px solid var(--color-border);border-left:4px solid var(--color-primary-600);background:var(--color-white);border-radius:8px;margin-bottom:28px;padding:19px 22px}.dashboard-accounts .section-heading>svg{width:20px;height:20px;color:var(--color-primary-600)}.dashboard-accounts__values{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.dashboard-accounts__values>div{border:1px solid var(--color-border-soft);background:var(--color-bg);border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px;min-width:0;padding:13px;display:grid}.dashboard-accounts__values svg{width:18px;height:18px;color:var(--color-primary-600);grid-row:1/3}.dashboard-accounts__values span{color:var(--color-text-muted);font-size:.67rem;font-weight:750}.dashboard-accounts__values strong{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.86rem}.dashboard-accounts__status,.dashboard-accounts__error{color:var(--color-text-muted);margin:8px 0 0;font-size:.76rem}.dashboard-accounts__error{color:var(--color-danger-dark);justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=1120px){.accounts-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-summary__item,.accounts-summary__item:nth-child(3n){border-right:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border-soft)}.accounts-summary__item:nth-child(2n){border-right:0}.accounts-summary__item:nth-last-child(-n+2){border-bottom:0}.dashboard-accounts__values{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=960px){.accounts-grid{grid-template-columns:1fr}}@media (width<=700px){.accounts-section__heading{flex-direction:column;align-items:flex-start}.accounts-section__heading .outline-button{width:100%}.dashboard-accounts__values{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-row{grid-template-columns:auto minmax(0,1fr)}.transfer-row__amount{grid-column:2;justify-items:start}}@media (width<=520px){.mobile-nav .app-nav__link{font-size:.6rem}.accounts-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-summary__item,.accounts-summary__item:nth-child(2),.accounts-summary__item:nth-child(3n){border-right:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border-soft);min-height:84px;padding:14px}.accounts-summary__item:nth-child(2n){border-right:0}.accounts-summary__item:nth-last-child(-n+2){border-bottom:0}.account-card{padding:17px}.account-values,.account-type-selector>div{grid-template-columns:1fr}.account-type-selector button{justify-content:flex-start;min-height:44px;padding:8px 12px}.account-card__actions{flex-wrap:wrap}.account-card__actions .outline-button{flex:1 0 100%;margin-right:0}.transfer-row__main>div,.transfer-row__main p{flex-direction:column;align-items:flex-start}.transfer-row__main p svg{transform:rotate(90deg)}}@media (width<=360px){.accounts-summary,.dashboard-accounts__values{grid-template-columns:1fr}.accounts-summary__item,.accounts-summary__item:nth-child(2n),.accounts-summary__item:nth-child(3n){border-right:0;border-bottom:1px solid var(--color-border-soft)}.accounts-summary__item:last-child{border-bottom:0}}.report-filters{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;grid-template-columns:1.1fr 1.1fr .9fr 1fr 1.1fr auto;align-items:end;gap:12px;margin-bottom:24px;padding:18px;display:grid}.report-filters__heading{grid-column:1/-1;align-items:center;gap:10px;padding-bottom:4px;display:flex}.report-filters__heading--mobile{display:none}.report-filters__heading>svg{width:18px;height:18px;color:var(--color-primary-600)}.report-filters__heading--desktop>div{gap:2px;display:grid}.report-filters__heading strong{color:var(--color-text);font-size:.82rem}.report-filters__heading--desktop small{color:var(--color-text-muted);font-size:.69rem}.report-filters__title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.report-filters__badge{min-height:20px;color:var(--color-primary-700);background:var(--color-primary-soft);border-radius:999px;align-items:center;padding:2px 7px;font-size:.65rem;font-weight:800;line-height:1;display:inline-flex}.report-filters__body{display:contents}.report-filters__body>label{gap:7px;min-width:0;display:grid}.report-filters__body>label>span{color:var(--color-text-muted);font-size:.69rem;font-weight:750}.report-filters select,.report-filters input{border:1px solid var(--color-border);width:100%;min-width:0;height:42px;color:var(--color-text);background:var(--color-white);border-radius:6px}.report-filters select{padding:0 10px}.report-filters__actions{gap:7px;display:flex}.report-filters__actions .outline-button,.report-filters__actions .solid-button{white-space:nowrap;min-height:42px}.report-content{gap:24px;display:grid}.report-summary{margin-bottom:0}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.report-panel{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;min-width:0;padding:20px}.report-panel--wide{grid-column:1/-1}.report-panel .section-heading>svg{width:19px;height:19px;color:var(--color-primary-600)}.report-chart{width:100%;height:300px;margin-top:8px}.report-table-wrap{margin:4px -4px -4px;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:.75rem}.report-table th,.report-table td{border-bottom:1px solid var(--color-border-soft);text-align:right;white-space:nowrap;padding:12px 10px}.report-table th{color:var(--color-text-muted);text-transform:uppercase;font-size:.65rem;font-weight:800}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table tbody tr:last-child td{border-bottom:0}.report-table td{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.report-table td strong{color:var(--color-text)}.positive-value{font-weight:750;color:var(--color-success)!important}.negative-value{font-weight:750;color:var(--color-danger)!important}.report-budget-progress{min-width:125px}.report-budget-progress>span{color:var(--color-text-muted);margin-bottom:6px;font-size:.68rem;font-weight:750;display:block}.report-mobile-cards{display:none}.report-data-card{border:1px solid var(--color-border);border-left:3px solid var(--color-primary-600);background:var(--color-white);border-radius:7px;min-width:0;padding:15px}.report-data-card__header{border-bottom:1px solid var(--color-border-soft);min-width:0;padding-bottom:11px}.report-data-card__header h3{overflow-wrap:anywhere;color:var(--color-primary-800);margin:0;font-size:.9rem}.report-data-card__header p{color:var(--color-text-muted);margin:3px 0 0;font-size:.68rem}.report-data-card__metrics{gap:8px;margin:11px 0 0;display:grid}.report-data-card__metrics>div,.report-data-card__progress>div:first-child{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.report-data-card__metrics dt,.report-data-card__progress span{color:var(--color-text-muted);font-size:.7rem;font-weight:700}.report-data-card__metrics dd,.report-data-card__progress strong{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:.76rem}.report-data-card__progress{border-top:1px solid var(--color-border-soft);gap:7px;margin-top:13px;padding-top:11px;display:grid}.report-breakdown{border:1px solid var(--color-border-soft);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.report-breakdown__item{border-right:1px solid var(--color-border-soft);background:var(--color-bg);gap:6px;min-width:0;padding:17px;display:grid}.report-breakdown__item:last-child{border-right:0}.report-breakdown__item:before{background:var(--color-primary-600);content:"";border-radius:2px;width:28px;height:3px}.report-breakdown__item--scheduled-paid:before{background:var(--color-info)}.report-breakdown__item--scheduled-pending:before{background:var(--color-warning)}.report-breakdown__item span{color:var(--color-text-muted);font-size:.7rem;font-weight:750}.report-breakdown__item strong{overflow-wrap:anywhere;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:1.12rem}.report-breakdown__item small{color:var(--color-text-subtle);font-size:.66rem}.report-pending-list{margin-top:14px;display:grid}.report-pending-list>div{border-bottom:1px solid var(--color-border-soft);grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:38px;display:grid}.report-pending-list>div:last-child{border-bottom:0}.report-pending-list span{color:var(--color-text-muted);font-size:.7rem}.report-pending-list strong,.report-pending-list b{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.report-pending-list b{color:var(--color-warning-dark);font-variant-numeric:tabular-nums}@media (width<=1200px){.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filters__actions{justify-content:flex-end}}@media (width<=900px){.report-grid{grid-template-columns:1fr}.report-panel--wide{grid-column:auto}}@media (width<=768px){.report-panel.report-panel--responsive-list{background:0 0;border:0;padding:0}.report-desktop-table{display:none}.report-mobile-cards{gap:10px;width:100%;min-width:0;display:grid}.report-data-card{width:100%;max-width:100%}}@media (width<=700px){.report-filters{padding:0;display:block;overflow:hidden}.report-filters__heading--desktop{display:none}.report-filters__heading--mobile{width:100%;min-height:58px;color:var(--color-text);background:var(--color-white);text-align:left;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:14px 15px;display:grid}.report-filters__heading--mobile:hover{background:var(--color-primary-soft)}.report-filters__heading--mobile:focus-visible{outline:3px solid var(--color-primary-soft-2);outline-offset:-3px}.report-filters__heading--mobile .report-filters__title{min-width:0}.report-filters__chevron{transition:transform .18s}.report-filters--expanded .report-filters__chevron{transform:rotate(180deg)}.report-filters__body{border-top:1px solid var(--color-border-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;display:grid}.report-filters--collapsed .report-filters__body{display:none}.report-filters__actions{grid-column:1/-1}.report-filters__actions>*{flex:1 1 0}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-summary .metric-card{min-width:0;padding:14px}.report-summary .metric-card>strong{font-size:1.2rem}.report-breakdown{grid-template-columns:1fr}.report-breakdown__item{border-right:0;border-bottom:1px solid var(--color-border-soft)}.report-breakdown__item:last-child{border-bottom:0}}@media (width<=520px){.report-filters__body{grid-template-columns:1fr;padding:15px}.report-filters__actions{flex-direction:column-reverse;grid-column:auto}.report-panel{padding:16px}.report-chart{width:calc(100% + 7px);height:270px;margin-left:-7px}.report-pending-list>div{grid-template-columns:minmax(0,1fr) auto;padding:8px 0}.report-pending-list span{grid-column:1/-1}}@media (width<=340px){.report-summary{grid-template-columns:1fr}}.category-form-modal{width:min(100%,650px)}.category-icon-selector{border:0;margin:0;padding:0}.category-icon-selector legend{color:var(--color-text-muted);margin-bottom:9px;font-size:.73rem;font-weight:750}.category-icon-selector>div{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;display:grid}.category-icon-selector button{aspect-ratio:1;border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-white);border-radius:6px;place-items:center;display:grid}.category-icon-selector button:hover,.category-icon-selector button.active{border-color:var(--color-primary-600);color:var(--color-primary-800);background:var(--color-primary-soft)}.category-icon-selector button svg{width:18px;height:18px}.form-help{color:var(--color-text-muted);margin:-5px 0 0;font-size:.71rem;line-height:1.45}.budget-header-actions{align-items:end;gap:10px;display:flex}.budget-header-actions .solid-button{min-height:43px}.budget-row__actions{justify-content:flex-end;gap:3px;display:flex}.budget-effective-date{border:1px solid var(--color-border);background:var(--color-primary-soft);border-radius:6px;align-items:center;gap:11px;padding:12px 13px;display:flex}.budget-effective-date>svg{width:18px;height:18px;color:var(--color-primary-600)}.budget-effective-date>div{gap:3px;display:grid}.budget-effective-date span{color:var(--color-text-muted);font-size:.68rem;font-weight:750}.budget-effective-date strong{color:var(--color-text);font-size:.83rem}.unbudgeted-section{border:1px solid var(--color-border);background:var(--color-white);border-radius:8px;margin-top:26px;overflow:hidden}.unbudgeted-section .budget-table__heading>div{gap:5px;display:grid}.unbudgeted-list{display:grid}.unbudgeted-row{border-bottom:1px solid var(--color-border-soft);grid-template-columns:auto minmax(0,1fr) auto minmax(180px,auto);align-items:center;gap:12px;min-height:68px;padding:11px 20px;display:grid}.unbudgeted-row:last-child{border-bottom:0}.unbudgeted-row>div{gap:4px;min-width:0;display:grid}.unbudgeted-row>div strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.unbudgeted-row>div small{color:var(--color-warning-dark);font-size:.67rem;font-weight:750}.unbudgeted-row>b{color:var(--color-danger-dark);font-variant-numeric:tabular-nums;font-size:.8rem}@media (width<=1120px){.budget-row__actions{justify-content:flex-start}}@media (width<=700px){.budget-header-actions{flex-direction:column;align-items:stretch;width:100%}.category-icon-selector>div{grid-template-columns:repeat(6,minmax(0,1fr))}.unbudgeted-row{grid-template-columns:auto minmax(0,1fr) auto;padding:13px 16px}.unbudgeted-row .outline-button,.unbudgeted-row>.activity-badge{grid-column:2/-1;justify-self:start}}@media (width<=520px){.category-icon-selector>div{grid-template-columns:repeat(5,minmax(0,1fr))}.unbudgeted-row{grid-template-columns:auto minmax(0,1fr)}.unbudgeted-row>b{grid-column:2}.unbudgeted-row .outline-button,.unbudgeted-row>.activity-badge{grid-column:1/-1;width:100%}}.budget-month-navigation{align-items:flex-end;gap:7px;display:flex}.budget-month-navigation .icon-button{width:43px;height:43px}.budget-period-heading small{color:var(--color-primary-600);margin-top:6px;font-size:.76rem;font-weight:750;display:block}.dashboard-content-heading>div{gap:5px;min-width:0;display:grid}.dashboard-content-heading>div strong{color:var(--color-text);font-size:.84rem;font-weight:750}.report-period-presets{grid-column:1/-1;gap:7px;display:grid}.report-period-presets>span{color:var(--color-text-muted);font-size:.69rem;font-weight:750}.report-period-presets>div{border-radius:var(--radius-md);background:#e9edf0;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid;box-shadow:inset 0 0 0 1px #0f172009}.report-period-presets button{min-width:0;min-height:40px;color:var(--color-text-muted);background:0 0;border:0;border-radius:11px;padding:6px 10px;font-size:.76rem;font-weight:650}.report-period-presets button:hover,.report-period-presets button.active{color:var(--color-primary-800);background:var(--color-white)}.report-period-presets button.active{box-shadow:0 1px 2px #0f17200f,0 3px 8px #0f17200f}.settings-panel{border-radius:var(--radius-xl);background:var(--color-white);width:min(100%,860px);box-shadow:var(--shadow-card);border:1px solid #0f17200f;padding:28px}.settings-panel__heading{border-bottom:1px solid var(--color-border-soft);align-items:flex-start;gap:14px;padding-bottom:22px;display:flex}.settings-panel__heading>span{border-radius:var(--radius-md);width:42px;height:42px;color:var(--color-primary-700);background:var(--color-primary-soft);flex:none;place-items:center;display:grid}.settings-panel__heading>span svg{width:20px;height:20px}.settings-panel__heading>div{min-width:0}.settings-panel__heading h2{color:var(--color-text);margin:0;font-size:1.2rem}.settings-panel__heading>div>p:last-child{color:var(--color-text-muted);margin:7px 0 0;font-size:.82rem;line-height:1.5}.settings-form{gap:22px;padding-top:24px;display:grid}.budget-cycle-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;display:grid}.budget-cycle-options legend,.budget-cycle-day>span{color:var(--color-text);margin-bottom:9px;font-size:.79rem;font-weight:750}.budget-cycle-options legend{grid-column:1/-1}.budget-cycle-options label{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;min-width:0;min-height:82px;padding:15px;display:grid;position:relative}.budget-cycle-options label:hover,.budget-cycle-options label.active{border-color:var(--color-primary-soft-2);background:var(--color-primary-soft)}.budget-cycle-options input{opacity:0;width:1px;height:1px;position:absolute}.budget-cycle-options label>span{border:2px solid var(--color-border-strong);background:var(--color-white);border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.budget-cycle-options label.active>span{border:6px solid var(--color-primary-800)}.budget-cycle-options input:focus-visible+span{outline-offset:3px;outline:3px solid #0a4a632e}.budget-cycle-options label>div{gap:4px;min-width:0;display:grid}.budget-cycle-options strong{color:var(--color-text);font-size:.86rem}.budget-cycle-options small,.budget-cycle-day small{color:var(--color-text-muted);font-size:.72rem;line-height:1.4}.budget-cycle-day{justify-items:start;display:grid}.budget-cycle-day input{width:120px;min-height:48px;color:var(--color-text);background:var(--surface-secondary);border:1px solid #0000;border-radius:13px;outline:none;padding:0 13px;font-size:1rem;font-weight:700;box-shadow:inset 0 0 0 1px #0f172009}.budget-cycle-day small{margin-top:7px}.budget-cycle-preview{border-radius:var(--radius-md);color:var(--color-primary-800);background:var(--color-primary-soft);gap:7px;padding:17px;display:grid}.budget-cycle-preview span{color:var(--color-text-muted);font-size:.73rem;font-weight:700}.budget-cycle-preview strong{font-size:1.02rem}.settings-note{border-radius:var(--radius-md);color:var(--color-primary-700);background:var(--surface-secondary);align-items:flex-start;gap:10px;padding:14px;display:flex}.settings-note svg{flex:none;width:18px;height:18px;margin-top:1px}.settings-note p{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.5}.settings-form__actions{justify-content:flex-end;display:flex}@media (width<=700px){.budget-header-actions,.budget-month-navigation{width:100%}.budget-month-navigation .month-selector{flex:auto;min-width:0}.budget-month-navigation .month-selector input{min-width:0}.report-period-presets button{min-height:44px;padding-inline:6px;font-size:.72rem}.settings-panel{padding:20px}.budget-cycle-options{grid-template-columns:1fr}.budget-cycle-options legend{grid-column:auto}.settings-form__actions .solid-button{width:100%}}@media (width<=390px){.budget-month-navigation{grid-template-columns:44px minmax(0,1fr) 44px;display:grid}.settings-panel{padding:18px}.settings-panel__heading{gap:11px}}body{background:var(--bg-app);line-height:1.45}::selection{color:var(--color-white);background:var(--brand-600)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.58}input[type=date]{min-width:0;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #0a4a632e}.authenticated-shell{--desktop-sidebar-width:260px;grid-template-columns:var(--desktop-sidebar-width) minmax(0, 1fr);background:var(--bg-app)}.app-sidebar{background:var(--brand-800);border-right:0;padding:24px 16px 18px;box-shadow:inset -1px 0 #ffffff14}@media (width>=821px){.authenticated-shell{display:block}.app-sidebar{width:var(--desktop-sidebar-width);overscroll-behavior:contain;scrollbar-width:thin;height:100dvh;position:fixed;top:0;left:0;overflow:hidden auto}.app-main{min-height:100vh;margin-left:var(--desktop-sidebar-width)}}.app-brand{gap:12px;padding:0 8px;font-size:.94rem;font-weight:700}.app-brand__mark{border-radius:var(--radius-md);background:#fffffff0;border:1px solid #ffffff29;width:42px;height:42px}.app-nav{gap:6px;margin-top:38px}.app-nav__link{border-radius:var(--radius-md);min-height:48px;padding:0 14px;font-size:.88rem;font-weight:600}.app-nav__link:hover{background:#ffffff17}.app-nav__link.active{background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff14}.sidebar-account{border-top-color:#ffffff1f;gap:7px;margin:auto 4px 0;padding:18px 10px 0}.sidebar-account__label{font-size:.67rem;font-weight:700}.sidebar-signout{border-radius:var(--radius-sm);min-height:42px;margin-top:6px;font-weight:600}.page-container{width:min(100% - 72px,1280px);padding:44px 0 76px}.page-header{margin-bottom:32px}.page-header h1{color:var(--text-primary);font-size:2.4rem;font-weight:720;line-height:1.08}.page-header__description{color:var(--text-secondary);margin-top:9px;font-size:.96rem}.app-main,.page-container,.page-header>div:first-child,.section-heading>div,.accounts-section__heading>div,.budget-period-heading>div,.budget-table__heading>*{min-width:0}.page-header h1,.section-heading h2,.accounts-section__heading h2,.budget-table__heading h2{overflow-wrap:anywhere}.eyebrow,.section-kicker{color:var(--brand-600);font-size:.71rem;font-weight:700}.section-heading h2,.budget-period-heading h2,.budget-table__heading h2,.accounts-section__heading h2{color:var(--text-primary);font-weight:700}.primary-button,.solid-button,.secondary-button,.outline-button,.danger-button{border-radius:var(--radius-md);min-height:44px;font-weight:650}.primary-button,.solid-button{border-color:var(--brand-800);background:var(--brand-800);box-shadow:0 5px 14px #00223124}.primary-button:hover:not(:disabled),.solid-button:hover:not(:disabled){border-color:var(--brand-700);background:var(--brand-700);box-shadow:0 7px 18px #0022312e}.secondary-button,.outline-button{color:var(--brand-800);background:var(--brand-soft);border-color:#0000;box-shadow:inset 0 0 0 1px #0a4a6314}.secondary-button:hover:not(:disabled),.outline-button:hover:not(:disabled){background:var(--brand-soft-2);border-color:#0000}.danger-button{background:var(--color-danger);border-color:#0000;box-shadow:0 5px 14px #d95c4f29}.icon-button{width:42px;height:42px;color:var(--text-secondary);background:var(--surface-secondary);border-color:#0000;border-radius:12px}.icon-button:hover:not(:disabled){color:var(--brand-800);background:var(--brand-soft)}.text-link,.scheduled-payments__toggle,.mobile-nav-restore{font-weight:650}.payment-action,.budget-save-button{border-radius:var(--radius-sm);font-weight:650}.budget-save-button{border-color:#0000;width:42px;height:42px}.account-activity-preview__link{border-radius:var(--radius-md);min-height:44px}.input-wrap input,.filters-bar input,.filters-bar select,.movement-form input,.movement-form select,.movement-form textarea,.report-filters input,.report-filters select,.month-selector input,.budget-amount-input input{color:var(--text-primary);background:var(--surface-secondary);border:1px solid #0000;border-radius:13px;box-shadow:inset 0 0 0 1px #0f172009}.input-wrap input:hover,.filters-bar input:hover,.filters-bar select:hover,.movement-form input:hover,.movement-form select:hover,.movement-form textarea:hover,.report-filters input:hover,.report-filters select:hover,.month-selector input:hover,.budget-amount-input input:hover{box-shadow:inset 0 0 0 1px #0f172017}.input-wrap input:focus,.filters-bar input:focus,.filters-bar select:focus,.movement-form input:focus,.movement-form select:focus,.movement-form textarea:focus,.report-filters input:focus,.report-filters select:focus,.month-selector input:focus,.budget-amount-input input:focus{border-color:var(--brand-600);background:var(--surface);box-shadow:0 0 0 3px #0a4a631a}.auth-tabs,.type-selector>div,.scheduled-tabs,.account-type-selector>div{border-radius:var(--radius-md);background:#e9edf0;border:0;box-shadow:inset 0 0 0 1px #0f172009}.auth-tabs button,.type-selector button,.scheduled-tabs button,.account-type-selector button{border-radius:11px;min-height:42px;font-weight:650}.auth-tabs button.active,.type-selector button.active,.scheduled-tabs button.active,.account-type-selector button.active{color:var(--brand-800);background:var(--surface);box-shadow:0 1px 2px #0f17200f,0 3px 8px #0f17200f}.toggle-field>span{background:#c7d0d6;width:46px;height:28px}.toggle-field>span:after{width:22px;height:22px}.toggle-field>input:checked+span{background:var(--brand-600)}.toggle-field>input:checked+span:after{transform:translate(18px)}.filters-bar,.report-filters{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);border:1px solid #0f17200e;position:relative}.reset-filters{background:var(--surface-secondary)}.metric-card,.dashboard-section,.dashboard-commitments__summary,.dashboard-upcoming,.dashboard-accounts,.category-group,.category-item,.budget-summary,.budget-table,.scheduled-card,.account-card,.accounts-summary,.transfers-list,.report-panel,.report-data-card,.unbudgeted-section,.empty-state{border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-card);border:1px solid #0f17200f}.metric-card{border-top:1px solid #0f17200f;min-height:158px;padding:21px}.metric-card__top{font-weight:600}.metric-card__icon,.budget-summary__icon,.account-card__identity>span,.dashboard-commitments__icon,.transfer-row__icon{border-radius:var(--radius-md)}.metric-card>strong{color:var(--text-primary);letter-spacing:0;margin-top:18px;font-size:1.62rem;font-weight:720}.metric-card>p{margin-top:7px}.dashboard-section,.category-group,.report-panel,.unbudgeted-section{padding:22px}.dashboard-grid,.report-grid{gap:18px}.recent-item,.dashboard-upcoming__list>div,.report-pending-list>div,.transfer-row{border-bottom-color:var(--color-border-soft)}.recent-item__type,.category-icon{border-radius:13px}.category-item{border-radius:var(--radius-lg);box-shadow:none;padding:16px}.budget-summary,.accounts-summary{overflow:hidden}.budget-summary__item,.accounts-summary__item{padding:22px}.budget-summary__item strong,.accounts-summary__item strong,.account-values dd,.scheduled-card__primary strong,.dashboard-accounts__values strong{letter-spacing:0;font-weight:720}.budget-table,.movement-table-wrap,.report-table-wrap,.transfers-list{border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-card);border:1px solid #0f17200f;overflow:hidden}.movement-table-wrap{overflow:auto hidden}.report-table-wrap{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:auto hidden}.budget-row:before{border-radius:var(--radius-pill)}.scheduled-card,.account-card{border-left:1px solid #0f17200f;padding:22px}.scheduled-card--inactive,.account-card--inactive{background:var(--surface-secondary)}.scheduled-card__primary,.account-values>div,.calculated-field,.report-data-card__metrics,.report-data-card__progress{border-radius:var(--radius-md);background:var(--surface-secondary);border-color:#0000}.account-card__identity h3,.scheduled-card__title-line h3{font-weight:700}.account-values{gap:10px}.account-card__actions{margin-top:10px;padding-top:12px}.account-values>div{padding:14px}.credit-utilization__bar,.budget-progress,.report-budget-progress{border-radius:var(--radius-pill);background:#e6ebee;overflow:hidden}.credit-utilization__bar span,.budget-progress>span,.report-budget-progress>span{border-radius:inherit}.installment-automation-note,.budget-effective-date,.mobile-nav-customizer__help{border-radius:var(--radius-md);background:var(--brand-soft);border:0;box-shadow:inset 0 0 0 1px #0a4a630f}.installment-automation-note{border-left:0}.type-badge,.activity-badge,.payment-status,.automatic-charge-badge,.dashboard-commitment-mode,.transfer-type,.report-filters__badge{border-radius:var(--radius-pill);min-height:25px;padding:3px 9px;font-size:.7rem;font-weight:650}.automatic-charge-badge{border-color:#0000}.form-alert,.data-error,.page-notice,.mobile-signout-error,.mobile-nav-sheet__error{border-radius:var(--radius-md)}.empty-state{box-shadow:none;border-style:solid;padding:42px 24px}.empty-state>svg{border-radius:var(--radius-md);background:var(--brand-soft);padding:10px}.movement-table th,.movement-table td,.report-table th,.report-table td{padding:16px}.movement-table th,.report-table th,.budget-table__columns{color:var(--text-tertiary);background:var(--surface-secondary);font-size:.69rem;font-weight:700}.movement-table tbody tr,.report-table tbody tr{transition:background-color .16s}.movement-table tbody tr:hover,.report-table tbody tr:hover{background:#eaf3f78f}.movement-card,.report-data-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);border:1px solid #0f17200f}.category-icon-selector button{border-radius:var(--radius-sm);background:var(--surface-secondary);border-color:#0000;min-width:0;box-shadow:inset 0 0 0 1px #0f17200b}.scheduled-payments__toggle{border-radius:var(--radius-sm);min-height:40px}.payment-action{min-height:38px}.category-group__empty,.scheduled-payments__empty,.dashboard-upcoming__empty,.account-activity-preview__state,.account-activity-modal__empty{border-radius:var(--radius-md);background:var(--surface-secondary);text-align:center;padding:14px}.transfers-empty{border-radius:var(--radius-lg);background:var(--surface-secondary);border:1px solid #0f17200e}@media (hover:hover){.metric-card,.account-card,.scheduled-card,.category-item{transition:transform .16s,box-shadow .18s}.metric-card:hover,.account-card:hover,.scheduled-card:hover,.category-item:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}}.horizontal-card-carousel__controls{margin-bottom:10px}.horizontal-card-carousel__indicator{border-radius:var(--radius-pill);min-width:48px;color:var(--text-secondary);background:var(--surface-secondary);text-align:center;padding:5px 10px}.carousel-arrow{background:var(--surface);width:42px;height:42px;box-shadow:var(--shadow-card);border-color:#0000;border-radius:50%}.horizontal-card-carousel__viewport{padding:4px 4px 14px}.horizontal-card-carousel__track{gap:18px}.horizontal-card-carousel__dots{gap:3px;min-height:32px}.carousel-dot:before{width:7px;height:7px;box-shadow:none;background:#c9d4da;border:0}.carousel-dot--active:before{border-radius:var(--radius-pill);background:var(--brand-800);width:18px;height:7px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);background:#00172285}.form-modal,.confirm-dialog{border-radius:var(--radius-2xl);box-shadow:var(--shadow-modal);border:1px solid #ffffffa6}.form-modal{padding:30px}.modal-header{margin-bottom:24px}.modal-header h2,.confirm-dialog h2{font-weight:700}.confirm-dialog{padding:32px}.confirm-dialog__icon{border-radius:var(--radius-lg)}.dialog-actions{gap:10px;margin-top:10px}.auth-intro{background:var(--brand-800)}.auth-intro:after{border-radius:var(--radius-2xl);opacity:.55}.brand-mark{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;width:56px;height:56px}.auth-panel{background:var(--bg-app)}.auth-heading h2{font-weight:720}.auth-tabs{border-radius:var(--radius-lg)}.input-wrap input{min-height:52px}.password-toggle{border-radius:var(--radius-sm);width:40px;height:40px}.primary-button{border-radius:var(--radius-md);font-weight:650}@media (width<=820px){.authenticated-shell{display:block}.auth-panel{width:100%;max-width:100vw;padding-left:20px;padding-right:20px;overflow-x:hidden}.auth-form-wrap{width:min(100%,100vw - 40px);max-width:min(440px,100vw - 40px)}.auth-tabs,.auth-form,.input-wrap{width:100%;min-width:0;max-width:100%}.mobile-app-header{min-height:62px;padding:calc(9px + env(safe-area-inset-top)) 18px 9px;-webkit-backdrop-filter:blur(18px)saturate(1.25);background:#ffffffe0;border-bottom-color:#0f17200f;box-shadow:0 1px 12px #0f17200a}.mobile-app-brand{font-size:.92rem;font-weight:700}.mobile-nav{min-height:72px;padding:5px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px)saturate(1.3);background:#ffffffe6;border-top-color:#0f172012;box-shadow:0 -8px 30px #0f17200f}.mobile-nav .app-nav__link{border-radius:var(--radius-md);gap:4px;min-height:56px;font-size:.64rem;font-weight:600}.mobile-nav .app-nav__link:hover,.mobile-nav .app-nav__link.active{color:var(--brand-800);background:var(--brand-soft);box-shadow:none}.mobile-nav .app-nav__link.active svg{stroke-width:2.2px}.app-main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.mobile-nav-sheet-backdrop{padding-top:max(48px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(3px);background:#00172280}.mobile-nav-sheet{width:min(100% - 12px,620px);max-height:min(88dvh,760px);padding:28px 18px calc(20px + env(safe-area-inset-bottom));border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border:1px solid #0f17200f;border-bottom:0;animation:.18s ease-out both sheet-enter;position:relative;box-shadow:0 -18px 54px #00172229}.mobile-nav-sheet:before{border-radius:var(--radius-pill);content:"";background:#cbd4da;width:38px;height:5px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.mobile-nav-sheet__header{border-bottom-color:var(--color-border-soft);margin:0 0 14px;padding:8px 0 13px;top:-28px}.mobile-nav-sheet__header h2{font-size:1.24rem;font-weight:700}.mobile-more-links{gap:5px}.mobile-more-link,.mobile-nav-sheet__commands button{border-radius:var(--radius-md);min-height:54px;padding:8px 10px;font-size:.88rem;font-weight:600}.mobile-more-link>span,.mobile-nav-order__icon{border-radius:11px}.mobile-nav-order li{border-radius:var(--radius-md);border-color:#0f17200f;min-height:62px;box-shadow:0 2px 8px #0f172008}.mobile-nav-order__controls button{background:var(--surface-secondary);border-color:#0000;border-radius:12px;width:40px;height:40px}.movement-table-wrap{display:none}.movement-cards{gap:10px;display:grid}.movement-card{min-width:0;padding:16px}.movement-card__top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.movement-card__top>div{min-width:0}.movement-card__top h3{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:.93rem}.movement-card__top p{color:var(--text-secondary);margin:5px 0 0;font-size:.75rem}.movement-card__top>.movement-amount{flex:none;font-size:.86rem}.movement-card__meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:15px;font-size:.75rem;display:flex}.movement-card .row-actions{border-top:1px solid var(--color-border-soft);margin:11px -6px -6px 0;padding-top:8px}.page-container{width:min(100% - 32px,720px);padding:28px 0 44px}.page-header{margin-bottom:24px}.page-header h1{font-size:2rem}}@media (width<=700px){.primary-button,.solid-button,.secondary-button,.outline-button,.danger-button{min-height:48px}.icon-button{width:44px;height:44px}.payment-action,.scheduled-payments__toggle,.budget-save-button,.account-activity-preview__link{min-height:44px}.filters-bar__title{padding-right:48px}.filters-bar .reset-filters{margin:0;position:absolute;top:12px;right:12px}.filters-bar,.report-filters,.metric-card,.dashboard-section,.dashboard-commitments__summary,.dashboard-upcoming,.dashboard-accounts,.category-group,.budget-summary,.budget-table,.scheduled-card,.account-card,.accounts-summary,.report-panel,.unbudgeted-section{border-radius:var(--radius-lg)}.movement-form input,.movement-form select,.movement-form textarea,.filters-bar input,.filters-bar select,.report-filters input,.report-filters select{min-height:48px;font-size:1rem}.metric-card{min-height:142px;padding:18px}.metric-card>strong{font-size:1.38rem}.movement-card,.report-data-card,.category-item{border-radius:var(--radius-lg)}.horizontal-card-carousel__viewport{padding-top:3px}.scheduled-card,.account-card{padding:18px}.modal-backdrop{padding:max(12px, env(safe-area-inset-top)) 8px 0;align-items:flex-end}.form-modal,.confirm-dialog{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-bottom:0;border-left:1px solid #ffffffa6;border-right:1px solid #ffffffa6;width:100%;max-height:min(90dvh,100dvh - 12px);animation:.18s ease-out both sheet-enter}.form-modal{padding:26px 18px max(18px, env(safe-area-inset-bottom))}.form-modal .modal-header{z-index:4;border-bottom:1px solid var(--color-border-soft);background:var(--surface);margin:-2px 0 18px;padding:2px 0 13px;position:sticky;top:-26px}.form-modal--movement{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:min(90dvh,100dvh - 12px);padding:0}.form-modal--movement .modal-header{margin:0;padding:22px 18px 14px;position:static}.form-modal--movement .movement-form{padding:16px 18px}.form-modal--movement .dialog-actions{border-top-color:var(--color-border-soft);box-shadow:0 -8px 22px #0f17200d}.confirm-dialog{padding:30px 20px max(24px, env(safe-area-inset-bottom))}.dialog-actions{flex-wrap:wrap}}@media (width<=520px){.page-container{width:min(100% - 28px,720px)}.page-header h1{font-size:1.82rem}.dashboard-section,.category-group,.report-panel,.unbudgeted-section{padding:18px}.empty-state{min-height:220px;padding:32px 18px}.section-heading{align-items:flex-start;gap:12px}.budget-input-form{max-width:none}.account-values>div,.scheduled-card__primary{border-radius:13px}.mobile-nav .app-nav__link{padding-inline:2px;font-size:.61rem}}@keyframes sheet-enter{0%{opacity:.75;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mobile-nav-sheet,.form-modal,.confirm-dialog{animation:none}button:active:not(:disabled),.metric-card:hover,.account-card:hover,.scheduled-card:hover,.category-item:hover{transform:none}}.error-boundary-page{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));color:var(--color-text);background:var(--color-bg);place-items:center;display:grid}.error-boundary-card{border-radius:var(--radius-xl);background:var(--color-surface);width:min(100%,480px);box-shadow:var(--shadow-card);text-align:center;border:1px solid #0f17200f;justify-items:center;gap:24px;padding:clamp(28px,7vw,44px);display:grid}.error-boundary-icon{border-radius:var(--radius-md);width:52px;height:52px;color:var(--color-primary-700);background:var(--color-primary-soft);place-items:center;display:grid}.error-boundary-icon svg{width:24px;height:24px}.error-boundary-card h1{color:var(--color-primary-800);margin:6px 0 10px;font-size:clamp(1.65rem,5vw,2rem);line-height:1.15}.error-boundary-card p{color:var(--color-text-muted);margin:0;line-height:1.6}.error-boundary-card .error-boundary-eyebrow{color:var(--color-primary-600);text-transform:uppercase;font-size:.72rem;font-weight:700}.error-boundary-reload{border:1px solid var(--color-primary-800);border-radius:var(--radius-md);min-height:46px;color:var(--color-white);background:var(--color-primary-800);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;display:inline-flex}.error-boundary-reload:hover{border-color:var(--color-primary-700);background:var(--color-primary-700)}.error-boundary-reload svg{width:17px;height:17px}
