:root{--color-income: #1e7e4a;--color-income-light: #e8f5ee;--color-expense: #9b2c2c;--color-expense-light: #fdf2f2;--color-primary: #4a5568;--color-primary-dark: #2d3748;--color-text-primary: #1a202c;--color-text-secondary: #718096;--color-text-muted: #a0aec0;--color-border: #e2e8f0;--color-bg: #f7fafc;--color-bg-card: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);--shadow-md: 0 2px 4px rgba(0, 0, 0, 0.06);--shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.08);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}.dashboard-container{padding:var(--spacing-lg) 0;max-width:1400px;margin:0 auto}.month-control-center{background:var(--color-bg-card);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.control-header{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.month-title-compact{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;text-align:center}.nav-arrow-compact{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-bg);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);font-size:24px;font-weight:var(--font-weight-bold);transition:all 0.2s ease;border:1px solid var(--color-border)}.nav-arrow-compact:hover{background:var(--color-primary);color:white;border-color:var(--color-primary);transform:scale(1.05)}.btn-today-compact{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-primary);color:white;text-decoration:none;border-radius:var(--radius-md);font-size:18px;transition:all 0.2s ease;border:1px solid var(--color-primary);margin-left:var(--spacing-sm)}.btn-today-compact:hover{background:var(--color-primary-dark);transform:scale(1.05)}.financial-summary-compact{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.balance-primary{display:flex;align-items:baseline;gap:var(--spacing-sm)}.balance-label{font-size:0.95rem;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.balance-amount{font-size:1.5rem;font-weight:var(--font-weight-bold)}.balance-amount.positive{color:var(--color-income)}.balance-amount.negative{color:var(--color-expense)}.financial-details{display:flex;align-items:center;gap:var(--spacing-sm);font-size:0.85rem;color:var(--color-text-muted)}.detail-item{display:inline-flex;gap:4px}.contextual-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:rgba(59,130,246,0.08);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);font-size:0.85rem;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.contextual-message i{color:var(--color-primary);font-size:1rem;flex-shrink:0}.contextual-message span{line-height:1.5}.emotional-feedback{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:0.85rem;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md)}.emotional-feedback i{font-size:1rem;flex-shrink:0}.positive-feedback{background:rgba(34,197,94,0.1);border-left:3px solid #22c55e;color:var(--color-text-primary)}.positive-feedback i{color:#22c55e}.negative-feedback{background:rgba(239,68,68,0.1);border-left:3px solid #ef4444;color:var(--color-text-primary)}.negative-feedback i{color:#ef4444}.detail-value{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.summary-divider{color:var(--color-text-muted)}.quick-actions-compact{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}.btn-quick-action{padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:0.9rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;gap:6px}.btn-quick-action.btn-income{background:var(--color-income);color:white;padding:12px 24px;font-size:0.95rem;box-shadow:0 2px 4px rgba(28,126,69,0.3)}.btn-quick-action.btn-income:hover{background:#176b3a;transform:translateY(-2px);box-shadow:0 4px 12px rgba(28,126,69,0.4)}.btn-quick-action.btn-expense{background:transparent;color:var(--color-expense);border:2px solid var(--color-expense);padding:10px 20px}.btn-quick-action.btn-expense:hover{background:var(--color-expense);color:white;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.month-selector-compact{display:flex;gap:6px;align-items:center;margin-left:var(--spacing-md);padding-left:var(--spacing-md);border-left:1px solid var(--color-border)}.month-selector-form-compact{display:flex;gap:6px;align-items:center}.month-select-compact,.year-select-compact{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:0.8rem;cursor:pointer;transition:all 0.2s ease}.month-select-compact:hover,.year-select-compact:hover{border-color:var(--color-text-secondary);background:var(--color-bg)}.month-select-compact:focus,.year-select-compact:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg);box-shadow:0 0 0 2px rgba(74,85,104,0.05)}.btn-go-compact{padding:8px 16px;background:var(--color-primary);color:white;border:none;border-radius:var(--radius-md);font-size:0.85rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all 0.2s ease}.btn-go-compact:hover{background:var(--color-primary-dark);transform:translateY(-1px)}@media (max-width: 768px){.month-control-center{padding:var(--spacing-md)}.month-title-compact{font-size:1.35rem}.balance-primary{flex-direction:column;gap:4px;text-align:center}.balance-label{font-size:0.85rem}.balance-amount{font-size:1.3rem}.financial-details{font-size:0.75rem;gap:var(--spacing-xs)}.detail-value{font-size:0.8rem}.quick-actions-compact{flex-direction:column;width:100%}.btn-quick-action{width:100%;justify-content:center}.month-selector-compact{width:100%;margin-left:0;padding-left:0;border-left:none}.month-selector-form-compact{width:100%}.month-select-compact,.year-select-compact{flex:1}.btn-quick-action.btn-income,.btn-quick-action.btn-expense{padding:12px 20px}.future-month-notice{bottom:70px;right:10px;left:10px;max-width:none}.future-month-notice-title{font-size:0.85rem}.future-month-notice-text{font-size:0.75rem}}.month-navigation-improved{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);background:var(--color-bg-card);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.nav-arrow{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);font-size:18px;font-weight:var(--font-weight-semibold);transition:all 0.2s ease;border:1px solid var(--color-border)}.nav-arrow:hover{background:var(--color-primary);color:white;border-color:var(--color-primary)}.month-tabs-scroll{flex:1;display:flex;gap:var(--spacing-sm);overflow-x:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.month-tabs-scroll::-webkit-scrollbar{height:4px}.month-tabs-scroll::-webkit-scrollbar-track{background:transparent}.month-tabs-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.month-tab-improved{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-muted);transition:all 0.2s ease;min-width:80px}.month-tab-improved:hover{background:var(--color-bg);color:var(--color-text-secondary)}.month-tab-improved.active{background:var(--color-primary-dark);color:white;border-color:var(--color-primary-dark)}.month-tab-improved .tab-name{font-weight:var(--font-weight-medium);font-size:0.8rem}.month-tab-improved .tab-year{font-size:0.7rem;opacity:0.7}.btn-current-month{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);font-size:0.8rem;font-weight:var(--font-weight-medium);transition:all 0.2s ease;white-space:nowrap;border:1px solid var(--color-border)}.btn-current-month:hover{background:var(--color-primary);color:white;border-color:var(--color-primary)}.month-selector{flex-shrink:0;display:flex;align-items:center}.month-selector-form{display:flex;gap:var(--spacing-sm);align-items:center}.month-select,.year-select{padding:var(--spacing-sm) 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-primary);font-size:0.85rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all 0.2s ease}.month-select:focus,.year-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(74,85,104,0.1)}.month-select:hover,.year-select:hover{border-color:var(--color-primary)}.btn-go{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary-dark);color:white;border:none;border-radius:var(--radius-md);font-size:0.85rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all 0.2s ease}.btn-go:hover{background:var(--color-text-primary)}.month-header-improved{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);background:var(--color-bg-card);padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.header-content h1{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.month-summary{font-size:0.8rem;color:var(--color-text-muted, #a0aec0);margin:0;font-weight:400;letter-spacing:0.01em}.month-summary span{color:var(--color-text-secondary, #718096)}.month-summary .positive{color:var(--color-income, #1e7e4a);font-weight:500}.month-summary .negative{color:var(--color-expense, #9b2c2c);font-weight:500}.header-actions{display:flex;gap:var(--spacing-sm)}.header-actions .btn{padding:10px 16px;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);display:flex;align-items:center;gap:6px;font-size:0.85rem;border:none;cursor:pointer;transition:all 0.2s ease}.header-actions .btn-income{background:var(--color-income, #1e7e4a);color:white}.header-actions .btn-income:hover{background:#176b3d}.header-actions .btn-expense{background:#8b4a4a;color:white}.header-actions .btn-expense:hover{background:#7a3f3f}.btn-icon{font-size:1rem}.alerts-improved{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.alert-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);border-left:3px solid;border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.alert-danger-improved{border-left-color:var(--color-expense)}.alert-warning-improved{border-left-color:#b7791f}.alert-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.alert-icon{font-size:1rem;color:var(--color-text-secondary)}.alert-header strong{font-size:0.9rem;color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.alert-body{margin-bottom:var(--spacing-sm)}.alert-transaction{padding:6px 10px;background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:6px;font-size:0.8rem;color:var(--color-text-secondary)}.alert-actions{display:flex;gap:var(--spacing-sm)}.btn-alert{padding:6px 12px;background:var(--color-primary);color:white;border:none;border-radius:var(--radius-sm);font-size:0.8rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all 0.2s ease}.btn-alert:hover{background:var(--color-primary-dark)}.cards-improved{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.card-improved{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-md);display:flex;gap:var(--spacing-md);align-items:flex-start;border:1px solid var(--color-border);transition:box-shadow 0.2s ease}.card-improved:hover{box-shadow:var(--shadow-lg)}.income-card{border-top:3px solid var(--color-income)}.expense-card{border-top:3px solid var(--color-expense)}.balance-card{border-top:3px solid var(--color-primary)}.balance-card.positive-balance{border-top-color:var(--color-income)}.balance-card.negative-balance{border-top-color:var(--color-expense)}.card-icon{font-size:1.25rem;line-height:1;color:var(--color-text-muted);margin-top:2px}.income-card .card-icon{color:var(--color-income)}.expense-card .card-icon{color:var(--color-expense)}.card-content{flex:1}.card-content h3{font-size:0.7rem;text-transform:uppercase;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);letter-spacing:0.5px;margin-bottom:var(--spacing-xs)}.card-main-value{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:2px;line-height:1.2;letter-spacing:-0.5px}.card-main-value.positive{color:var(--color-income)}.card-main-value.negative{color:var(--color-expense)}.card-sub-value{font-size:0.7rem;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.card-planned-badge{display:inline-flex;align-items:center;gap:6px;margin-top:var(--spacing-sm);padding:6px 12px;background:rgba(74,85,104,0.08);border-radius:var(--radius-md);font-size:0.75rem}.card-planned-badge i{color:var(--color-primary);font-size:0.7rem}.badge-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.badge-value{font-size:0.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.badge-value.positive{color:var(--color-income)}.badge-value.negative{color:var(--color-expense)}.insights-section{margin-bottom:var(--spacing-xl);background:var(--color-bg-card);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.insights-title{font-size:0.85rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.5px}.insights-title i{margin-right:var(--spacing-sm);color:var(--color-text-muted)}.insights-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--spacing-md)}.insight-card{background:var(--color-bg-card, #fff);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;gap:var(--spacing-sm);align-items:flex-start;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all 0.2s ease}.insight-card:hover{border-color:var(--color-primary)}.insight-card.positive-insight{border-left:3px solid var(--color-income)}.insight-card.negative-insight{border-left:3px solid var(--color-expense)}.insight-icon{font-size:1rem;color:var(--color-text-muted);margin-top:2px}.insight-content{flex:1;min-width:0}.insight-label{font-size:0.7rem;color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.insight-value{font-size:0.85rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insight-amount{font-size:0.9rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.insight-amount.positive{color:var(--color-income)}.insight-amount.negative{color:var(--color-expense)}.tables-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.table-container{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.table-header h3{font-size:0.9rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.table-header h3 i{margin-right:var(--spacing-sm);font-size:0.85rem}.table-filters{display:flex;gap:var(--spacing-sm)}.filter-select{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.8rem;background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;transition:border-color 0.2s ease}.filter-select:focus{outline:none;border-color:var(--color-primary)}.table-wrapper{max-height:450px;overflow-y:auto}.transactions-table-improved{width:100%;border-collapse:collapse}.transactions-table-improved thead{position:sticky;top:0;background:var(--color-bg);z-index:10}.transactions-table-improved th{padding:10px var(--spacing-md);text-align:left;font-size:0.7rem;text-transform:uppercase;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);letter-spacing:0.5px;border-bottom:1px solid var(--color-border)}.transactions-table-improved td{padding:12px var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:0.85rem;vertical-align:middle}.transaction-row-improved{transition:background-color 0.15s ease}.transaction-row-improved:hover{background:var(--color-bg)}.transaction-row-improved.paid{opacity:0.65}.transaction-row-improved.overdue{background:var(--color-expense-light)}.checkbox-cell{text-align:center;width:36px}.checkbox-toggle{background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:all 0.15s ease;font-size:1rem}.checkbox-toggle:hover{background:var(--color-bg)}.checkbox-toggle.loading{opacity:0.5;pointer-events:none}.checkbox-toggle:disabled{cursor:not-allowed}.description-cell strong{color:#1a202c;font-weight:var(--font-weight-semibold);font-size:0.9rem}.transaction-notes{font-size:0.7rem;color:var(--color-text-muted);margin-top:2px;display:flex;align-items:center;gap:4px}.notes-icon{font-size:0.65rem}.category-cell{text-align:center}.category-tag{display:inline-block;padding:3px 8px;background:rgba(74,85,104,0.06);color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:0.7rem;font-weight:var(--font-weight-normal)}.date-cell{font-size:0.75rem;color:#a0aec0}.date-status{display:block;margin-top:2px;font-size:0.65rem;font-weight:var(--font-weight-semibold);text-transform:uppercase}.date-status.overdue{color:var(--color-expense)}.date-status.today{color:#b7791f}.date-status.paid{color:var(--color-income)}.amount-cell{text-align:right;font-weight:var(--font-weight-bold);font-size:0.95rem}.amount-cell.income{color:var(--color-income)}.amount-cell.expense{color:var(--color-expense)}.payment-method{font-size:0.75rem;color:var(--color-text-muted);margin-top:2px;display:flex;align-items:center;justify-content:flex-end;gap:3px;cursor:help}.payment-method .method-text{display:none}.payment-method:hover .method-icon{transform:scale(1.1)}.method-icon{font-size:0.6rem}.actions-cell{text-align:center}.btn-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;text-decoration:none;border-radius:var(--radius-sm);font-size:0.75rem;margin:0 2px;transition:all 0.15s ease;border:none;cursor:pointer;background:transparent;color:var(--color-text-muted);opacity:0.5}.transaction-row-improved:hover .btn-action{opacity:1;background:var(--color-bg)}.btn-action:hover{opacity:1}.btn-action.btn-edit:hover{background:var(--color-primary);color:white}.btn-action.btn-delete:hover{background:var(--color-expense);color:white}.table-footer{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;font-weight:var(--font-weight-medium);font-size:0.85rem;color:var(--color-text-secondary)}.total-amount{font-size:1.1rem;font-weight:var(--font-weight-bold)}.total-amount.positive{color:var(--color-income)}.total-amount.negative{color:var(--color-expense)}.empty-transactions{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.empty-icon{font-size:2.5rem;margin-bottom:var(--spacing-md);opacity:0.4}.empty-transactions p{font-size:0.9rem;margin-bottom:var(--spacing-md)}.fab-container{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom, 0px));right:24px;z-index:1000}.fab{width:56px;height:56px;border-radius:50%;background:var(--color-primary-dark);border:none;color:white;font-size:1.5rem;cursor:pointer;box-shadow:var(--shadow-lg);transition:all 0.2s ease;display:none}.fab:hover{transform:scale(1.1);box-shadow:0 6px 16px rgba(102,126,234,0.5)}.fab:active{transform:scale(0.95)}.fab-icon{display:block;line-height:1}.fab-menu{position:absolute;bottom:75px;right:0;background:white;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.15);padding:10px;display:none;min-width:160px}.fab-menu.active{display:block;animation:fadeInUp 0.3s ease}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fab-option{display:flex;align-items:center;gap:12px;padding:12px 15px;text-decoration:none;color:#2c3e50;border-radius:8px;margin-bottom:5px;transition:all 0.2s ease}.fab-option:last-child{margin-bottom:0}.fab-option:hover{background:#f8f9fa}.fab-option.income:hover{background:rgba(39,174,96,0.1)}.fab-option.expense:hover{background:rgba(139,74,74,0.1)}.fab-option.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.fab-option-icon{font-size:1.5rem}.fab-option-label{font-weight:600;font-size:0.9rem;display:flex;align-items:center;gap:6px}.coming-soon{font-size:0.7rem;font-weight:normal;color:var(--color-text-muted);font-style:italic}.info-icon,.info-icon-small{color:#cbd5e0;cursor:help;user-select:none;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center}.info-icon{font-size:0.85rem;margin-left:6px}.info-icon-small{font-size:0.7rem;margin-left:4px;opacity:0.7}.info-icon:hover,.info-icon-small:hover{color:var(--color-primary);transform:scale(1.1);opacity:1}.future-month-notice{position:fixed;bottom:80px;right:20px;max-width:320px;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;padding:14px 18px;border-radius:var(--radius-lg);box-shadow:0 8px 24px rgba(102,126,234,0.35);z-index:1000;animation:slideInRight 0.4s ease;display:flex;gap:12px;align-items:flex-start}.future-month-notice-icon{font-size:1.3rem;flex-shrink:0}.future-month-notice-content{flex:1}.future-month-notice-title{font-weight:var(--font-weight-semibold);font-size:0.9rem;margin-bottom:4px}.future-month-notice-text{font-size:0.8rem;opacity:0.95;line-height:1.4}.future-month-notice-close{background:transparent;border:none;color:white;font-size:1.2rem;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:0.8;transition:opacity 0.2s;flex-shrink:0}.future-month-notice-close:hover{opacity:1}@keyframes slideInRight{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@media (max-width: 1200px){.tables-section{grid-template-columns:1fr}}@media (max-width: 768px){.month-navigation-improved{flex-wrap:wrap;gap:10px}.month-selector{width:100%;order:3}.month-selector-form{width:100%}.month-select,.year-select{flex:1}.btn-go{flex-shrink:0}.month-header-improved{flex-direction:column;align-items:flex-start;gap:20px}.header-actions{width:100%;flex-direction:column}.header-actions .btn{width:100%;justify-content:center}.cards-improved{grid-template-columns:1fr}.insights-grid{grid-template-columns:1fr}.tables-section{grid-template-columns:1fr}.fab{display:flex;align-items:center;justify-content:center}.header-actions{display:none}}.skeleton{background:linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:8px}@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-card{height:160px;margin-bottom:20px}.skeleton-table-row{height:60px;margin-bottom:10px}.skeleton-header{height:80px;margin-bottom:20px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-dialog-improved{background:white;border-radius:16px;max-width:700px;width:90%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.3);animation:slideUp 0.3s ease}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-content-improved{display:flex;flex-direction:column;height:100%}.modal-header-improved{position:relative;padding:0 16px;padding-right:56px;height:56px;min-height:56px;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;border-radius:16px 16px 0 0;display:flex;align-items:center}.modal-header-improved h3{margin:0;font-size:1.25rem;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close{position:absolute;top:50%;right:16px;transform:translateY(-50%);z-index:2;background:rgba(255,255,255,0.15);border:none;border-radius:50%;color:white;font-size:1.5rem;cursor:pointer;opacity:1;transition:background 0.2s;line-height:1;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:rgba(255,255,255,0.25)}.modal-body-improved{padding:25px 30px;overflow-y:auto;flex:1}.modal-intro{margin-bottom:20px;color:#495057;font-size:1rem}.planning-banner{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg, rgba(59,130,246,0.08) 0%, rgba(59,130,246,0.04) 100%);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.planning-banner i{color:var(--color-primary);font-size:1.5rem;flex-shrink:0;margin-top:2px}.planning-banner .banner-content{flex:1}.planning-banner strong{display:block;color:var(--color-text-primary);font-size:0.95rem;margin-bottom:var(--spacing-xs)}.planning-banner p{margin:0;color:var(--color-text-secondary);font-size:0.85rem;line-height:1.5}.copy-hint{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:rgba(99,102,241,0.06);border-radius:var(--radius-sm);font-size:0.85rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.copy-hint i{color:var(--color-primary);flex-shrink:0}.copy-tabs-container{background:white;border:1px solid #e9ecef;border-radius:12px;overflow:hidden}.copy-tab-buttons{display:flex;background:#f8f9fa;border-bottom:2px solid #e9ecef}.copy-tab-btn{flex:1;padding:15px 20px;background:none;border:none;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;transition:all 0.3s;border-bottom:3px solid transparent}.copy-tab-btn:hover{background:rgba(102,126,234,0.1);color:#667eea}.copy-tab-btn.active{color:#667eea;background:white;border-bottom-color:#667eea}.copy-tab-panel{display:none}.copy-tab-panel.active{display:block}.copy-actions{padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:10px}.btn-select-all,.btn-select-none{padding:6px 14px;border:1px solid #dee2e6;background:white;border-radius:6px;font-size:0.85rem;font-weight:600;cursor:pointer;transition:all 0.3s}.btn-select-all:hover{background:#27ae60;color:white;border-color:#27ae60}.btn-select-none:hover{background:#e74c3c;color:white;border-color:#e74c3c}.transactions-copy-list{padding:15px 20px;max-height:300px;overflow-y:auto}.transaction-copy-item{display:flex;align-items:center;padding:12px 15px;border:2px solid #e9ecef;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all 0.3s;background:white}.transaction-copy-item:hover{border-color:#667eea;background:rgba(102,126,234,0.05)}.transaction-copy-item.selected{border-color:#667eea;background:rgba(102,126,234,0.1)}.copy-checkbox{width:20px;height:20px;margin-right:15px;cursor:pointer;flex-shrink:0}.transaction-copy-info{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px;align-items:center;flex:1}.copy-desc{font-weight:600;color:#2c3e50;font-size:0.95rem}.copy-cat{padding:4px 10px;background:#e9ecef;color:#495057;border-radius:12px;font-size:0.8rem;font-weight:500;text-align:center}.copy-val{text-align:right;font-weight:700;font-family:'Courier New', monospace;font-size:1rem}.copy-val.income{color:#27ae60}.copy-val.expense{color:#e74c3c}.empty-copy{padding:40px 20px;text-align:center;color:#6c757d}.empty-copy p{font-size:1.1rem;margin:0}.copy-summary{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.copy-summary .summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e9ecef}.copy-summary .summary-item:last-child{border-bottom:none}.copy-summary .summary-item span:first-child{color:#6c757d;font-size:0.9rem}.copy-summary .summary-item strong{margin:0 10px;color:#2c3e50;font-size:1.1rem}.copy-summary .summary-item .income{color:#27ae60;font-weight:700;font-family:'Courier New', monospace}.copy-summary .summary-item .expense{color:#e74c3c;font-weight:700;font-family:'Courier New', monospace}.modal-footer-improved{padding:20px 30px;background:#f8f9fa;border-radius:0 0 16px 16px;display:flex;gap:15px;justify-content:flex-end}.btn-modal{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s}.btn-modal.btn-secondary{background:#6c757d;color:white}.btn-modal.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}.btn-modal.btn-primary{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white}.btn-modal.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,0.4)}.btn-modal:disabled{opacity:0.5;cursor:not-allowed}.btn-modal:disabled:hover{transform:none;box-shadow:none}@media (max-width: 768px){.modal-dialog-improved{width:95%;max-height:95vh}.modal-header-improved{padding:20px}.modal-body-improved{padding:20px}.transaction-copy-info{grid-template-columns:1fr;gap:8px}.copy-cat,.copy-val{text-align:left}.modal-footer-improved{flex-direction:column}.btn-modal{width:100%}}@media (min-width: 768px) and (max-width: 1200px){.modal-overlay{padding:20px;align-items:center;justify-content:center}.modal-dialog-improved{max-width:620px;width:85%;max-height:80vh;border-radius:12px;margin:0 auto;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,0.2)}.modal-content-improved{display:flex;flex-direction:column;height:100%;max-height:80vh;overflow:hidden}.modal-header-improved{position:relative;flex:0 0 56px;height:56px;min-height:56px;padding:0 16px;padding-right:56px}.modal-header-improved h3{font-size:1.1rem}.modal-body-improved{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:14px 20px;min-height:0;max-height:calc(80vh - 116px)}.planning-banner{padding:10px 14px;margin-bottom:10px;gap:10px}.planning-banner i{font-size:1.1rem}.planning-banner strong{font-size:0.85rem}.planning-banner p{font-size:0.75rem;margin-top:2px}.modal-intro{font-size:0.9rem;margin-bottom:10px}.copy-tab-buttons{gap:6px;margin-bottom:8px}.copy-tab-btn{padding:8px 14px;font-size:0.85rem}.copy-hint{padding:5px 10px;font-size:0.8rem;margin-bottom:6px}.copy-actions{padding:5px 10px;gap:10px}.btn-select-all,.btn-select-none{padding:5px 10px;font-size:0.75rem}.transactions-copy-list{max-height:none;padding:6px}.transaction-copy-item{padding:8px 12px}.copy-desc{font-size:0.9rem}.copy-cat,.copy-val{font-size:0.8rem}.copy-summary{padding:10px;margin-top:10px}.copy-summary .summary-item{font-size:0.85rem}.modal-footer-improved{flex:0 0 auto;padding:12px 20px;gap:12px;border-top:1px solid #e9ecef}.btn-modal{padding:10px 24px;font-size:0.9rem}.btn-modal.btn-secondary{background:transparent;border:1px solid #adb5bd;color:#6c757d}.btn-modal.btn-secondary:hover{background:#f8f9fa}}@media (max-width: 480px){.modal-overlay{padding:0;align-items:stretch}.modal-dialog-improved{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;max-width:100%;max-height:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column}.modal-content-improved{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden}.modal-header-improved{position:relative;flex:0 0 auto;height:52px;min-height:52px;padding:0 12px;padding-right:52px;border-radius:0;border-bottom:1px solid #e9ecef}.modal-header-improved h3{font-size:1rem}.modal-close{width:36px;height:36px;font-size:1.5rem;right:12px}.modal-body-improved{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:12px;min-height:0}.planning-banner{padding:8px 10px;margin-bottom:10px;gap:8px}.planning-banner i{font-size:1rem;flex-shrink:0}.planning-banner strong{font-size:0.85rem}.planning-banner p{font-size:0.75rem;margin:2px 0 0 0}.modal-intro{font-size:0.85rem;margin-bottom:10px}.copy-tab-buttons{gap:4px;margin-bottom:8px}.copy-tab-btn{padding:8px 12px;font-size:0.8rem;flex:1}.copy-tab-btn i{margin-right:4px}.copy-hint{padding:6px 8px;font-size:0.75rem;margin-bottom:6px}.copy-actions{padding:6px 8px;gap:8px}.btn-select-all,.btn-select-none{padding:5px 10px;font-size:0.7rem}.transactions-copy-list{max-height:none;overflow-y:visible;border:1px solid #e9ecef;border-radius:6px;padding:4px}.transaction-copy-item{padding:8px 10px}.copy-desc{font-size:0.85rem}.copy-cat,.copy-val{font-size:0.75rem}.copy-summary{padding:10px;margin-top:10px;border-radius:6px}.copy-summary .summary-item{font-size:0.8rem;flex-wrap:wrap;gap:4px}.modal-footer-improved{flex:0 0 auto;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));border-radius:0;box-shadow:0 -2px 10px rgba(0,0,0,0.1);background:#f8f9fa;display:flex;gap:10px;border-top:1px solid #e9ecef}.btn-modal{padding:10px 16px;font-size:0.85rem;flex:1;min-height:42px}.btn-modal.btn-secondary{background:transparent;border:1px solid #6c757d;color:#6c757d}.btn-modal.btn-primary{order:1}.btn-modal.btn-secondary{order:0}}@media (max-width: 375px){.modal-header-improved{height:48px;min-height:48px;padding:0 10px;padding-right:46px}.modal-header-improved h3{font-size:0.9rem}.modal-close{width:32px;height:32px;font-size:1.25rem;right:8px}.modal-body-improved{padding:10px}.planning-banner{padding:6px 8px}.planning-banner p{display:none}.modal-intro{font-size:0.8rem}.copy-tab-btn{padding:6px 10px;font-size:0.75rem}.transaction-copy-item{padding:6px 8px}.copy-desc{font-size:0.8rem}.copy-cat,.copy-val{font-size:0.7rem}.modal-footer-improved{padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom, 0px));gap:8px}.btn-modal{padding:8px 12px;font-size:0.8rem;min-height:38px}}.btn-text-short{display:none}.btn-text-full{display:inline}@media (max-width: 480px){.btn-text-short{display:inline}.btn-text-full{display:none}}@media (max-width: 896px) and (orientation: landscape){.modal-dialog-improved{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.modal-content-improved{height:100%;max-height:100%}.modal-header-improved{height:44px;min-height:44px;padding:0 10px;padding-right:44px}.modal-header-improved h3{font-size:0.9rem}.modal-close{width:32px;height:32px;font-size:1.2rem;right:8px}.modal-body-improved{padding:8px 12px}.planning-banner{display:none}.copy-hint{display:none}.transactions-copy-list{max-height:none}.modal-footer-improved{padding:6px 10px;padding-bottom:calc(6px + env(safe-area-inset-bottom, 0px))}.btn-modal{padding:8px 14px;font-size:0.8rem;min-height:36px}.btn-text-short{display:inline}.btn-text-full{display:none}}@media (max-width: 576px){body{overflow-x:hidden}.dashboard-container{padding:10px;width:100%;max-width:100vw;overflow-x:hidden}.container{padding:0 10px}.month-navigation-improved{padding:10px;gap:8px;margin-bottom:15px}.nav-arrow{width:35px;height:35px;font-size:20px}.month-tabs-scroll{scrollbar-width:none}.month-tabs-scroll::-webkit-scrollbar{display:none}.month-tab-improved{min-width:80px;padding:8px 12px}.month-tab-improved .tab-name{font-size:0.8rem}.month-tab-improved .tab-year{font-size:0.65rem}.btn-current-month{padding:8px 12px;font-size:0.75rem}.month-selector{width:100%}.month-selector-form{width:100%;gap:6px}.month-select,.year-select{padding:6px 8px;font-size:0.75rem;min-width:0}.btn-go{padding:6px 12px;font-size:0.75rem}.month-header-improved{padding:15px;margin-bottom:15px}.header-content h1{font-size:1.4rem;margin-bottom:8px}.month-summary{font-size:0.85rem;line-height:1.4}.alerts-improved{grid-template-columns:1fr;gap:10px;margin-bottom:15px}.alert-card{padding:15px}.alert-header{gap:8px;margin-bottom:10px}.alert-icon{font-size:1.2rem}.alert-header strong{font-size:0.95rem}.alert-transaction{font-size:0.8rem;padding:6px 10px}.btn-alert{padding:6px 12px;font-size:0.75rem;width:100%}.cards-improved{grid-template-columns:1fr;gap:12px;margin-bottom:15px}.card-improved{padding:15px;gap:12px}.card-icon{font-size:2rem}.card-content h3{font-size:0.75rem}.card-main-value{font-size:1.6rem}.card-sub-value{font-size:0.75rem}.card-planned-badge{padding:5px 10px;margin-top:8px;font-size:0.7rem}.card-planned-badge i{font-size:0.65rem}.badge-label{font-size:0.7rem}.badge-value{font-size:0.75rem}.insights-section{padding:15px;margin-bottom:15px}.insights-title{font-size:1.1rem;margin-bottom:15px}.insights-grid{grid-template-columns:1fr;gap:10px}.insight-card{padding:15px;gap:12px}.insight-icon{font-size:1.5rem}.insight-label{font-size:0.7rem}.insight-value{font-size:0.9rem}.insight-amount{font-size:0.85rem}.tables-section{grid-template-columns:1fr;gap:15px;margin-bottom:15px}.table-header{padding:15px;flex-direction:column;gap:10px;align-items:flex-start}.table-header h3{font-size:1rem}.table-filters{width:100%}.filter-select{width:100%;padding:8px;font-size:0.8rem}.table-wrapper{max-height:400px;overflow-x:auto}.transactions-table-improved{font-size:0.8rem}.transactions-table-improved th{padding:10px 8px;font-size:0.7rem}.transactions-table-improved td{padding:10px 8px;font-size:0.8rem}.checkbox-cell{width:30px}.checkbox-toggle{font-size:1rem}.category-tag{padding:3px 8px;font-size:0.7rem}.date-cell{font-size:0.75rem}.date-status{font-size:0.65rem}.amount-cell{font-size:0.85rem}.payment-method{font-size:0.65rem}.btn-action{width:28px;height:28px;font-size:0.75rem;margin:0 2px}.table-footer{padding:12px 15px;flex-direction:column;gap:8px;align-items:flex-start}.total-amount{font-size:1rem}.empty-transactions{padding:40px 15px}.empty-icon{font-size:3rem}.empty-transactions p{font-size:0.95rem}.fab-container{bottom:20px;right:20px}.fab{width:56px;height:56px;font-size:1.8rem}.fab-menu{bottom:70px;min-width:140px}.fab-option{padding:10px 12px;gap:10px}.fab-option-icon{font-size:1.3rem}.fab-option-label{font-size:0.85rem}}@media (min-width: 577px) and (max-width: 768px){.dashboard-container{padding:15px}.month-navigation-improved{padding:12px 15px;gap:10px}.nav-arrow{width:38px;height:38px;font-size:22px}.month-tab-improved{min-width:90px;padding:10px 16px}.btn-current-month{padding:10px 16px;font-size:0.8rem}.month-header-improved{padding:20px}.header-content h1{font-size:1.6rem}.month-summary{font-size:0.95rem}.cards-improved{grid-template-columns:1fr;gap:15px}.card-improved{padding:20px}.card-icon{font-size:2.5rem}.card-main-value{font-size:1.9rem}.insights-grid{grid-template-columns:repeat(2, 1fr);gap:12px}.table-header{padding:18px 20px}.table-footer{padding:15px 20px}}@media (max-width: 768px){*{max-width:100%}body{overflow-x:hidden}.container{max-width:100vw;overflow-x:hidden}.dashboard-container{max-width:100vw;overflow-x:hidden}.month-navigation-improved,.month-header-improved,.alerts-improved,.cards-improved,.insights-section,.tables-section,.table-container{max-width:100%;box-sizing:border-box}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.transactions-table-improved{min-width:100%;table-layout:auto}}.card-icon i{font-size:3rem;color:inherit;opacity:0.9}.income-card .card-icon i{color:#27ae60}.expense-card .card-icon i{color:#e74c3c}.balance-card .card-icon i{color:#3498db}.balance-card.positive-balance .card-icon i{color:#27ae60}.balance-card.negative-balance .card-icon i{color:#e74c3c}.alert-icon i{font-size:1.5rem;vertical-align:middle}.alert-danger-improved .alert-icon i{color:#e74c3c}.alert-warning-improved .alert-icon i{color:#f39c12}.insight-icon i{font-size:2rem;color:#667eea}.positive-insight .insight-icon i{color:#27ae60}.negative-insight .insight-icon i{color:#e74c3c}.table-header h3 i{margin-right:8px;font-size:1.1rem;vertical-align:middle}.fab i{font-size:1.5rem;line-height:1}.fab-option-icon i{font-size:1.5rem}.btn-current-month i,.header-actions .btn i{margin-right:6px;font-size:1rem}.btn-go i{margin-right:4px}.modal-header-improved h3 i{margin-right:10px;font-size:1.4rem}.copy-tab-btn i{margin-right:8px}.btn-select-all i,.btn-select-none i{margin-right:6px;font-size:0.9rem}.insights-title i{margin-right:10px;color:#f39c12}.financial-calculations-section{margin-bottom:24px}.section-title{font-size:1.3rem;color:#2c3e50;margin-bottom:16px;font-weight:600;display:flex;align-items:center;gap:8px}.section-title i{color:#667eea;font-size:1.2rem}.financial-cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-md)}.emergency-reserve-card{border-top:3px solid var(--color-primary)}.emergency-reserve-card .card-icon i{color:var(--color-primary)}.survival-rate-card{border-top:3px solid #92400e}.survival-rate-card .card-icon i{color:#92400e}.savings-capacity-card{border-top:3px solid var(--color-income)}.savings-capacity-card .card-icon i{color:var(--color-income)}.card-progress{margin:var(--spacing-sm) 0}.progress-bar{width:100%;height:6px;background-color:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background-color:var(--color-income);border-radius:var(--radius-sm);transition:width 0.4s ease}.card-message{font-size:0.75rem;color:var(--color-text-secondary);padding:var(--spacing-sm) 10px;background:var(--color-bg);border-radius:var(--radius-sm);margin:var(--spacing-sm) 0;display:flex;align-items:flex-start;gap:6px;line-height:1.4}.card-message i{font-size:0.75rem;margin-top:1px;flex-shrink:0;color:var(--color-text-muted)}.card-message.alert{background:var(--color-expense-light);color:var(--color-expense);border-left:2px solid var(--color-expense)}.card-message.alert i{color:var(--color-expense)}.card-breakdown{margin:var(--spacing-sm) 0;padding:var(--spacing-sm) 0 2px 0;border-top:1px solid var(--color-border)}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:0.75rem}.breakdown-label{color:var(--color-text-muted)}.breakdown-value{font-weight:var(--font-weight-semibold);font-size:0.8rem}.breakdown-value.positive{color:var(--color-income)}.breakdown-value.negative{color:var(--color-expense)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;color:white;border-radius:var(--radius-sm);font-size:0.65rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.3px}.card-footer{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}.footer-hint{font-size:0.7rem;color:var(--color-text-muted);font-style:normal}.input-group{display:flex;align-items:center;border:1px solid #dee2e6;border-radius:6px;overflow:hidden;transition:border-color 0.3s ease}.input-group:focus-within{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,0.1)}.input-prefix{background:#f8f9fa;padding:10px 15px;color:#6c757d;font-weight:600;border-right:1px solid #dee2e6}.input-group .form-control{border:none;flex:1}.input-group .form-control:focus{outline:none;box-shadow:none}@media (max-width: 768px){.financial-cards{grid-template-columns:1fr;gap:10px}.section-title{font-size:1.1rem}.card-footer{flex-direction:column;align-items:flex-start}.card-improved{padding:14px 16px}}@media (max-width: 576px){.section-title{font-size:1rem}.card-message{font-size:0.68rem}.breakdown-item{font-size:0.68rem}.status-badge{font-size:0.6rem;padding:2px 6px}.card-improved{padding:12px 14px;gap:10px}.card-icon{font-size:1.6rem}.card-main-value{font-size:1.5rem}}.planning-page{max-width:1400px;margin:0 auto;padding:var(--spacing-lg) 0}.planning-header{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-top:3px solid var(--color-primary-dark)}.planning-title{font-size:1.25rem;font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0;display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary)}.planning-title i{font-size:1.1rem;color:var(--color-primary)}.planning-subtitle{font-size:0.85rem;margin:0;color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.planning-info{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-md);margin-top:var(--spacing-xl)}.info-card{background:var(--color-bg-card);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.info-card h3{display:flex;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:0.85rem;font-weight:var(--font-weight-semibold)}.info-card h3 i{font-size:0.9rem;color:var(--color-text-muted)}.info-card ul{margin:0;padding-left:var(--spacing-md)}.info-card li{margin-bottom:var(--spacing-sm);line-height:1.5;font-size:0.8rem;color:var(--color-text-secondary)}.info-card li strong{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.info-card p{margin:0 0 var(--spacing-md) 0;line-height:1.5;color:var(--color-text-secondary);font-size:0.8rem}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.empty-state i{color:var(--color-text-muted);margin-bottom:var(--spacing-md);opacity:0.4}.empty-state h2{margin:var(--spacing-md) 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:1.1rem;font-weight:var(--font-weight-semibold)}.empty-state p{margin:0 0 var(--spacing-lg) 0;color:var(--color-text-secondary);font-size:0.9rem}.savings-insight-box{margin-top:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:0.85rem;line-height:1.5;border:2px solid}.savings-insight-box i{font-size:1.1rem;flex-shrink:0}.positive-insight{background:rgba(34,197,94,0.1);border-color:rgba(34,197,94,0.3);color:var(--color-text-primary)}.positive-insight i{color:#22c55e}.negative-insight{background:rgba(239,68,68,0.1);border-color:rgba(239,68,68,0.3);color:var(--color-text-primary)}.negative-insight i{color:#ef4444}.savings-insight-box strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.methodology-card{overflow:hidden}.methodology-toggle{width:100%;background:transparent;border:none;padding:0;display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--color-text-primary);font-size:0.85rem;font-weight:var(--font-weight-semibold);transition:color 0.2s ease}.methodology-toggle:hover{color:var(--color-primary)}.methodology-toggle i:first-child{font-size:0.9rem;color:var(--color-text-muted)}.methodology-toggle .toggle-arrow{margin-left:auto;font-size:0.7rem;transition:transform 0.3s ease}.methodology-toggle[aria-expanded="false"] .toggle-arrow{transform:rotate(-90deg)}.methodology-content{max-height:500px;opacity:1;overflow:hidden;transition:max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;margin-top:var(--spacing-md)}.methodology-content.collapsed{max-height:0;opacity:0;margin-top:0}.parameters-card .parameters-description{margin:0 0 var(--spacing-md) 0;line-height:1.5;color:var(--color-text-secondary);font-size:0.8rem}.parameters-card .btn{width:100%}@media (max-width: 768px){.planning-title{font-size:1.1rem}.planning-title i{font-size:1rem}.planning-subtitle{font-size:0.8rem}.planning-info{grid-template-columns:1fr}.financial-cards{grid-template-columns:1fr;gap:var(--spacing-md)}.savings-insight-box{font-size:0.8rem;padding:var(--spacing-sm)}}@media (max-width: 576px){.planning-header{padding:var(--spacing-md)}.planning-title{font-size:1rem}.planning-subtitle{font-size:0.75rem}.info-card{padding:var(--spacing-md)}.info-card li{font-size:0.75rem}.savings-insight-box{font-size:0.75rem;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}}.toast-notification{position:fixed;bottom:20px;right:20px;padding:12px 20px;border-radius:8px;color:white;font-weight:500;z-index:9999;box-shadow:0 4px 12px rgba(0,0,0,0.15);animation:toast-slide-in 0.3s ease-out;display:flex;align-items:center;gap:8px}.toast-notification.success{background:linear-gradient(135deg, #28a745 0%, #20c997 100%)}.toast-notification.error{background:linear-gradient(135deg, #dc3545 0%, #e74c3c 100%)}.toast-notification.fade-out{animation:toast-fade-out 0.3s ease-out forwards}@keyframes toast-slide-in{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes toast-fade-out{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@media (max-width: 480px){.toast-notification{left:20px;right:20px;bottom:10px;font-size:0.875rem;padding:10px 16px}}.pix-radar-section{margin-bottom:var(--spacing-lg)}.pix-radar-card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-top:3px solid var(--color-primary);overflow:hidden}.pix-radar-card:hover{box-shadow:var(--shadow-md)}.pix-radar--success{border-top-color:var(--color-income)}.pix-radar--warning{border-top-color:#b7791f}.pix-radar--danger{border-top-color:var(--color-expense)}.pix-radar__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.pix-radar__title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:0.85rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.pix-radar__title i{color:var(--color-primary);font-size:0.9rem}.pix-radar__badge{padding:4px 10px;border-radius:var(--radius-sm);font-size:0.65rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.3px}.pix-radar__badge--success{background:var(--color-income-light);color:var(--color-income)}.pix-radar__badge--warning{background:#fef3c7;color:#92400e}.pix-radar__badge--danger{background:var(--color-expense-light);color:var(--color-expense)}.pix-radar__header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.pix-radar__hide-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);transition:all 0.15s ease;text-decoration:none;border:none;cursor:pointer}.pix-radar__hide-btn:hover{background:var(--color-border);color:var(--color-text-secondary);text-decoration:none}.pix-radar__hide-btn i{font-size:0.7rem}.pix-radar-hide-form{display:inline}.pix-radar-show-form{display:block}.pix-radar-hidden{margin-bottom:var(--spacing-lg)}.pix-radar-show-link{border:none;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:0.8rem;font-weight:var(--font-weight-medium);text-decoration:none;transition:all 0.15s ease}.pix-radar-show-link:hover{background:var(--color-bg-card);border-color:var(--color-primary);text-decoration:none;color:var(--color-primary)}.pix-radar-show-link i:first-child{font-size:0.85rem}.pix-radar-show-link i:last-child{font-size:0.65rem}.pix-radar__body{padding:var(--spacing-lg)}.pix-radar__main-value{text-align:center;margin-bottom:var(--spacing-md)}.pix-radar__label{display:block;font-size:0.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:var(--spacing-xs)}.pix-radar__amount{display:block;font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.pix-radar__progress{margin-bottom:var(--spacing-md)}.pix-radar__progress-track{position:relative;height:8px;background:var(--color-border);border-radius:var(--radius-sm);overflow:visible}.pix-radar__progress-fill{height:100%;border-radius:5px;transition:width 0.5s ease}.pix-radar__progress-fill--success{background:linear-gradient(90deg, #27ae60, #2ecc71)}.pix-radar__progress-fill--warning{background:linear-gradient(90deg, #f39c12, #f1c40f)}.pix-radar__progress-fill--danger{background:linear-gradient(90deg, #e74c3c, #c0392b)}.pix-radar__progress-markers{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.pix-radar__progress-markers .marker{position:absolute;top:-2px;bottom:-2px;width:2px;border-radius:1px}.marker--warning{background:rgba(243,156,18,0.6)}.marker--danger{background:rgba(231,76,60,0.6)}.pix-radar__progress-text{display:block;text-align:center;font-size:0.8rem;color:#6c757d;margin-top:8px}.pix-radar__grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:10px;margin-bottom:16px}.pix-radar__grid-item{display:flex;align-items:center;gap:10px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.pix-radar__grid-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:0.85rem;flex-shrink:0}.pix-radar__grid-item--received .pix-radar__grid-icon{background:rgba(39,174,96,0.12);color:#27ae60}.pix-radar__grid-item--sent .pix-radar__grid-icon{background:rgba(231,76,60,0.12);color:#e74c3c}.pix-radar__grid-item--limit .pix-radar__grid-icon{background:rgba(102,126,234,0.12);color:#667eea}.pix-radar__grid-item--available .pix-radar__grid-icon{background:rgba(32,201,151,0.12);color:#20c997}.pix-radar__grid-data{display:flex;flex-direction:column;min-width:0}.pix-radar__grid-label{font-size:0.65rem;color:#6c757d;text-transform:uppercase;letter-spacing:0.3px}.pix-radar__grid-value{font-size:0.9rem;font-weight:600;color:#2c3e50}.pix-radar__info{padding:14px;border-radius:8px;margin-bottom:12px}.pix-radar__info--success{background:rgba(39,174,96,0.08);border:1px solid rgba(39,174,96,0.2)}.pix-radar__info--warning{background:rgba(243,156,18,0.08);border:1px solid rgba(243,156,18,0.2)}.pix-radar__info--danger{background:rgba(231,76,60,0.08);border:1px solid rgba(231,76,60,0.2)}.pix-radar__info-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;font-size:0.8rem}.pix-radar__info--success .pix-radar__info-header{color:#1e8449}.pix-radar__info--warning .pix-radar__info-header{color:#9a7b0a}.pix-radar__info--danger .pix-radar__info-header{color:#922b21}.pix-radar__info-text{margin:0;font-size:0.8rem;line-height:1.5;color:#495057}.pix-radar__details{margin-top:4px}.pix-radar__details-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:transparent;border:1px dashed #dee2e6;border-radius:8px;cursor:pointer;font-size:0.8rem;color:#6c757d;transition:all 0.2s ease;list-style:none}.pix-radar__details-toggle::-webkit-details-marker{display:none}.pix-radar__details-toggle:hover{background:#f8f9fa;border-color:#adb5bd;color:#495057}.pix-radar__details-arrow{margin-left:auto;transition:transform 0.25s ease;font-size:0.7rem}.pix-radar__details[open] .pix-radar__details-arrow{transform:rotate(180deg)}.pix-radar__details-content{padding:14px;margin-top:10px;background:#f8f9fa;border-radius:8px;font-size:0.8rem;color:#495057;line-height:1.6}.pix-radar__details-content p{margin:0 0 10px}.pix-radar__details-content ul{margin:0 0 10px;padding-left:18px}.pix-radar__details-content li{margin-bottom:4px}.pix-radar__details-note{margin:0;padding-top:10px;border-top:1px dashed #dee2e6;font-size:0.75rem;color:#6c757d}@media (max-width: 992px){.pix-radar__grid{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 768px){.pix-radar__header{flex-direction:column;align-items:flex-start;gap:10px}.pix-radar__badge{align-self:flex-start}.pix-radar__amount{font-size:1.6rem}.pix-radar__grid{grid-template-columns:repeat(2, 1fr);gap:8px}.pix-radar__grid-item{padding:10px}.pix-radar__grid-value{font-size:0.85rem}}@media (max-width: 480px){.pix-radar__body{padding:14px}.pix-radar__amount{font-size:1.5rem}.pix-radar__grid{grid-template-columns:1fr 1fr}.pix-radar__grid-icon{width:28px;height:28px;font-size:0.75rem}.pix-radar__grid-label{font-size:0.6rem}.pix-radar__grid-value{font-size:0.8rem}.pix-radar__info{padding:12px}.pix-radar__progress-track{height:8px}}#editTransactionForm .form-group{margin-bottom:16px}#editTransactionForm label{display:block;font-weight:600;color:#495057;margin-bottom:6px;font-size:0.9rem}#editTransactionForm .form-control{width:100%;padding:10px 12px;border:1px solid #dee2e6;border-radius:8px;font-size:1rem;transition:border-color 0.2s, box-shadow 0.2s;background:#fff;box-sizing:border-box}#editTransactionForm .form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,0.15)}#editTransactionForm select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;padding-right:36px}#editTransactionForm textarea.form-control{resize:vertical;min-height:60px}#editTransactionForm .form-row{display:flex;gap:16px}#editTransactionForm .form-group.half{flex:1}@media (max-width: 480px){#editTransactionForm .form-row{flex-direction:column;gap:0}#editTransactionForm .form-control{padding:12px;font-size:16px}}
