:root{--bg: #0a0f1e;--bg2: #111827;--surface: rgba(255,255,255,.04);--surface2: rgba(255,255,255,.07);--border: rgba(255,255,255,.08);--text: #f1f5f9;--text2: #94a3b8;--text3: #64748b;--green: #10B981;--green-bg: rgba(16,185,129,.12);--red: #EF4444;--red-bg: rgba(239,68,68,.12);--blue: #3B82F6;--blue-bg: rgba(59,130,246,.12);--purple: #8B5CF6;--purple-bg: rgba(139,92,246,.12);--yellow: #F59E0B;--yellow-bg: rgba(245,158,11,.12);--pink: #EC4899;--radius: 14px;--radius-sm: 10px;--radius-xs: 8px;--shadow: 0 2px 12px rgba(0,0,0,.25);--transition: .2s cubic-bezier(.4,0,.2,1)}[data-theme=light]{--bg: #f0f4f8;--bg2: #ffffff;--surface: rgba(0,0,0,.03);--surface2: rgba(0,0,0,.05);--border: rgba(0,0,0,.08);--text: #0f172a;--text2: #475569;--text3: #94a3b8;--shadow: 0 2px 12px rgba(0,0,0,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;background:#000;color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}input,select,button,textarea{font-family:inherit;font-size:inherit;border:none;outline:none;background:none;color:inherit}.app{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:var(--bg)}.phone-frame{width:100%;max-width:430px;height:100%;max-height:932px;background:var(--bg);position:relative;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 60px #0006}@media(max-width:430px){.phone-frame{max-width:100%;max-height:100%;border-radius:0}}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:70px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.app-content::-webkit-scrollbar{width:3px}.app-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.splash-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0f1e,#1a1f3e,#0a0f1e);animation:splashFadeIn .6s ease}.splash-logo{text-align:center;animation:splashBounce 1s ease .3s both}.splash-icon{font-size:5rem;margin-bottom:1rem;animation:splashPulse 2s ease infinite}.splash-title{font-size:2rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#10b981,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.splash-subtitle{color:var(--text2);margin-top:.5rem;font-size:1rem}.splash-loader{width:200px;height:3px;background:var(--surface2);border-radius:3px;margin-top:3rem;overflow:hidden}.splash-bar{width:0%;height:100%;background:linear-gradient(90deg,#10b981,#3b82f6);border-radius:3px;animation:splashLoad 2s ease forwards}@keyframes splashFadeIn{0%{opacity:0}to{opacity:1}}@keyframes splashBounce{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes splashPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes splashLoad{to{width:100%}}.onboarding{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}.onboarding-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:fadeSlideUp .5s ease}.onboarding-icon{font-size:5rem;margin-bottom:2rem}.onboarding-content h2{font-size:1.75rem;font-weight:700;margin-bottom:1rem}.onboarding-content p{color:var(--text2);font-size:1rem;line-height:1.6;max-width:300px}.onboarding-dots{display:flex;gap:8px;margin:2rem 0}.dot{width:8px;height:8px;border-radius:50%;background:var(--surface2);transition:var(--transition)}.dot.active{width:24px;border-radius:4px;background:linear-gradient(90deg,#10b981,#3b82f6)}.onboarding-actions{display:flex;gap:1rem;width:100%;max-width:320px}.onboarding-actions .btn-primary{flex:1}.onboarding-actions .btn-ghost{flex:.5}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-screen{height:100%;display:flex;flex-direction:column;padding:2rem;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}.auth-header{text-align:center;margin:3rem 0 2rem;animation:fadeSlideUp .5s ease}.auth-logo{font-size:4rem;margin-bottom:1rem}.auth-header h1{font-size:1.75rem;font-weight:700}.auth-header p{color:var(--text2);margin-top:.5rem}.auth-form{flex:1;display:flex;flex-direction:column;gap:1rem;animation:fadeSlideUp .5s ease .1s both}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;font-weight:500;color:var(--text2)}.form-group input,.form-group select{padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1rem;transition:var(--transition)}.form-group input:focus,.form-group select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}.form-group input::placeholder{color:var(--text3)}.auth-footer{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;animation:fadeSlideUp .5s ease .2s both}.btn-skip{color:var(--text3)!important;font-size:.85rem!important}.btn-primary{padding:14px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);font-size:1rem}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #10b9814d}.btn-primary:active{transform:translateY(0)}.btn-primary.expense{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-primary.income{background:linear-gradient(135deg,#10b981,#059669)}.btn-primary.transfer{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-ghost{padding:14px 24px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);font-size:.9rem}.btn-ghost:hover{background:var(--surface2)}.btn-outline{padding:14px 24px;background:transparent;border:1px solid var(--border);color:var(--text);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.btn-outline:hover{border-color:var(--blue);color:var(--blue)}.btn-danger{padding:14px 24px;background:var(--red-bg);border:1px solid rgba(239,68,68,.2);color:var(--red);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.btn-danger:hover{background:#ef444433}.btn-full{width:100%}.btn-small{padding:8px 16px;background:var(--blue);color:#fff;font-weight:500;border-radius:var(--radius-xs);cursor:pointer;font-size:.8rem;transition:var(--transition)}.btn-small:hover{opacity:.9}.btn-small.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);cursor:pointer;font-size:1.2rem;transition:var(--transition)}.icon-btn:hover{background:var(--surface2)}.link-btn{color:var(--blue);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition)}.link-btn:hover{opacity:.8}.bottom-nav{display:flex;background:var(--bg2);border-top:1px solid var(--border);padding:6px 0 max(6px,env(safe-area-inset-bottom));position:relative;z-index:10}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;cursor:pointer;transition:var(--transition);position:relative}.nav-item:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%) scaleX(0);width:24px;height:3px;border-radius:0 0 3px 3px;background:var(--green);transition:var(--transition)}.nav-item.active:before{transform:translate(-50%) scaleX(1)}.nav-icon{font-size:1.3rem;transition:var(--transition)}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-label{font-size:.65rem;color:var(--text3);font-weight:500;transition:var(--transition)}.nav-item.active .nav-label{color:var(--green)}.fab-back{position:absolute;bottom:80px;left:50%;transform:translate(-50%);width:48px;height:48px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:var(--transition);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.fab-back:hover{background:var(--blue);color:#fff}.more-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-end;animation:fadeIn .2s ease}.more-menu{width:100%;padding:1.5rem;border-radius:var(--radius) var(--radius) 0 0;animation:slideUp .3s ease}.more-menu h3{margin-bottom:1rem;font-size:1.1rem}.more-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer;font-size:1rem;transition:var(--transition)}.more-item:last-child{border-bottom:none}.more-item:hover{color:var(--blue)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.screen{padding:1rem;animation:screenIn .3s ease}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.screen-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0 1rem}.screen-header h2{font-size:1.4rem;font-weight:700}.back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);cursor:pointer;font-size:1.2rem;transition:var(--transition)}.back-btn:hover{background:var(--surface2)}.section{margin-top:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section h3{font-size:1rem;font-weight:600;margin-bottom:.75rem}.dash-header{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0 1rem}.dash-greeting{font-size:.85rem;color:var(--text2);margin-bottom:2px}.dash-header h2{font-size:1.5rem;font-weight:700}.dash-header-actions{display:flex;gap:8px}.period-tabs{display:flex;gap:6px;margin-bottom:1rem;background:var(--surface);padding:4px;border-radius:var(--radius-sm)}.period-tab{flex:1;padding:8px;font-size:.8rem;font-weight:500;border-radius:var(--radius-xs);cursor:pointer;transition:var(--transition);color:var(--text2)}.period-tab.active{background:var(--green);color:#fff}.balance-card{padding:1.5rem;background:linear-gradient(135deg,#10b9811a,#3b82f61a);border:1px solid rgba(16,185,129,.15);margin-bottom:1rem}.balance-label{font-size:.85rem;color:var(--text2)}.balance-amount{font-size:2.2rem;font-weight:700;letter-spacing:-.02em;margin:4px 0 1rem}.balance-amount.positive{color:var(--green)}.balance-amount.negative{color:var(--red)}.balance-row{display:flex;align-items:center}.balance-item{flex:1;display:flex;align-items:center;gap:10px}.balance-divider{width:1px;height:40px;background:var(--border);margin:0 1rem}.balance-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700}.balance-item.income .balance-icon{background:var(--green-bg);color:var(--green)}.balance-item.expense .balance-icon{background:var(--red-bg);color:var(--red)}.balance-item-label{font-size:.75rem;color:var(--text3)}.balance-item-value{font-size:.95rem;font-weight:600}.quick-actions{display:flex;gap:10px;margin-bottom:.5rem}.quick-action{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);font-size:.75rem;font-weight:500;color:var(--text2)}.quick-action:hover{background:var(--surface2);transform:translateY(-1px)}.qa-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}.expense-bg{background:var(--red-bg)}.income-bg{background:var(--green-bg)}.transfer-bg{background:var(--blue-bg)}.chart-container{padding:1rem}.bar-chart{display:flex;align-items:flex-end;gap:4px;height:120px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;cursor:pointer}.bar{width:100%;min-height:2px;background:linear-gradient(180deg,var(--green),var(--blue));border-radius:3px 3px 0 0;transition:var(--transition)}.bar-col:hover .bar{opacity:.8}.bar-label{font-size:.6rem;color:var(--text3);margin-top:4px}.category-list{display:flex;flex-direction:column;gap:8px}.category-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;transition:var(--transition)}.category-item:hover{background:var(--surface2)}.cat-left{display:flex;align-items:center;gap:12px}.cat-icon{width:40px;height:40px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.cat-name{font-weight:500;font-size:.9rem}.cat-pct{font-size:.75rem;color:var(--text3)}.cat-amount{font-weight:600;font-size:.95rem}.accounts-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.accounts-scroll::-webkit-scrollbar{display:none}.account-card{min-width:150px;padding:14px;border-left:3px solid var(--blue);flex-shrink:0}.acc-icon{font-size:1.5rem}.acc-name{font-size:.8rem;color:var(--text2);margin:6px 0 2px}.acc-balance{font-size:1.1rem;font-weight:600}.tx-list{display:flex;flex-direction:column;gap:6px}.tx-item{display:flex;align-items:center;gap:12px;padding:12px 14px;transition:var(--transition)}.tx-item:hover{background:var(--surface2)}.tx-icon{width:42px;height:42px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.tx-info{flex:1;min-width:0}.tx-note{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-meta{font-size:.75rem;color:var(--text3);margin-top:2px}.tx-tags{color:var(--blue)}.tx-amount{font-weight:600;font-size:.95rem;white-space:nowrap}.tx-amount.income{color:var(--green)}.tx-amount.expense{color:var(--red)}.tx-right{display:flex;align-items:center;gap:8px}.delete-btn{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;cursor:pointer;opacity:0;transition:var(--transition);color:var(--text3);background:var(--surface)}.tx-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--red);background:var(--red-bg)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text3)}.type-selector{display:flex;gap:6px;margin-bottom:1.5rem;background:var(--surface);padding:4px;border-radius:var(--radius-sm)}.type-btn{flex:1;padding:10px;font-size:.85rem;font-weight:500;border-radius:var(--radius-xs);cursor:pointer;transition:var(--transition);color:var(--text2)}.type-btn.active{color:#fff}.type-btn.active.expense{background:var(--red)}.type-btn.active.income{background:var(--green)}.type-btn.active.transfer{background:var(--blue)}.amount-input-wrapper{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:1.5rem;padding:1rem}.currency-symbol{font-size:2rem;font-weight:300;color:var(--text3)}.amount-input{font-size:3rem;font-weight:700;width:200px;text-align:center;background:transparent;color:var(--text)}.amount-input::placeholder{color:var(--text3)}.amount-input::-webkit-outer-spin-button,.amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-input[type=number]{-moz-appearance:textfield}.tx-form{display:flex;flex-direction:column;gap:1rem}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cat-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:var(--surface);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);font-size:1.2rem}.cat-chip:hover{background:var(--surface2)}.cat-chip.selected{border-color:var(--blue);background:var(--blue-bg)}.cat-chip-name{font-size:.65rem;color:var(--text2);text-align:center}.search-bar{margin-bottom:1rem}.search-bar input{width:100%;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;transition:var(--transition)}.search-bar input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}.search-bar input::placeholder{color:var(--text3)}.filter-tabs{display:flex;gap:6px;margin-bottom:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{padding:8px 14px;font-size:.8rem;font-weight:500;border-radius:20px;background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;transition:var(--transition);color:var(--text2)}.filter-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.sort-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.tx-count{font-size:.8rem;color:var(--text3)}.sort-bar select{padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:.8rem;color:var(--text);cursor:pointer}.budget-overview{padding:1.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border:1px solid rgba(139,92,246,.15)}.budget-label{font-size:.85rem;color:var(--text2)}.budget-total h2{font-size:1.75rem;font-weight:700;margin:4px 0 1rem}.budget-progress-wrapper{margin-top:.5rem}.budget-progress-bar{height:8px;background:var(--surface2);border-radius:4px;overflow:hidden}.budget-progress-fill{height:100%;border-radius:4px;transition:width .6s ease}.budget-progress-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text3);margin-top:6px}.budget-list{display:flex;flex-direction:column;gap:10px}.budget-item{padding:14px}.budget-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.budget-cat{display:flex;align-items:center;gap:10px}.budget-period{font-size:.75rem;color:var(--text3)}.budget-amounts{text-align:right}.budget-spent{font-weight:600;font-size:.95rem}.budget-limit{font-size:.75rem;color:var(--text3)}.budget-bar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.budget-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.budget-warning{margin-top:8px;font-size:.8rem;color:var(--red);font-weight:500}.budget-caution{margin-top:8px;font-size:.8rem;color:var(--yellow);font-weight:500}.budget-add-form{padding:1.5rem;margin-bottom:1rem;animation:fadeSlideUp .3s ease}.form-title{font-weight:600;margin-bottom:1rem}.savings-list{display:flex;flex-direction:column;gap:10px}.savings-item{padding:14px}.savings-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.savings-icon{width:40px;height:40px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;font-size:1.2rem}.savings-name{font-weight:600;font-size:.95rem}.savings-deadline{font-size:.75rem;color:var(--text3)}.savings-progress{margin-bottom:10px}.savings-amounts{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text3);margin-top:6px}.savings-add{display:flex;gap:8px}.savings-add input{flex:1;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:.85rem;color:var(--text)}.savings-add input:focus{border-color:var(--green)}.bills-summary{padding:1.5rem;margin-bottom:1rem}.bills-summary-row{display:flex;justify-content:space-around}.bills-label{font-size:.85rem;color:var(--text2)}.bills-amount{font-size:1.5rem;font-weight:700;color:var(--red)}.bills-count{font-size:1.5rem;font-weight:700}.bills-list{display:flex;flex-direction:column;gap:8px}.bill-item{display:flex;align-items:center;justify-content:space-between;padding:14px;transition:var(--transition)}.bill-item.urgent{border-left:3px solid var(--red)}.bill-item.soon{border-left:3px solid var(--yellow)}.bill-item.paid{opacity:.6}.bill-left{display:flex;align-items:center;gap:12px}.bill-icon{width:40px;height:40px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;font-size:1rem}.bill-name{font-weight:500;font-size:.9rem}.bill-due{font-size:.75rem;color:var(--text3)}.bill-recurring{color:var(--blue)}.bill-right{text-align:right}.bill-amount{font-weight:600;font-size:.95rem}.paid-amount{text-decoration:line-through;color:var(--text3)}.btn-pay{padding:6px 14px;background:var(--green);color:#fff;font-weight:500;border-radius:var(--radius-xs);cursor:pointer;font-size:.8rem;margin-top:4px;transition:var(--transition)}.btn-pay:hover{opacity:.9}.btn-unpay{padding:6px 14px;background:var(--surface);border:1px solid var(--border);color:var(--text3);font-weight:500;border-radius:var(--radius-xs);cursor:pointer;font-size:.8rem;margin-top:4px;transition:var(--transition)}.calendar{text-align:center}.cal-month{font-weight:600;margin-bottom:12px}.cal-header{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}.cal-day-name{font-size:.7rem;color:var(--text3);font-weight:500}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem;border-radius:var(--radius-xs);position:relative;color:var(--text2)}.cal-cell.today{background:var(--blue);color:#fff;font-weight:700}.cal-cell.has-bill{font-weight:600;color:var(--text)}.cal-dot{width:4px;height:4px;border-radius:50%;background:var(--red);position:absolute;bottom:2px}.wallets-total{text-align:center;padding:1.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:1px solid rgba(59,130,246,.15)}.wallets-total h1{font-size:2rem;font-weight:700;margin:4px 0}.wallets-count{font-size:.85rem;color:var(--text2)}.wallets-list{display:flex;flex-direction:column;gap:8px}.wallet-card{padding:14px;display:flex;justify-content:space-between;align-items:center;transition:var(--transition)}.wallet-card:hover{background:var(--surface2)}.wallet-card-header{display:flex;align-items:center;gap:12px}.wallet-icon{width:42px;height:42px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;font-size:1.2rem}.wallet-name{font-weight:500;font-size:.95rem}.wallet-type{font-size:.75rem;color:var(--text3)}.wallet-balance{font-weight:600;font-size:1.1rem}.wallet-balance.negative{color:var(--red)}.report-tabs{display:flex;gap:6px;margin-bottom:1.5rem;background:var(--surface);padding:4px;border-radius:var(--radius-sm)}.report-tab{flex:1;padding:10px;font-size:.85rem;font-weight:500;border-radius:var(--radius-xs);cursor:pointer;transition:var(--transition);color:var(--text2)}.report-tab.active{background:var(--blue);color:#fff}.report-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.report-card{padding:1.25rem}.report-card.full-width{grid-column:1 / -1}.report-card-label{font-size:.8rem;color:var(--text2);margin-bottom:4px}.report-card-value{font-size:1.5rem;font-weight:700}.report-card-value.income{color:var(--green)}.report-card-value.expense{color:var(--red)}.report-card-sub{font-size:.8rem;color:var(--text3);margin-top:4px}.insights-list{display:flex;flex-direction:column;gap:10px}.insight-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text2)}.insight-icon{font-size:1.2rem}.insight-item strong{color:var(--text)}.donut-chart{display:flex;justify-content:center;padding:1.5rem;margin-bottom:1rem}.donut-wrapper{position:relative}.donut-center-label{fill:var(--text3);font-size:10px}.donut-center-value{fill:var(--text);font-size:13px;font-weight:700}.category-breakdown{display:flex;flex-direction:column;gap:8px}.category-breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px}.trends-chart{padding:1.5rem}.trends-chart h3{margin-bottom:1rem}.trend-bars{display:flex;align-items:flex-end;gap:8px;height:160px}.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.trend-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end}.trend-bar{width:100%;min-height:4px;background:linear-gradient(180deg,var(--blue),var(--purple));border-radius:4px 4px 0 0;transition:height .6s ease}.trend-label{font-size:.65rem;color:var(--text3);margin-top:6px}.trend-value{font-size:.6rem;color:var(--text3)}.shared-intro{padding:1.5rem;margin-bottom:1rem;text-align:center}.shared-intro h3{margin-bottom:.5rem}.shared-intro p{color:var(--text2);font-size:.9rem}.shared-list{display:flex;flex-direction:column;gap:12px}.shared-wallet{padding:1.25rem}.shared-wallet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.shared-wallet-name{font-weight:600;font-size:1rem}.shared-wallet-balance{font-size:1.25rem;font-weight:700;color:var(--green)}.shared-members{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.shared-member{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--surface);border-radius:20px;font-size:.85rem}.member-avatar{font-size:1rem}.member-name{font-weight:500}.member-badge{font-size:.65rem;padding:2px 6px;background:var(--yellow-bg);color:var(--yellow);border-radius:10px;font-weight:600}.shared-actions{display:flex;gap:8px}.converter-card{padding:1.5rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.converter-field{display:flex;flex-direction:column;gap:8px}.converter-field label{font-size:.85rem;color:var(--text2)}.converter-input-row{display:flex;gap:10px}.converter-amount,.converter-result{flex:1;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1.25rem;font-weight:600;color:var(--text)}.converter-result{display:flex;align-items:center;color:var(--green)}.converter-select{padding:14px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;min-width:80px}.swap-btn{align-self:center;width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--border);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.swap-btn:hover{background:var(--surface2);transform:rotate(180deg)}.rate-info{text-align:center;padding:1rem;margin-bottom:1rem}.rate-info p{font-size:.85rem;color:var(--text2)}.rate-info h3{font-size:1.1rem;margin-top:4px}.rates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.rate-card{padding:14px;text-align:center}.rate-currency{font-weight:600;font-size:.95rem;margin-bottom:4px}.rate-value{font-size:1.1rem;font-weight:700;color:var(--blue)}.calc{max-width:360px;margin:0 auto;padding:1.5rem}.calc-display{padding:1.5rem;text-align:right;margin-bottom:1rem;background:var(--surface);border-radius:var(--radius-sm);min-height:100px;display:flex;flex-direction:column;justify-content:flex-end}.calc-sub{font-size:.9rem;color:var(--text3);margin-bottom:4px}.calc-value{font-size:2.5rem;font-weight:700}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.calc-btn{padding:18px;font-size:1.25rem;font-weight:500;border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:var(--transition)}.calc-btn:hover{background:var(--surface2)}.calc-btn:active{transform:scale(.95)}.calc-btn.fn{color:var(--blue);background:var(--blue-bg)}.calc-btn.op{color:var(--yellow);background:var(--yellow-bg);font-size:1.4rem}.calc-btn.eq{background:var(--green);color:#fff}.calc-btn.zero{grid-column:span 2}.settings-list{display:flex;flex-direction:column;gap:1.25rem}.settings-group-title{font-size:.8rem;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:.5rem}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:14px;margin-bottom:6px;transition:var(--transition)}.settings-item.clickable{cursor:pointer}.settings-item.clickable:hover{background:var(--surface2)}.settings-item-info{display:flex;align-items:center;gap:12px}.settings-icon{font-size:1.3rem}.settings-label{font-weight:500;font-size:.95rem}.settings-value{font-size:.8rem;color:var(--text3);margin-top:2px}.settings-select{padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);cursor:pointer}.settings-check{color:var(--green);font-weight:700}.settings-arrow{color:var(--text3);font-size:1.1rem}.toggle-btn{cursor:pointer}.toggle-track{width:48px;height:28px;border-radius:14px;background:var(--surface2);border:1px solid var(--border);position:relative;transition:var(--transition)}.toggle-track.active{background:var(--green);border-color:var(--green)}.toggle-thumb{width:22px;height:22px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:var(--transition);box-shadow:0 1px 4px #0003}.toggle-track.active .toggle-thumb{left:22px}.profile-header{text-align:center;padding:2rem 1.5rem;margin-bottom:1rem}.profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1rem;border:3px solid var(--blue)}.profile-name{font-size:1.25rem;font-weight:700}.profile-email{font-size:.85rem;color:var(--text2);margin-top:4px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:.5rem}.profile-stat{padding:14px;text-align:center}.stat-value{font-size:1rem;font-weight:700}.stat-value.income{color:var(--green)}.stat-value.expense{color:var(--red)}.stat-label{font-size:.7rem;color:var(--text3);margin-top:2px}.profile-detail{padding:14px}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--text2);font-size:.9rem}.detail-value{font-weight:500;font-size:.9rem}.detail-value.pro{color:var(--yellow)}.profile-actions{display:flex;flex-direction:column;gap:8px;margin-top:1.5rem}.shopping-summary{display:flex;justify-content:space-around;padding:1rem;margin-bottom:1rem}.shopping-stat{text-align:center}.shopping-stat-label{font-size:.75rem;color:var(--text3)}.shopping-stat-value{font-size:1.1rem;font-weight:700;margin-top:2px}.shopping-add{display:flex;gap:8px;padding:12px;margin-bottom:1rem}.shopping-add input{flex:1;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);font-size:.9rem}.shopping-add input:focus{border-color:var(--blue)}.shopping-add .price-input{max-width:100px}.shopping-list{display:flex;flex-direction:column;gap:6px}.shopping-item{display:flex;align-items:center;gap:10px;padding:12px 14px;transition:var(--transition)}.shopping-item.checked{opacity:.5}.shopping-item.checked .shopping-name{text-decoration:line-through}.shopping-check{font-size:1.2rem;cursor:pointer;flex-shrink:0}.shopping-info{flex:1}.shopping-name{font-weight:500;font-size:.9rem}.shopping-meta{font-size:.75rem;color:var(--text3)}.shopping-price{font-weight:600;font-size:.95rem}.debt-overview{padding:1.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#ef444414,#f59e0b14);border:1px solid rgba(239,68,68,.12)}.debt-label{font-size:.85rem;color:var(--text2)}.debt-amount{font-size:2rem;font-weight:700;color:var(--red);margin:4px 0 1rem}.debt-stats-row{display:flex;justify-content:space-around;margin-top:.5rem}.debt-stat{text-align:center}.debt-stat-label{font-size:.75rem;color:var(--text3)}.debt-stat-value{font-size:1.1rem;font-weight:700;margin-top:2px}.debt-list{display:flex;flex-direction:column;gap:10px}.debt-item{padding:14px}.debt-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.debt-name{font-weight:600;font-size:.95rem}.debt-type{font-size:.75rem;color:var(--text3);text-transform:capitalize}.debt-remaining{font-weight:700;font-size:1.1rem;color:var(--red)}.debt-progress{margin-bottom:8px}.debt-progress-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text3);margin-top:6px}.debt-details{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text3)}.strategy-card{padding:1.25rem;margin-bottom:10px}.strategy-card h4{margin-bottom:.5rem}.strategy-card p{font-size:.85rem;color:var(--text2);margin-bottom:1rem}.strategy-order{display:flex;flex-direction:column;gap:6px}.strategy-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface);border-radius:var(--radius-xs);font-size:.9rem}.strategy-rank{width:28px;height:28px;border-radius:50%;background:var(--blue-bg);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.strategy-rate{margin-left:auto;font-weight:600;color:var(--text2);font-size:.85rem}.income{color:var(--green)}.expense,.negative{color:var(--red)}.positive{color:var(--green)}.app,.app *{transition:background-color .3s ease,border-color .3s ease,color .15s ease}@supports (padding: max(0px)){.bottom-nav{padding-bottom:max(6px,env(safe-area-inset-bottom))}.screen-header{padding-top:max(.5rem,env(safe-area-inset-top))}}@keyframes pageIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}button,a,input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px}.icon-btn,.nav-item,.dot,.cal-cell,.cal-dot,.toggle-thumb,.shopping-check,.btn-small,.delete-btn,.back-btn,.swap-btn,.btn-pay,.btn-unpay{min-height:unset;min-width:unset}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
