@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Outfit:wght@400;500;600;700;800;900&display=swap";:root{--acc:#6c5ce7;--acc2:#5a4bd1;--accL:#ede9ff;--green:#00b894;--greenL:#e0f7f3;--red:#ef4444;--redL:#fee2e2;--yellow:#f59e0b;--yellowL:#fef3c7;--blue:#3b82f6;--blueL:#eff6ff;--r:20px;--r-sm:14px;--r-xs:10px;--font-d:"Outfit", sans-serif;--font-b:"DM Sans", sans-serif;--transition:all .25s cubic-bezier(.4,0,.2,1)}:root,[data-theme=light]{--bg:#f0f2f7;--surface:#fff;--surface2:#f4f6fb;--text:#1c1e2e;--text2:#6b7280;--text3:#9ca3af;--border:#e0e3ec;--nm-shadow:6px 6px 14px #c8cad4, -6px -6px 14px #fff;--nm-inset:inset 4px 4px 8px #c8cad4, inset -4px -4px 8px #fff;--nm-sm:3px 3px 7px #c8cad4, -3px -3px 7px #fff}[data-theme=dark]{--bg:#12131c;--surface:#1c1e2e;--surface2:#242638;--text:#f0f2f7;--text2:#9ca3af;--text3:#6b7280;--border:#2e3044;--nm-shadow:6px 6px 14px #0a0b12, -6px -6px 14px #1e2030;--nm-inset:inset 4px 4px 8px #0a0b12, inset -4px -4px 8px #1e2030;--nm-sm:3px 3px 7px #0a0b12, -3px -3px 7px #1e2030}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:16px}body{font-family:var(--font-b);background:var(--bg);color:var(--text);transition:background var(--transition), color var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;min-height:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-d);font-weight:700;line-height:1.2}button{font-family:var(--font-b);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-b);outline:none}a{color:inherit;text-decoration:none}#app{flex-direction:column;width:100%;min-height:100vh;display:flex}.screen{flex:1;padding-bottom:80px;overflow-y:auto}.fmt-cop{font-family:var(--font-d);font-weight:700}.login-bg{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px 20px;display:flex;position:relative;overflow:hidden}.login-deco{pointer-events:none;background:radial-gradient(circle,#6c5ce726 0%,#0000 70%);border-radius:50%;width:280px;height:280px;position:absolute;top:-80px;right:-80px}.login-card{background:var(--surface);border-radius:var(--r);width:100%;max-width:400px;box-shadow:var(--nm-shadow);padding:32px 28px}.login-logo{text-align:center;margin-bottom:28px}.logo-icon{border-radius:var(--r-sm);background:linear-gradient(135deg,#6c5ce7,#5a4bd1);justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 10px;font-size:30px;display:flex;box-shadow:0 8px 24px #6c5ce74d}.logo-name{font-family:var(--font-d);color:var(--text);font-size:26px;font-weight:800;line-height:1}.logo-name span{color:var(--acc)}.login-sub{color:var(--text2);margin-top:5px;font-size:13px}#auth-view{transition:opacity .15s}.field-group{margin-bottom:14px}.field-label{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field-group input{background:var(--surface2);border-radius:var(--r-xs);width:100%;color:var(--text);box-shadow:var(--nm-inset);transition:var(--transition);border:1.5px solid #0000;padding:13px 16px;font-size:15px}.field-group input:focus{border-color:var(--acc)}.field-group input::placeholder{color:var(--text3)}.inp-code{letter-spacing:8px;text-align:center!important;font-family:var(--font-d)!important;font-size:28px!important;font-weight:800!important}.pwd-wrap{position:relative}.pwd-wrap input{padding-right:44px}.pwd-toggle{cursor:pointer;color:var(--text2);background:0 0;border:none;padding:4px;font-size:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.field-error{color:var(--red);min-height:16px;margin-top:4px;font-size:12px;display:block}.btn-primary{color:#fff;border-radius:var(--r-xs);cursor:pointer;width:100%;transition:var(--transition);background:linear-gradient(135deg,#6c5ce7,#5a4bd1);border:none;margin-top:4px;padding:15px;font-size:16px;font-weight:700;box-shadow:0 4px 20px #6c5ce759}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #6c5ce773}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--r-xs);width:100%;color:var(--text2);cursor:pointer;transition:var(--transition);margin-top:10px;padding:12px;font-size:14px;font-weight:600}.btn-secondary:hover{color:var(--acc);border-color:var(--acc)}.btn-secondary:disabled{opacity:.5}.divider{color:var(--text3);align-items:center;gap:12px;margin:18px 0;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-google{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-xs);width:100%;color:var(--text);cursor:pointer;box-shadow:var(--nm-sm);transition:var(--transition);justify-content:center;align-items:center;gap:10px;margin-bottom:14px;padding:13px;font-size:15px;font-weight:600;display:flex}.btn-google:hover{box-shadow:var(--nm-shadow);transform:translateY(-1px)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.link-small{cursor:pointer;color:var(--acc);text-align:right;background:0 0;border:none;width:100%;margin-bottom:12px;padding:0;font-size:13px;font-weight:600;display:block}.link-btn-inline{cursor:pointer;color:var(--acc);background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.login-footer{text-align:center;color:var(--text2);margin-top:4px;font-size:14px}.info-box{background:var(--accL);border-radius:var(--r-sm);text-align:center;margin-bottom:20px;padding:20px}.info-icon{margin-bottom:8px;font-size:36px}.info-box h3{font-family:var(--font-d);color:var(--text);margin-bottom:6px;font-size:18px;font-weight:700}.info-box p{color:var(--text2);font-size:14px;line-height:1.5}.info-box strong{color:var(--acc)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.home-screen{padding:0 0 16px}.home-topbar{justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.topbar-greet{font-family:var(--font-d);font-size:20px;font-weight:800}.topbar-date{color:var(--text2);margin-top:2px;font-size:13px}.notif-btn{background:var(--surface);cursor:pointer;width:40px;height:40px;box-shadow:var(--nm-sm);border:none;border-radius:50%;font-size:18px;position:relative}.notif-dot{background:var(--red);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:8px}.usura-banner{background:var(--yellowL);border:1.5px solid var(--yellow);border-radius:var(--r-xs);cursor:pointer;color:#92400e;align-items:center;gap:8px;margin:8px 20px 12px;padding:10px 14px;font-size:14px;display:flex}.usura-badge{background:var(--yellow);color:#fff;border-radius:20px;padding:2px 7px;font-size:11px;font-weight:700}.usura-arrow{margin-left:auto;font-size:18px}.hero-card{background:linear-gradient(135deg, var(--acc), var(--acc2));border-radius:var(--r);color:#fff;margin:0 20px 16px;padding:20px;box-shadow:0 8px 24px #6c5ce759}.hero-row{justify-content:space-between;margin-bottom:16px;display:flex}.hero-label{opacity:.8;margin-bottom:4px;font-size:12px}.hero-amount{font-family:var(--font-d);font-size:22px;font-weight:800}.health-bar-wrap{background:#fff3;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.health-bar{background:#fff;border-radius:3px;height:100%;transition:width .6s}.health-label{opacity:.9;font-size:12px}.stats-row{gap:12px;margin:0 20px 16px;padding-bottom:4px;display:flex;overflow-x:auto}.stat-card{background:var(--surface);border-radius:var(--r-sm);min-width:80px;box-shadow:var(--nm-sm);text-align:center;flex:1;padding:14px 12px}.stat-num{font-family:var(--font-d);color:var(--acc);font-size:24px;font-weight:800}.stat-label{color:var(--text2);margin-top:2px;font-size:12px}.section-card{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:0 20px 16px;padding:16px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{font-family:var(--font-d);font-size:16px;font-weight:700}.link-btn{color:var(--acc);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.payment-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:10px 0;display:flex}.payment-item:last-child{border-bottom:none}.urgency-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.urgency-dot.red{background:var(--red)}.urgency-dot.yellow{background:var(--yellow)}.urgency-dot.green{background:var(--green)}.payment-info{flex:1}.payment-name{font-size:14px;font-weight:600}.payment-type{color:var(--text3);margin-left:4px;font-size:11px;font-weight:400}.payment-date{color:var(--text2);margin-top:2px;font-size:12px}.payment-amount{font-family:var(--font-d);color:var(--red);font-size:14px;font-weight:700}.quick-actions{grid-template-columns:1fr 1fr;gap:12px;margin:0 20px 16px;display:grid}.quick-action{background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--nm-sm);cursor:pointer;transition:var(--transition);border:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 12px;font-size:24px;display:flex}.quick-action span{color:var(--text);font-size:13px;font-weight:600}.quick-action:hover{box-shadow:var(--nm-shadow);transform:translateY(-2px)}.home-loading{min-height:50vh;color:var(--text2);justify-content:center;align-items:center;font-size:16px;display:flex}.cards-screen{padding:0 0 16px}.cards-topbar{justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.cards-title{font-family:var(--font-d);font-size:22px;font-weight:800}.wallet-scroll-wrap{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px;padding:4px 20px 12px;display:flex;overflow-x:auto}.wallet-scroll-wrap::-webkit-scrollbar{display:none}.wallet-card{color:#fff;cursor:pointer;scroll-snap-align:start;border-radius:18px;flex-shrink:0;width:300px;height:175px;padding:20px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000040}.wallet-card.selected{transform:scale(1.02);box-shadow:0 12px 32px #00000059}.wallet-card:before{content:"";background:#ffffff14;border-radius:50%;width:120px;height:120px;position:absolute;top:-30px;right:-30px}.wallet-card:after{content:"";background:#ffffff0d;border-radius:50%;width:80px;height:80px;position:absolute;bottom:-20px;left:40px}.wc-bank{opacity:.8;margin-bottom:4px;font-size:13px}.wc-name{font-family:var(--font-d);margin-bottom:16px;font-size:17px;font-weight:700}.wc-chip{background:#ffdc50b3;border-radius:4px;width:32px;height:24px;margin-bottom:12px}.wc-bottom{justify-content:space-between;align-items:flex-end;display:flex}.wc-balance-label{opacity:.7;font-size:10px}.wc-balance{font-family:var(--font-d);font-size:16px;font-weight:700}.wc-days{text-align:right}.wc-days-num{font-family:var(--font-d);font-size:18px;font-weight:800}.wc-days-label{opacity:.7;font-size:10px}.wc-bar-wrap{background:#fff3;border-radius:2px;height:3px;margin-bottom:12px;overflow:hidden}.wc-bar{background:#fffc;border-radius:2px;height:100%}.add-card-btn{border:2px dashed var(--border);background:var(--surface);cursor:pointer;width:140px;height:175px;color:var(--acc);transition:var(--transition);scroll-snap-align:start;border-radius:18px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.add-card-btn:hover{border-color:var(--acc);background:var(--accL)}.add-card-btn .plus{font-size:28px}.add-card-btn.locked{color:var(--text3);border-color:var(--border)}.add-card-btn.locked:hover{background:var(--surface2)}.card-detail{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:0 20px 16px;padding:18px}.detail-title{font-family:var(--font-d);margin-bottom:14px;font-size:17px;font-weight:700}.detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.detail-stat{background:var(--surface2);border-radius:var(--r-xs);padding:10px 12px}.detail-stat-label{color:var(--text2);margin-bottom:3px;font-size:11px}.detail-stat-val{font-family:var(--font-d);font-size:15px;font-weight:700}.detail-stat-val.red{color:var(--red)}.detail-stat-val.green{color:var(--green)}.detail-stat-val.acc{color:var(--acc)}.usage-bar-wrap{background:var(--surface2);border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.usage-bar{border-radius:4px;height:100%;transition:width .6s}.usage-label{color:var(--text2);margin-bottom:14px;font-size:12px}.insight-box{background:var(--greenL);border:1.5px solid var(--green);border-radius:var(--r-xs);color:#065f46;margin-bottom:14px;padding:10px 12px;font-size:13px}.detail-actions{gap:10px;display:flex}.btn-edit{border-radius:var(--r-xs);background:var(--surface2);border:1.5px solid var(--border);color:var(--text);box-shadow:var(--nm-sm);transition:var(--transition);flex:1;padding:11px;font-size:14px;font-weight:600}.btn-simulate{border-radius:var(--r-xs);background:linear-gradient(135deg, var(--acc), var(--acc2));color:#fff;transition:var(--transition);flex:1;padding:11px;font-size:14px;font-weight:700;box-shadow:0 4px 14px #6c5ce74d}.btn-delete{border-radius:var(--r-xs);background:var(--redL);color:var(--red);transition:var(--transition);padding:11px 14px;font-size:14px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.card-preview{color:#fff;border-radius:16px;width:100%;height:160px;margin-bottom:20px;padding:18px;position:relative;overflow:hidden;box-shadow:0 6px 20px #0003}.cp-bank{opacity:.8;font-size:12px}.cp-name{font-family:var(--font-d);margin-top:4px;font-size:18px;font-weight:700}.color-swatches{flex-wrap:wrap;gap:10px;display:flex}.color-swatch{cursor:pointer;width:36px;height:36px;transition:var(--transition);border:3px solid #0000;border-radius:50%}.color-swatch.selected{border-color:var(--acc);transform:scale(1.1)}.no-cards{text-align:center;color:var(--text2);margin:40px 20px}.no-cards-icon{margin-bottom:12px;font-size:48px}.no-cards h3{font-family:var(--font-d);color:var(--text);margin-bottom:8px;font-size:18px}.simulate-screen{padding:0 0 16px}.simulate-topbar{align-items:center;gap:12px;padding:16px 20px 12px;display:flex}.simulate-title{font-family:var(--font-d);font-size:22px;font-weight:800}.chip-scroll{-webkit-overflow-scrolling:touch;gap:10px;padding:4px 20px 12px;display:flex;overflow-x:auto}.chip-scroll::-webkit-scrollbar{display:none}.card-chip{cursor:pointer;color:#fff;transition:var(--transition);border:2px solid #0000;border-radius:20px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600}.card-chip.selected{box-shadow:0 0 0 3px var(--acc);border-color:#fff}.chip-none{cursor:pointer;background:var(--surface);border:2px solid var(--border);color:var(--text2);transition:var(--transition);border-radius:20px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600}.chip-none.selected{border-color:var(--acc);color:var(--acc)}.amount-section{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:4px 20px 16px;padding:20px}.amount-row{align-items:center;gap:4px;display:flex}.amount-prefix{font-family:var(--font-d);color:var(--text2);font-size:28px;font-weight:800}.amount-input{font-family:var(--font-d);color:var(--text);background:0 0;border:none;outline:none;flex:1;width:100%;min-width:0;font-size:38px;font-weight:800}.amount-input::placeholder{color:var(--text3)}.amount-hint{color:var(--text3);margin-top:6px;font-size:12px}.sim-tabs{background:var(--surface2);border-radius:var(--r-sm);gap:4px;margin:0 20px 16px;padding:4px;display:flex}.sim-tab{border-radius:var(--r-xs);color:var(--text2);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;flex:1;padding:10px 4px;font-size:12px;font-weight:600}.sim-tab.active{background:var(--surface);color:var(--acc);box-shadow:var(--nm-sm)}.sim-result{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:0 20px 16px;padding:18px}.sim-result-title{font-family:var(--font-d);margin-bottom:14px;font-size:16px;font-weight:700}.result-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.result-row:last-child{border-bottom:none}.result-label{color:var(--text2);font-size:13px}.result-val{font-family:var(--font-d);font-size:15px;font-weight:700}.result-val.red{color:var(--red)}.result-val.green{color:var(--green)}.result-val.acc{color:var(--acc)}.cuotas-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.cuota-card{background:var(--surface2);border-radius:var(--r-xs);text-align:center;cursor:pointer;transition:var(--transition);border:2px solid #0000;padding:12px 8px}.cuota-card.selected{border-color:var(--acc);background:var(--accL)}.cuota-num{font-family:var(--font-d);color:var(--acc);font-size:20px;font-weight:800}.cuota-label{color:var(--text2);font-size:11px}.cuota-detail{background:var(--accL);border-radius:var(--r-xs);margin-bottom:14px;padding:14px}.cuota-detail-row{justify-content:space-between;margin-bottom:6px;display:flex}.cuota-detail-label{color:var(--acc);font-size:13px}.cuota-detail-val{font-family:var(--font-d);color:var(--acc);font-size:14px;font-weight:700}.min-visual{background:var(--redL);border-radius:var(--r-xs);text-align:center;margin-bottom:12px;padding:16px}.min-big{font-family:var(--font-d);color:var(--red);font-size:28px;font-weight:800}.min-label{color:var(--red);margin-top:4px;font-size:13px}.insight-box{background:var(--greenL);border:1.5px solid var(--green);border-radius:var(--r-xs);color:#065f46;margin-bottom:14px;padding:10px 12px;font-size:13px;line-height:1.4}.insight-box.warn{background:var(--yellowL);border-color:var(--yellow);color:#92400e}.insight-box.danger{background:var(--redL);border-color:var(--red);color:#991b1b}.no-card-hint{text-align:center;color:var(--text2);margin:40px 20px}.sim-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin:12px 0 6px;padding:0 20px;font-size:12px;font-weight:700}.installments-section{padding:0 20px 4px}.inst-quick-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.inst-btn{border-radius:var(--r-xs);border:1.5px solid var(--border);background:var(--surface);color:var(--text2);cursor:pointer;transition:var(--transition);padding:8px 14px;font-size:14px;font-weight:700}.inst-btn.selected{background:var(--acc);color:#fff;border-color:var(--acc)}.inst-custom-row{color:var(--text3);align-items:center;gap:8px;font-size:13px;display:flex}.inst-custom-inp{border:1.5px solid var(--border);border-radius:var(--r-xs);background:var(--surface2);width:64px;color:var(--text);text-align:center;padding:6px 10px;font-size:14px;font-weight:700}.inst-custom-label{color:var(--text3);font-size:13px}.sim-result-free{text-align:center}.sim-free-badge{background:var(--greenL);color:var(--green);border-radius:20px;margin-bottom:10px;padding:6px 16px;font-size:14px;font-weight:700;display:inline-block}.sim-free-amount{font-family:var(--font-d);color:var(--green);font-size:36px;font-weight:800}.sim-free-label{color:var(--text2);margin-bottom:4px;font-size:13px}.sim-quota-highlight{text-align:center;margin:12px 0 16px}.sim-quota-amount{font-family:var(--font-d);color:var(--acc);font-size:36px;font-weight:800}.sim-quota-label{color:var(--text2);font-size:13px}.btn-minonly-toggle{border:1.5px dashed var(--border);border-radius:var(--r-xs);color:var(--text3);cursor:pointer;transition:var(--transition);background:0 0;width:100%;margin-bottom:12px;padding:10px 20px;font-size:13px}.btn-minonly-toggle:hover{border-color:var(--acc);color:var(--acc)}.credits-screen{padding:0 0 16px}.credits-topbar{justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.credits-title{font-family:var(--font-d);font-size:22px;font-weight:800}.btn-add-float{background:linear-gradient(135deg, var(--acc), var(--acc2));color:#fff;cursor:pointer;width:40px;height:40px;transition:var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex;box-shadow:0 4px 14px #6c5ce766}.btn-add-float:hover{transform:scale(1.1)}.credits-tabs{background:var(--surface2);border-radius:var(--r-sm);gap:4px;margin:0 20px 16px;padding:4px;display:flex}.credits-tab{border-radius:var(--r-xs);color:var(--text2);cursor:pointer;transition:var(--transition);background:0 0;border:none;flex:1;padding:10px;font-size:13px;font-weight:600}.credits-tab.active{background:var(--surface);color:var(--acc);box-shadow:var(--nm-sm)}.credit-card{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:0 20px 12px;padding:16px}.credit-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.credit-name{font-family:var(--font-d);font-size:16px;font-weight:700}.credit-type-badge{background:var(--accL);color:var(--acc);border-radius:12px;padding:3px 8px;font-size:11px;font-weight:700}.credit-balance{font-family:var(--font-d);color:var(--red);margin-bottom:10px;font-size:22px;font-weight:800}.credit-progress-wrap{background:var(--surface2);border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.credit-progress{background:var(--acc);border-radius:3px;height:100%;transition:width .5s}.credit-progress-label{color:var(--text2);margin-bottom:12px;font-size:12px}.credit-stats{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.credit-stat{text-align:center}.credit-stat-val{font-family:var(--font-d);font-size:14px;font-weight:700}.credit-stat-label{color:var(--text2);font-size:11px}.credit-actions{gap:8px;display:flex}.btn-amort{border-radius:var(--r-xs);background:var(--accL);color:var(--acc);cursor:pointer;transition:var(--transition);border:none;flex:1;padding:9px;font-size:13px;font-weight:600}.btn-early{border-radius:var(--r-xs);background:var(--greenL);color:var(--green);cursor:pointer;border:none;flex:1;padding:9px;font-size:13px;font-weight:600}.btn-del-credit{border-radius:var(--r-xs);background:var(--redL);color:var(--red);cursor:pointer;border:none;padding:9px 12px;font-size:13px}.loan-card{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:0 20px 12px;padding:16px}.loan-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.loan-debtor{font-family:var(--font-d);font-size:16px;font-weight:700}.status-badge{border-radius:12px;padding:3px 8px;font-size:11px;font-weight:700}.status-badge.active{background:var(--greenL);color:var(--green)}.status-badge.overdue{background:var(--redL);color:var(--red)}.status-badge.paid{background:var(--surface2);color:var(--text3)}.status-badge.forgiven{background:var(--blueL);color:var(--blue)}.loan-amount{font-family:var(--font-d);color:var(--text);margin-bottom:6px;font-size:20px;font-weight:800}.loan-meta{color:var(--text2);margin-bottom:12px;font-size:13px}.loan-overdue{color:var(--red);margin-bottom:10px;font-size:13px;font-weight:700}.loan-actions{gap:8px;display:flex}.btn-payment{border-radius:var(--r-xs);background:var(--greenL);color:var(--green);cursor:pointer;border:none;flex:1;padding:9px;font-size:13px;font-weight:600}.btn-del-loan{border-radius:var(--r-xs);background:var(--redL);color:var(--red);cursor:pointer;border:none;padding:9px 12px;font-size:13px}.drawer-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;align-items:flex-end;animation:.2s fadeInD;display:flex;position:fixed;inset:0}@keyframes fadeInD{0%{opacity:0}to{opacity:1}}.drawer{background:var(--surface);border-radius:24px 24px 0 0;width:100%;max-height:90vh;padding:24px 20px 40px;animation:.3s cubic-bezier(.4,0,.2,1) slideUpD;overflow-y:auto}@keyframes slideUpD{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:0 auto 20px}.drawer-title{font-family:var(--font-d);margin-bottom:20px;font-size:20px;font-weight:800}.form-field{margin-bottom:16px}.form-label{color:var(--text2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input{background:var(--surface2);border-radius:var(--r-xs);width:100%;color:var(--text);box-shadow:var(--nm-inset);transition:var(--transition);border:1.5px solid #0000;padding:12px 14px;font-size:15px}.form-input:focus{border-color:var(--acc)}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn-save{border-radius:var(--r-xs);background:linear-gradient(135deg, var(--acc), var(--acc2));color:#fff;width:100%;transition:var(--transition);margin-top:8px;padding:15px;font-size:16px;font-weight:700;box-shadow:0 4px 20px #6c5ce759}.btn-save:disabled{opacity:.6}.amort-table{border-collapse:collapse;width:100%;font-size:13px}.amort-table th{text-align:right;color:var(--text2);padding:6px 4px;font-size:11px}.amort-table th:first-child{text-align:left}.amort-table td{text-align:right;border-bottom:1px solid var(--border);padding:6px 4px}.amort-table td:first-child{text-align:left}.amort-table tr.current td{background:var(--accL);color:var(--acc);font-weight:700}.empty-hint{text-align:center;color:var(--text3);padding:40px 20px;font-size:14px}.direction-toggle{gap:8px;margin-top:6px;display:flex}.dir-btn{border:1.5px solid var(--border);border-radius:var(--r-xs);background:var(--surface2);color:var(--text2);cursor:pointer;transition:var(--transition);flex:1;padding:10px;font-size:13px;font-weight:600}.dir-btn.active{background:var(--accL);color:var(--acc);border-color:var(--acc)}.loan-direction{border-radius:10px;margin-bottom:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.loan-direction.lent{background:var(--greenL);color:var(--green)}.loan-direction.borrowed{background:var(--accL);color:var(--acc)}.calendar-screen{padding:0 0 16px}.calendar-topbar{justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.calendar-title{font-family:var(--font-d);font-size:22px;font-weight:800}.cal-nav{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);align-items:center;gap:12px;margin:0 20px 16px;padding:12px 16px;display:flex}.cal-nav-btn{background:var(--surface2);cursor:pointer;width:36px;height:36px;box-shadow:var(--nm-sm);transition:var(--transition);border:none;border-radius:50%;font-size:16px}.cal-nav-btn:hover{transform:scale(1.1)}.cal-month-label{text-align:center;font-family:var(--font-d);flex:1;font-size:17px;font-weight:700}.cal-grid-wrap{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:0 20px 16px;padding:14px}.cal-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:8px;display:grid}.cal-weekday{text-align:center;color:var(--text3);padding:4px 0;font-size:11px;font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-day{aspect-ratio:1;cursor:pointer;transition:var(--transition);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:relative}.cal-day:hover{transform:scale(1.05)}.cal-day.empty{cursor:default}.cal-day.today{border:2px solid var(--accL)}.cal-day.day-pay{background:var(--redL);color:var(--red)}.cal-day.day-cut{background:var(--yellowL);color:#92400e}.cal-day.day-ideal{background:var(--greenL);color:#065f46}.cal-day.day-credit{background:var(--blueL);color:var(--blue)}.day-dots{gap:2px;margin-top:1px;display:flex}.day-dot{border-radius:50%;width:4px;height:4px}.day-dot.red{background:var(--red)}.day-dot.yellow{background:var(--yellow)}.day-dot.green{background:var(--green)}.day-dot.blue{background:var(--blue)}.cal-legend{flex-wrap:wrap;gap:8px;margin:0 20px 16px;display:flex}.legend-item{color:var(--text2);align-items:center;gap:5px;font-size:12px;display:flex}.legend-dot{border-radius:3px;width:10px;height:10px}.legend-dot.pay{background:var(--red)}.legend-dot.cut{background:var(--yellow)}.legend-dot.ideal{background:var(--green)}.legend-dot.credit{background:var(--blue)}.ideal-banner{background:var(--greenL);border:1.5px solid var(--green);border-radius:var(--r-xs);color:#065f46;margin:0 20px 16px;padding:12px 16px;font-size:14px;font-weight:600}.upcoming-section{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:0 20px 16px;padding:16px}.upcoming-title{font-family:var(--font-d);margin-bottom:12px;font-size:16px;font-weight:700}.event-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.event-item:last-child{border-bottom:none}.event-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.event-dot.red{background:var(--red)}.event-dot.yellow{background:var(--yellow)}.event-dot.green{background:var(--green)}.event-dot.blue{background:var(--blue)}.event-info{flex:1}.event-name{font-size:14px;font-weight:600}.event-type{color:var(--text3);margin-left:4px;font-size:11px}.event-date{color:var(--text2);margin-top:2px;font-size:12px}.event-amount{font-family:var(--font-d);color:var(--red);font-size:14px;font-weight:700}.day-popover{z-index:600;background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--nm-shadow);border:1px solid var(--border);min-width:200px;max-width:260px;padding:14px;font-size:13px;position:fixed}.popover-title{font-family:var(--font-d);margin-bottom:8px;font-size:15px;font-weight:700}.popover-event{border-bottom:1px solid var(--border);padding:4px 0}.popover-event:last-child{border-bottom:none}.profile-screen{padding:0 0 16px}.profile-hero{background:linear-gradient(135deg, var(--acc), var(--acc2));color:#fff;margin-bottom:-28px;padding:32px 20px 48px;position:relative}.profile-avatar{width:72px;height:72px;font-family:var(--font-d);background:#fff3;border:3px solid #fff6;border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-size:28px;font-weight:800;display:flex}.profile-name{font-family:var(--font-d);font-size:22px;font-weight:800}.profile-email{opacity:.8;margin-top:2px;font-size:14px}.profile-plan-badge{background:#fff3;border:1px solid #fff6;border-radius:20px;margin-top:10px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.profile-plan-badge.premium{color:gold;background:#ffdc5033;border-color:#ffdc5099}.plan-card{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-shadow);z-index:1;margin:0 20px 16px;padding:20px;position:relative}.plan-card-title{font-family:var(--font-d);margin-bottom:12px;font-size:17px;font-weight:800}.plan-free-features{margin-bottom:16px;list-style:none}.plan-free-features li{color:var(--text2);align-items:center;gap:8px;padding:5px 0;font-size:14px;display:flex}.plan-free-features .tick{color:var(--green)}.plan-free-features .cross{color:var(--red)}.btn-upgrade{border-radius:var(--r-xs);color:#fff;cursor:pointer;width:100%;transition:var(--transition);background:linear-gradient(135deg,#1a1440,#0f0b2d);border:none;padding:14px;font-size:15px;font-weight:700;box-shadow:0 4px 20px #00000040}.btn-upgrade:hover{transform:translateY(-1px)}.premium-days{font-family:var(--font-d);color:var(--acc);margin-bottom:4px;font-size:32px;font-weight:800}.premium-sublabel{color:var(--text2);margin-bottom:14px;font-size:13px}.premium-bar-wrap{background:var(--surface2);border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.premium-bar{background:linear-gradient(90deg, var(--acc), var(--green));border-radius:4px;height:100%}.premium-bar-label{color:var(--text3);font-size:12px}.config-list{background:var(--surface);border-radius:var(--r);box-shadow:var(--nm-sm);margin:0 20px 16px;overflow:hidden}.config-item{border-bottom:1px solid var(--border);cursor:pointer;transition:var(--transition);align-items:center;gap:14px;padding:14px 16px;display:flex}.config-item:last-child{border-bottom:none}.config-item:hover{background:var(--surface2)}.config-icon{flex-shrink:0;font-size:20px}.config-label{flex:1;font-size:15px;font-weight:500}.config-value{color:var(--text3);font-size:13px}.config-arrow{color:var(--text3);font-size:16px}.toggle{background:var(--border);width:44px;height:24px;transition:var(--transition);cursor:pointer;border-radius:12px;flex-shrink:0;position:relative}.toggle.on{background:var(--acc)}.toggle-knob{width:20px;height:20px;transition:var(--transition);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0003}.toggle.on .toggle-knob{left:22px}.activation-section{margin:0 20px 16px}.btn-code-toggle{background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--r-xs);width:100%;color:var(--text2);cursor:pointer;transition:var(--transition);padding:12px;font-size:14px;font-weight:600}.btn-code-toggle:hover{border-color:var(--acc);color:var(--acc)}.code-input-wrap{flex-direction:column;gap:8px;margin-top:12px;display:flex}.code-input-wrap.hidden{display:none}.code-input-wrap input{background:var(--surface2);border-radius:var(--r-xs);width:100%;color:var(--text);text-align:center;letter-spacing:3px;box-shadow:var(--nm-inset);transition:var(--transition);text-transform:uppercase;border:1.5px solid #0000;padding:13px 16px;font-size:16px;font-weight:700}.code-input-wrap input:focus{border-color:var(--acc);outline:none}.btn-code-apply{background:linear-gradient(135deg, var(--acc), var(--acc2));color:#fff;border-radius:var(--r-xs);cursor:pointer;width:100%;transition:var(--transition);border:none;padding:13px;font-size:15px;font-weight:700;box-shadow:0 4px 16px #6c5ce74d}.btn-code-apply:hover{transform:translateY(-1px)}.btn-code-apply:disabled{opacity:.6;cursor:not-allowed;transform:none}.code-hint{color:var(--text3);text-align:center;margin:0;font-size:12px}.btn-signout{border-radius:var(--r-xs);background:var(--redL);width:calc(100% - 40px);color:var(--red);cursor:pointer;transition:var(--transition);border:none;margin:0 20px 16px;padding:14px;font-size:15px;font-weight:700}.btn-signout:hover{background:var(--red);color:#fff}.app-version{text-align:center;color:var(--text3);padding-bottom:8px;font-size:12px}.success-screen{color:#fff;text-align:center;background:linear-gradient(#1a1440 0%,#0f0b2d 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 24px;display:flex;position:relative;overflow:hidden}.confetti-piece{opacity:0;border-radius:2px;width:10px;height:10px;animation:linear infinite confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100px)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.success-icon{background:#6c5ce733;border:2px solid #6c5ce7;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:20px;font-size:48px;animation:2s infinite pulse;display:flex;box-shadow:0 0 40px #6c5ce780}@keyframes pulse{0%,to{box-shadow:0 0 40px #6c5ce780}50%{box-shadow:0 0 60px #6c5ce7cc}}.success-title{font-family:var(--font-d);margin-bottom:8px;font-size:28px;font-weight:900}.success-subtitle{opacity:.8;margin-bottom:32px;font-size:16px;line-height:1.5}.otp-label{opacity:.7;margin-bottom:12px;font-size:14px}.otp-inputs{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.otp-inp{color:#fff;width:44px;height:52px;font-family:var(--font-d);text-align:center;background:#ffffff1a;border:2px solid #fff3;border-radius:10px;outline:none;font-size:22px;font-weight:700;transition:all .2s}.otp-inp:focus{background:#6c5ce733;border-color:#6c5ce7}.btn-activate{color:#fff;width:100%;max-width:320px;font-family:var(--font-d);cursor:pointer;transition:var(--transition);background:linear-gradient(135deg,#6c5ce7,#5a4bd1);border:none;border-radius:14px;margin-bottom:12px;padding:16px;font-size:18px;font-weight:800;box-shadow:0 4px 24px #6c5ce780}.btn-activate:hover{transform:translateY(-2px)}.btn-activate:disabled{opacity:.6;transform:none}.btn-skip{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:8px;font-size:14px}.success-msg{color:#fffc;background:#00b89433;border:1px solid #00b894;border-radius:10px;margin-bottom:16px;padding:12px 20px;font-size:14px;display:none}.success-msg.show{display:block}.history-screen{padding:0 0 80px}.history-topbar{background:var(--surface);border-bottom:1px solid var(--border);margin-bottom:12px;padding:16px 20px 8px}.history-title{font-family:var(--font-d);font-size:20px;font-weight:800}.hist-chips{scrollbar-width:none;gap:8px;padding:0 20px 12px;display:flex;overflow-x:auto}.hist-chips::-webkit-scrollbar{display:none}.hist-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text2);cursor:pointer;transition:var(--transition);border-radius:20px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600}.hist-chip.active{box-shadow:0 4px 12px #0003}.hist-card-mini{border-radius:var(--r);color:#fff;margin:0 20px 12px;padding:16px;box-shadow:0 6px 20px #0003}.hcm-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.hcm-bank{opacity:.8;font-size:13px}.hcm-name{font-family:var(--font-d);font-size:16px;font-weight:700}.hcm-balance{font-family:var(--font-d);font-size:18px;font-weight:800}.hcm-bar-wrap{background:#fff3;border-radius:2px;height:4px;margin-bottom:4px;overflow:hidden}.hcm-bar{background:#fffc;border-radius:2px;height:100%}.hcm-bar-label{opacity:.7;font-size:11px}.hist-action-row{gap:10px;padding:0 20px 12px;display:flex}.hist-btn-gasto,.hist-btn-pago{border-radius:var(--r-xs);cursor:pointer;transition:var(--transition);border:none;flex:1;padding:12px;font-size:14px;font-weight:700}.hist-btn-gasto{background:var(--redL);color:var(--red)}.hist-btn-pago{background:var(--greenL);color:var(--green)}.hist-btn-gasto:hover{background:var(--red);color:#fff}.hist-btn-pago:hover{background:var(--green);color:#fff}.hist-list{padding:0 20px}.hist-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.hist-item:last-child{border-bottom:none}.hist-item-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.hist-item-icon.gasto{background:var(--redL)}.hist-item-icon.pago{background:var(--greenL)}.hist-item-icon.cuota{background:var(--accL)}.hist-item-info{flex:1;min-width:0}.hist-item-desc{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.hist-item-meta{color:var(--text3);margin-top:2px;font-size:12px}.hist-item-amount{font-family:var(--font-d);flex-shrink:0;font-size:15px;font-weight:800}.hist-item-amount.red{color:var(--red)}.hist-item-amount.green{color:var(--green)}.hist-empty{text-align:center;color:var(--text3);padding:40px 20px;font-size:14px}.hist-empty-state{text-align:center;color:var(--text2);padding:60px 20px;font-size:15px}
