body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.budget-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.budget-form-container{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.budget-form-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 24px 16px}.budget-form-header h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:background .2s,color .2s;width:32px}.close-btn:hover{background:#f3f4f6;color:#1f2937}.budget-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px}.form-group input,.form-group select{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-hint{color:#6b7280;display:block;font-size:.75rem;line-height:1.4;margin-top:6px}.category-toggle{display:flex;gap:8px;margin-bottom:12px}.category-toggle button{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:8px 16px;transition:all .2s}.category-toggle button:hover{background:#f9fafb;border-color:#d1d5db}.category-toggle button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;margin-top:24px;padding-top:20px}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover{background:#e5e7eb}.btn-submit{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.btn-submit:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}@media (max-width:640px){.budget-form-overlay{padding:0}.budget-form-container{border-radius:0;max-height:100vh;max-width:100%}.budget-form,.budget-form-header{padding:20px}}.budget-item{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px;padding:20px;transition:transform .2s,box-shadow .2s}.budget-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.budget-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.budget-item-title{align-items:center;display:flex;flex:1 1;gap:12px}.budget-item-title h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.budget-badge{border-radius:16px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.budget-item-actions{display:flex;gap:8px}.btn-delete,.btn-edit{background:none;border:none;border-radius:6px;cursor:pointer;font-size:1.1rem;padding:6px;transition:background .2s}.btn-edit:hover{background:#f3f4f6}.btn-delete:hover{background:#fee2e2}.budget-item-details{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:12px}.budget-amount{font-size:1.5rem;font-weight:700}.budget-amount .spent{font-size:1.75rem}.budget-amount .separator{color:#9ca3af;margin:0 8px}.budget-amount .limit{color:#6b7280}.budget-percentage{font-size:1.25rem;font-weight:700}.budget-progress-bar{background:#e5e7eb;border-radius:6px;height:12px;margin-bottom:12px;overflow:hidden}.budget-progress-fill{border-radius:6px;height:100%;transition:width .3s ease,background-color .3s ease}.budget-badge.global{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.budget-badge.budgetwallet{background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff}.budget-item-footer{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.budget-date{color:#6b7280}.budget-warning{color:#ef4444;font-weight:600}.budget-warning-soft{color:#f59e0b;font-weight:600}@media (max-width:640px){.budget-item{padding:16px}.budget-item-title h3{font-size:1.1rem}.budget-amount{font-size:1.25rem}.budget-amount .spent{font-size:1.5rem}.budget-percentage{font-size:1.1rem}.budget-item-footer{align-items:flex-start;flex-direction:column;gap:4px}}.budget-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.budget-header{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:24px;padding:24px}.budget-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.budget-header-top h1{color:#1f2937;font-size:2rem;font-weight:800;margin:0}.btn-add-budget{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.btn-add-budget:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.wallet-selector{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.wallet-selector label{color:#374151;font-weight:600;white-space:nowrap}.wallet-selector select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;padding:10px 14px;transition:border-color .2s}.wallet-selector select:focus{border-color:#3b82f6;outline:none}.budget-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;transition:transform .2s,box-shadow .2s}.summary-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.summary-label{font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.summary-value{font-size:1.75rem}.summary-value.exceeded{color:#ef4444}.summary-value.warning{color:#f59e0b}.budget-controls{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:200px}.filter-group label{color:#374151;font-size:.875rem;font-weight:600}.filter-group select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;padding:10px 14px;transition:border-color .2s}.filter-group select:focus{border-color:#3b82f6;outline:none}.budget-list{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:20px}.empty-icon{font-size:4rem}.empty-state h3{font-size:1.5rem;margin:0 0 12px}.empty-state p{margin:0 auto 24px;max-width:400px}@media (max-width:768px){.budget-page{padding:16px}.budget-header-top{align-items:stretch;flex-direction:column;gap:16px}.budget-header-top h1{font-size:1.5rem;text-align:center}.budget-summary{grid-template-columns:repeat(2,1fr)}.budget-controls{flex-direction:column}.filter-group{min-width:100%}.wallet-selector{align-items:stretch;flex-direction:column}}@media (max-width:480px){.budget-summary{grid-template-columns:1fr}}.storage-error-banner{align-items:center;background:#fff7ed;border:1px solid #fde68a;border-radius:8px;color:#92400e;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.btn-clear-storage{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 12px}.analytics-page{background:#f5f7fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.analytics-header{margin-bottom:24px}.analytics-header h1{color:#1f2937;font-size:2rem;font-weight:800;margin:0 0 8px}.analytics-subtitle{color:#6b7280;font-size:1rem;margin:0}.analytics-filters{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:20px}.filter-section{margin-bottom:16px}.filter-section:last-child{margin-bottom:0}.filter-section label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}.time-filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.time-filter-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 16px;transition:all .2s}.time-filter-btn:hover{background:#f9fafb;border-color:#d1d5db}.time-filter-btn.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.wallet-filter{display:flex;flex-direction:column;gap:12px}.wallet-filter-all{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:600;max-width:160px;padding:8px 16px;transition:all .2s}.wallet-filter-all:hover{background:#e5e7eb}.wallet-chips{display:flex;flex-wrap:wrap;gap:8px}.wallet-chip{background:#fff;border:2px solid #e5e7eb;border-radius:20px;color:#6b7280;cursor:pointer;font-size:.875rem;padding:6px 14px;transition:all .2s}.wallet-chip:hover{border-color:#d1d5db}.wallet-chip.active{background:#f3f0ff;border-color:#8b5cf6;color:#8b5cf6}.analytics-loading{padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#8b5cf6;height:48px;margin:0 auto 16px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.analytics-empty,.analytics-error{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:60px 20px;text-align:center}.empty-icon,.error-icon{font-size:4rem;margin-bottom:16px}.analytics-empty h3,.analytics-error h3{color:#1f2937;margin:0 0 8px}.analytics-empty p,.analytics-error p{color:#6b7280;margin:0 0 24px}.btn-retry{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.stat-card{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.stat-icon.income{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.expense{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-icon.net{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.stat-icon.average{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-content{flex:1 1}.stat-label{color:#6b7280;font-size:.875rem;font-weight:500;margin:0 0 4px}.stat-value{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 4px}.stat-value.positive{color:#10b981}.stat-value.negative{color:#ef4444}.stat-change,.stat-info{color:#6b7280;font-size:.75rem;margin:0}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.arrow{font-weight:700}.charts-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.chart-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px}.chart-card.full-width{grid-column:1/-1}.chart-header{border-bottom:1px solid #e5e7eb;margin-bottom:16px;padding-bottom:12px}.chart-header h3{color:#1f2937;font-size:1.125rem;font-weight:700;margin:0 0 4px}.chart-subtitle{color:#6b7280;font-size:.875rem;margin:0}.chart-container{min-height:300px}.chart-empty-state{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:300px;text-align:center}.recharts-layer.recharts-pie,.recharts-sector:focus{outline:none!important;outline-color:none;outline-style:none;outline-width:none}.custom-tooltip{background:#1f2937f2;border:none;border-radius:8px;box-shadow:0 4px 12px #0003;padding:12px}.tooltip-label{color:#fff;margin:0 0 6px}.tooltip-label,.tooltip-value{font-size:.875rem;font-weight:600}.tooltip-value{margin:4px 0}.tooltip-info{color:#d1d5db;font-size:.75rem;margin:4px 0}.top-categories{display:flex;flex-direction:column;gap:12px}.category-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:12px;transition:background .2s}.category-item:hover{background:#f3f4f6}.category-info{gap:12px}.category-info,.category-rank{align-items:center;display:flex}.category-rank{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:50%;color:#fff;font-size:.75rem;font-weight:700;height:28px;justify-content:center;width:28px}.category-name{color:#1f2937;font-weight:600}.category-stats{align-items:flex-end;display:flex;flex-direction:column}.category-amount{color:#1f2937;font-size:1rem;font-weight:700}.category-count{color:#6b7280;font-size:.75rem}.summary-info{display:flex;flex-direction:column;gap:12px}.summary-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.summary-label{color:#6b7280;font-size:.875rem;font-weight:500}.summary-value{color:#1f2937;font-size:1rem;font-weight:700}.empty-state{color:#6b7280;padding:20px}@media (max-width:1024px){.charts-grid{grid-template-columns:1fr}.chart-card.full-width{grid-column:1}}@media (max-width:768px){.analytics-page{padding:16px}.analytics-header h1{font-size:1.5rem}.stats-grid{grid-template-columns:1fr}.chart-card,.stat-card{padding:16px}.time-filter-buttons{justify-content:space-between}.time-filter-btn{flex:1 1;min-width:60px}}@media (max-width:480px){.analytics-page{padding:12px}.analytics-header h1,.stat-icon,.stat-value{font-size:1.25rem}.stat-icon{height:40px;width:40px}}.historySummary{border-radius:10px;box-sizing:border-box;display:flex;flex-direction:column;min-height:400px;position:relative;text-align:left}.pageControls{background-color:inherit;bottom:0;display:flex;gap:10px;justify-content:center;left:0;padding:14px 0 0;position:absolute;width:100%}.pageControls button{cursor:pointer}.totalSummary{min-height:100px;text-align:left}.specialIcon{align-items:center;border-radius:50%;display:inline-flex;font-weight:700;justify-content:center}.specialIcon svg{position:relative;top:0}.progressBarContainer{display:flex;flex-direction:column}.progressBar{margin-bottom:16px;max-width:410px;text-align:left;width:100%}.totalProgressBar{background:#e5e7eb;border-radius:6px;height:12px;overflow:hidden}.totalProgressFill{border-radius:6px;height:100%;transition:width .5s ease,background-color .5s ease}.totalCategory{padding-bottom:10px}.loadingElement{align-items:center;background:#ffffffb3;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.budgetReminder{margin-top:auto;text-align:left}.budgetBox{background-color:#f3f3f3;border:1px #eee;border-radius:10px;font-size:16px;padding:30px}.budgetReminder p{margin:4px 0}.buttonWrapper{margin-top:30px;text-align:center}.buttonWrapper button{cursor:pointer;display:inline-block;font-size:16px}.btnGoBudget{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.btnGoBudget:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.dashboardWrapper{margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.dashboardHeader{margin-bottom:24px}.dashboardHeader h1{color:#1f2937;font-size:2rem;font-weight:800;margin:0 0 8px}.dashboardSubtitle{color:#6b7280;display:inline-flex;font-size:1rem;margin:0}.dashboardBody{grid-gap:16px;background:#f5f7fa;border-radius:30px;display:grid;gap:16px;grid-template-columns:2fr 1fr}@media (max-width:680px){.dashboardBody{grid-template-columns:1fr}}.balance-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.balance-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.balance-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.balance-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:1.75rem;height:56px;justify-content:center;width:56px}.balance-total .balance-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.balance-income .balance-icon{background:linear-gradient(135deg,#10b981,#059669)}.balance-expense .balance-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.balance-content{flex:1 1}.balance-label{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.balance-value{color:#1f2937;font-size:1.75rem;font-weight:700;margin:0}.balance-value.positive{color:#10b981}.balance-value.negative{color:#ef4444}@media (max-width:768px){.balance-summary{grid-template-columns:1fr}.balance-card{padding:20px}.balance-icon{height:48px;width:48px}.balance-icon,.balance-value{font-size:1.5rem}}.transaction-form-container{margin-bottom:24px}.transaction-form-open-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.transaction-form-open-btn:hover:not(:disabled){box-shadow:0 10px 20px #8b5cf64d;transform:translateY(-2px)}.transaction-form-open-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.transaction-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.transaction-form h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 20px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.transaction-form-input,.transaction-form-select{border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .2s}.transaction-form-input:focus,.transaction-form-select:focus{border-color:#8b5cf6;outline:none}.transaction-form-buttons{display:flex;gap:12px}.transaction-form-submit-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.transaction-form-submit-btn:hover{box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-2px)}.transaction-form-cancel-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .2s}.transaction-form-cancel-btn:hover{background:#e5e7eb}.transaction-form-warning{color:#ef4444;font-size:.875rem;margin-top:12px;text-align:center}@media (max-width:768px){.form-row{grid-template-columns:1fr}.transaction-form-buttons{flex-direction:column}}.transaction-list-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto;padding:24px}.transaction-row,.transaction-table-header{min-width:850px}.transaction-top-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.transaction-top-row h2{color:#1f2937;flex-wrap:wrap;font-size:1.5rem;font-weight:700;margin:0}.transaction-top-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.search-box{flex:1 1;min-width:250px;position:relative}.search-icon{color:#9ca3af;font-size:.875rem;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:10px 10px 10px 36px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#8b5cf6;outline:none}.transaction-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;min-width:150px;padding:10px 14px;transition:border-color .2s}.transaction-select:focus{border-color:#8b5cf6;outline:none}.transaction-table-header{grid-gap:40px;align-items:center;background:#f3f4f6;border-radius:8px;color:#374151;display:grid;font-size:.875rem;font-weight:700;gap:40px;grid-template-columns:1fr 1fr 1fr .8fr 1.2fr .5fr;margin-bottom:8px;padding:12px 16px}.transaction-table-header.with-wallet{grid-template-columns:.8fr 1fr 1fr .8fr .8fr 1.2fr .5fr}.transaction-table-header span{text-align:left}.transaction-table-header .amount-header,.transaction-table-header .type-header{padding-left:16px;text-align:left}.transaction-table-header .date-header{text-align:left}.transaction-table-header .action-header{text-align:center}.transaction-table-body{display:flex;flex-direction:column;gap:8px}.transaction-row{grid-gap:40px;align-items:center;background:#f9fafb;border-radius:8px;display:grid;gap:40px;grid-template-columns:1fr 1fr 1fr .8fr 1.2fr .5fr;padding:12px 16px;transition:background .2s,transform .2s}.transaction-row.with-wallet{grid-template-columns:.8fr 1fr 1fr .8fr .8fr 1.2fr .5fr}.transaction-row:hover{background:#f3f4f6;transform:translateX(4px)}.transaction-row>span{font-size:.95rem;text-align:left}.transaction-id{color:#6b7280;font-family:Courier New,monospace;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-cell{color:#374151;font-weight:500}.amount-cell{font-size:1rem;font-weight:700;text-align:right}.amount-cell.income{color:#10b981}.amount-cell.expense{color:#ef4444}.type-badge{border-radius:6px;display:inline-block;font-size:.875rem;font-weight:600;margin:0 auto;padding:6px 12px;text-align:center;text-transform:capitalize;width:-webkit-fit-content;width:fit-content}.type-badge.income{background:#d1fae5;color:#065f46}.type-badge.expense{background:#fee2e2;color:#991b1b}.date-cell{color:#6b7280;font-size:.875rem}.wallet-name{color:#8b5cf6;font-size:.875rem;font-weight:600}.transaction-delete-btn{font-size:1rem;margin:0 auto;transition:all .2s}.empty-state{padding:60px 20px;text-align:center}.empty-icon{font-size:3rem;margin-bottom:16px}.empty-state h3{color:#1f2937;font-size:1.25rem;margin:0 0 8px}.empty-state p{color:#6b7280;margin:0}.transaction{background:#f5f7fa;margin:0 auto;max-width:1400px;min-height:1vh;padding:0 24px 24px}.transaction-header{margin-bottom:24px}.transaction-header h1{color:#1f2937;font-size:2rem;font-weight:800;margin:0 0 8px}.transaction-subtitle{color:#6b7280;font-size:1rem;margin:0}@media (max-width:768px){.transaction{padding:16px}.transaction-header h1{font-size:1.5rem}}.wallet-form-create-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.wallet-form-create-btn:hover{box-shadow:0 10px 20px #8b5cf64d;transform:translateY(-2px)}.wallet-form{background:#fff;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;left:50%;min-width:400px;padding:24px;top:50%;transform:translate(-50%,-50%);z-index:1000}.wallet-form,.wallet-form:before{border-radius:16px;position:fixed}.wallet-form:before{background:#00000080;bottom:0;content:"";left:0;right:0;top:0;z-index:-1}.wallet-form h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 20px}.wallet-form-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:1rem;margin-bottom:16px;padding:12px;transition:border-color .2s;width:100%}.wallet-form-input:focus{border-color:#8b5cf6;outline:none}.wallet-form-buttons{display:flex;gap:12px;margin-top:20px}.wallet-form-submit-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.wallet-form-submit-btn:hover{box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-2px)}.wallet-form-cancel-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .2s}.wallet-form-cancel-btn:hover{background:#e5e7eb}@media (max-width:480px){.wallet-form{min-width:90%;padding:20px}}.wallet-carousel{margin-bottom:24px}.wallet-carousel-empty{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:40px 20px;text-align:center}.wallet-carousel-empty p{color:#6b7280;font-size:1rem;margin:0}.wallet-carousel-scroll{display:flex;gap:16px;overflow-x:auto;padding:8px 0 16px;scroll-behavior:smooth}.wallet-carousel-scroll::-webkit-scrollbar{height:8px}.wallet-carousel-scroll::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.wallet-carousel-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.wallet-carousel-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.wallet-mini-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#fff;cursor:pointer;min-width:240px;padding:20px;position:relative;transition:transform .2s,box-shadow .2s}.wallet-mini-card:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-4px)}.wallet-mini-card.active{border:3px solid #8b5cf6;box-shadow:0 10px 20px #8b5cf666}.wallet-mini-card-delete{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;position:absolute;right:12px;top:12px;transition:background .2s;width:32px}.wallet-mini-card-delete:hover{background:#ef4444e6}.wallet-mini-card-content{margin-top:8px}.wallet-mini-name{font-size:.875rem;font-weight:500;letter-spacing:.5px;margin:0 0 8px;opacity:.9}.wallet-mini-balance{font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin:0 0 16px}.wallet-mini-cardnumber{font-family:Courier New,monospace;font-size:.875rem;font-weight:500;letter-spacing:2px;margin:0;opacity:.8}@media (max-width:768px){.wallet-mini-card{min-width:200px}}.wallet-details{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:24px}.wallet-details h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 20px}.wallet-details-empty{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:60px 20px;text-align:center}.wallet-details-empty p{color:#6b7280;margin:0}.wallet-details-card{grid-gap:24px;display:grid;gap:24px}.wallet-card-visual{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 10px 20px #667eea4d;color:#fff;min-height:200px;padding:24px;position:relative}.wallet-card-chip{background:linear-gradient(135deg,#f6d365,#fda085);border-radius:8px;height:40px;margin-bottom:20px;opacity:.9;width:50px}.wallet-card-name{font-size:.875rem;font-weight:500;letter-spacing:1px;margin:0 0 8px;opacity:.9;text-transform:uppercase}.wallet-card-number{font-family:Courier New,monospace;font-size:1.5rem;font-weight:600;letter-spacing:3px;margin:0 0 24px}.wallet-card-bottom{align-items:flex-end;display:flex;justify-content:space-between}.wallet-card-bottom>div{display:flex;flex-direction:column;gap:4px}.wallet-card-bottom small{font-size:.625rem;letter-spacing:.5px;opacity:.7;text-transform:uppercase}.wallet-card-bottom p{font-size:.875rem;font-weight:600;margin:0}.wallet-balance-section{background:#f9fafb;border-radius:12px;padding:20px;text-align:center}.wallet-balance-section h3{color:#6b7280;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.wallet-balance-amount{color:#10b981;font-size:2.5rem;font-weight:700;margin:0}.wallet-balance-amount.negative{color:#ef4444}.wallet-spending-breakdown{background:#f9fafb;border-radius:12px;padding:20px}.wallet-spending-breakdown h3{color:#1f2937;font-size:1rem;font-weight:700;margin:0 0 16px}.category-bars{gap:12px}.category-bar-item,.category-bars{display:flex;flex-direction:column}.category-bar-item{gap:6px}.category-bar-label{display:flex;font-size:.875rem;justify-content:space-between}.category-bar-label span:first-child{color:#374151;font-weight:600}.category-bar-label span:last-child{color:#6b7280;font-weight:500}.category-bar-bg{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.category-bar-fill{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:4px;height:100%;transition:width .3s ease}@media (max-width:768px){.wallet-card-visual{min-height:180px;padding:20px}.wallet-card-number{font-size:1.25rem}.wallet-balance-amount{font-size:2rem}}.wallet-transactions{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.wallet-transactions h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 20px}.no-transactions{color:#6b7280;font-size:1rem;padding:40px 20px;text-align:center}.transaction-list{display:flex;flex-direction:column;gap:8px}.transaction-item{align-items:center;background:#f9fafb;border-left:4px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:background .2s,transform .2s}.transaction-item:hover{background:#f3f4f6;transform:translateX(4px)}.transaction-item.income{border-left-color:#10b981}.transaction-item.expense{border-left-color:#ef4444}.transaction-left{display:flex;flex-direction:column;gap:4px}.transaction-category{color:#1f2937;font-size:1rem;font-weight:600}.transaction-date{color:#6b7280;font-size:.875rem}.transaction-description{color:#9ca3af;font-size:.875rem;font-style:italic}.transaction-right{align-items:center;display:flex;gap:16px}.transaction-amount{font-size:1.125rem;font-weight:700}.transaction-amount.income{color:#10b981}.transaction-amount.expense{color:#ef4444}.transaction-delete-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:color .2s,background .2s}.transaction-delete-btn:hover{background:#fee2e2;color:#ef4444}@media (max-width:768px){.transaction-item{align-items:flex-start;flex-direction:column;gap:12px}.transaction-right{justify-content:space-between;width:100%}}.transfer-form-container{margin-bottom:24px}.transfer-form-open-btn{background:linear-gradient(135deg,#ff9800,#f57c00);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.transfer-form-open-btn:hover:not(:disabled){box-shadow:0 10px 20px #f57c004d;transform:translateY(-2px)}.transfer-form-open-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.transfer-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.transfer-form h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:6px}.transfer-form-input,.transfer-form-select{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px;transition:border-color .2s;width:100%}.transfer-form-input:focus,.transfer-form-select:focus{border-color:#ff9800;outline:none}.balance-info{color:#10b981;display:block;font-size:.875rem;font-weight:600;margin-top:6px}.transfer-form-buttons{display:flex;gap:12px;margin-top:24px}.transfer-form-submit-btn{background:linear-gradient(135deg,#ff9800,#f57c00);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.transfer-form-submit-btn:hover{box-shadow:0 4px 12px #f57c004d;transform:translateY(-2px)}.transfer-form-cancel-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .2s}.transfer-form-cancel-btn:hover{background:#e5e7eb}.transfer-form-warning{color:#ef4444;font-size:.875rem;font-style:italic;margin-top:12px;text-align:center}@media (max-width:768px){.transfer-form{padding:20px}.transfer-form-buttons{flex-direction:column}}.wallet{margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.wallet-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.wallet-header h1{color:#1f2937;font-size:2rem;font-weight:800;margin:0}@media (max-width:768px){.wallet{padding:16px}.wallet-header{align-items:flex-start;flex-direction:column;gap:16px}.wallet-header h1{font-size:1.5rem}}.error-boundary-root{align-items:center;background:#f5f7fa;display:flex;justify-content:center;min-height:100vh;padding:24px}.error-card{background:#fff;border-radius:12px;box-shadow:0 8px 30px #10182814;max-width:720px;padding:28px;text-align:center;width:100%}.error-illustration{font-size:48px;margin-bottom:12px}.error-card h2{color:#1f2937;margin:0 0 8px}.error-card p{color:#6b7280;margin:0 0 18px}.error-actions{display:flex;gap:12px;justify-content:center;margin-bottom:12px}.btn-primary{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 16px}.btn-secondary{background:#f3f4f6;color:#1f2937}.error-details{color:#374151;margin-top:12px;text-align:left}.error-details pre{background:#f9fafb;border-radius:8px;overflow:auto;padding:12px}.App{background:#f5f7fa;min-height:100vh}.app-nav{background:#fff;box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:16px 24px}.FaIcon{position:relative;top:2.5px}.app-title{color:#1f2937;font-size:1.5rem;font-weight:800;margin:0}.nav-buttons{display:flex;gap:12px}.nav-btn svg{padding-right:5px;position:relative;top:1px}.nav-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;justify-content:center;padding:10px 20px;text-decoration:none;transition:all .2s}.nav-btn:hover{background:#f9fafb;border-color:#d1d5db}.nav-btn.active{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-color:#8b5cf6;color:#fff}@media (max-width:768px){.nav-container{flex-direction:column;gap:12px;padding:12px 16px}.app-title{font-size:1.25rem}.nav-buttons{width:100%}.nav-btn{flex:1 1}}@media (max-width:700px){.navText{display:none}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.98792597.css.map*/