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}.multi-wallet-selector{background:#ffffff0d;border-radius:12px;margin:20px;overflow:hidden}.wallet-selector-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:background .2s}.wallet-selector-header:hover{background:#ffffff14}.selected-display{align-items:center;display:flex;flex:1 1;gap:12px}.wallet-icon{font-size:24px}.selected-text{flex:1 1}.selected-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.selected-value{color:#fff;font-size:14px;font-weight:600}.dropdown-arrow{color:#94a3b8;font-size:12px;transition:transform .3s}.dropdown-arrow.open{transform:rotate(180deg)}.wallet-dropdown{border-top:1px solid #ffffff1a;max-height:400px;overflow-y:auto}.wallet-option{align-items:center;border-left:3px solid #0000;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background .2s}.wallet-option:hover:not(.disabled){background:#ffffff14}.wallet-option.selected{background:#667eea33;border-left-color:#667eea}.wallet-option.disabled{cursor:not-allowed;opacity:.4}.wallet-option input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.wallet-option.disabled input[type=checkbox]{cursor:not-allowed}.wallet-option-icon{font-size:20px}.wallet-option-info{flex:1 1}.wallet-option-name,.wallet-option-text{color:#fff;font-size:14px;font-weight:500}.wallet-option-name{margin-bottom:2px}.wallet-option-currency{color:#94a3b8;font-size:12px;font-weight:500}.wallet-divider{background:#ffffff1a;height:1px;margin:8px 16px}.wallet-hint{background:#667eea1a;border-top:1px solid #ffffff1a;color:#94a3b8;font-size:11px;padding:12px 16px}.wallet-dropdown::-webkit-scrollbar{width:6px}.wallet-dropdown::-webkit-scrollbar-track{background:#0003}.wallet-dropdown::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.wallet-dropdown::-webkit-scrollbar-thumb:hover{background:#fff6}.no-wallets-message{color:#64748b;padding:20px;text-align:center}.no-wallets-message p{margin:8px 0}.no-wallets-message p:first-child{color:#f59e0b;font-weight:600}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.auth-card h1{color:#667eea;font-size:32px;margin-bottom:10px;text-align:center}.auth-card h2{color:#333;font-size:24px;font-weight:400;margin-bottom:30px;text-align:center}.form-group input{box-sizing:border-box;padding:12px;transition:border-color .3s}button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:transform .2s,box-shadow .2s;width:100%}button[type=submit]:hover:not(:disabled){box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px}.auth-link{color:#666;margin-top:20px;text-align:center}.auth-link a{color:#667eea;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.settings-modal{max-width:600px;width:90%}.modal-header h2{font-size:22px}.modal-body{padding:30px}.settings-intro{background:#f8fafc;border-left:4px solid #667eea;border-radius:8px;margin-bottom:30px;padding:16px}.settings-intro p{color:#475569;font-size:14px;line-height:1.6;margin:0}.settings-group{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.setting-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s}.setting-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.setting-item.needs{border-left:4px solid #059669}.setting-item.wants{border-left:4px solid #f59e0b}.setting-item.savings{border-left:4px solid #667eea}.setting-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.setting-header label{color:#1e293b;font-size:16px;font-weight:600}.percentage-display{color:#667eea;font-size:24px;font-weight:700}.setting-description{color:#64748b;font-size:13px;line-height:1.5;margin:8px 0 0}.total-indicator{align-items:center;border-radius:8px;display:flex;font-size:18px;font-weight:600;gap:12px;justify-content:center;margin-bottom:20px;padding:16px}.total-indicator.valid{background:#d1fae5;color:#065f46}.total-indicator.invalid{background:#fee2e2;color:#991b1b}.total-value,.valid-icon{font-size:24px}.valid-icon{color:#059669}.invalid-icon{font-size:14px}.error-message{align-items:center;border:1px solid #fecaca;display:flex;font-size:14px;gap:10px}.error-icon{font-size:18px}.modal-footer{align-items:center;background:#f8fafc;border-radius:0 0 16px 16px;border-top:1px solid #e2e8f0;justify-content:space-between;padding:20px 30px}.reset-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.reset-btn:hover{background:#f8fafc;border-color:#cbd5e1}.action-buttons{gap:12px}.cancel-btn,.save-btn{font-size:14px}.loading-state{padding:60px 40px;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}.loading-state p{color:#64748b;font-weight:500}@media (max-width:640px){.settings-modal{max-height:90vh;overflow-y:auto;width:95%}.modal-body,.modal-footer,.modal-header{padding:20px}.modal-footer{flex-direction:column;gap:12px}.action-buttons,.reset-btn{width:100%}.action-buttons{flex-direction:column-reverse}.cancel-btn,.save-btn{width:100%}}.ai-analysis-card{background:#fff;border:2px solid #e0e7ff;border-radius:16px;box-shadow:0 1px 3px #0000000d;grid-column:span 2;padding:24px}.ai-analysis-header{justify-content:space-between;margin-bottom:20px}.ai-analysis-header,.ai-title{align-items:center;display:flex}.ai-title{gap:12px}.ai-icon{font-size:28px}.ai-title h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.budget-target-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:4px 12px}.header-actions{gap:10px}.header-actions,.settings-btn{align-items:center;display:flex}.settings-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:18px;height:40px;justify-content:center;padding:10px;transition:all .2s;width:40px}.settings-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:rotate(45deg)}.analyze-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.analyze-btn:hover:not(:disabled){box-shadow:0 8px 16px #667eea66;transform:translateY(-2px)}.analyze-btn:disabled{cursor:not-allowed;opacity:.6}.sparkle-icon{font-size:16px}.spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;height:14px;width:14px}.ai-empty{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:12px;padding:40px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:12px}.ai-empty p{color:#64748b;font-size:14px;margin:0}.ai-error{align-items:center;background:#fee2e2;border:2px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;font-size:14px;gap:10px;padding:16px}.ai-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:0}.analysis-text{color:#1e293b;font-size:15px;line-height:1.8;padding:28px}.analysis-text h2{align-items:center;border-bottom:2px solid #e2e8f0;color:#1e293b;display:flex;font-size:18px;font-weight:700;gap:8px;margin:28px 0 14px;padding-bottom:10px}.analysis-text h2:first-of-type{border-bottom-color:#dbeafe;margin-top:0}.analysis-text h2:nth-of-type(2){border-bottom-color:#d1fae5}.analysis-text h2:nth-of-type(3){border-bottom-color:#fef3c7}.analysis-text h2:nth-of-type(4){border-bottom-color:#f3e8ff}.analysis-text p{color:#475569;margin:0 0 16px}.analysis-text p:last-child{margin-bottom:0}.analysis-text ul{list-style:none;margin:12px 0 20px;padding-left:0}.analysis-text li{background:#f8fafc;border-left:3px solid #667eea;border-radius:8px;margin:10px 0;padding:12px 16px 12px 40px;position:relative}.analysis-text li:before{color:#667eea;content:"•";font-size:24px;font-weight:700;left:16px;line-height:1;position:absolute}.analysis-text strong{color:#1e293b;font-weight:700}.analysis-text code{background:#f1f5f9;border-radius:4px;color:#667eea;font-family:Courier New,monospace;font-size:14px;padding:2px 6px}.analysis-footer{background:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;margin-top:0;padding:16px 28px}.disclaimer{align-items:center;color:#64748b;display:flex;font-size:12px;font-style:italic;gap:6px}@media (max-width:1200px){.ai-analysis-card{grid-column:span 1}}@media (max-width:1024px){.ai-analysis-card{padding:14px}.ai-analysis-header{flex-direction:row!important;flex-wrap:nowrap!important;gap:6px!important;margin-bottom:14px!important}.ai-analysis-header,.ai-title{align-items:center!important;display:flex!important}.ai-title{flex:1 1!important;gap:4px!important;min-width:0!important;overflow:hidden!important}.ai-title h3{font-size:11px!important;margin:0!important;white-space:nowrap!important}.ai-icon{flex-shrink:0!important;font-size:14px!important}.budget-target-badge{flex-shrink:0!important;font-size:8px!important;padding:2px 4px!important;white-space:nowrap!important}.header-actions{align-items:center!important;display:flex!important;flex-direction:row!important;flex-shrink:0!important;gap:4px!important}.settings-btn{font-size:11px!important;height:28px!important;max-width:28px!important;min-width:28px!important;padding:0!important;width:28px!important}.analyze-btn,.settings-btn{border-radius:6px!important}.analyze-btn{font-size:10px!important;padding:6px 8px!important;white-space:nowrap!important}.analyze-btn .sparkle-icon{display:none!important}.ai-empty{padding:20px 16px}.ai-empty .empty-icon{font-size:28px;margin-bottom:8px}.ai-empty p{font-size:12px}.ai-content{padding:0}.analysis-text{font-size:13px;padding:16px}.analysis-text h2{font-size:14px}.analysis-text li{font-size:12px;padding:8px 12px 8px 28px}.analysis-footer{padding:12px 16px}.disclaimer{font-size:10px}}.budget-tracker{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:24px}.budget-header{border-bottom:2px solid #e2e8f0}.budget-header h3{color:#1e293b;font-size:18px;font-weight:700}.income-display{color:#64748b;font-size:14px}.income-amount{font-size:20px}.budget-error,.budget-loading{color:#64748b;padding:40px 20px}.budget-error{color:#dc2626}.budget-alerts{display:flex;flex-direction:column;gap:10px}.budget-alert{background:#fef3c7;border:2px solid #fbbf24;border-radius:8px;font-size:14px;font-weight:500;padding:12px 16px}.budget-groups{display:flex;flex-direction:column;margin-bottom:20px}.budget-group{background:#f8fafc;border:2px solid #e2e8f0;padding:20px}.budget-group:hover{background:#fff;box-shadow:0 2px 8px #0000000d}.budget-group.needs{border-left:4px solid #059669}.budget-group.wants{border-left:4px solid #f59e0b}.budget-group.savings{border-left:4px solid #667eea}.group-title{gap:10px}.group-icon{font-size:24px}.group-name{color:#1e293b;font-size:16px;letter-spacing:.5px}.group-percentage{color:#64748b;font-size:14px;font-weight:600}.group-status{font-size:24px}.group-amounts{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.amount-item{flex-direction:column;gap:4px}.amount-label{color:#64748b;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.amount-value{color:#1e293b;font-size:18px;font-weight:700}.progress-bar-container{background:#e2e8f0;border-radius:16px;height:32px;overflow:hidden;width:100%}.progress-bar{border-radius:16px;justify-content:flex-end;min-width:60px;padding-right:12px;transition:width .5s ease,background-color .3s ease}.progress-text{font-size:14px;text-shadow:0 1px 2px #0000004d}.overall-status{border-radius:10px;font-size:15px}.overall-status.good{border:2px solid #a7f3d0}.overall-status.ok{border:2px solid #bfdbfe}.overall-status.warning{background:#fee2e2;border:2px solid #fecaca;color:#991b1b}@media (max-width:768px){.budget-tracker{padding:16px}.budget-header{align-items:flex-start;flex-direction:column;gap:12px}.budget-header h3{font-size:16px}.income-display{font-size:13px}.income-amount{font-size:18px}.group-amounts{gap:8px;grid-template-columns:1fr}.amount-item{align-items:center;flex-direction:row;justify-content:space-between}.budget-group{padding:16px}.group-icon{font-size:20px}.group-name{font-size:14px}.amount-value{font-size:16px}.progress-bar-container{height:28px}.progress-text{font-size:12px}}.spinner-small{border:4px solid #e2e8f0;border-top-color:#667eea;height:40px;width:40px}.yearly-budget-tracker{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.budget-header{border-bottom:2px solid #f3f4f6;margin-bottom:20px;padding-bottom:16px}.budget-header h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.income-display{color:#6b7280;font-size:.95rem;font-weight:500}.income-amount{color:#059669;font-size:1.1rem;font-weight:700;margin-left:8px}.budget-error,.budget-loading{color:#6b7280;padding:40px;text-align:center}.spinner-small{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#8b5cf6;height:30px;margin:0 auto 16px;width:30px}.budget-alerts{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:20px;padding:12px 16px}.budget-alert{color:#92400e;font-size:.9rem;margin:4px 0}.budget-groups{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px;overflow:visible}.budget-group{background:#f9fafb;border:2px solid #0000;border-radius:12px;overflow:visible;padding:20px 20px 24px;transition:all .2s}.budget-group:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.budget-group.needs{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#059669}.budget-group.wants{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b}.budget-group.savings{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#8b5cf6}.group-header{justify-content:space-between;margin-bottom:16px}.group-header,.group-title{align-items:center;display:flex}.group-title{gap:8px}.group-icon{font-size:1.5rem}.group-name{color:#1f2937;font-size:1.1rem;font-weight:700}.group-percentage{color:#6b7280;font-size:.9rem;font-weight:500}.group-status{font-size:1.5rem}.group-amounts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.amount-item{align-items:center;display:flex;font-size:.95rem;justify-content:space-between}.amount-label{color:#6b7280;font-weight:500}.amount-value{color:#1f2937;font-weight:600}.amount-value.spent{color:#dc2626}.amount-value.positive{color:#059669}.amount-value.negative{color:#dc2626}.progress-bar-container{background:#e5e7eb;border-radius:8px;height:28px;margin-top:8px;overflow:visible;position:relative}.progress-bar{align-items:center;border-radius:8px;display:flex;height:100%;justify-content:center;min-height:28px;transition:width .3s ease}.progress-text{color:#fff;font-size:.95rem;font-weight:700;text-shadow:0 1px 3px #0000004d}.overall-status{border-radius:12px;font-size:1rem;font-weight:600;margin-top:20px;padding:16px;text-align:center}.overall-status.good{background:#d1fae5;color:#065f46}.overall-status.ok{background:#dbeafe;color:#1e40af}.overall-status.warning{background:#fef3c7;color:#92400e}.monthly-breakdown{border-top:2px solid #f3f4f6;margin-top:32px;padding-top:24px}.monthly-breakdown h4{color:#1f2937;font-size:1.2rem;font-weight:600;margin:0 0 20px}.months-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.month-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px;transition:all .2s}.month-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf626;transform:translateY(-2px)}.month-name{border-bottom:2px solid #f3f4f6;color:#1f2937;font-size:1rem;font-weight:700;margin-bottom:12px;padding-bottom:8px}.month-stats{display:flex;flex-direction:column;gap:6px}.month-stat{align-items:center;display:flex;font-size:.85rem;justify-content:space-between}.stat-label{font-weight:500}.stat-value{font-weight:600}.stat-value.income{color:#059669}.stat-value.expense{color:#dc2626}.stat-value.positive{color:#059669}.stat-value.negative{color:#dc2626}@media (max-width:768px){.budget-groups{grid-template-columns:1fr}.months-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.budget-header{align-items:flex-start;flex-direction:column;gap:12px}}.recurring-container{margin:0 auto;max-width:1200px;padding:30px}.recurring-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.recurring-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0}.add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:12px 24px;transition:all .2s}.add-btn:hover{box-shadow:0 8px 16px #667eea66;transform:translateY(-2px)}.add-btn-small{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.add-btn-small:hover{background:#764ba2}.recurring-content{display:flex;flex-direction:column;gap:30px}.recurring-section h2{color:#1e293b;font-size:20px;font-weight:600;margin:0 0 16px}.empty-state{background:#f8fafc}.empty-state p{margin:0 0 20px}.recurring-list{display:flex;flex-direction:column;gap:12px}.recurring-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s}.recurring-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a}.recurring-card.income{border-left:4px solid #059669}.recurring-card.expense{border-left:4px solid #dc2626}.recurring-card.inactive{background:#f8fafc;opacity:.6}.recurring-main{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.recurring-info{flex:1 1}.recurring-title{align-items:center;display:flex;gap:10px;margin-bottom:8px}.frequency-icon{font-size:20px}.category{color:#1e293b;font-size:16px;font-weight:600}.subcategory{color:#64748b;font-size:14px}.recurring-details{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.recurring-details .amount{color:#667eea;font-size:20px;font-weight:700}.recurring-details .frequency,.recurring-details .wallet{background:#f1f5f9;border-radius:6px;color:#475569;font-size:13px;font-weight:500;padding:4px 12px;text-transform:capitalize}.description{color:#64748b;font-size:14px;margin:8px 0}.recurring-dates{color:#64748b;display:flex;font-size:13px;gap:16px;margin-top:8px}.recurring-dates .ongoing{color:#059669;font-weight:600}.recurring-actions{display:flex;gap:8px}.action-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s;width:36px}.action-btn:hover{background:#e2e8f0;transform:translateY(-2px)}.action-btn.delete:hover{background:#fee2e2}.upcoming-section{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:20px}.upcoming-section h2{margin-bottom:16px}.upcoming-item{grid-gap:16px;align-items:center;background:#fff;border-left:3px solid #cbd5e1;gap:16px;grid-template-columns:120px 1fr auto;padding:12px 16px}.upcoming-item.income{border-left-color:#059669}.upcoming-item.expense{border-left-color:#dc2626}.upcoming-item .date{color:#64748b;font-size:13px;font-weight:500}.upcoming-item .category{color:#1e293b;font-size:14px;font-weight:600}.upcoming-item .amount{font-size:15px;font-weight:700;text-align:right}.upcoming-item .amount.income{color:#059669}.upcoming-item .amount.expense{color:#dc2626}.more-indicator{color:#64748b;font-size:13px;font-style:italic;margin-top:8px;text-align:center}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;padding:24px 30px}.modal-header h2{color:#fff;font-weight:700}.close-btn{background:#fff3;color:#fff;font-size:24px;height:36px;width:36px}.close-btn:hover{background:#ffffff4d}.modal-form{padding:30px}.form-group input,.form-group select{color:#1e293b;padding:12px 16px}.custom-input{margin-top:8px}.optional-label{color:#94a3b8;font-size:12px;font-style:italic;font-weight:400}.modal-actions{margin-top:24px;padding-top:20px}.cancel-btn,.submit-btn{border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.submit-btn:hover{box-shadow:0 8px 16px #667eea66}@media (max-width:768px){.recurring-container{padding:20px}.recurring-header{align-items:flex-start;flex-direction:column;gap:16px}.recurring-header h1{font-size:24px}.recurring-main{flex-direction:column}.recurring-actions{justify-content:flex-end;width:100%}.recurring-details{font-size:14px}.upcoming-item{gap:8px;grid-template-columns:1fr}.upcoming-item .amount{text-align:left}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%}}.payment-mode-selector{display:flex;flex-direction:column}.mode-option{border-radius:8px}.mode-option:hover{background:#f8f9ff;border-color:#667eea}.mode-option.selected{background:linear-gradient(135deg,#f8f9ff,#ede9fe);border-color:#667eea;box-shadow:0 2px 8px #667eea26}.mode-option input[type=radio]{cursor:pointer;height:20px;margin-right:12px;width:20px}.mode-option div{display:flex;flex:1 1;flex-direction:column;gap:4px}.mode-icon{font-size:20px;margin-right:12px}.mode-label{font-size:15px}.mode-desc{font-size:13px}.split-type-selector{display:flex;margin-bottom:16px}.split-type-btn{border-radius:8px;flex:1 1;font-size:14px;gap:6px;padding:14px}.split-type-btn:hover{background:#f8f9ff;border-color:#667eea}.split-type-btn.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff}.split-preview{border-radius:8px;margin-top:16px}.split-preview h4{margin:0 0 12px}.split-list{gap:10px}.split-item{border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px}.split-member{font-weight:500}.amount-input,.percentage-input{border:1px solid #cbd5e1;padding:6px 10px}.amount-input:focus,.percentage-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.percent-sign{color:#64748b;font-weight:600}.amount-display{background:#e2e8f0;color:#1f2937;font-size:14px;min-width:80px;padding:6px 10px;text-align:right}.amount-display,.total-row{border-radius:6px;font-weight:600}.total-row{background:#f8fafc;display:flex;justify-content:space-between;padding:6px 12px}.total-row.valid{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.total-row.invalid{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.total-value{font-weight:700}@media (max-width:768px){.split-type-selector{flex-direction:column}.split-type-btn{flex-direction:row;justify-content:center}.split-item{align-items:flex-start;flex-direction:column;gap:8px}.split-inputs{justify-content:flex-end;width:100%}}.analytics-container{background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:30px}.analytics-header{margin-bottom:20px}.header-content h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.filter-section{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px;padding:20px 30px}.period-selector{align-items:center;display:flex;gap:16px}.filter-controls{display:flex;gap:12px}.month-select,.year-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:600;min-width:150px;padding:10px 16px;transition:all .2s}.month-select:hover,.year-select:hover{background:#f8fafc;border-color:#cbd5e1}.month-select:focus,.year-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.year-select{min-width:100px}.nav-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:all .2s;width:40px}.nav-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.nav-btn:active{transform:translateY(0)}.reset-filter-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.reset-filter-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.summary-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.summary-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:24px;transition:all .3s}.summary-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.summary-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-icon{font-size:24px}.summary-amount{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:32px;font-weight:700}.income-card .income-amount{color:#059669;font-size:32px;font-weight:700}.expense-card .expense-amount{color:#dc2626;font-size:32px;font-weight:700}.savings-card .savings-amount{color:#2563eb}.remaining-card .summary-amount,.savings-card .savings-amount{font-size:32px;font-weight:700}.net-positive{color:#059669}.net-negative{color:#dc2626}.charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.info-banner{align-items:center;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:2px solid #bfdbfe;border-radius:12px;color:#1e40af;display:flex;font-size:14px;gap:12px;grid-column:span 2;padding:16px 24px}.info-icon{font-size:20px}.info-banner strong{color:#1e3a8a;font-weight:700}.chart-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:24px}.chart-card.large{grid-column:span 2}.chart-card h3{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 20px}.chart-wrapper{height:300px;position:relative}.chart-card.large .chart-wrapper{height:400px}@media (max-width:1200px){.summary-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.chart-card.large{grid-column:span 1}}@media (max-width:768px){.analytics-container{padding:8px 12px 12px}.analytics-header{margin-bottom:8px;text-align:center}.header-content h1{align-items:center;display:flex;font-size:18px;gap:8px;justify-content:center}.viewing-text{display:none}.summary-grid{gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.summary-card{border-radius:12px;padding:14px}.summary-header{margin-bottom:8px}.summary-label{font-size:10px}.summary-icon{font-size:20px}.expense-card .expense-amount,.income-card .income-amount,.remaining-card .summary-amount,.savings-card .savings-amount,.summary-amount{font-size:20px!important}.filter-section{align-items:stretch;border-radius:10px;flex-direction:column;gap:10px;margin-bottom:12px;padding:12px}.period-selector{gap:8px;justify-content:center}.filter-controls{flex:1 1;gap:8px;width:100%}.month-select,.year-select{flex:1 1;font-size:13px;min-width:0;padding:8px 10px}.nav-btn{font-size:14px;height:36px;width:36px}.reset-filter-btn{font-size:12px;padding:8px 12px}.charts-grid{gap:12px}.chart-card{border-radius:12px;padding:14px}.chart-card h3{font-size:14px;margin-bottom:12px}.chart-wrapper{height:200px}.chart-card.large .chart-wrapper{height:220px}.info-banner{border-radius:10px;font-size:11px;grid-column:span 1;padding:10px 12px}.info-icon{font-size:16px}}.modal-overlay{background:#000000b3}.modal-content{max-width:700px}.form-section{background:#f8fafc;border-radius:12px;margin-bottom:20px;padding:20px}.form-section h3{color:#475569;font-size:16px;font-weight:600;margin:0 0 16px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e2e8f0;font-family:inherit;padding:12px 15px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-group input:disabled,.form-group select:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.payment-mode-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:16px}.mode-option{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;padding:16px;transition:all .2s}.mode-option:hover{background:#faf5ff;border-color:#8b5cf6}.mode-option.selected{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf633}.mode-option input[type=radio]{display:none}.mode-option>div{display:flex;flex-direction:column;gap:4px;width:100%}.mode-icon{font-size:24px;margin-bottom:4px}.mode-label{color:#1f2937;font-size:14px;font-weight:600}.mode-desc{color:#64748b;font-size:12px}.mode-option.selected .mode-label{color:#8b5cf6}.split-type-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.split-type-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px;transition:all .2s}.split-type-btn:hover{background:#faf5ff;border-color:#8b5cf6}.split-type-btn.selected{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf633}.split-icon{font-size:24px}.split-type-btn span:last-child{color:#475569;font-size:13px;font-weight:600}.split-type-btn.selected span:last-child{color:#8b5cf6}.split-preview{background:#fff;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:16px}.split-preview h4{color:#475569;font-size:14px;font-weight:600;margin:0 0 16px}.split-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.split-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.split-member{color:#1f2937;font-size:14px;font-weight:600}.split-inputs{align-items:center;display:flex;gap:8px}.split-amount{color:#059669;font-size:14px;font-weight:600}.amount-input,.percentage-input{border:2px solid #e2e8f0;border-radius:6px;font-size:14px;padding:6px 8px;text-align:right;width:80px}.amount-input:focus,.percentage-input:focus{border-color:#8b5cf6;outline:none}.currency-symbol,.percentage-symbol{color:#64748b;font-size:14px;font-weight:600}.split-totals{border-top:2px solid #e2e8f0;display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}.expense-amount,.split-total{display:flex;font-size:14px;justify-content:space-between}.expense-amount span:first-child,.split-total span:first-child{color:#64748b}.expense-amount span:last-child,.split-total span:last-child{font-size:16px;font-weight:700}.split-total.valid span:last-child{color:#059669}.split-total.invalid span:last-child{color:#ef4444}.expense-amount span:last-child{color:#1f2937}.modal-actions button.primary{background:linear-gradient(135deg,#ef4444,#dc2626)}.modal-actions button.primary:hover{box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:768px){.split-type-selector{grid-template-columns:1fr}}.detail-modal-overlay{align-items:center;animation:fadeIn .2s;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.detail-modal-content{animation:slideUp .3s;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:85vh;max-width:600px;overflow-y:auto;width:90%}.detail-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:24px 30px}.detail-type-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.detail-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .2s;width:36px}.detail-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.detail-modal-body{padding:30px}.detail-amount-section{background:#f8fafc;border-radius:12px;margin-bottom:30px;padding:20px;text-align:center}.detail-amount-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.detail-amount{font-size:48px;font-weight:700;margin:0}.detail-amount.income{color:#059669}.detail-amount.expense{color:#dc2626}.detail-row{border-bottom:1px solid #f1f5f9;padding:16px 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#64748b;font-size:14px;font-weight:500}.detail-value{color:#1e293b;font-size:14px;font-weight:600;text-align:right}.detail-value.deduction{color:#dc2626}.net-row{background:#f8fafc;border:none;border-radius:8px;margin:16px -16px 0;padding:16px}.net-row .detail-label{color:#1e293b;font-weight:600}.net-row .net-value{color:#059669;font-size:18px}.detail-divider{background:#e2e8f0;height:1px;margin:24px 0}.detail-section-title{color:#64748b;font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:16px;text-transform:uppercase}.detail-notes{word-wrap:break-word;background:#f8fafc;border-radius:8px;color:#475569;font-size:14px;line-height:1.6;padding:16px;white-space:pre-wrap}.detail-metadata{display:flex;flex-wrap:wrap;gap:24px}.metadata-item{display:flex;font-size:12px;gap:8px}.metadata-label{color:#64748b;font-weight:500}.metadata-value{color:#475569;font-weight:600}.detail-modal-footer{background:#f8fafc;border-radius:0 0 16px 16px;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.detail-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s}.detail-btn.delete-btn{background:#fee2e2;color:#991b1b}.detail-btn.delete-btn:hover{background:#fecaca;transform:translateY(-1px)}.detail-btn.edit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.detail-btn.edit-btn:hover{box-shadow:0 8px 16px #667eea66;transform:translateY(-1px)}@media (max-width:640px){.detail-modal-content{max-height:90vh;width:95%}.detail-modal-body,.detail-modal-footer,.detail-modal-header{padding:20px}.detail-amount{font-size:36px}.detail-row{flex-direction:column;gap:4px}.detail-value{text-align:left}.detail-modal-footer{flex-direction:column-reverse}.detail-btn{justify-content:center;width:100%}}.transactions-container{margin:0 auto;max-width:1400px;padding:30px}.transactions-header{margin-bottom:25px}.transactions-header h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.viewing-text{color:#64748b;font-size:14px;margin:0}.viewing-text strong{color:#475569;font-weight:600}.filters{grid-gap:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px;padding:24px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-group select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:500;padding:11px 14px;transition:all .2s}.filter-group select:hover{border-color:#8b5cf6}.filter-group select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.month-year-selector{align-items:center;display:flex;gap:8px}.arrow-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-width:45px;padding:11px 16px;transition:all .2s}.arrow-btn:hover{background:linear-gradient(135deg,#7c3aed,#5b21b6);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.arrow-btn:active{transform:translateY(0)}@media (max-width:1024px){.filters{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.filters{gap:16px;grid-template-columns:1fr;padding:20px}.month-year-selector select{flex:1 1}}.arrow-btn:hover{box-shadow:0 4px 12px #6a11cb4d;transform:scale(1.05)}.arrow-btn:active{transform:scale(.95)}.month-year-selector select{flex:1 1;min-width:120px}.pending-section{background:#fff;border:2px solid #ffc107;box-shadow:0 1px 3px #0000000d;margin-bottom:30px;overflow:hidden}.pending-section h2{align-items:center;background:linear-gradient(90deg,#ffc10714,#ff980014);border-bottom:1px solid #ffe082;color:#f57c00;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0;padding:20px 24px}.pending-list{padding:16px}.pending-card{background:linear-gradient(90deg,#fffbf5,#fff);border-left:4px solid #ffc107;box-shadow:0 2px 4px #ffc1071a;padding:20px;transition:all .3s}.pending-card:hover{box-shadow:0 8px 16px #ffc10726;transform:translateY(-2px)}.pending-card.income{background:linear-gradient(90deg,#f0fdf4,#fff);border-left-color:#4caf50}.pending-card.expense{border-left-color:#ff9800}.pending-main{gap:20px;width:100%}.pending-date,.pending-main{align-items:center;display:flex}.pending-date{background:linear-gradient(135deg,#ffc107,#ff9800);border-radius:12px;box-shadow:0 4px 8px #ff980033;flex-direction:column;flex-shrink:0;min-width:70px;padding:12px 8px}.date-day{color:#fff;font-size:28px;font-weight:700;line-height:1}.date-month{color:#ffffffe6;font-size:11px;font-weight:700;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.pending-info{flex:1 1;min-width:0}.pending-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.pending-category{color:#1e293b;font-size:16px;font-weight:700}.pending-subcategory{color:#64748b;font-size:14px;font-weight:500}.pending-badge{background:linear-gradient(135deg,#ffc107,#ff9800);border-radius:6px;box-shadow:0 2px 4px #ff98004d;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.pending-badge.scheduled{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 4px #6366f14d}.pending-details{align-items:center;color:#64748b;display:flex;font-size:14px;gap:16px}.pending-description{flex:1 1;font-weight:500}.pending-wallet{background:#f1f5f9;border-radius:6px;color:#475569;font-size:12px;font-weight:600;padding:4px 12px}.pending-amount-section{flex-shrink:0;min-width:100px;text-align:right}.pending-amount{font-size:24px;font-weight:700}.pending-amount.income{color:#4caf50}.pending-amount.expense{color:#ff9800}.confirm-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:8px;box-shadow:0 2px 4px #4caf5033;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .3s;white-space:nowrap}.confirm-btn:hover{background:linear-gradient(135deg,#66bb6a,#81c784);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.confirm-btn:active{transform:translateY(0)}.pending-actions .delete-btn{background:#fee2e2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;font-size:16px;padding:10px 14px;transition:all .2s}.pending-actions .delete-btn:hover{background:#fecaca;transform:scale(1.1)}.transactions-table-container{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.transactions-table-container h2{background:linear-gradient(90deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:18px;font-weight:700;margin:0;padding:20px 24px}.transactions-table{border-collapse:collapse;width:100%}.transactions-table thead{background:linear-gradient(135deg,#667eea,#764ba2)}.transactions-table th{color:#fff;font-size:11px;font-weight:700;letter-spacing:1px;padding:16px 24px;text-align:left;text-transform:uppercase}.transactions-table tbody tr{border-bottom:1px solid #f1f5f9;transition:all .2s}.transactions-table tbody tr:hover{background:linear-gradient(90deg,#667eea08,#0000)}.transactions-table tbody tr:last-child{border-bottom:none}.transactions-table td{color:#475569;font-size:14px;padding:20px 24px}.transactions-table tr.income{border-left:3px solid #4caf50}.transactions-table tr.expense{border-left:3px solid #ff9800}.type-badge{align-items:center;border-radius:20px;display:inline-flex;font-weight:600;gap:6px;padding:6px 12px}.type-badge.income{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.type-badge.expense{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#7c2d12}.type-badge.household{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);color:#5b21b6}.subcategory-text{color:#94a3b8;font-weight:500}.description-cell{color:#1e293b;font-weight:500}.amount{font-size:15px;font-weight:700}.amount.income{color:#4caf50}.amount.expense{color:#ff9800}.action-buttons{display:flex;gap:8px;justify-content:center}.delete-btn,.view-btn{background:none;border:none;border-radius:8px;cursor:pointer;font-size:18px;padding:8px 12px;transition:all .2s}.view-btn:hover{background:#dbeafe}.delete-btn:hover,.view-btn:hover{transform:scale(1.15)}.delete-btn:active,.view-btn:active{transform:scale(.95)}.empty-state{color:#94a3b8;font-style:italic;padding:80px 40px}.loading-spinner{justify-content:center;min-height:400px}.spinner{border-top-color:#667eea;height:50px;width:50px}.loading-spinner p{margin-top:20px}@media (max-width:1024px){.filters{gap:12px}.filter-group{min-width:120px}}@media (max-width:768px){.transactions-container{padding:8px 12px 12px}.transactions-header{margin-bottom:10px;text-align:center}.transactions-header h1{font-size:18px}.transactions-header .viewing-text{display:none}.filters{padding:16px}.filter-group{min-width:100%}.pending-main{align-items:flex-start;flex-direction:column;gap:16px}.pending-date{flex-direction:row;gap:12px;justify-content:center;width:auto}.date-day{font-size:24px}.pending-amount-section{align-items:center;display:flex;gap:16px;text-align:left;width:100%}.pending-actions{justify-content:flex-start;width:100%}.confirm-btn{flex:1 1}.transactions-table{font-size:12px}.transactions-table td,.transactions-table th{padding:12px 16px}.type-badge{font-size:11px;padding:4px 8px}.amount{font-size:14px}.action-buttons{gap:4px}.delete-btn,.view-btn{font-size:16px;padding:6px 10px}}@media (max-width:480px){.pending-section h2{font-size:16px;padding:16px}.pending-card{padding:16px}.pending-category{font-size:15px}.pending-amount{font-size:20px}.transactions-table td,.transactions-table th{padding:10px 12px}}.split-indicator{color:#64748b;display:block;font-size:11px;font-weight:400;line-height:1.3;margin-top:4px}.pending-amount-section{align-items:flex-end;display:flex;flex-direction:column;min-width:120px}.transactions-table .amount{min-width:140px}.transactions-table .amount .split-indicator{font-size:10px;margin-top:2px}.modal-content{animation:slideUp .3s}.close-btn{height:40px;width:40px}.close-btn:hover{background:#f0f0f0;color:#333}.modal-content .form-group{margin-bottom:20px}.modal-content .form-group label{color:#555;font-weight:500;margin-bottom:8px}.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.modal-content .form-group textarea{font-family:inherit;min-height:80px;resize:vertical}.modal-content .form-group input:focus,.modal-content .form-group select:focus,.modal-content .form-group textarea:focus{border-color:#667eea;outline:none}.modal-actions{margin-top:25px}.btn-cancel,.btn-submit{font-size:16px}.btn-submit:hover:not(:disabled){box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.modal-info{background:#f8f9ff;border-left:4px solid #667eea;border-radius:8px;margin-top:20px;padding:12px}.modal-info p{color:#666;font-size:14px;margin:0}.modal-content .error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:20px;padding:12px}.modal-content .success-message{background:#efe;border:1px solid #cfc;border-radius:8px;color:#373;margin-bottom:20px;padding:12px}.pending-success{padding:20px 0;text-align:center}.pending-icon{font-size:64px;margin-bottom:16px}.pending-success h3{color:#059669;font-size:24px;margin:0 0 12px}.pending-success p{color:#1f2937;font-size:16px;margin:0 0 12px}.pending-note{color:#6b7280!important;font-size:14px!important;margin-bottom:24px!important}.pending-success .btn-submit{min-width:150px}.small-text{color:#9ca3af!important;font-size:12px!important;margin-top:8px!important}@media (max-width:600px){.form-row{grid-template-columns:1fr}.modal-content{padding:20px;width:95%}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.delete-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.delete-modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.delete-modal-header{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-bottom:2px solid #fee2e2;padding:24px 24px 16px}.delete-modal-header h2{color:#991b1b;font-size:24px;margin:0}.delete-modal-body{padding:24px}.delete-item-name{color:#1f2937;font-size:16px;margin:0 0 16px}.delete-item-name strong{color:#dc2626;font-size:18px}.related-items-warning{align-items:center;background:#fef3c7;border:2px solid #fbbf24;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:12px 16px}.related-items-warning .warning-icon{font-size:24px}.related-items-warning span{color:#92400e;font-size:14px}.delete-question{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 16px}.delete-options{display:flex;flex-direction:column;gap:16px}.delete-option{border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:block;padding:16px;transition:all .2s}.delete-option:hover{border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf626}.delete-option.selected{background:#f5f3ff;border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf633}.delete-option.danger.selected{background:#fef2f2;border-color:#dc2626;box-shadow:0 4px 12px #dc262633}.delete-option input[type=radio]{display:none}.option-content{display:flex;flex-direction:column;gap:8px}.option-header{align-items:center;display:flex;gap:8px}.option-icon{font-size:20px}.option-title{color:#1f2937;font-size:16px;font-weight:700}.option-badge{border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px;margin-left:auto;padding:2px 8px;text-transform:uppercase}.option-badge.recommended{background:#d1fae5;color:#065f46}.option-badge.danger{background:#fee2e2;color:#991b1b}.option-description{color:#64748b;font-size:14px;line-height:1.5;margin:0}.option-features{display:flex;flex-direction:column;gap:4px;list-style:none;margin:8px 0 0;padding:0}.option-features li{color:#475569;font-size:13px;line-height:1.4}.permanent-delete-warning{margin-top:16px}.warning-box{align-items:flex-start;background:#fee2e2;border:2px solid #dc2626;border-radius:8px;display:flex;gap:12px;padding:16px}.warning-box .warning-icon{font-size:24px}.warning-box strong{color:#991b1b;display:block;margin-bottom:4px}.warning-box p{color:#7f1d1d;font-size:14px;margin:0}.delete-modal-footer{border-top:2px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.cancel-btn,.confirm-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.cancel-btn{background:#f1f5f9;color:#475569}.cancel-btn:hover{background:#e2e8f0}.confirm-btn{border:none;color:#fff}.confirm-btn.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.confirm-btn.warning:hover{box-shadow:0 4px 12px #f59e0b66;transform:translateY(-1px)}.confirm-btn.danger{background:linear-gradient(135deg,#dc2626,#991b1b)}.confirm-btn.danger:hover{box-shadow:0 4px 12px #dc262666;transform:translateY(-1px)}@media (max-width:768px){.delete-modal-content{max-height:95vh;width:95%}.delete-modal-header{padding:20px 16px 12px}.delete-modal-header h2{font-size:20px}.delete-modal-body{padding:16px}.delete-options{gap:12px}.delete-option{padding:12px}.option-title{font-size:14px}.option-description{font-size:13px}.option-features li{font-size:12px}.delete-modal-footer{flex-direction:column;padding:12px 16px}.cancel-btn,.confirm-btn{width:100%}}.households-page{margin:0 auto;max-width:1400px;padding:30px}.households-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:40px}.households-header h1{color:#1f2937;font-size:32px;margin:0}.households-actions{display:flex;gap:12px}.create-btn,.join-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.create-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.join-btn{background:#f1f5f9;border:2px solid #e2e8f0;color:#475569}.join-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.loading{padding:60px 20px}.empty-state{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:16px;padding:80px 20px}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.5}.empty-state h2{color:#1f2937;font-size:24px;margin:0 0 12px}.empty-state p{margin:4px 0}.empty-actions{display:flex;gap:16px;justify-content:center;margin-top:32px}.create-btn-large,.join-btn-large{border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:all .2s}.create-btn-large{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-btn-large:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.join-btn-large{background:#fff;border:2px solid #e2e8f0;color:#475569}.join-btn-large:hover{background:#f8fafc;border-color:#cbd5e1}.households-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.household-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:all .3s}.household-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.household-card:hover{border-color:#8b5cf6;box-shadow:0 8px 24px #8b5cf626;transform:translateY(-4px)}.household-card:hover:before{opacity:1}.household-icon{font-size:48px;margin-bottom:16px;text-align:center}.household-card h2{color:#1f2937;font-size:20px;margin:0 0 16px;text-align:center}.household-info{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.info-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.info-item .label{color:#64748b;font-size:13px;font-weight:600}.info-item .value{color:#1f2937;font-size:14px;font-weight:700}.value.role-owner{color:#8b5cf6}.value.role-admin{color:#3b82f6}.value.role-member{color:#059669}.invite-code-section{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-radius:8px;margin-bottom:16px;padding:12px;text-align:center}.invite-label{color:#7c3aed;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:6px}.invite-code{background:#fff;border-radius:6px;color:#8b5cf6;display:inline-block;font-family:Courier New,monospace;font-size:16px;letter-spacing:1px;padding:6px 12px}.household-card-actions{display:flex;gap:8px;margin-top:16px}.add-expense-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.add-expense-btn:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.view-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.view-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}@media (max-width:768px){.households-page{padding:20px}.households-header{align-items:stretch;flex-direction:column;gap:16px}.households-header h1{font-size:24px;text-align:center}.households-actions{flex-direction:column}.households-grid{grid-template-columns:1fr}.empty-actions{flex-direction:column}}.household-tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding:8px;scrollbar-width:none}.household-tabs::-webkit-scrollbar{display:none}.household-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:0;padding:12px 20px;transition:all .2s;white-space:nowrap}.household-tab .tab-icon{flex-shrink:0;font-size:16px}.household-tab .tab-text{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.household-tab .tab-count{background:#0000001a;border-radius:10px;flex-shrink:0;font-size:12px;padding:2px 8px}.household-tab.active .tab-count{background:#ffffff40}.household-tab:hover{background:#f8fafc;color:#475569}.household-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}@media (max-width:768px){.household-tabs{gap:6px;padding:6px}.household-tab{flex:0 0 auto;font-size:13px;gap:6px;padding:10px 14px}.household-tab .tab-icon{font-size:14px}.household-tab .tab-count{font-size:11px;padding:2px 6px}}.household-card.deleted{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;opacity:.85;position:relative}.household-card.deleted .household-icon{margin-top:30px}.household-actions-deleted{display:flex;gap:8px;margin-top:16px}.restore-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.restore-btn:hover:not(:disabled){box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.restore-btn:disabled{cursor:not-allowed;opacity:.5}.delete-permanently-btn{background:linear-gradient(135deg,#dc2626,#991b1b);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.delete-permanently-btn:hover:not(:disabled){box-shadow:0 4px 12px #dc262666;transform:translateY(-1px)}.delete-permanently-btn:disabled{cursor:not-allowed;opacity:.5}.delete-btn-small{background:#fee2e2;border:2px solid #fca5a5;border-radius:8px;color:#991b1b;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s}.delete-btn-small:hover{background:#fecaca;border-color:#f87171;transform:translateY(-1px)}.leave-btn-small{background:#fef3c7;border:2px solid #fcd34d;border-radius:8px;color:#92400e;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s}.leave-btn-small:hover{background:#fde68a;border-color:#fbbf24;transform:translateY(-1px)}.leave-btn{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.leave-btn:hover{background:linear-gradient(135deg,#d97706,#b45309)!important}@media (max-width:768px){.household-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.household-tab{flex:none}.household-actions-deleted{flex-direction:column}}.household-card.pending{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px dashed #f59e0b}.pending-banner{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;position:absolute;right:12px;top:12px}.pending-description{background:#f59e0b1a;border-radius:8px;color:#92400e;font-size:14px;margin:12px 0;padding:12px;text-align:center}.cancel-request-btn{background:#fff;border:2px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:all .2s;width:100%}.cancel-request-btn:hover{background:#fef2f2;border-color:#b91c1c;color:#b91c1c}.household-tab.rejected{color:#dc2626}.household-tab.rejected.active{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.household-card.rejected{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5}.rejected-banner{background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;position:absolute;right:12px;top:12px}.rejected-description{background:#dc26261a;border-radius:8px;color:#991b1b;font-size:14px;margin:12px 0;padding:12px;text-align:center}.dismiss-btn{background:#f3f4f6;border:2px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:all .2s;width:100%}.dismiss-btn:hover{background:#e5e7eb;border-color:#9ca3af;color:#4b5563}.recurring-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 8px;white-space:nowrap}.recurring-creator{color:#64748b;font-size:11px;font-style:italic;margin-top:4px}.recurring-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.recurring-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.modal-content{animation:slideIn .3s ease-out}.modal-header{padding:24px}.modal-header h2{align-items:center;color:#1f2937;display:flex;font-size:24px;gap:8px}.close-btn{color:#9ca3af}.close-btn:hover{background:#f3f4f6;color:#1f2937}.recurring-details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.detail-item{display:flex;flex-direction:column;gap:6px}.detail-item.full-width{grid-column:1/-1}.detail-item label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#1f2937;font-size:15px;font-weight:500}.detail-value.amount{color:#7c3aed;font-size:20px;font-weight:700}.status-badge{align-items:center;display:inline-flex;font-size:13px;gap:4px;padding:6px 12px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.split-info{background:#f9fafb;border-radius:8px;color:#4b5563;font-size:14px;margin-top:4px;padding:8px 12px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.btn-secondary{font-weight:600}.btn-primary:hover{box-shadow:0 4px 12px #667eea66}@media (max-width:768px){.recurring-details-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}.modal-header h2{font-size:20px}}.settle-modal{max-height:85vh;max-width:600px;overflow-y:auto;width:90%}.settlement-info{background:#f9fafb;border-radius:8px;margin:20px 0;padding:15px}.settlement-notice{text-align:center}.settlement-notice p{margin:8px 0}.settlement-notice .amount-due{font-size:24px;font-weight:700;margin-top:12px}.settlement-notice.positive{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.settlement-notice.negative{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.settlement-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:10px;margin:20px 0}.settlement-tabs .tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 20px;transition:all .2s ease}.settlement-tabs .tab:hover{background:#f9fafb;color:#8b5cf6}.settlement-tabs .tab.active{border-bottom-color:#8b5cf6;color:#8b5cf6}.expenses-mode{margin:20px 0}.expenses-list{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:15px;max-height:300px;overflow-y:auto}.expense-item{align-items:start;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;gap:12px;padding:15px;transition:background .2s ease}.expense-item:last-child{border-bottom:none}.expense-item:hover{background:#f9fafb}.expense-item input[type=checkbox]{cursor:pointer;height:18px;margin-top:4px;width:18px}.expense-details{flex:1 1}.expense-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:8px}.expense-desc{color:#111827;font-weight:600}.expense-amount{color:#8b5cf6;font-size:16px;font-weight:700}.expense-meta{color:#6b7280;display:flex;font-size:13px;gap:12px}.expense-date{color:#9ca3af}.expense-category{color:#6b7280}.expense-total{color:#9ca3af}.selected-summary{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;margin-bottom:20px;padding:20px}.selected-summary .summary-row{align-items:center;display:flex;font-size:15px;justify-content:space-between;padding:10px 0}.selected-summary .summary-row:first-child{padding-top:0}.selected-summary .summary-row span:first-child{color:#495057;font-weight:500}.selected-total{color:#8b5cf6;font-size:18px;font-weight:700}.selected-summary .summary-row.warning{border-top:2px dashed #ffc107;margin-top:15px;padding-top:15px}.selected-summary .summary-row.warning span:first-child{align-items:center;color:#856404;display:flex;font-weight:600;gap:8px}.excess-amount{color:#f59e0b;font-size:16px;font-weight:700}.selected-summary .summary-row.actual{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border:2px solid #8b5cf6;border-radius:8px;margin-top:12px;padding:15px}.selected-summary .summary-row.actual span:first-child{color:#5b21b6;font-size:16px;font-weight:700}.actual-amount{color:#7c3aed;font-size:22px;font-weight:700}.excess-note{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;box-shadow:0 2px 4px #ffc1071a;color:#856404;font-size:14px;line-height:1.6;margin-top:15px;padding:12px 15px}.amount-mode{margin:20px 0}.loading,.no-expenses{color:#6b7280;padding:40px 20px;text-align:center}.no-expenses .hint{color:#9ca3af;font-size:14px;margin-top:10px}.settlement-explanation{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;margin-top:20px;padding:15px}.settlement-explanation p{color:#1e40af;font-weight:600;margin:0 0 10px}.settlement-explanation ul{color:#1e3a8a;margin:0;padding-left:20px}.settlement-explanation li{margin:5px 0}.settlement-explanation strong{color:#1e40af}@media (max-width:500px){.settle-modal{max-width:95%}.selected-summary{padding:15px}.selected-summary .summary-row{font-size:14px}.selected-total{font-size:16px}.actual-amount{font-size:18px}}.member-management{display:flex;flex-direction:column;gap:24px}.pending-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:16px;padding:20px}.pending-section h3{align-items:center;color:#92400e;display:flex;font-size:18px;gap:8px;margin:0 0 16px}.section-icon{font-size:20px}.pending-list{display:flex;flex-direction:column;gap:12px}.pending-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:16px;padding:16px}.members-section h3{align-items:center;color:#1f2937;display:flex;font-size:18px;gap:8px;margin:0 0 16px}.members-list{gap:12px}.member-card{border:2px solid #e2e8f0;padding:16px}.member-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf61a}.member-avatar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);font-size:20px;height:48px;width:48px}.member-avatar.owner{background:linear-gradient(135deg,#f59e0b,#d97706)}.member-avatar.admin{background:linear-gradient(135deg,#3b82f6,#2563eb)}.member-avatar.pending{background:linear-gradient(135deg,#9ca3af,#6b7280)}.member-info{min-width:0}.member-name{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.member-email{color:#64748b;margin-top:2px}.member-date{color:#94a3b8;font-size:12px;margin-top:4px}.role-badge{border-radius:12px;font-size:11px;font-weight:600;padding:2px 8px}.role-badge.owner{background:#fef3c7;color:#92400e}.role-badge.admin{color:#1e40af}.pending-actions{display:flex;flex-shrink:0;gap:8px}.approve-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.approve-btn:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.approve-btn:disabled{cursor:not-allowed;opacity:.6}.deny-btn{background:#fff;border:2px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.deny-btn:hover:not(:disabled){background:#fef2f2}.deny-btn:disabled{cursor:not-allowed;opacity:.6}.member-actions{flex-shrink:0}.remove-btn{background:#fee2e2;border:2px solid #fca5a5;border-radius:8px;color:#991b1b;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .2s}.remove-btn:hover:not(:disabled){background:#fecaca;border-color:#f87171}.remove-btn:disabled{cursor:not-allowed;opacity:.6}.loading{font-size:16px}@media (max-width:768px){.member-card,.pending-card{flex-wrap:wrap}.pending-actions{justify-content:flex-end;margin-top:12px;width:100%}.member-actions{margin-left:auto}}.household-dashboard{background:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:30px}.loading-container{gap:16px;min-height:60vh}.spinner{border:4px solid #e2e8f0;border-top-color:#8b5cf6;height:48px;width:48px}.loading-container p{color:#64748b;font-size:16px}.dashboard-header{align-items:center;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;display:flex;gap:20px;margin-bottom:24px;padding:24px}.back-button{background:#f1f5f9;border:2px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.back-button:hover{background:#e2e8f0;border-color:#cbd5e1}.household-title{flex:1 1;gap:16px}.household-title,.title-icon{align-items:center;display:flex}.title-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;font-size:48px;height:64px;justify-content:center;width:64px}.title-content h1{color:#1f2937;font-size:28px;margin:0 0 8px}.household-meta{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.role-badge{border-radius:6px;font-size:12px;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.role-badge.owner{background:#ede9fe;color:#7c3aed}.role-badge.admin{background:#dbeafe;color:#2563eb}.role-badge.member{background:#d1fae5;color:#059669}.members-count{font-weight:600}.invite-code-badge,.members-count{color:#64748b;font-size:14px}.invite-code-badge code{background:#f1f5f9;border-radius:4px;color:#8b5cf6;font-family:Courier New,monospace;font-weight:700;margin-left:4px;padding:4px 8px}.add-expense-btn-header{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.add-expense-btn-header:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.dashboard-tabs{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding:8px}.tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s;white-space:nowrap}.tab:hover{background:#f8fafc;color:#475569}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.dashboard-content{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;min-height:400px;padding:32px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;padding:24px;transition:all .3s}.stat-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf626;transform:translateY(-2px)}.stat-icon{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;font-size:40px;height:64px;justify-content:center;width:64px}.stat-content{flex:1 1}.stat-label{color:#64748b;font-size:12px;margin-bottom:4px}.stat-value{font-size:28px;margin-bottom:2px}.stat-sublabel{color:#94a3b8;font-size:13px}.section-placeholder{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:16px;padding:80px 40px;text-align:center}.section-placeholder h2{color:#1f2937;font-size:24px;margin:0 0 12px}.placeholder-text{color:#64748b;font-size:16px;margin:0 0 24px}.placeholder-action{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.placeholder-action:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.quick-sections{display:flex;flex-direction:column;gap:24px}@media (max-width:768px){.household-dashboard{padding:16px}.dashboard-header{align-items:stretch;flex-direction:column;gap:16px}.household-title{align-items:center;flex-direction:column;text-align:center}.title-content h1{font-size:22px}.household-meta{justify-content:center}.dashboard-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab{flex:none;min-width:140px}.dashboard-content{padding:20px}.stats-grid{grid-template-columns:1fr}.section-placeholder{padding:60px 20px}.section-placeholder h2{font-size:20px}}.member-balances-preview{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.member-balances-preview h2{color:#1f2937;font-size:20px;margin:0 0 20px}.balances-list{display:flex;flex-direction:column;gap:16px}.balance-item{background:#f9fafb;border-left:4px solid #667eea;border-radius:8px;padding:16px}.member-name{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:8px}.balance-stats{flex-wrap:wrap;gap:16px}.balance-stat{background:#fff;border-radius:6px;font-size:14px;padding:4px 12px}.balance-stat.contributed{border:1px solid #d1fae5;color:#059669}.balance-stat.paid{border:1px solid #dbeafe;color:#2563eb}.balance-stat.net{font-weight:600}.balance-stat.net.positive{background:#d1fae5;border:1px solid #10b981;color:#10b981}.balance-stat.net.negative{background:#fee2e2;border:1px solid #ef4444;color:#ef4444}.debts-list{gap:16px}.debt-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.debt-header h3{color:#1f2937;font-size:18px;margin:0 0 12px}.debt-amount{align-items:center;border-radius:8px;display:flex;font-size:18px;font-weight:600;justify-content:space-between;margin-bottom:12px;padding:12px 16px}.debt-amount.positive{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.debt-amount.negative{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.debt-amount.settled{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3}.debt-breakdown{border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.debts-summary{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px dashed #d1d5db;border-radius:12px;margin-top:24px;padding:20px}.summary-item{font-size:16px;font-weight:600;justify-content:space-between}.summary-item .positive{color:#10b981}.summary-item .negative{color:#ef4444}.members-list{display:flex;flex-direction:column;gap:16px}.member-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:16px;padding:20px;transition:all .2s}.member-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.member-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:60px;justify-content:center;width:60px}.member-info{flex:1 1}.member-info h3{color:#1f2937;font-size:18px;margin:0 0 4px}.member-email{color:#6b7280;font-size:14px;margin:0 0 8px}.member-role-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.member-role-badge.owner{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f}.member-role-badge.member{background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#1e3a8a}.member-meta{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.joined-date{color:#9ca3af;font-size:13px}.empty-state{color:#9ca3af;padding:60px 20px}.empty-state p{font-size:18px;margin:0}@media (max-width:768px){.balance-stats,.debt-breakdown{flex-direction:column}.debt-breakdown{gap:8px}.member-card{flex-direction:column;text-align:center}.member-meta{align-items:center}}.debt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.settle-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;box-shadow:0 2px 4px #8b5cf633;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.settle-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 8px #8b5cf64d;transform:translateY(-2px)}.settle-btn:active{transform:translateY(0)}.expense-breakdown{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px}.expense-breakdown h2{color:#1e293b;font-size:22px;margin:0 0 20px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;padding:20px;transition:all .3s ease}.info-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf61a;transform:translateY(-2px)}.info-icon{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;font-size:32px;height:48px;justify-content:center;min-width:48px}.info-content h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 8px}.info-content p{color:#64748b;font-size:14px;line-height:1.5;margin:0}.debt-explanation{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:4px solid #3b82f6;border-radius:12px;color:#1e40af;font-size:15px;line-height:1.6;margin-bottom:24px;padding:16px 20px}@media (max-width:768px){.info-grid{grid-template-columns:1fr}.info-card{flex-direction:column;text-align:center}.info-icon{margin:0 auto}}.expenses-header{margin-bottom:24px}.expenses-header h2{color:#1e293b;font-size:24px;margin:0 0 12px}.expenses-description{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:4px solid #3b82f6;border-radius:12px;color:#1e40af;font-size:14px;line-height:1.6;margin:0;padding:16px 20px}.expenses-tab{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px}.settings-container{margin:0 auto;max-width:900px;padding:30px}.settings-header{margin-bottom:30px}.back-btn{color:#64748b;display:inline-block}.settings-header h1{color:#1e293b;font-size:32px;font-weight:700;margin:0}.settings-content{display:flex;flex-direction:column;gap:30px}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-section h2{color:#1e293b;font-size:22px;font-weight:700;margin:0}.success-banner{animation:slideDown .3s ease-out;background:#d1fae5;border:2px solid #a7f3d0;border-radius:12px;color:#065f46;font-weight:600;padding:16px 24px;text-align:center}.error-banner{background:#fee2e2;border:2px solid #fecaca;border-radius:12px;font-size:14px;gap:10px;margin-top:16px;padding:16px 24px}.error-icon{font-size:20px}.settings-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:30px}.settings-description{color:#64748b;font-size:15px;margin:0 0 24px}.form-input{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:15px;padding:12px 16px;transition:all .2s;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input::placeholder{color:#94a3b8}.save-btn{border-radius:10px;cursor:pointer;font-size:15px;font-weight:700;margin-top:8px;padding:12px 32px;transition:all .2s}.save-btn:hover:not(:disabled){box-shadow:0 8px 16px #667eea66}.budget-settings{display:flex;flex-direction:column;gap:28px;margin-bottom:24px}.budget-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s}.budget-item:hover{background:#fff;border-color:#cbd5e1}.budget-item.needs{border-left:4px solid #059669}.budget-item.wants{border-left:4px solid #f59e0b}.budget-item.savings{border-left:4px solid #667eea}.budget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.budget-header label{color:#1e293b;font-size:16px;font-weight:600}.percentage-value{color:#667eea;font-size:28px;font-weight:700}.slider{-webkit-appearance:none;border-radius:4px;cursor:pointer;height:8px;margin:12px 0;outline:none;width:100%}.slider::-webkit-slider-track{border-radius:4px;height:8px}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-webkit-transition:all .2s;transition:all .2s;width:20px}.slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.needs-slider::-webkit-slider-track{background:#d1fae5}.needs-slider::-webkit-slider-thumb{background:#059669}.wants-slider::-webkit-slider-track{background:#fef3c7}.wants-slider::-webkit-slider-thumb{background:#f59e0b}.savings-slider::-webkit-slider-track{background:#dbeafe}.savings-slider::-webkit-slider-thumb{background:#667eea}.budget-description{color:#64748b;font-size:13px;margin:4px 0 0}.total-display{border-radius:10px;font-size:16px;font-weight:600;margin-bottom:20px;padding:16px;text-align:center}.total-display.valid{background:#d1fae5;border:2px solid #a7f3d0;color:#065f46}.total-display.invalid{background:#fee2e2;border:2px solid #fecaca;color:#991b1b}.total-label{margin-right:8px}.total-percentage{font-size:24px;font-weight:700}.quick-presets{margin-bottom:24px}.quick-presets h3{color:#475569;font-size:15px;font-weight:600;margin:0 0 12px}.preset-buttons{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.preset-btn{background:#fff;border:2px solid #e2e8f0;color:#64748b;font-size:13px;font-weight:600;padding:12px 16px;transition:all .2s}.preset-btn:hover{background:#f8fafc;border-color:#667eea;color:#667eea;transform:translateY(-1px)}.loading-spinner{padding:60px 40px;text-align:center}.loading-spinner .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}.loading-spinner p{color:#64748b;font-weight:500}@media (max-width:768px){.settings-container{padding:20px}.settings-header h1{font-size:24px}.settings-card{padding:20px}.settings-section h2{font-size:20px}.budget-item{padding:16px}.budget-header label{font-size:15px}.percentage-value{font-size:24px}.preset-buttons{grid-template-columns:1fr}.save-btn{width:100%}}.input-hint{color:#64748b;font-size:12px;margin-bottom:0;margin-top:4px}.category-management{margin-top:30px}.category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.category-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.add-category-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.add-category-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.category-description{color:#64748b;font-size:14px;line-height:1.5;margin-bottom:24px}.success-message{animation:slideDown .3s ease-out;background:#d1fae5;border:2px solid #a7f3d0;border-radius:8px;color:#065f46;padding:12px 16px}.error-message,.success-message{font-weight:600;margin-bottom:16px}.error-message{background:#fee2e2;border:2px solid #fecaca;color:#991b1b}.budget-group-section{background:#f8fafc;border-left:4px solid #cbd5e1;border-radius:12px;margin-bottom:32px;padding:20px}.budget-group-section.needs{background:linear-gradient(90deg,#0596690d,#f8fafc);border-left-color:#059669}.budget-group-section.wants{background:linear-gradient(90deg,#f59e0b0d,#f8fafc);border-left-color:#f59e0b}.budget-group-section.savings{background:linear-gradient(90deg,#667eea0d,#f8fafc);border-left-color:#667eea}.budget-group-section h3{color:#1e293b;font-size:18px;font-weight:700;margin:0 0 16px}.empty-group{color:#94a3b8;font-style:italic;padding:20px;text-align:center}.categories-list{display:flex;flex-direction:column;gap:12px}.category-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s}.category-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.category-main{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:16px}.category-info h4{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 4px}.subcategory-count{color:#64748b;font-size:13px}.category-actions{align-items:center;display:flex;gap:8px}.budget-group-select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s}.budget-group-select:hover{border-color:#667eea}.budget-group-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.delete-btn,.toggle-btn{align-items:center;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s;width:36px}.toggle-btn:hover{background:#e2e8f0}.delete-btn:hover{background:#fee2e2}.subcategories-section{background:#f8fafc;border-top:1px solid #e2e8f0;padding:16px}.subcategories-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.subcategory-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;display:flex;font-size:13px;gap:6px;padding:6px 12px}.remove-sub-btn{align-items:center;background:none;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:14px;height:16px;justify-content:center;padding:0;transition:all .2s;width:16px}.remove-sub-btn:hover{background:#fee2e2;color:#dc2626}.add-subcategory{display:flex;gap:8px}.add-subcategory input{border:2px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.add-subcategory input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.add-subcategory button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s}.add-subcategory button:hover{background:#764ba2}.modal-overlay{animation:fadeIn .2s;z-index:2000}.modal-header{border-bottom:1px solid #e2e8f0}.modal-header h3{color:#1e293b;font-size:18px;font-weight:700;margin:0}.close-btn{background:#f1f5f9;border-radius:50%;color:#64748b;font-size:20px;transition:all .2s}.close-btn:hover{background:#e2e8f0;transform:rotate(90deg)}.modal-body{padding:24px}.form-group input,.form-group select{box-sizing:border-box;padding:10px 12px}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.subcategory-input{display:flex;gap:8px;margin-bottom:8px}.subcategory-input input{flex:1 1}.add-sub-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;height:36px;transition:all .2s;width:36px}.add-sub-btn:hover{background:#764ba2}.modal-actions{border-top:1px solid #e2e8f0;padding:16px 24px}.cancel-btn,.save-btn{border-radius:8px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.cancel-btn{background:#fff;border:2px solid #e2e8f0;color:#64748b}.cancel-btn:hover{background:#f8fafc;border-color:#cbd5e1}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.save-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.loading{color:#64748b;padding:40px;text-align:center}@media (max-width:768px){.category-main{align-items:flex-start;flex-direction:column}.category-actions{justify-content:space-between;width:100%}.budget-group-select{flex:1 1}.modal-content{width:95%}}.telegram-settings{margin-bottom:2rem}.telegram-settings h2{align-items:center;color:#1a1a1a;color:var(--text-primary,#1a1a1a);display:flex;font-size:1.5rem;gap:.5rem;margin-bottom:1rem}.telegram-info{margin-bottom:1.5rem}.telegram-info .settings-description{color:#666;color:var(--text-secondary,#666);font-size:.95rem;line-height:1.5;margin-bottom:1rem}.bot-features{background:#f8f9fa;background:var(--background-light,#f8f9fa);border-radius:8px;margin-top:1rem;padding:1rem}.bot-features h4{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1rem;margin-bottom:.75rem}.bot-features ul{list-style:none;margin:0;padding:0}.bot-features li{color:#666;color:var(--text-secondary,#666);font-size:.9rem;padding:.4rem 0}.status-badge{border-radius:20px;font-size:.9rem;font-weight:600;margin-bottom:1rem;padding:.5rem 1rem}.status-badge.linked{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.not-linked{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.telegram-linked{text-align:center}.linked-info{background:#f8f9fa;background:var(--background-light,#f8f9fa);border-radius:8px;margin:1rem 0;padding:1rem}.linked-info p{color:#666;color:var(--text-secondary,#666);font-size:.95rem;margin:.5rem 0}.linked-info strong{color:#1a1a1a;color:var(--text-primary,#1a1a1a)}.telegram-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.5rem}.telegram-not-linked{text-align:center}.generate-code-section{padding:2rem 0}.instruction-text{color:#666;color:var(--text-secondary,#666);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.link-code-container{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.link-code-container h3{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.2rem;margin-bottom:1rem}.link-code-display{align-items:center;display:flex;gap:.75rem;justify-content:center;margin:1.5rem 0}.link-code{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;font-family:Courier New,monospace;font-size:2rem;font-weight:700;letter-spacing:.3em;padding:1rem 2rem}.copy-btn{background:#f8f9fa;background:var(--background-light,#f8f9fa);border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);border-radius:6px;color:#1a1a1a;color:var(--text-primary,#1a1a1a);cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.copy-btn:hover{background:#4a90e2;background:var(--primary-color,#4a90e2);border-color:#4a90e2;border-color:var(--primary-color,#4a90e2);color:#fff}.countdown-timer{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;display:inline-block;font-size:1rem;margin:1rem 0;padding:.75rem 1.5rem}.countdown-timer strong{font-family:Courier New,monospace;font-size:1.2rem}.link-instructions{background:#f8f9fa;background:var(--background-light,#f8f9fa);border-radius:8px;margin:1.5rem 0;padding:1.5rem;text-align:left}.link-instructions h4{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1rem;margin-bottom:.75rem}.link-instructions ol{margin:0;padding-left:1.5rem}.link-instructions li{color:#666;color:var(--text-secondary,#666);font-size:.9rem;line-height:1.6;padding:.4rem 0}.link-instructions code{background:#e9ecef;border-radius:4px;color:#495057;font-family:Courier New,monospace;font-size:.85rem;padding:.2rem .5rem}.btn-danger,.btn-primary{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-danger:hover:not(:disabled){background:#c82333}.btn-large{font-size:1.1rem;padding:1rem 2rem}.btn-danger:disabled,.btn-primary:disabled{cursor:not-allowed;opacity:.6}.telegram-help{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color,#dee2e6);margin-top:2rem;padding-top:1rem}.telegram-help details{cursor:pointer}.telegram-help summary{background:#f8f9fa;background:var(--background-light,#f8f9fa);border-radius:6px;color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-weight:600;padding:.75rem;transition:background .2s;-webkit-user-select:none;user-select:none}.telegram-help summary:hover{background:#e9ecef}.help-content{margin-top:.5rem;padding:1rem}.help-content h4{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1rem;margin:1rem 0 .5rem}.help-content h4:first-child{margin-top:0}.help-content ul{list-style:none;margin:0 0 1rem;padding:0}.help-content li{color:#666;color:var(--text-secondary,#666);font-size:.9rem;padding:.3rem 0}.help-content code{background:#e9ecef;border-radius:4px;color:#495057;font-family:Courier New,monospace;font-size:.85rem;padding:.2rem .5rem}.help-content p{color:#666;color:var(--text-secondary,#666);font-size:.9rem;margin:.5rem 0}.loading-spinner{align-items:center;display:flex;flex-direction:column;padding:2rem}.spinner{animation:spin 1s linear infinite;border:3px solid #f8f9fa;border-top:3px solid #4a90e2;border:3px solid var(--background-light,#f8f9fa);border-top-color:var(--primary-color,#4a90e2);height:40px;width:40px}.error-banner,.success-banner{animation:fadeIn .3s;border-radius:6px;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-banner{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.error-banner{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.error-icon{margin-right:.5rem}@media (max-width:768px){.link-code{font-size:1.5rem;letter-spacing:.2em;padding:.75rem 1.5rem}.link-code-display,.telegram-actions{flex-direction:column}.btn-danger,.btn-primary{width:100%}}.wallets-container{background:#f5f7fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:30px 40px}.wallets-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.wallets-header h1{color:#1a202c;font-size:32px;font-weight:700;margin:0}.back-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#475569;font-weight:600;padding:10px 20px;transition:all .2s}.back-btn:hover{background:#f8fafc;border-color:#cbd5e1}.create-wallet-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s}.create-wallet-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.wallet-info-box{background:linear-gradient(135deg,#667eea15,#764ba215);border:2px solid #667eea30;border-radius:12px;margin-bottom:30px;padding:20px 25px}.wallet-info-box h3{align-items:center;color:#5b21b6;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 10px}.wallet-info-box p{color:#4c1d95;font-size:14px;line-height:1.6;margin:0}.wallets-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:30px}.wallet-card{align-items:center;background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;padding:30px;text-align:center;transition:all .3s}.wallet-card:hover{border-color:#7c3aed;box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.wallet-icon{font-size:56px;margin-bottom:15px}.wallet-card h2{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 8px}.wallet-currency{color:#64748b;font-size:14px;font-weight:600;margin-bottom:20px}.wallet-balance-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;margin-bottom:20px;padding:20px;width:100%}.balance-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.balance-amount{color:#1e293b;font-size:28px;font-weight:700}.view-transactions-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-bottom:10px;padding:12px;transition:all .3s;width:100%}.view-transactions-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.delete-wallet-btn{background:#fff;border:2px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;font-weight:600;padding:10px;transition:all .2s;width:100%}.delete-wallet-btn:hover{background:#fef2f2;border-color:#fca5a5}.exchange-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:700;margin:0 auto;max-width:400px;padding:16px 32px;transition:all .3s;width:100%}.exchange-btn:hover{box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.empty-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:60px 40px;text-align:center}.empty-state p{color:#64748b;font-size:16px;margin-bottom:20px}.exchange-btn-inline{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.exchange-btn-inline:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal-content{box-shadow:0 20px 60px #0000004d;padding:35px}.modal-content h2{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 25px}.form-group label{color:#475569}.form-group input,.form-group select{border:2px solid #e2e8f0;font-size:14px;padding:12px 15px;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.icon-picker{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr)}.icon-option{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:24px;padding:12px;transition:all .2s}.icon-option:hover{background:#f1f5f9;border-color:#cbd5e1}.icon-option.selected{background:linear-gradient(135deg,#667eea15,#764ba215);border-color:#7c3aed;transform:scale(1.1)}.modal-actions{margin-top:30px}.modal-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.modal-actions button[type=button]{background:#f1f5f9;color:#475569}.modal-actions button[type=button]:hover{background:#e2e8f0}.modal-actions button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-actions button.primary:hover{box-shadow:0 4px 12px #667eea66}@media (max-width:768px){.wallets-container{padding:20px}.wallets-header{align-items:stretch;flex-direction:column;gap:15px}.wallets-header h1{text-align:center}.wallets-grid{grid-template-columns:1fr}.icon-picker{grid-template-columns:repeat(5,1fr)}}.wallet-type-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.type-option{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;justify-content:center;padding:16px;transition:all .2s}.type-option:hover{background:#faf5ff;border-color:#8b5cf6}.type-option.selected{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#8b5cf6}.type-option input[type=radio]{display:none}.type-option span{color:#1f2937;font-size:14px;font-weight:600}.type-option.selected span{color:#8b5cf6}.household-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;box-shadow:0 2px 8px #f59e0b4d;color:#fff;font-size:11px;font-weight:700;padding:6px 12px;position:absolute;right:12px;top:12px}.wallet-card{position:relative}.help-text{color:#f59e0b;font-size:12px;font-style:italic;margin-top:8px}.wallet-tabs{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:8px;margin-bottom:24px;padding:8px}.wallet-tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s;white-space:nowrap}.wallet-tab:hover{background:#f8fafc;color:#475569}.wallet-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.wallet-card.deleted{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;opacity:.85}.deleted-banner{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px 12px 0 0;color:#fff;font-size:11px;font-weight:700;left:0;letter-spacing:.5px;padding:6px;position:absolute;right:0;text-align:center;top:0}.wallet-card.deleted .wallet-icon{margin-top:30px}.restore-wallet-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:8px;padding:12px;transition:all .2s;width:100%}.restore-wallet-btn:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.empty-state .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3{color:#1f2937;font-size:20px;margin:0 0 8px}@media (max-width:768px){.wallet-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.wallet-tab{flex:none;min-width:150px}}.exchange-container{background:#f5f7fa;margin:0 auto;max-width:800px;min-height:100vh;padding:20px}.exchange-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.exchange-header h1{color:#333;margin:0}.exchange-loading{align-items:center;color:#667eea;display:flex;font-size:24px;height:100vh;justify-content:center}.exchange-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.wallet-section{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.wallet-section h3{color:#667eea;margin:0 0 15px}.wallet-section input,.wallet-section select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;margin-bottom:10px;padding:12px;width:100%}.wallet-section input:focus,.wallet-section select:focus{border-color:#667eea;outline:none}.currency{color:#667eea;font-size:18px;font-weight:600;text-align:right}.exchange-rate{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;margin:20px 0;padding:20px;text-align:center}.rate-icon{font-size:32px;margin-bottom:10px}.exchange-rate label{display:block;font-weight:600;margin-bottom:10px}.exchange-rate input{border:2px solid #fff;border-radius:8px;font-size:16px;font-weight:600;max-width:200px;padding:10px;text-align:center;width:100%}.form-group label{color:#333}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.submit-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);border:none;border-radius:8px;box-shadow:0 2px 8px #43e97b4d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px;transition:all .2s;width:100%}.submit-btn:hover{box-shadow:0 5px 20px #43e97b66;transform:translateY(-2px)}@media (max-width:768px){.exchange-container{padding:10px}.exchange-form{padding:20px}}.reports-page{font-family:Segoe UI,system-ui,-apple-system,sans-serif;margin:0 auto;max-width:1000px;padding:20px 30px}.reports-header{margin-bottom:20px}.reports-header h1{color:#1a1a2e;font-size:1.75rem;font-weight:600;margin:0}.disclaimer-banner{align-items:flex-start;background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:1px solid #fcc;border-radius:12px;display:flex;gap:12px;margin-bottom:20px;padding:14px 18px}.disclaimer-icon{font-size:1.25rem;line-height:1}.disclaimer-content strong{color:#c33;display:block;font-size:.9rem;margin-bottom:4px}.disclaimer-content p{color:#933;font-size:.85rem;line-height:1.4;margin:0}.reports-container{display:flex;flex-direction:column;gap:16px}.report-card{background:#fff;border:1px solid #eef2f7;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:20px}.report-card h2{color:#1a1a2e;font-size:1rem;font-weight:600;margin:0 0 16px}.card-hint{color:#666;font-size:.8rem;margin:-10px 0 12px}.date-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.preset-btn{background:#f5f7fa;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-family:inherit;font-size:.8rem;padding:8px 14px;transition:all .2s ease}.preset-btn:hover{background:#eef0ff;border-color:#7c3aed;color:#7c3aed}.date-inputs{align-items:center;display:flex;gap:16px}.date-field{flex:1 1}.date-field label{color:#666;display:block;font-size:.75rem;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.date-field input{border:1px solid #e2e8f0;font-family:inherit;font-size:.9rem;transition:all .2s ease;width:100%}.date-field input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.date-arrow{color:#999;font-size:1.25rem;padding-top:20px}.data-toggles{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.data-toggle{align-items:center;background:#f8f9fc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:14px 16px;transition:all .2s ease}.data-toggle:hover{background:#faf8ff;border-color:#c4b5fd}.data-toggle.active{background:#f5f0ff;border-color:#7c3aed}.data-toggle.active.income{background:#f0fdf4;border-color:#22c55e}.data-toggle.active.expense{background:#fef2f2;border-color:#ef4444}.data-toggle.active.household{background:#f5f0ff;border-color:#7c3aed}.data-toggle input{display:none}.toggle-emoji{font-size:1.25rem}.toggle-label{color:#333;font-size:.9rem;font-weight:500}.wallet-chips{display:flex;flex-wrap:wrap;gap:8px}.wallet-chip{align-items:center;background:#f8f9fc;border:1px solid #e2e8f0;border-radius:20px;color:#4a5568;cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:8px 14px;transition:all .2s ease}.wallet-chip:hover{background:#faf8ff;border-color:#c4b5fd}.wallet-chip.selected{background:#f5f0ff;border-color:#7c3aed;color:#5b21b6}.wallet-chip input{display:none}.chip-currency{background:#e2e8f0;border-radius:4px;color:#4a5568;font-size:.7rem;font-weight:600;padding:2px 6px}.wallet-chip.selected .chip-currency{background:#ddd6fe;color:#5b21b6}.currency-alert{border-radius:8px;font-size:.85rem;margin-top:12px;padding:12px 16px}.currency-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.currency-alert.error strong{display:block;margin-bottom:6px}.currency-alert.error p{color:#991b1b;margin:0 0 4px}.currency-alert.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.language-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.language-option{align-items:center;background:#f8f9fc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;gap:8px;padding:10px 14px;transition:all .2s ease}.language-option:hover{background:#faf8ff;border-color:#c4b5fd}.language-option.selected{background:#f5f0ff;border-color:#7c3aed}.lang-flag{font-size:1.1rem}.lang-name{color:#333;font-size:.8rem}.export-card{background:linear-gradient(135deg,#f8f9fc,#f0f0ff);border:1px solid #e2e8f0;border-radius:12px;padding:20px}.export-card.disabled{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border-color:#fecaca}.export-card h2{color:#1a1a2e;font-size:1rem;font-weight:600;margin:0 0 16px}.alert{border-radius:8px;font-size:.9rem;margin-bottom:16px;padding:12px 16px}.alert.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.export-buttons{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.export-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-family:inherit;gap:12px;padding:16px 20px;text-align:left;transition:all .2s ease}.export-btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.export-btn.csv{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.export-btn.csv:hover:not(:disabled){box-shadow:0 6px 20px #22c55e59;transform:translateY(-2px)}.export-btn.pdf{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}.export-btn.pdf:hover:not(:disabled){box-shadow:0 6px 20px #7c3aed59;transform:translateY(-2px)}.btn-emoji{font-size:1.5rem}.btn-content{display:flex;flex-direction:column}.btn-content strong{font-size:1rem}.btn-content small{font-size:.8rem;opacity:.85}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}.export-hint{color:#dc2626;font-size:.85rem;font-weight:500;margin:16px 0 0;text-align:center}.summary-card{background:#fafaff}.summary-grid{grid-gap:10px;display:grid;gap:10px}.summary-item{align-items:center;border-bottom:1px solid #eef2f7;display:flex;gap:12px;padding:8px 0}.summary-item:last-child{border-bottom:none}.summary-label{color:#666;font-size:.85rem;min-width:100px}.summary-value{color:#333;font-size:.9rem;font-weight:500}.summary-value.error{color:#dc2626}@media (max-width:768px){.reports-page{padding:16px}.date-inputs{flex-direction:column}.date-arrow{display:none}.data-toggles{grid-template-columns:1fr}.language-grid{grid-template-columns:repeat(2,1fr)}.export-buttons{grid-template-columns:1fr}}.home-page{margin:0 auto;max-width:1400px;min-height:calc(100vh - 48px);padding:24px}.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:100px}.home-header{margin-bottom:32px}.greeting h1{color:#1f2937;font-size:32px;margin:0 0 4px}.date-display{color:#6b7280;font-size:16px;margin:0}.widgets-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:32px}@media (max-width:768px){.widgets-grid{grid-template-columns:1fr}}.widget{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:20px}.widget-header{align-items:center;display:flex;gap:10px;margin-bottom:16px}.widget-icon{font-size:20px}.widget-title{color:#1f2937;flex:1 1;font-size:16px;font-weight:600}.widget-action{background:#0000;border:none;border-radius:4px;color:#3b82f6;cursor:pointer;font-size:13px;padding:4px 8px;transition:background .2s}.widget-action:hover{background:#eff6ff}.widget-financial{background:linear-gradient(135deg,#f8faff,#eff6ff)}.financial-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.fin-stat{background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000d;padding:16px 8px;text-align:center}.fin-label{color:#6b7280;display:block;font-size:12px;margin-bottom:4px;text-transform:uppercase}.fin-value{display:block;font-size:20px;font-weight:700}.fin-value.positive{color:#059669}.fin-value.negative{color:#dc2626}.widget-timeoff{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.timeoff-content{display:flex;flex-direction:column;gap:16px}.timeoff-period{background:#fff9;border-radius:8px;color:#047857;font-size:14px;font-weight:600;padding:6px 12px;text-align:center;transition:all .3s ease;white-space:nowrap}.timeoff-period.not-current{background:#eef2ff99;color:#4f46e5}.timeoff-period-nav{gap:6px;margin-bottom:-4px}.timeoff-nav-btn,.timeoff-period-nav{align-items:center;display:flex;justify-content:center}.timeoff-nav-btn{background:#fff9;border:1px solid #05966933;border-radius:50%;color:#047857;cursor:pointer;flex-shrink:0;font-size:16px;height:26px;line-height:1;padding:0;transition:all .2s ease;width:26px}.timeoff-nav-btn:hover{background:#ffffffe6;border-color:#047857}.timeoff-nav-btn:active{transform:scale(.9)}.timeoff-today-btn{background:#0000;border:1px solid #047857;border-radius:12px;color:#047857;cursor:pointer;font-size:11px;font-weight:600;margin-left:2px;padding:2px 8px;transition:all .2s ease;white-space:nowrap}.timeoff-today-btn:hover{background:#047857;color:#fff}.widget-loading .timeoff-balance,.widget-loading .upcoming-leave{opacity:.4;transition:opacity .2s ease}.widget .timeoff-balance,.widget .upcoming-leave{transition:opacity .3s ease}.timeoff-balance{align-items:flex-start;display:flex;gap:20px}.balance-circle{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:100px;justify-content:center;width:100px}.balance-number{font-size:32px;font-weight:700;line-height:1}.balance-unit{font-size:11px;opacity:.9}.balance-details{display:flex;flex:1 1;flex-direction:column;gap:8px}.detail-row{color:#374151;display:flex;font-size:14px;justify-content:space-between}.detail-row.total{border-top:1px solid #d1d5db;font-weight:600;padding-top:8px}.upcoming-leave{align-items:center;background:#fff;border-radius:8px;display:flex;font-size:13px;gap:8px;padding:12px}.upcoming-label{color:#6b7280}.upcoming-type{color:#059669;margin-left:auto}.timeoff-empty{color:#6b7280;padding:20px;text-align:center}.timeoff-empty p{margin:0 0 12px}.btn-configure{background:#22c55e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.btn-configure:hover{background:#16a34a}.widget-debts{background:linear-gradient(135deg,#fefce8,#fef9c3)}.debts-list{display:flex;flex-direction:column;gap:12px}.debt-item{align-items:center;background:#fff;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px}.debt-household{color:#1f2937;font-weight:500}.debt-amount{font-size:16px;font-weight:700}.debt-amount.owed-to-you{color:#059669}.debt-amount.you-owe{color:#dc2626}.debts-empty{color:#6b7280;padding:24px;text-align:center}.debts-empty .empty-icon{color:#22c55e;display:block;font-size:32px;margin-bottom:8px}.debts-empty p{margin:0}.widget-trips{background:linear-gradient(135deg,#fef3c7,#fde68a)}.trips-list{display:flex;flex-direction:column;gap:12px}.trip-item{align-items:flex-start;background:#fff;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px}.trip-info{display:flex;flex-direction:column;gap:2px}.trip-name{color:#1f2937;font-weight:600}.trip-destination{color:#6b7280;font-size:13px}.trip-dates{color:#92400e;font-size:13px;font-weight:500}.widget-transactions{grid-column:span 2}@media (max-width:900px){.widget-transactions{grid-column:span 1}}.transactions-list{display:flex;flex-direction:column;gap:8px}.transaction-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.tx-info{display:flex;flex-direction:column;gap:2px}.tx-category{color:#1f2937;font-size:14px;font-weight:500}.tx-description{color:#6b7280;font-size:12px}.tx-right{display:flex;flex-direction:column;gap:2px;text-align:right}.tx-amount{font-size:15px;font-weight:600}.tx-amount.positive{color:#059669}.tx-amount.negative{color:#dc2626}.tx-date{color:#9ca3af;font-size:12px}.transactions-empty{color:#6b7280;padding:32px;text-align:center}.quick-actions-bar{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.quick-action{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:14px 24px;transition:transform .2s,box-shadow .2s}.quick-action:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.quick-action span{font-size:18px}.quick-action.income{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.quick-action.expense{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.quick-action.timeoff{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}@media (max-width:640px){.home-page{padding:16px}.greeting h1{font-size:24px}.financial-stats{gap:8px;grid-template-columns:1fr}.fin-stat{align-items:center;display:flex;justify-content:space-between;padding:12px 16px;text-align:left}.timeoff-balance{align-items:center;flex-direction:column;text-align:center}.balance-details{width:100%}.timeoff-period-nav{gap:4px}.timeoff-period{font-size:12px;padding:4px 8px}.quick-actions-bar{background:#fff;border-radius:16px;bottom:70px;box-shadow:0 -4px 20px #0000001a;gap:8px;left:16px;padding:12px;position:fixed;right:16px}.quick-action{flex:1 1;font-size:13px;justify-content:center;padding:12px 8px}.quick-action span{font-size:16px}}.timeoff-page{margin:0 auto;max-width:1600px;padding:24px}.timeoff-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.timeoff-header h1{color:#1f2937;font-size:28px;margin:0}.header-left{gap:24px}.header-left,.year-nav{align-items:center;display:flex}.year-nav{background:#f3f4f6;border-radius:8px;gap:12px;padding:4px}.year-nav button{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:16px;height:32px;transition:background .2s;width:32px}.year-nav button:hover{background:#e5e7eb}.current-year{font-size:18px;font-weight:600;min-width:60px;text-align:center}.timeoff-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;padding-bottom:8px}.timeoff-tabs .tab{background:#0000;border:none;border-radius:8px 8px 0 0;color:#6b7280;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.timeoff-tabs .tab:hover{background:#f3f4f6;color:#1f2937}.timeoff-tabs .tab.active{background:#3b82f6;color:#fff}.calendar-view{grid-gap:24px;display:grid;gap:24px;grid-template-columns:320px 1fr}@media (max-width:1200px){.calendar-view{grid-template-columns:1fr}.calendar-sidebar{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.calendar-sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:16px}.sidebar-section h3{color:#6b7280;font-size:14px;margin:0 0 12px}.balance-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #0000001a;padding:24px}.balance-card.not-configured{background:#f9fafb;color:#1f2937;padding:32px 20px;text-align:center}.balance-card.not-configured .balance-icon{font-size:48px;margin-bottom:12px}.balance-card.not-configured h3{font-size:18px;margin:0 0 8px}.balance-card.not-configured p{color:#6b7280;margin:0 0 16px}.balance-header{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.balance-header-left{align-items:center;display:flex;gap:8px}.balance-header-row{align-items:center;display:flex;justify-content:space-between}.balance-icon{font-size:20px}.balance-title{color:#1f2937;font-size:16px;font-weight:700}.balance-period{background:#3b82f6;border-radius:20px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;transition:all .3s ease;white-space:nowrap}.balance-period.not-current{background:#6366f1}.balance-period-nav{gap:6px}.balance-period-nav,.period-nav-btn{align-items:center;display:flex;justify-content:center}.period-nav-btn{background:#0000;border:1px solid #e5e7eb;border-radius:50%;color:#6b7280;cursor:pointer;flex-shrink:0;font-size:16px;height:24px;line-height:1;padding:0;transition:all .2s ease;width:24px}.period-nav-btn:hover{background:#f3f4f6;border-color:#3b82f6;color:#3b82f6}.period-nav-btn:active{transform:scale(.92)}.period-today-btn{background:#0000;border:1px solid #3b82f6;border-radius:14px;color:#3b82f6;cursor:pointer;font-size:11px;font-weight:600;margin-left:4px;padding:3px 10px;transition:all .2s ease;white-space:nowrap}.period-today-btn:hover{background:#3b82f6;color:#fff}.balance-card.balance-loading .balance-main,.balance-card.balance-loading .balance-progress,.balance-card.balance-loading .balance-stats{opacity:.4;pointer-events:none;transition:opacity .2s ease}.balance-card .balance-main,.balance-card .balance-progress,.balance-card .balance-stats{transition:opacity .3s ease}.balance-main{margin-bottom:20px;padding:24px 0;text-align:center}.balance-available{color:#3b82f6;font-size:64px;font-weight:700;line-height:1;margin-bottom:8px}.balance-available-label{color:#6b7280;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.balance-stats{display:flex;gap:12px;justify-content:space-between;margin-bottom:20px}.stat{background:#f3f4f6;border-radius:10px;flex:1 1;padding:14px 8px;text-align:center}.stat-value{color:#1f2937;display:block;font-size:24px;font-weight:700;margin-bottom:4px}.stat-label{color:#6b7280;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.balance-progress,.progress-bar{position:relative}.progress-bar{background:#e5e7eb;border-radius:5px;height:10px;overflow:hidden}.progress-used{background:#3b82f6;border-radius:5px 0 0 5px;left:0;transition:width .3s}.progress-planned,.progress-used{height:100%;position:absolute;top:0}.progress-planned{background:#93c5fd;transition:all .3s}.progress-text{color:#6b7280;display:block;font-size:13px;font-weight:600;margin-top:10px}.upcoming-empty{color:#6b7280;padding:24px;text-align:center}.upcoming-empty .empty-icon{display:block;font-size:32px;margin-bottom:8px}.upcoming-list{display:flex;flex-direction:column;gap:8px}.upcoming-item{grid-gap:4px 12px;background:#f9fafb;border-left:4px solid #3b82f6;border-radius:8px;display:grid;gap:4px 12px;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:12px}.upcoming-dates{color:#1f2937;font-size:13px;font-weight:500}.upcoming-days,.upcoming-type{color:#6b7280;font-size:12px}.upcoming-days{text-align:right}.upcoming-status{border-radius:12px;font-size:11px;padding:2px 8px;text-transform:capitalize}.status-planned{background:#fef3c7;color:#92400e}.status-confirmed{background:#d1fae5;color:#065f46}.status-taken{background:#e0e7ff;color:#3730a3}.status-cancelled{background:#fee2e2;color:#991b1b}.legend{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:12px;padding:16px}.legend-item{align-items:center;display:flex;gap:6px}.legend-color{border-radius:3px;height:12px;width:12px}.legend-label{color:#6b7280;font-size:12px}.calendar-main{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:24px}.calendar-year-nav{background:#f3f4f6;border-radius:10px;gap:16px;margin-bottom:20px;padding:12px}.calendar-year-nav button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .2s;width:36px}.calendar-year-nav button:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.calendar-year-nav .current-year{color:#1f2937;font-size:22px;font-weight:700;min-width:80px}.year-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}@media (max-width:1400px){.year-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.year-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.year-grid{grid-template-columns:1fr}}.month-block{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.month-name{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;padding:10px;text-align:center}.weekday-headers{background:#f9fafb;padding:6px 8px 2px}.weekday-header{color:#9ca3af;font-size:10px;text-transform:uppercase}.weekday-header:nth-child(6),.weekday-header:nth-child(7){color:#ef4444}.day-cell.empty{pointer-events:none}.days-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);padding:8px}.day-cell{align-items:center;aspect-ratio:1;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:11px;justify-content:center;transition:all .15s}.day-cell:hover:not(.weekend){background:#e5e7eb;transform:scale(1.1)}.day-cell.weekend{background:#f3f4f6;color:#9ca3af;cursor:default}.day-cell.holiday,.day-cell.leave{color:#fff;font-weight:500}.day-cell.bank-holiday{background:repeating-linear-gradient(-45deg,#fef3c7,#fef3c7 2px,#fde68a 0,#fde68a 4px);color:#78350f;font-weight:600}.day-cell.bank-holiday.leave{background:repeating-linear-gradient(-45deg,#22c55e,#22c55e 3px,#16a34a 0,#16a34a 6px);box-shadow:inset 0 0 0 2px #f59e0b;color:#fff}.holiday-dot{display:none}.entries-list-container{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:24px}.entries-filter{margin-bottom:16px}.entries-filter select{border:1px solid #e5e7eb;border-radius:8px;font-size:14px;padding:8px 12px}.entries-table{border-collapse:collapse;width:100%}.entries-table td,.entries-table th{border-bottom:1px solid #f3f4f6;padding:12px;text-align:left}.entries-table th{color:#6b7280;font-size:12px;font-weight:500;text-transform:uppercase}.type-badge{color:#fff}.status-badge,.type-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.status-badge{text-transform:capitalize}.btn-icon{background:#0000;border:none;cursor:pointer;font-size:16px;opacity:.6;padding:4px;transition:opacity .2s}.btn-icon:hover{opacity:1}.no-entries{color:#6b7280;padding:48px;text-align:center}.settings-container{display:flex;flex-direction:column;gap:24px}.settings-section{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:24px}.settings-section h3{color:#1f2937;font-size:18px;margin:0 0 8px}.section-description{color:#6b7280;font-size:14px;margin:0 0 16px}.settings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.setting-item label{color:#6b7280;display:block;font-size:12px;margin-bottom:4px}.setting-item input{border:1px solid #e5e7eb;border-radius:8px;font-size:16px;padding:10px;width:100%}.setting-item input:disabled{background:#f9fafb;color:#374151;font-weight:600}.countries-list{flex-wrap:wrap;gap:12px}.countries-list,.country-item{align-items:center;display:flex}.country-item{background:#f3f4f6;border-radius:8px;gap:8px;padding:8px 12px}.country-code{border-left:3px solid #3b82f6;font-weight:600;padding-left:8px}.primary-badge{background:#3b82f6;padding:2px 6px}.btn-remove{background:#0000;border:none;color:#ef4444;cursor:pointer;font-size:14px}.add-country{display:flex;gap:8px}.add-country input{border:1px solid #e5e7eb;border-radius:8px;padding:8px;text-transform:uppercase;width:80px}.add-country button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 16px}.leave-types-list{display:flex;flex-direction:column;gap:8px}.leave-type-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:12px;padding:12px}.type-color{border-radius:4px;height:16px;width:16px}.type-name{flex:1 1;font-weight:500}.deducts-badge,.system-badge{border-radius:4px;font-size:10px;padding:2px 6px}.deducts-badge{background:#fef3c7;color:#92400e}.system-badge{background:#e5e7eb;color:#6b7280}.modal-content{max-width:480px}.modal-close{background:#0000;color:#6b7280;font-size:20px}.form-group{margin-bottom:16px}.form-group label{margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e5e7eb;font-size:14px;padding:10px 12px}.form-row{grid-gap:12px;gap:12px}.btn-primary{background:#3b82f6;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;border:none;border-radius:8px;transition:background .2s}.btn-secondary:hover{background:#e5e7eb}.btn-outline{background:#0000;font-size:14px;padding:10px 20px}.btn-outline:hover{background:#3b82f6;color:#fff}.loading-container{color:#6b7280;padding:80px}.error-banner{border-radius:8px;color:#991b1b;margin-bottom:16px}.error-banner button{background:#0000;border:1px solid;border-radius:4px;color:inherit;padding:4px 12px}.countries-tags{margin-bottom:12px}.country-tag{background:#f8fafc;border:2px solid #e2e8f0;border-left-width:4px;border-radius:6px;font-size:14px}.country-tag .country-flag{font-size:18px}.country-tag .country-name{color:#374151;font-weight:500}.country-tag .primary-badge{background:#dbeafe;border-radius:4px;color:#1d4ed8;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.country-tag .tag-remove{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;transition:all .2s}.country-tag .tag-remove:hover{background:#fee2e2;color:#dc2626}.country-dropdown-container{position:relative}.country-dropdown-input{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;display:flex;overflow:hidden}.country-dropdown-input input{border:none;flex:1 1;font-size:14px;outline:none;padding:10px 12px}.country-dropdown-input input::placeholder{color:#9ca3af}.country-dropdown-input .dropdown-arrow{color:#6b7280;cursor:pointer;padding:10px 12px;-webkit-user-select:none;user-select:none}.country-dropdown-list{border:1px solid #d1d5db;box-shadow:0 10px 25px #00000026;max-height:280px;z-index:100}.dropdown-item{gap:10px;padding:10px 14px;transition:background .15s}.dropdown-item .item-flag{font-size:20px}.dropdown-item .item-name{color:#374151;flex:1 1;font-weight:500}.dropdown-item .item-code{font-weight:600}.dropdown-empty{font-size:14px;padding:16px}.dropdown-backdrop{bottom:0;left:0;right:0;top:0;z-index:99}.working-days-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.working-day-checkbox{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:6px;padding:8px 14px;transition:all .2s;-webkit-user-select:none;user-select:none}.working-day-checkbox:hover{border-color:#cbd5e1}.working-day-checkbox.active{background:#dbeafe;border-color:#3b82f6}.working-day-checkbox input{display:none}.working-day-checkbox .day-name{color:#374151;font-weight:500}.working-day-checkbox.active .day-name{color:#1d4ed8}.setting-toggle{background:#f8fafc;border-radius:8px;margin:16px 0;padding:12px}.toggle-label{gap:10px}.toggle-label input[type=checkbox]{accent-color:#3b82f6;height:18px;width:18px}.toggle-text{color:#374151;font-weight:500}.toggle-description{color:#6b7280;font-size:13px;margin:6px 0 0 28px}.day-cell.bank-holiday{position:relative}.day-cell.bank-holiday:not(.leave){background:#fef3c7!important;color:#92400e;font-weight:600}.holiday-dot{background:#f59e0b;border-radius:50%;bottom:2px;height:5px;left:50%;position:absolute;transform:translateX(-50%);width:5px}.legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.holidays-list{display:flex;flex-direction:column;gap:8px}.holiday-item{align-items:center;background:#fef3c7;border-radius:6px;display:flex;font-size:13px;gap:10px;padding:8px 10px}.holiday-date{color:#92400e;font-weight:600;white-space:nowrap}.holiday-name{color:#78350f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.days-calculation{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:16px;padding:12px 16px}.calc-row{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.calc-row.highlight{border-top:1px dashed #86efac;color:#166534;font-size:15px;font-weight:600;margin-top:4px;padding-top:8px}.calc-label{color:#4b5563}.calc-row.highlight .calc-label{color:#166534}.calc-value{font-weight:600}.calc-note{color:#6b7280;font-size:12px;font-style:italic;margin:8px 0 0}.leave-type-item{position:relative}.edit-type-btn{background:none;border:none;cursor:pointer;font-size:14px;margin-left:auto;opacity:.5;padding:4px 8px;transition:opacity .2s}.edit-type-btn:hover{opacity:1}.color-picker-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-top:8px}.color-option{border:2px solid #0000;border-radius:6px;cursor:pointer;height:32px;transition:all .15s;width:32px}.color-option:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1)}.color-option.selected{border-color:#1f2937;box-shadow:0 0 0 2px #fff,0 0 0 4px #1f2937}.blocked-colors-label{color:#6b7280;font-size:13px}.blocked-colors-info{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;padding:12px}.blocked-color-item{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px}.blocked-color-swatch{border:1px solid #0000001a;border-radius:4px;height:16px;width:16px}.blocked-color-reason{font-style:italic}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-header h3{margin:0}.btn-add-small{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:background .2s}.btn-add-small:hover{background:#2563eb}.checkbox-label{gap:8px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.field-hint{color:#6b7280;margin:4px 0 0 26px}.type-actions{display:flex;gap:.5rem;margin-left:auto}.delete-type-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.delete-type-btn:hover{background:#c82333}.weekday-headers{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.weekday-header{color:#6b7280;font-size:.65rem;font-weight:600;text-align:center}.weekday-header.weekend-header{color:#9ca3af}.days-grid.week-layout{grid-template-columns:repeat(7,1fr)}.day-cell.empty{background:#0000;cursor:default}.calendar-year-nav{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1rem;padding:.5rem}.calendar-year-nav button{background:#e5e7eb;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:700;padding:.5rem 1rem}.calendar-year-nav button:hover{background:#d1d5db}.calendar-year-nav .current-year{font-size:1.25rem;font-weight:600;min-width:60px;text-align:center}.timeoff-grouped-list{display:flex;flex-direction:column;gap:1.5rem}.timeoff-period-group{background:#f9fafb;border-radius:8px;overflow:hidden}.period-header{background:#e5e7eb;font-weight:600;gap:.5rem;padding:.75rem 1rem}.period-icon{font-size:1.1rem}.period-label{color:#374151;flex:1 1}.period-count{color:#6b7280;font-size:.75rem;font-weight:400}.timeoff-entry-item{align-items:stretch;border-bottom:1px solid #e5e7eb;display:flex;gap:.75rem;padding:.75rem 1rem}.timeoff-entry-item:last-child{border-bottom:none}.entry-color-bar{border-radius:2px;flex-shrink:0;width:4px}.entry-content{flex:1 1;min-width:0}.entry-type-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.entry-type-name{color:#1f2937;font-weight:600}.entry-status{border-radius:3px;font-size:.65rem;padding:.15rem .4rem;text-transform:uppercase}.entry-dates{align-items:center;color:#6b7280;display:flex;font-size:.85rem;gap:.75rem}.entry-days{background:#e5e7eb;border-radius:3px;font-size:.75rem;padding:.1rem .4rem}.entry-notes{font-size:.8rem;font-style:italic;margin-top:.25rem}.entry-edit-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.5;padding:.25rem;transition:opacity .2s}.entry-edit-btn:hover{opacity:1}.modal-actions{align-items:center;gap:1rem;justify-content:space-between;margin-top:1.5rem}.modal-actions .action-right{display:flex;gap:.5rem}.btn-danger{background:#dc3545;border-radius:4px;padding:.5rem 1rem}.btn-danger:hover{background:#c82333}.balance-card.ending-soon{background:linear-gradient(180deg,#fffbeb,#fff);border:2px solid #f59e0b}.ending-alert{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem}.ending-alert .alert-icon{flex-shrink:0;font-size:1.25rem}.ending-alert .alert-content{display:flex;flex-direction:column;gap:2px}.ending-alert .alert-title{color:#dc2626;font-size:.9rem;font-weight:600}.ending-alert .alert-detail{color:#991b1b;font-size:.8rem}.prorata-breakdown{align-items:center;background:#f0f9ff;border-radius:6px;display:flex;font-size:.85rem;gap:.5rem;justify-content:center;margin:.75rem 0;padding:.5rem 1rem}.prorata-breakdown .breakdown-label{color:#6b7280;text-decoration:line-through}.prorata-breakdown .breakdown-arrow{color:#9ca3af}.prorata-breakdown .breakdown-value{color:#0369a1;font-weight:600}@media (max-width:480px){.ending-alert{align-items:center;flex-direction:column;text-align:center}.prorata-breakdown{flex-direction:column;gap:.25rem}.prorata-breakdown .breakdown-arrow{transform:rotate(90deg)}.balance-period{font-size:10px;padding:3px 8px}.period-nav-btn{font-size:14px;height:22px;width:22px}}.employment-change-modal{max-width:480px}.job-info-header{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.5rem;padding:1rem}.job-info-header .job-name{color:#1f2937;font-size:1.1rem;font-weight:600}.job-info-header .company-name{color:#6b7280;font-size:.9rem}.btn-employment-change{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.75rem 1rem;transition:all .2s;width:100%}.btn-employment-change:hover{background:#f1f5f9;border-color:#cbd5e1}.prorata-preview{background:linear-gradient(180deg,#eff6ff,#fff);border:1px solid #bfdbfe;border-radius:8px;margin:1rem 0;padding:1rem}.prorata-preview h4{color:#1e40af;font-size:.95rem;margin:0 0 .75rem}.preview-content{display:flex;flex-direction:column;gap:.5rem}.preview-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.preview-row .preview-label{color:#6b7280}.preview-row .preview-value{color:#374151;font-weight:500}.preview-row .preview-value.original{color:#9ca3af;text-decoration:line-through}.preview-row .preview-value.prorata{color:#0369a1;font-weight:600}.preview-row.highlight{background:#dbeafe;border-radius:4px;margin:0 -.75rem;padding:.5rem .75rem}.preview-row.fiscal-period{border-bottom:1px dashed #d1d5db;font-size:.8rem;margin-bottom:.5rem;padding-bottom:.5rem}.preview-row.fiscal-period .preview-label{color:#9ca3af}.preview-row.fiscal-period .preview-value{color:#6b7280;font-weight:400}.preview-row.continuous-note{font-size:.8rem;padding-bottom:.5rem}.preview-row.continuous-note .preview-label{color:#16a34a;font-weight:500}.preview-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.85rem;margin-top:.75rem;padding:.75rem}.current-end-date-info{background:#fefce8;border:1px solid #fef08a;border-radius:6px;margin-top:1rem;padding:.75rem}.current-end-date-info p{color:#713f12;font-size:.9rem;margin:0 0 .5rem}.btn-link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.85rem;padding:0;text-decoration:underline}.btn-link:hover{color:#1d4ed8}.warning-banner{align-items:center;background:#fefce8;border:1px solid #fef08a;border-radius:6px;color:#854d0e;display:flex;font-size:.85rem;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem}.warning-banner .warning-icon{font-size:1rem}.warning-banner .warning-text{flex:1 1}.days-change{color:#9ca3af;font-size:.85rem;font-weight:400;margin-left:.5rem}.action-right{display:flex;gap:.5rem;margin-left:auto}.entries-view-v2{margin:0 auto;max-width:1400px;padding:20px 40px}.entries-empty{align-items:center;background:#f9fafb;border-radius:12px;display:flex;flex-direction:column;justify-content:center;margin-top:20px;padding:60px 20px;text-align:center}.entries-empty .empty-icon{font-size:64px;margin-bottom:16px}.entries-empty h3{color:#1f2937;font-size:20px;margin:0 0 8px}.entries-empty p{color:#6b7280;margin:0 0 20px}.entries-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.filter-tabs{background:#f3f4f6;border-radius:10px;display:flex;gap:4px;padding:4px}.filter-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s}.filter-tab:hover{color:#374151}.filter-tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1f2937}.filter-tab .tab-count{background:#00000014;border-radius:10px;font-size:12px;padding:2px 8px}.filter-tab.active .tab-count{background:#6366f1;color:#fff}.entries-summary{color:#6b7280;font-size:14px}.entries-empty-filter{color:#9ca3af;padding:40px;text-align:center}.entries-periods{display:flex;flex-direction:column;gap:32px}.period-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.period-header{align-items:center;background:linear-gradient(90deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px 28px}.period-icon{font-size:18px}.period-title{color:#1f2937;font-size:17px;font-weight:600}.period-stats{color:#6b7280;font-size:13px;margin-left:auto}.period-entries{display:flex;flex-direction:column}.entry-row{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:24px;padding:18px 28px;transition:background .15s}.entry-row:last-child{border-bottom:none}.entry-row:hover{background:#f8fafc}.entry-row.past{opacity:.6}.entry-row.past:hover{opacity:1}.entry-row.ongoing{background:linear-gradient(90deg,#eef2ff,#fff)}.entry-color{border-radius:2px;flex-shrink:0;height:40px;width:4px}.entry-date-block{display:flex;flex-direction:column;gap:4px;min-width:180px}.entry-date-row{align-items:center;display:flex;gap:8px}.entry-date{color:#374151;font-size:15px;font-weight:600}.now-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:4px;color:#fff;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.entry-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.entry-type{font-size:15px;font-weight:600}.entry-notes{color:#9ca3af;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spans-badge{align-items:center;background:#fef3c7;border-radius:4px;color:#b45309;cursor:help;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;padding:2px 6px;white-space:nowrap}.spans-badge:hover{background:#fde68a}.entry-days{align-items:baseline;display:flex;gap:4px;justify-content:flex-end;min-width:80px}.entry-days .days-num{color:#1f2937;font-size:24px;font-weight:700;line-height:1}.entry-days .days-label{color:#6b7280;font-size:12px}.entry-status{border-radius:6px;font-size:12px;font-weight:600;min-width:90px;padding:6px 14px;text-align:center;text-transform:capitalize}.entry-status.status-confirmed{background:#dcfce7;color:#166534}.entry-status.status-planned{background:#dbeafe;color:#1e40af}.entry-status.status-taken{background:#f3f4f6;color:#374151}.entry-status.status-cancelled{background:#fee2e2;color:#991b1b}.entry-arrow{color:#d1d5db;font-size:20px;font-weight:300;transition:color .15s,transform .15s}.entry-row:hover .entry-arrow{color:#6366f1;transform:translateX(2px)}@media (max-width:768px){.entries-view-v2{padding:12px}.entries-header{align-items:stretch;flex-direction:column}.filter-tabs{justify-content:center;width:100%}.filter-tab{flex:1 1;font-size:13px;justify-content:center;padding:10px 8px}.entries-summary{text-align:center}.period-header{padding:12px 16px}.period-title{font-size:14px}.entry-row{flex-wrap:wrap;gap:10px;padding:14px 16px}.entry-color{border-radius:0;height:100%;left:0;position:absolute;top:0}.entry-row{padding-left:20px;position:relative}.entry-date-block{flex:1 1;min-width:auto}.entry-info{order:5;width:100%}.entry-days,.entry-status{min-width:auto}.entry-status{font-size:10px;padding:4px 8px}.entry-arrow{display:none}}.holiday-customization{display:flex;flex-direction:column;gap:16px}.holiday-customization h3{color:#111827;font-size:16px;margin:0 0 4px}.holiday-customization .section-description{color:#6b7280;font-size:13px;margin:0 0 12px}.countries-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.country-tag{align-items:center;background:#fff;border:2px solid #4f46e5;border-radius:8px;display:flex;font-size:13px;gap:6px;padding:6px 10px}.country-code-label{color:#374151;font-weight:600}.country-name{color:#111827}.primary-badge{background:#4f46e5;border-radius:4px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:1px 6px;text-transform:uppercase}.tag-remove{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:16px;line-height:1;padding:0 2px;transition:color .15s}.tag-remove:hover{color:#ef4444}.country-dropdown-wrap{margin-bottom:4px;position:relative}.country-search-input{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;display:flex}.country-search-input input{background:#0000;border:none;border-radius:8px;color:#374151;flex:1 1;font-size:13px;outline:none;padding:8px 12px}.country-search-input input::placeholder{color:#9ca3af}.dropdown-caret{color:#9ca3af;font-size:10px;padding:0 12px}.country-dropdown-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:50}.dropdown-item{align-items:center;cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px;transition:background .1s}.dropdown-item:hover{background:#f3f4f6}.dropdown-item .item-name{color:#111827}.dropdown-item .item-code{color:#9ca3af;font-size:12px;font-weight:500}.dropdown-empty{color:#9ca3af;font-size:13px;padding:12px;text-align:center}.dropdown-backdrop{inset:0;position:fixed;z-index:49}.holiday-group{background:#f9fafb;border-radius:10px;overflow:hidden}.holiday-group.excluded-group{background:#fef2f2}.holiday-group-header{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:10px 14px;-webkit-user-select:none;user-select:none}.holiday-group-header:hover{background:#00000005}.collapse-arrow{color:#9ca3af;font-size:12px}.holiday-group-body{max-height:400px;overflow-y:auto;padding:0 14px 12px}.holiday-month-group{margin-bottom:8px}.holiday-month-label{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:2px;padding:4px 0;text-transform:uppercase}.holiday-row{align-items:center;border-radius:6px;display:flex;font-size:13px;gap:8px;padding:6px 8px;transition:background .15s}.holiday-row:hover{background:#00000008}.holiday-color-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.holiday-date{color:#374151;font-size:12px;font-weight:500;min-width:80px}.holiday-name{color:#111827;flex:1 1}.holiday-country-badge{background:#e5e7eb;border-radius:4px;color:#6b7280;font-size:11px;font-weight:500;padding:1px 6px}.rule-desc{color:#9ca3af;font-size:11px;font-style:italic}.excluded-row{opacity:.6}.excluded-row .holiday-name{text-decoration:line-through}.holiday-actions{display:flex;gap:4px}.btn-exclude{background:none;border:none;border-radius:4px;color:#d1d5db;cursor:pointer;font-size:13px;padding:2px 6px;transition:all .15s}.btn-exclude:hover{background:#fee2e2;color:#ef4444}.btn-restore{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:14px;padding:2px 6px;transition:all .15s}.btn-restore:hover{background:#d1fae5;color:#10b981}.btn-delete-sm,.btn-edit-sm{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:2px 6px;transition:all .15s}.btn-edit-sm{color:#9ca3af}.btn-edit-sm:hover{background:#ede9fe;color:#7c3aed}.btn-delete-sm{color:#d1d5db}.btn-delete-sm:hover{background:#fee2e2;color:#ef4444}.holiday-empty,.holiday-loading{color:#9ca3af;font-size:13px;margin:0;padding:16px;text-align:center}.modal-overlay{background:#0006;inset:0}.modal-content{box-shadow:0 20px 60px #0003;max-width:440px;padding:24px}.modal-content h3{font-size:16px;margin:0 0 16px}.modal-content .form-group{margin-bottom:12px}.modal-content .form-group label{color:#374151;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.modal-content .form-group input,.modal-content .form-group select{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#111827;font-size:13px;padding:8px 10px;width:100%}.color-picker-row{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{border:2px solid #0000;border-radius:50%;cursor:pointer;height:28px;transition:all .15s;width:28px}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:#111827;box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.holiday-preview{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:13px;margin:8px 0;padding:10px 14px}.modal-actions{gap:8px;margin-top:16px}.modal-actions .btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:8px 16px}.modal-actions .btn-primary{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px}.modal-actions .btn-primary:disabled{cursor:not-allowed;opacity:.5}.employment-page{margin:0 auto;max-width:900px;padding:24px}.employment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.employment-header h1{color:#1a1a2e;font-size:28px;margin:0}.header-subtitle{color:#6b7280;font-size:14px;margin:4px 0 0}.jobs-container{margin-top:24px}.jobs-timeline{display:flex;flex-direction:column;gap:24px}.company-group{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.company-group.single .job-card{border-radius:0;box-shadow:none}.company-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;gap:16px;padding:20px 24px}.company-header,.company-icon{align-items:center;display:flex}.company-icon{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000f;font-size:32px;height:48px;justify-content:center;width:48px}.company-info{flex:1 1}.company-title{color:#1a1a2e;font-size:18px;font-weight:600;margin:0}.company-duration{color:#6b7280;font-size:14px}.active-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;color:#fff;font-size:11px;font-weight:600;padding:4px 12px;text-transform:uppercase}.jobs-list.nested{padding:0 24px 16px}.job-card.nested-job{background:#0000;border:none;box-shadow:none;display:flex;gap:16px;margin-top:16px;padding:0}.job-card.nested-job:first-child{margin-top:16px}.timeline-connector{align-items:center;display:flex;flex-direction:column;padding-top:8px;width:20px}.timeline-dot{background:#d1d5db;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #d1d5db;flex-shrink:0;height:12px;width:12px}.job-card.nested-job.current .timeline-dot{background:#10b981;box-shadow:0 0 0 2px #10b981}.timeline-line{background:#e5e7eb;flex:1 1;margin-top:8px;width:2px}.job-card-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex:1 1;overflow:hidden;transition:all .2s ease}.job-card.nested-job:hover .job-card-content{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.job-card.nested-job.current .job-card-content{border-color:#10b981}.job-card.nested-job.ended .job-card-content{opacity:.8}.job-card.nested-job.ended .job-name{color:#6b7280}.no-jobs{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:60px 24px;text-align:center}.no-jobs .empty-icon{display:block;font-size:48px;margin-bottom:16px}.no-jobs h3{color:#1a1a2e;margin:0 0 8px}.no-jobs p{color:#6b7280;margin:0 0 24px}.jobs-list{display:flex;flex-direction:column;gap:16px}.job-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:all .3s ease}.job-card.current{border-color:#10b981}.job-card.expanded{box-shadow:0 4px 16px #0000001f}.job-card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background .2s}.job-card-header:hover{background:#f9fafb}.job-info{flex:1 1}.job-title-row{align-items:center;display:flex;gap:12px;margin-bottom:6px}.job-name{color:#1a1a2e;font-size:18px;margin:0}.current-badge{background:linear-gradient(135deg,#10b981,#059669)}.current-badge,.ongoing-badge{border-radius:20px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.ongoing-badge{background:linear-gradient(135deg,#3b82f6,#2563eb)}.ended-badge{background:linear-gradient(135deg,#6b7280,#4b5563);border-radius:20px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.warning-badge{cursor:help;font-size:16px}.job-card.ended{border-color:#d1d5db;opacity:.75}.job-card.ended .job-name{color:#6b7280}.company-name{color:#6b7280;font-size:14px;margin-bottom:6px}.summary-item.salary{background:#fef3c7;color:#92400e}.job-dates{margin-bottom:8px}.date-range{color:#6b7280;font-size:14px}.job-summary{display:flex;flex-wrap:wrap;gap:16px}.summary-item{background:#f3f4f6;border-radius:6px;color:#6b7280;font-size:13px;padding:4px 10px}.job-actions{align-items:center;display:flex;gap:12px}.expand-icon{color:#9ca3af;font-size:14px;transition:transform .3s}.job-card.expanded .expand-icon{transform:rotate(180deg)}.job-details{background:#fafbfc;border-top:1px solid #e5e7eb;overflow-x:hidden;padding:24px}.detail-section{border-bottom:1px solid #e5e7eb;margin-bottom:24px;overflow:hidden;padding-bottom:24px}.save-header{align-items:center;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:24px;padding:12px 16px}.save-header.saved{background:#d1fae5;border:1px solid #10b981}.save-header.dirty{background:#fef3c7;border:1px solid #f59e0b}.save-header.success{background:#d1fae5;border:1px solid #10b981}.save-header.error{background:#fee2e2;border:1px solid #ef4444}.save-status{font-size:14px;font-weight:500}.save-actions{display:flex;gap:10px}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h4{color:#374151;font-size:15px;margin:0 0 16px}.job-name-input{border:1px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px 16px;width:100%}.job-name-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.date-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.date-field{display:flex;flex-direction:column;gap:6px}.date-field label{color:#6b7280;font-size:13px;font-weight:500}.date-field input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px}.date-field input:focus{border-color:#3b82f6;outline:none}.field-hint{color:#9ca3af;font-size:12px}.year-type-options{display:flex;flex-wrap:wrap;gap:12px}.year-type-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:8px;padding:10px 16px;transition:all .2s}.year-type-option:hover{border-color:#3b82f6}.year-type-option.active{background:#eff6ff;border-color:#3b82f6}.year-type-option input{display:none}.option-title{color:#374151;font-size:14px}.custom-start{align-items:center;display:flex;gap:10px;margin-top:12px}.custom-start label{color:#6b7280;font-size:13px}.custom-start select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.allowance-grid{grid-gap:10px;box-sizing:border-box;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.allowance-item{display:flex;flex-direction:column;gap:6px;min-width:0}.allowance-item label{color:#6b7280;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allowance-item input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:15px;min-width:0;padding:8px 6px;text-align:center;width:100%}.allowance-item input:focus{border-color:#3b82f6;outline:none}.allowance-item.total input{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;font-weight:600}@media (max-width:600px){.allowance-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.allowance-item.total{grid-column:span 2}.allowance-item input{padding:10px 12px}}.working-days-row{display:flex;gap:8px;margin-bottom:16px}.day-checkbox{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s;width:50px}.day-checkbox:hover{border-color:#3b82f6}.day-checkbox.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.day-checkbox input{display:none}.day-checkbox span{font-size:13px;font-weight:500}.toggle-option{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:10px}.toggle-option input{cursor:pointer;height:18px;width:18px}.detail-section.prorata{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:16px}.prorata-info{color:#0369a1;display:flex;flex-direction:column;font-size:14px;gap:6px}.prorata-result{font-size:16px}.detail-section.danger-zone{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:16px}.detail-section.danger-zone h4{color:#b91c1c}.btn-danger{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.btn-danger:hover{background:#b91c1c}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px;font-size:14px;font-weight:500;padding:10px 20px}.btn-primary:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-outline{background:#fff;border:1px solid #3b82f6;border-radius:8px;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-outline:hover{background:#eff6ff}.modal-overlay{padding:20px}.modal-content{border-radius:16px;max-width:500px;width:100%}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-header h2{color:#1a1a2e;font-size:20px}.modal-close{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:24px;line-height:1;padding:0}.modal-close:hover{color:#374151}.modal-content form{padding:24px}.form-group label{color:#374151;font-size:14px;font-weight:500}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:8px;font-size:15px;padding:12px 14px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:10px;margin-bottom:20px}.checkbox-label input{cursor:pointer;height:18px;width:18px}.modal-actions{border-top:1px solid #e5e7eb;gap:12px;justify-content:flex-end;padding-top:16px}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.error-banner button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px}.form-row{grid-gap:16px;gap:16px}.form-row.three-cols{grid-template-columns:1fr 1fr 1fr}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{color:#6b7280;font-size:13px;font-weight:500}.form-field input,.form-field select,.form-field textarea{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-field input:disabled{background:#f3f4f6;color:#6b7280}.form-field textarea{min-height:80px;resize:vertical}.salary-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr}.hours-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.weekly-hours input{background:#f0f9ff;color:#0369a1;font-weight:600}.schedule-type-selector{display:flex;gap:12px;margin-bottom:20px}.schedule-type-option{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex:1 1;padding:16px;transition:all .2s}.schedule-type-option:hover{border-color:#3b82f6}.schedule-type-option.active{background:#eff6ff;border-color:#3b82f6}.schedule-type-option input{display:none}.schedule-type-option .option-content{display:flex;flex-direction:column;gap:4px}.schedule-type-option .option-icon{font-size:24px;margin-bottom:4px}.schedule-type-option .option-title{color:#1a1a2e;font-size:14px;font-weight:600}.schedule-type-option .option-desc{color:#6b7280;font-size:12px}.ongoing-toggle{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:12px;padding:12px 16px}.modal-section{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:20px}.modal-section:last-of-type{border-bottom:none}.modal-section h3{color:#374151;font-size:14px;font-weight:600;margin:0 0 16px}.modal-content.large{max-width:600px}.detail-section.prorata.applies{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.prorata-reason{margin-bottom:12px}.reason-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.reason-badge.ending{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.reason-badge.starting{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.reason-badge.both{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.prorata-calculation{display:flex;flex-direction:column;gap:8px}.prorata-calculation .calc-row{align-items:center;background:#ffffffb3;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.prorata-calculation .calc-row.result{background:#ffffffe6;border:1px solid #f59e0b}.prorata-calculation .calc-label{color:#6b7280;font-size:13px}.prorata-calculation .calc-value{color:#1f2937;font-weight:500}.prorata-calculation .calc-value.highlight{color:#d97706}.prorata-calculation .calc-value strong{font-size:16px}.prorata-info.full-year{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.full-year-badge{color:#16a34a;font-weight:500}.full-year-badge+.prorata-result{color:#166534;font-size:18px}.detail-section.continuous-employment{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd}.detail-section.continuous-employment h4{color:#1e40af}.section-hint{color:#4b5563;font-size:13px;line-height:1.5;margin:-8px 0 16px}.continuous-info{align-items:flex-start;background:#fff;border:1px solid #93c5fd;border-radius:8px;color:#1e40af;display:flex;font-size:13px;gap:8px;margin-top:12px;padding:12px 16px}.continuous-info .info-badge{flex-shrink:0}@media (max-width:768px){.employment-page{padding:16px}.employment-header{flex-direction:column;gap:16px}.allowance-grid{grid-template-columns:repeat(2,1fr)}.allowance-item.total{grid-column:span 2}.working-days-row{flex-wrap:wrap}.day-checkbox{height:40px;width:44px}.date-row,.form-row,.form-row.three-cols,.salary-row{grid-template-columns:1fr}.schedule-type-selector{flex-direction:column}.hours-row{grid-template-columns:1fr}.save-header,.year-type-options{flex-direction:column}.save-header{gap:12px;text-align:center}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{color:#333;margin:0}.close-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;width:32px}.close-btn:hover{color:#666}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-group,.form-row{margin-bottom:15px}.form-group label{margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;gap:10px;margin-top:20px}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px 24px;transition:all .2s}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover{box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}.info-note{background:#f8f9ff;border-left:4px solid #667eea;border-radius:8px;color:#666;font-size:14px;margin-top:15px;padding:12px}.deductions-toggle{margin:15px 0}.toggle-label{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{display:none}.toggle-slider{background:#ccc;border-radius:12px;flex-shrink:0;height:24px;margin-right:10px;position:relative;transition:background .3s;width:44px}.toggle-slider:after{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .3s;width:20px}.toggle-label input:checked+.toggle-slider{background:#667eea}.toggle-label input:checked+.toggle-slider:after{transform:translateX(20px)}.toggle-text{color:#666;font-size:14px}.deductions-section{background:#f8f9ff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:15px;padding:15px}.deductions-section .form-group{margin-bottom:10px}.deductions-section .form-group:last-of-type{margin-bottom:15px}.net-amount-display{background:#e8f5e9;border-radius:8px;color:#2e7d32;font-size:16px;padding:12px;text-align:center}@media (max-width:768px){.form-row{grid-template-columns:1fr}.modal-content{padding:20px}}.onboarding-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.onboarding-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:600px;padding:40px;width:100%}.onboarding-progress{align-items:center;display:flex;justify-content:center;margin-bottom:40px}.progress-step{flex-direction:column;gap:8px}.progress-step,.step-number{align-items:center;display:flex}.step-number{background:#e0e0e0;border-radius:50%;color:#999;font-weight:600;height:36px;justify-content:center;transition:all .3s;width:36px}.progress-step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.step-label{color:#999;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.progress-step.active .step-label{color:#667eea;font-weight:600}.progress-line{background:#e0e0e0;height:3px;margin:0 15px 20px;width:80px}.onboarding-step{text-align:center}.onboarding-step h2{color:#333;font-size:24px;margin:0 0 10px}.step-description{color:#666;margin-bottom:30px}.error-message{background:#ffebee;border-radius:8px;color:#c62828;margin-bottom:20px;padding:12px 16px;text-align:center}.pots-list{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.pot-row{align-items:center;display:flex;gap:10px}.pot-icon-select{cursor:pointer;font-size:20px;padding:10px;text-align:center;width:60px}.pot-icon-select,.pot-name-input{border:2px solid #e0e0e0;border-radius:8px}.pot-name-input{flex:1 1;font-size:16px;padding:10px 14px}.pot-name-input:focus{border-color:#667eea;outline:none}.pot-currency-select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;padding:10px;width:80px}.remove-pot-btn{background:#ffebee;border:none;border-radius:50%;color:#c62828;cursor:pointer;font-size:16px;height:36px;transition:all .2s;width:36px}.remove-pot-btn:hover{background:#ffcdd2}.add-pot-btn{background:#0000;border:2px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;font-size:14px;margin-bottom:20px;padding:12px;transition:all .2s;width:100%}.add-pot-btn:hover{border-color:#667eea;color:#667eea}.household-choices{gap:15px}.choice-card,.household-choices{display:flex;flex-direction:column}.choice-card{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;gap:8px;padding:20px;transition:all .2s}.choice-card:hover{border-color:#667eea;box-shadow:0 5px 20px #667eea33;transform:translateY(-2px)}.choice-card.skip{border-style:dashed;opacity:.7}.choice-card.skip:hover{opacity:1}.choice-icon{font-size:32px}.choice-title{color:#333;font-size:16px;font-weight:600}.choice-desc{color:#666;font-size:13px}.household-form{text-align:left}.back-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;margin-bottom:20px;padding:0}.back-btn:hover{text-decoration:underline}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 14px;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.onboarding-actions{margin-top:30px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s;width:100%}.btn-primary:hover{box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.success-step .success-icon{font-size:64px;margin-bottom:20px}.invite-code-box{background:#f5f5f5;border-radius:12px;margin:20px 0;padding:20px}.invite-label{color:#666;display:block;font-size:12px;margin-bottom:8px;text-transform:uppercase}.invite-code{color:#667eea;display:block;font-family:monospace;font-size:28px;font-weight:700;letter-spacing:3px}.small-text{color:#888;font-size:13px}@media (max-width:600px){.onboarding-card{padding:25px}.pot-row{flex-wrap:wrap}.pot-icon-select{width:50px}.pot-name-input{flex:1 1;min-width:120px}.pot-currency-select{width:70px}.progress-line{width:40px}}.app-container{background:#f5f7fa;display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1e293b,#0f172a);box-shadow:4px 0 12px #00000026;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease;width:280px;z-index:1000}.sidebar.open{transform:translateX(0)}@media (max-width:1024px){.sidebar{display:none!important}}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:25px 20px}.sidebar-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700;margin:0}.sidebar-toggle{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:24px;padding:5px}@media (max-width:1024px){.sidebar-toggle{display:block}}.sidebar-nav{flex:1 1;overflow-y:auto;padding:20px 0}.nav-item{align-items:center;background:none;border:none;border-left:3px solid #0000;color:#cbd5e1;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:14px 20px;text-align:left;transition:all .2s;width:100%}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#667eea26;border-left-color:#667eea;color:#fff}.nav-icon{font-size:20px;text-align:center;width:24px}.nav-label{flex:1 1}.nav-section{margin:4px 0}.nav-section-header{align-items:center;background:none;border:none;color:#94a3b8;cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:10px;letter-spacing:.5px;padding:12px 20px;text-align:left;text-transform:uppercase;transition:all .2s;width:100%}.nav-section-header:hover{background:#ffffff05;color:#cbd5e1}.nav-section-icon{font-size:16px;text-align:center;width:20px}.nav-section-title{flex:1 1}.nav-section-arrow{color:#64748b;font-size:14px;transition:transform .2s ease}.nav-section-arrow.expanded{transform:rotate(90deg)}.nav-section-items{animation:slideDown .2s ease;overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-item-child{font-size:14px;padding-left:52px!important}.nav-item-child .nav-icon{font-size:18px;width:22px}.nav-section-divider{background:#ffffff14;height:1px;margin:16px 20px}.sidebar-quick-actions{border-bottom:1px solid #ffffff1a;border-top:1px solid #ffffff1a;padding:20px}.quick-actions-title{color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.quick-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;margin-bottom:8px;padding:12px 15px;transition:all .3s;width:100%}.quick-action-btn.income{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.quick-action-btn.income:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.quick-action-btn.expense{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.quick-action-btn.expense:hover{box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}.quick-action-btn.exchange{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.quick-action-btn.exchange:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.qa-icon{font-size:18px}.qa-label{flex:1 1;text-align:left}.sidebar-footer{border-top:1px solid #ffffff1a;padding:20px}.user-info{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;gap:10px;margin-bottom:12px;padding:12px}.user-icon{font-size:20px}.user-name{color:#e2e8f0;font-size:14px;font-weight:500}.logout-btn{align-items:center;background:#ef444426;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;cursor:pointer;display:flex;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .2s;width:100%}.logout-btn:hover{background:#ef444440;border-color:#ef444480}.main-content{flex:1 1;margin-left:280px;min-height:100vh;transition:margin-left .3s ease}.main-content.sidebar-closed{margin-left:0}@media (max-width:1024px){.main-content{margin-left:0!important;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.mobile-menu-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:20px;left:20px;padding:12px;position:fixed;top:20px;z-index:999}}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:1024px){.sidebar-overlay.active{display:block}}.quick-actions-divider{background:linear-gradient(90deg,#0000,#cbd5e180,#0000);height:1px;margin:16px 0}.quick-actions-subtitle{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding:0 4px;text-transform:uppercase}.quick-action-btn.household{background:linear-gradient(135deg,#f59e0b,#d97706)}.quick-action-btn.household:hover{box-shadow:0 4px 12px #f59e0b4d}.quick-action-btn.household-join{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.quick-action-btn.household-join:hover{box-shadow:0 4px 12px #8b5cf64d}@media (max-width:768px){body{padding-top:env(safe-area-inset-top)}.app-container,body{background:linear-gradient(135deg,#f8faff,#e8f0ff 50%,#f0f4ff);min-height:100vh}.main-content{background:#0000!important;padding-top:calc(64px + env(safe-area-inset-top))!important}.budget-card,.budget-tracker-card,.chart-card,.empty-state-card,.filter-section,.glass-card,.household-card,.profile-card,.recurring-item,.settings-section,.summary-card,.transaction-item,.wallet-card,.yearly-budget-card{backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;background:#ffffffb3!important;border:1px solid #fffc!important;border-radius:20px!important;box-shadow:0 8px 32px #6478b41a,inset 0 0 0 1px #ffffff80!important}h1,h2,h3{color:#1a1f36!important;font-weight:700!important;letter-spacing:-.3px}.analytics-header h1,.header-content h1,.households-title,.page-title,.settings-title{color:#1a1f36!important;font-size:20px!important;font-weight:700!important;margin-bottom:2px!important}.subtitle,.viewing-text{color:#6b7280!important;font-size:13px!important;font-weight:500!important}.summary-grid{grid-gap:8px!important;display:grid!important;gap:8px!important;grid-template-columns:repeat(2,1fr)!important;margin-bottom:12px!important;padding:0!important}.summary-card{border-radius:14px!important;margin:0!important;padding:12px!important}.summary-header{align-items:center!important;display:flex!important;justify-content:space-between!important;margin-bottom:8px!important}.summary-label{color:#6b7280!important;font-size:11px!important;font-weight:600!important;letter-spacing:.5px!important;text-transform:uppercase!important}.summary-icon{font-size:18px!important;opacity:.9}.expense-amount,.income-amount,.savings-amount,.summary-amount{font-size:18px!important;font-weight:700!important;letter-spacing:-.5px!important;margin-top:2px!important}.income-amount,.income-card .income-amount,.income-card .summary-amount{color:#10b981!important}.expense-amount,.expense-card .expense-amount,.expense-card .summary-amount{color:#ef4444!important}.savings-amount,.savings-card .savings-amount,.savings-card .summary-amount{color:#3b82f6!important}.net-positive{color:#10b981!important}.net-negative{color:#ef4444!important}.filter-section{border-radius:14px!important;margin-bottom:10px!important;padding:10px 12px!important}.period-selector{align-items:center!important;flex-wrap:wrap!important;justify-content:center!important}.filter-controls,.period-selector{display:flex!important;gap:8px!important}.filter-controls{margin-top:10px!important;width:100%!important}.month-select,.year-select{-webkit-appearance:none!important;appearance:none!important;background:#fffc!important;border:1px solid #c8d2e680!important;border-radius:12px!important;color:#1a1f36!important;cursor:pointer!important;flex:1 1!important;font-size:14px!important;font-weight:600!important;padding:10px 12px!important}.nav-btn{align-items:center!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;border-radius:12px!important;box-shadow:0 4px 15px #667eea4d!important;color:#fff!important;display:flex!important;font-size:16px!important;height:40px!important;justify-content:center!important;width:40px!important}.reset-filter-btn{background:#fff9!important;border:1px solid #c8d2e680!important;border-radius:12px!important;color:#6b7280!important;font-size:13px!important;font-weight:600!important;margin-top:8px!important;padding:10px!important;width:100%!important}.btn-primary,.create-btn,.join-btn,.save-btn,.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;border-radius:12px!important;box-shadow:0 4px 16px #667eea4d!important;color:#fff!important;font-size:14px!important;font-weight:600!important;padding:12px 20px!important;transition:all .2s ease!important}.btn-secondary,.cancel-btn{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffffb3!important;border:1px solid #c8d2e680!important;border-radius:12px!important;color:#4b5563!important;font-size:14px!important;font-weight:600!important;padding:12px 20px!important}.analytics-container,.households-container,.recurring-container,.settings-container,.transactions-container,.wallets-container{background:#0000!important;box-sizing:border-box!important;max-width:100vw!important;min-height:calc(100vh - 64px - env(safe-area-inset-top))!important;overflow-x:hidden!important;padding:8px 12px 90px!important}.households-container{overflow-x:hidden!important}.households-container *{box-sizing:border-box!important;max-width:100%!important}.households-header{margin-bottom:16px!important}.header-actions,.households-actions{display:flex!important;flex-direction:column!important;gap:10px!important}.header-actions button,.households-actions button{border-radius:14px!important;font-size:15px!important;font-weight:600!important;padding:14px!important;width:100%!important}.btn-create,.create-household-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;box-shadow:0 4px 20px #667eea59!important;color:#fff!important}.btn-join,.join-household-btn{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffffb3!important;border:1px solid #c8d2e680!important;color:#4b5563!important}.household-tabs,.tabs-container{-webkit-overflow-scrolling:touch!important;background:#fff9!important;border-radius:12px!important;display:flex!important;gap:0!important;margin-bottom:12px!important;overflow-x:auto!important;padding:3px!important;scrollbar-width:none!important}.household-tabs::-webkit-scrollbar,.tabs-container::-webkit-scrollbar{display:none!important}.household-tab,.tab-btn{background:#0000!important;border:none!important;border-radius:9px!important;color:#6b7280!important;flex:1 1 auto!important;font-size:12px!important;font-weight:600!important;min-width:-webkit-fit-content!important;min-width:fit-content!important;padding:10px 12px!important;white-space:nowrap!important}.household-tab.active,.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2)!important;box-shadow:0 2px 8px #667eea4d!important;color:#fff!important}.empty-households,.empty-state,.no-households{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;background:#ffffffb3!important;border:1px dashed #c8d2e6cc!important;border-radius:20px!important;padding:40px 20px!important;text-align:center!important}.empty-households h3,.empty-state h3,.no-households h3{color:#1a1f36!important;font-size:18px!important;margin:16px 0 8px!important}.empty-households p,.empty-state p,.no-households p{color:#6b7280!important;font-size:14px!important;line-height:1.5!important;margin-bottom:20px!important}.empty-icon,.empty-state-icon{font-size:48px!important}.settings-container{padding:16px!important}.settings-header{margin-bottom:20px!important}.back-btn,.btn-back{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid #c8d2e680!important;border-radius:12px!important;color:#4b5563!important;font-size:14px!important;padding:10px 16px!important}.back-btn,.btn-back,.card,.section-card,.settings-section{background:#ffffffb3!important;margin-bottom:16px!important}.card,.section-card,.settings-section{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid #fffc!important;border-radius:20px!important;padding:20px!important}.section-title,.settings-section h2{align-items:center!important;color:#1a1f36!important;display:flex!important;font-size:18px!important;gap:8px!important;margin-bottom:16px!important}.form-group{margin-bottom:16px!important}.form-group label{color:#4b5563!important;display:block!important;font-size:13px!important;font-weight:600!important;margin-bottom:6px!important}.form-group input,.form-group select,.form-input,input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{background:#fffc!important;border:1px solid #c8d2e680!important;border-radius:10px!important;box-sizing:border-box!important;color:#1a1f36!important;font-size:14px!important;padding:12px 14px!important;width:100%!important}.form-group input:focus,.form-input:focus,input:focus,select:focus,textarea:focus{border-color:#667eea!important;box-shadow:0 0 0 3px #667eea26!important;outline:none!important}.form-helper,.helper-text{color:#6b7280!important;font-size:12px!important;margin-top:4px!important}.charts-grid{display:flex!important;flex-direction:column!important;gap:10px!important}.chart-card{border-radius:14px!important;padding:12px!important}.chart-card h3{color:#1a1f36!important;font-size:14px!important;font-weight:600!important;margin-bottom:8px!important}.chart-wrapper{height:180px!important}.chart-card.large{grid-column:span 1!important}.chart-card.large .chart-wrapper{height:200px!important}.info-banner{align-items:center!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#dbeafeb3!important;border:1px solid #93c5fd80!important;border-radius:14px!important;color:#1e40af!important;display:flex!important;font-size:13px!important;gap:10px!important;padding:12px 14px!important}.loading,.loading-container,.loading-spinner{align-items:center!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:60px 20px!important}.spinner{animation:spin .8s linear infinite!important;border:3px solid #667eea33!important;border-radius:50%!important;border-top-color:#667eea!important;height:40px!important;width:40px!important}.loading-spinner p,.loading-text{color:#6b7280!important;font-size:14px!important;font-weight:500!important;margin-top:16px!important}@keyframes spin{to{transform:rotate(1turn)}}.transactions-list{display:flex!important;flex-direction:column!important;gap:6px!important}.transaction-item{border-radius:12px!important;gap:10px!important;padding:10px 12px!important}.transaction-icon,.transaction-item{align-items:center!important;display:flex!important}.transaction-icon{background:#667eea1a!important;border-radius:10px!important;flex-shrink:0!important;font-size:16px!important;height:36px!important;justify-content:center!important;width:36px!important}.transaction-details{flex:1 1!important;min-width:0!important}.transaction-description{color:#1a1f36!important;font-size:14px!important;font-weight:600!important;line-height:1.2!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.transaction-category{color:#6b7280!important;font-size:11px!important;margin-top:1px!important}.transaction-amount{flex-shrink:0!important;font-size:14px!important;font-weight:700!important}.transaction-amount.income{color:#10b981!important}.transaction-amount.expense{color:#ef4444!important}.modal-overlay{-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;background:#0006!important}.modal,.modal-content{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;background:#fffffff2!important;border:1px solid #fffc!important;border-radius:24px!important;box-shadow:0 20px 60px #00000026!important;margin:16px!important;max-height:85vh!important;overflow-y:auto!important}.modal-header{border-bottom:1px solid #c8d2e64d!important}.modal-body,.modal-header{padding:20px!important}.modal-footer{border-top:1px solid #c8d2e64d!important;display:flex!important;gap:12px!important;padding:16px 20px!important}.analytics-header{margin-bottom:16px!important}.header-content{text-align:center!important}.households-page{background:#0000!important;box-sizing:border-box!important;max-width:100vw!important;min-height:calc(100vh - env(safe-area-inset-top))!important;overflow-x:hidden!important;padding:12px 16px 100px!important}.households-page *{box-sizing:border-box!important;max-width:100%!important}.households-header{align-items:stretch!important;display:flex!important;flex-direction:column!important;gap:12px!important;margin-bottom:20px!important}.households-header h1{font-size:24px!important;margin:0!important;text-align:center!important}.households-actions{display:flex!important;flex-direction:column!important;gap:10px!important}.households-actions .create-btn,.households-actions .join-btn{border-radius:14px!important;font-size:15px!important;font-weight:600!important;padding:14px 20px!important;width:100%!important}.households-actions .create-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;box-shadow:0 4px 20px #667eea59!important;color:#fff!important}.households-actions .join-btn{background:#ffffffb3!important;border:1px solid #c8d2e680!important;color:#4b5563!important}.household-tabs,.households-actions .join-btn{backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.household-tabs{-webkit-overflow-scrolling:touch!important;background:#fff9!important;border-radius:14px!important;display:flex!important;gap:0!important;margin-bottom:16px!important;overflow-x:auto!important;padding:4px!important}.household-tab{background:#0000!important;border:none!important;border-radius:10px!important;color:#6b7280!important;flex:1 1!important;font-size:12px!important;font-weight:600!important;min-width:auto!important;overflow:hidden!important;padding:12px 10px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.household-tab.active{background:linear-gradient(135deg,#667eea,#764ba2)!important;box-shadow:0 2px 10px #667eea4d!important;color:#fff!important}.households-grid{display:flex!important;flex-direction:column!important;gap:12px!important}.household-card{backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;background:#ffffffb3!important;border:1px solid #fffc!important;border-radius:20px!important;box-shadow:0 8px 32px #6478b41a!important;padding:20px!important}.household-card:before{display:none!important}.household-icon{font-size:40px!important;margin-bottom:12px!important}.household-card h2{font-size:18px!important;margin-bottom:12px!important}.household-info{gap:8px!important;margin-bottom:12px!important}.info-item{background:#f8faffcc!important;border-radius:10px!important;padding:10px 12px!important}.info-item .label{font-size:12px!important}.info-item .value{font-size:13px!important}.invite-code-section{border-radius:12px!important;margin-bottom:12px!important;padding:12px!important}.invite-label{font-size:10px!important}.invite-code{font-size:14px!important;padding:6px 10px!important}.household-card-actions{display:flex!important;gap:8px!important;margin-top:12px!important}.household-card-actions button{border-radius:12px!important;flex:1 1!important;font-size:13px!important;padding:12px 8px!important}.empty-state{backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;background:#ffffffb3!important;border:1px dashed #c8d2e6cc!important;border-radius:20px!important;padding:40px 24px!important;text-align:center!important}.empty-state .empty-icon{font-size:56px!important;margin-bottom:16px!important;opacity:.7!important}.empty-state h2,.empty-state h3{color:#1a1f36!important;font-size:20px!important;margin:0 0 8px!important}.empty-state p{color:#6b7280!important;font-size:14px!important;line-height:1.5!important;margin:4px 0!important}.empty-actions{display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:24px!important}.empty-actions .create-btn-large,.empty-actions .join-btn-large{border-radius:14px!important;font-size:15px!important;padding:14px 20px!important;width:100%!important}.empty-actions .create-btn-large{background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;box-shadow:0 4px 20px #667eea59!important;color:#fff!important}.empty-actions .join-btn-large{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffffb3!important;border:1px solid #c8d2e680!important;color:#4b5563!important}.household-card.pending,.household-card.rejected{border-style:solid!important}.pending-banner,.rejected-banner{border-radius:10px!important;font-size:11px!important;padding:4px 10px!important;right:10px!important;top:10px!important}.pending-description,.rejected-description{border-radius:10px!important;font-size:13px!important;margin:10px 0!important;padding:10px!important}.cancel-request-btn,.dismiss-btn{border-radius:12px!important;font-size:14px!important;padding:12px!important}}@media (min-width:769px) and (max-width:1400px){.sidebar{width:240px}.main-content{margin-left:240px}.analytics-container,.dashboard-content,.households-container,.recurring-container,.settings-container,.transactions-container,.wallets-container{max-width:100%;padding:20px}.analytics-header h1,.header-content h1,.page-title,.settings-title{font-size:26px}.section h2,.settings-section h2{font-size:20px}.summary-grid{gap:16px}.summary-card{padding:20px}.expense-card .expense-amount,.income-card .income-amount,.remaining-card .summary-amount,.savings-card .savings-amount,.summary-amount{font-size:26px}.summary-label{font-size:11px}.chart-card{padding:20px}.chart-wrapper{height:260px}.chart-card.large .chart-wrapper{height:340px}.filter-section{padding:16px 24px}.month-select,.year-select{font-size:13px;min-width:130px;padding:8px 14px}.year-select{min-width:90px}.card,.section,.settings-section{padding:24px}.card .amount{font-size:30px}.quick-action-btn{font-size:13px;padding:10px 14px}.nav-item{font-size:14px;padding:12px 18px}.nav-icon{font-size:18px}}@media (min-width:769px) and (max-width:1200px){.sidebar{width:220px}.main-content{margin-left:220px}.sidebar-header{padding:20px 16px}.sidebar-header h2{font-size:20px}.analytics-container,.dashboard-content,.households-container,.recurring-container,.settings-container,.transactions-container,.wallets-container{padding:16px}.analytics-header h1,.header-content h1,.page-title,.settings-title{font-size:22px}.section h2,.settings-section h2{font-size:18px}.viewing-text{font-size:13px}.summary-grid{gap:14px;grid-template-columns:repeat(2,1fr)}.summary-card{border-radius:12px;padding:18px}.expense-card .expense-amount,.income-card .income-amount,.remaining-card .summary-amount,.savings-card .savings-amount,.summary-amount{font-size:22px}.summary-label{font-size:10px}.summary-icon{font-size:20px}.charts-grid{gap:14px;grid-template-columns:1fr}.chart-card{border-radius:12px;padding:16px}.chart-card.large{grid-column:span 1}.chart-card h3{font-size:15px;margin-bottom:14px}.chart-wrapper{height:220px}.chart-card.large .chart-wrapper{height:280px}.filter-section{flex-wrap:wrap;gap:12px;padding:14px 18px}.period-selector{gap:10px}.filter-controls{gap:8px}.month-select,.year-select{font-size:12px;min-width:110px;padding:8px 12px}.year-select{min-width:80px}.nav-btn{font-size:14px;height:36px;width:36px}.reset-filter-btn{font-size:12px;padding:8px 14px}.card,.section,.settings-section{border-radius:10px;padding:20px}.card .amount{font-size:26px}.card h3,.card small{font-size:12px}.households-grid{gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.household-card{padding:18px}.household-card h3{font-size:16px}.sidebar-quick-actions{padding:16px}.quick-actions-title{font-size:10px}.quick-action-btn{font-size:12px;padding:10px 12px}.qa-icon{font-size:16px}.nav-item{font-size:13px;gap:10px;padding:10px 16px}.nav-icon{font-size:16px;width:20px}.user-info{padding:10px}.user-icon{font-size:18px}.logout-btn,.user-name{font-size:13px}.logout-btn{padding:10px}.info-banner{font-size:12px;padding:12px 16px}.info-icon{font-size:16px}.transaction-item{padding:12px 14px}.transaction-icon{font-size:16px;height:38px;width:38px}.transaction-description{font-size:13px}.transaction-category{font-size:11px}.transaction-amount{font-size:14px}.btn-primary,.create-btn,.join-btn,.save-btn,.submit-btn{font-size:13px;padding:10px 18px}.action-btn{font-size:13px;padding:12px 18px}.form-group input,.form-group select,.form-input,input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font-size:13px;padding:10px 12px}.form-group label{font-size:12px}.modal,.modal-content{border-radius:16px}.modal-body,.modal-header{padding:16px}.modal-footer{padding:14px 16px}.budget-card,.budget-tracker-card,.wallet-card{padding:18px}.settings-header h1{font-size:22px}.recurring-item{padding:14px}}@media (min-width:769px) and (max-width:992px){.sidebar{width:200px}.main-content{margin-left:200px}.sidebar-header{padding:16px 14px}.sidebar-header h2{font-size:18px}.analytics-container,.dashboard-content,.households-container,.recurring-container,.settings-container,.transactions-container,.wallets-container{padding:14px}.analytics-header h1,.header-content h1,.page-title,.settings-title{font-size:20px}.section h2,.settings-section h2{font-size:16px}.viewing-text{font-size:12px}.summary-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.summary-card{border-radius:10px;padding:14px}.expense-card .expense-amount,.income-card .income-amount,.remaining-card .summary-amount,.savings-card .savings-amount,.summary-amount{font-size:20px}.summary-header{margin-bottom:10px}.summary-label{font-size:9px}.summary-icon{font-size:18px}.charts-grid{gap:12px;grid-template-columns:1fr}.chart-card{border-radius:10px;padding:14px}.chart-card h3{font-size:14px;margin-bottom:12px}.chart-wrapper{height:200px}.chart-card.large .chart-wrapper{height:240px}.filter-section{align-items:stretch;flex-direction:column;gap:10px;padding:12px 14px}.period-selector{gap:8px;justify-content:center}.filter-controls{gap:6px;width:100%}.month-select,.year-select{flex:1 1;font-size:12px;min-width:0;padding:8px 10px}.nav-btn{font-size:13px;height:34px;width:34px}.reset-filter-btn{font-size:12px;margin-top:4px;padding:8px 12px;width:100%}.card,.section,.settings-section{border-radius:10px;padding:16px}.card .amount{font-size:22px}.card h3,.card small{font-size:11px}.households-grid{gap:12px;grid-template-columns:1fr}.household-card{padding:16px}.household-card h3{font-size:15px}.household-card p{font-size:13px}.sidebar-quick-actions{padding:14px}.quick-actions-title{font-size:9px;margin-bottom:10px}.quick-action-btn{font-size:11px;margin-bottom:6px;padding:8px 10px}.qa-icon{font-size:14px}.nav-item{font-size:12px;gap:8px;padding:10px 14px}.nav-icon{font-size:15px;width:18px}.user-info{gap:8px;padding:8px}.user-icon{font-size:16px}.logout-btn,.user-name{font-size:12px}.logout-btn{padding:8px}.info-banner{font-size:11px}.info-banner,.transaction-item{padding:10px 12px}.transaction-icon{font-size:14px;height:34px;width:34px}.transaction-description{font-size:12px}.transaction-category{font-size:10px}.transaction-amount{font-size:13px}.btn-primary,.create-btn,.join-btn,.save-btn,.submit-btn{font-size:12px;padding:10px 16px}.action-btn{font-size:12px;padding:10px 14px}.form-group input,.form-group select,.form-input,input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font-size:12px;padding:10px}.form-group label{font-size:11px;margin-bottom:4px}.form-group{margin-bottom:12px}.budget-card,.budget-tracker-card,.wallet-card{padding:14px}.recurring-item{padding:12px}.household-tab,.tab-btn{font-size:11px;padding:8px 12px}.empty-state{padding:30px 20px}.empty-state h2,.empty-state h3{font-size:16px}.empty-state p{font-size:12px}.empty-icon,.empty-state-icon{font-size:40px}}@media (max-width:1400px){body,html{overflow-x:hidden}*{box-sizing:border-box}.main-content{max-width:100vw;overflow-x:hidden}}@media (max-width:1024px){.sidebar{display:none!important}.main-content{margin-left:0!important;padding-bottom:calc(75px + env(safe-area-inset-bottom))}}@media (min-width:768px) and (max-width:1024px){.analytics-container,.households-page,.recurring-container,.reports-container,.settings-container,.transactions-container,.wallets-container{margin:0 auto!important;max-width:700px!important;padding:16px 24px calc(85px + env(safe-area-inset-bottom))!important}}@media (max-width:767px){.analytics-container,.households-page,.recurring-container,.reports-container,.settings-container,.transactions-container,.wallets-container{margin:0 auto!important;max-width:500px!important;padding:12px 16px calc(85px + env(safe-area-inset-bottom))!important}}@media (max-width:1024px){.analytics-header{margin-bottom:12px!important}.header-content h1{font-size:16px!important}.summary-grid{gap:10px!important;grid-template-columns:1fr 1fr!important;margin-bottom:14px!important}.summary-card{border-radius:12px!important;padding:14px!important}.summary-header{margin-bottom:6px!important}.summary-label{font-size:9px!important;letter-spacing:.3px!important}.summary-icon{font-size:16px!important}.expense-card .expense-amount,.income-card .income-amount,.remaining-card .summary-amount,.savings-card .savings-amount,.summary-amount{font-size:17px!important}.filter-section{border-radius:12px!important;gap:8px!important;margin-bottom:14px!important;padding:10px 12px!important}.period-selector{gap:6px!important}.month-select,.year-select{border-radius:8px!important;font-size:13px!important;padding:8px 10px!important}.nav-btn{border-radius:8px!important;height:36px!important;width:36px!important}.reset-filter-btn{font-size:12px!important;padding:8px 14px!important}.yearly-budget-tracker{border-radius:14px!important;margin-bottom:14px!important;padding:14px!important}.yearly-budget-tracker .budget-header{align-items:center!important;flex-direction:row!important;justify-content:space-between!important;margin-bottom:10px!important;padding-bottom:10px!important}.yearly-budget-tracker .budget-header h3{font-size:14px!important;margin:0!important}.yearly-budget-tracker .income-display{font-size:11px!important}.yearly-budget-tracker .income-amount{font-size:14px!important;margin-left:4px!important}.budget-groups{gap:10px!important;margin-bottom:12px!important}.budget-group{border-radius:12px!important;padding:12px!important}.group-header{margin-bottom:8px!important}.group-icon{font-size:16px!important}.group-name{font-size:12px!important;font-weight:700!important}.group-percentage{font-size:11px!important}.group-status{font-size:18px!important}.group-amounts{grid-gap:8px!important;display:grid!important;gap:8px!important;grid-template-columns:repeat(3,1fr)!important;margin-bottom:10px!important}.amount-item{flex-direction:column!important;gap:2px!important;text-align:center!important}.amount-label{font-size:8px!important;letter-spacing:.3px!important;opacity:.7;text-transform:uppercase!important}.amount-value{font-size:13px!important;font-weight:700!important}.progress-bar-container{border-radius:9px!important;height:18px!important}.progress-bar{border-radius:9px!important;min-width:40px!important}.progress-text{font-size:10px!important}.overall-status{border-radius:10px!important;font-size:12px!important;margin-top:12px!important;padding:10px!important}.budget-alerts{margin-bottom:10px!important;padding:10px 12px!important}.budget-alert{font-size:11px!important}.monthly-breakdown{margin-top:16px!important;padding-top:14px!important}.monthly-breakdown h4{font-size:14px!important;margin-bottom:12px!important}.months-grid{grid-gap:6px!important;display:grid!important;gap:6px!important;grid-template-columns:repeat(4,1fr)!important}.month-card{border-radius:8px!important;border-width:1px!important;padding:8px 6px!important;text-align:center!important}.month-name{border-bottom:1px solid #e5e7eb!important;font-size:12px!important;font-weight:700!important;margin-bottom:6px!important;padding-bottom:4px!important}.month-stats{gap:2px!important}.month-stat{display:none!important}.month-stat:last-child{display:flex!important;justify-content:center!important}.stat-label{display:none!important}.month-stat:last-child .stat-value{font-size:14px!important;font-weight:700!important}}@media (max-width:420px){.months-grid{grid-template-columns:repeat(3,1fr)!important}}@media (max-width:320px){.months-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:1024px){.ai-analysis-card{border-radius:12px!important;grid-column:span 1!important;padding:14px!important}.ai-analysis-header{flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important;margin-bottom:14px!important}.ai-title{gap:8px!important}.ai-icon{font-size:20px!important}.ai-title h3{font-size:14px!important}.budget-target-badge{font-size:10px!important;padding:3px 8px!important}.header-actions{gap:8px!important}.settings-btn{font-size:16px!important;height:36px!important;padding:0!important;width:36px!important}.analyze-btn{flex:0 0 auto!important;font-size:12px!important;padding:10px 16px!important;width:auto!important}.ai-empty{border-radius:10px!important;padding:24px 16px!important}.ai-empty .empty-icon{font-size:32px!important;margin-bottom:8px!important}.ai-empty p{font-size:12px!important}.analysis-text{font-size:13px!important;padding:16px!important}.analysis-text h2{font-size:14px!important;margin:16px 0 10px!important}.analysis-text li{font-size:12px!important;padding:8px 12px 8px 28px!important}.analysis-text li:before{font-size:18px!important;left:10px!important}.analysis-footer{padding:12px 16px!important}.disclaimer{font-size:10px!important}.charts-grid{gap:12px!important}.chart-card{border-radius:12px!important;padding:14px!important}.chart-card h3{font-size:13px!important;margin-bottom:10px!important}.chart-wrapper{height:200px!important}.chart-card.large .chart-wrapper{height:220px!important}.info-banner{border-radius:10px!important;font-size:11px!important;padding:10px 12px!important}.households-header{margin-bottom:12px!important;text-align:center!important}.households-header h1{font-size:16px!important}.households-actions{gap:8px!important;justify-content:center!important}.household-tabs{-webkit-overflow-scrolling:touch!important;display:flex!important;gap:6px!important;justify-content:center!important;margin-bottom:12px!important;overflow-x:auto!important;padding:4px!important}}@media (max-width:1024px){.household-tabs::-webkit-scrollbar{display:none}.household-tab{border-radius:8px!important;font-size:12px!important;padding:8px 14px!important;white-space:nowrap!important}.households-grid{gap:10px!important}.household-card{border-radius:12px!important;padding:14px!important}.household-icon{font-size:28px!important;margin-bottom:6px!important}.household-card h2{font-size:15px!important;margin-bottom:10px!important}.household-info{gap:6px!important;margin-bottom:10px!important}.info-item{border-radius:6px!important;padding:6px 10px!important}.info-item .label{font-size:9px!important}.info-item .value{font-size:12px!important}.invite-code-section{border-radius:8px!important;margin-bottom:10px!important;padding:8px 10px!important}.invite-label{font-size:8px!important}.invite-code{font-size:11px!important}.household-card-actions{gap:8px!important;margin-top:10px!important}.delete-btn-small,.leave-btn-small,.view-btn{border-radius:6px!important;font-size:11px!important;padding:8px 12px!important}.transactions-header{margin-bottom:12px!important}.transactions-list{gap:8px!important}.transaction-item{border-radius:10px!important;padding:12px!important}.transaction-category{font-size:10px!important}.transaction-description{font-size:13px!important}.transaction-amount{font-size:14px!important}.transaction-date{font-size:10px!important}.wallets-header{margin-bottom:12px!important;text-align:center!important}.wallets-grid{grid-gap:10px!important;display:grid!important;gap:10px!important;grid-template-columns:1fr 1fr!important}.wallet-card{border-radius:12px!important;padding:14px!important;text-align:center!important}.wallet-card h3{font-size:12px!important;margin-bottom:4px!important}.wallet-card .balance{font-size:17px!important}.wallet-card .currency{font-size:10px!important}}@media (max-width:360px){.wallets-grid{grid-template-columns:1fr!important}}@media (max-width:1024px){.modal-overlay{align-items:flex-end!important;padding:0!important}.modal-content{border-radius:20px 20px 0 0!important;margin:0!important;max-height:85vh!important;max-width:100%!important;padding:20px 20px calc(20px + env(safe-area-inset-bottom))!important;width:100%!important}.modal-content h2{font-size:16px!important;margin-bottom:16px!important;text-align:center!important}.form-group{margin-bottom:12px!important}.form-group label{font-size:11px!important;margin-bottom:4px!important}.form-group input,.form-group select{border-radius:10px!important;font-size:16px!important;padding:12px!important}.modal-actions{gap:10px!important;margin-top:16px!important}.modal-actions button{border-radius:10px!important;font-size:14px!important;padding:12px!important}.action-btn,.create-btn,.join-btn{border-radius:8px!important;font-size:12px!important;padding:10px 16px!important}.recurring-grid{gap:10px!important}.recurring-card{border-radius:12px!important;padding:14px!important}.recurring-card h3{font-size:13px!important}.recurring-card .amount{font-size:15px!important}.recurring-card .frequency{font-size:10px!important}.empty-state{padding:30px 20px!important;text-align:center!important}.empty-icon{font-size:40px!important;margin-bottom:12px!important}.empty-state h2,.empty-state h3{font-size:15px!important}.empty-state p{font-size:12px!important}.card:active,.clickable:active,button:active{transform:scale(.98);transition:transform .1s ease}}.bottom-nav{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border-top:1px solid #c8c8dc4d;bottom:0;box-shadow:0 -4px 20px #6478b41a;display:none;left:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:1000}@media (max-width:1024px){.bottom-nav{align-items:center;display:flex;justify-content:space-around}}.bottom-nav-item{align-items:center;background:none;border:none;border-radius:10px;color:#9ca3af;cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:52px;padding:6px 8px;transition:all .2s ease}.bottom-nav-item.active{background:#667eea1a;color:#667eea}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-icon{font-size:20px;line-height:1;margin-bottom:1px}.bottom-nav-label{font-size:9px;font-weight:600;letter-spacing:.2px;text-transform:uppercase}@media (max-width:380px){.bottom-nav{padding:3px 2px calc(3px + env(safe-area-inset-bottom))}.bottom-nav-item{min-width:44px;padding:5px 4px}.bottom-nav-icon{font-size:18px}.bottom-nav-label{font-size:8px}}.more-menu-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0000004d;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1001}@media (max-width:1024px){.more-menu-overlay{display:block}}.more-menu{animation:slideUp .2s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #c8c8dc4d;border-radius:16px;bottom:calc(60px + env(safe-area-inset-bottom));box-shadow:0 8px 32px #6478b433;display:none;min-width:160px;padding:6px;position:fixed;right:12px;z-index:1002}@media (max-width:1024px){.more-menu{display:block}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.more-menu-item{align-items:center;background:none;border:none;border-radius:10px;color:#1a1f36;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:12px 14px;text-align:left;transition:all .15s ease;width:100%}.more-menu-item:active{background:#667eea26;transform:scale(.97)}.more-menu-item.logout{color:#ef4444}.more-menu-item.logout:active{background:#ef444426}.more-menu-icon{font-size:18px;text-align:center;width:22px}.more-menu-divider{background:linear-gradient(90deg,#0000,#c8d2e680,#0000);height:1px;margin:6px 12px}.more-menu-section-title{color:#9ca3af;font-size:10px;font-weight:700;letter-spacing:.5px;margin-top:2px;padding:8px 14px 4px;text-transform:uppercase}.more-menu-section-title:first-child{margin-top:0}.bottom-nav-fab-spacer{flex-shrink:0;width:60px}.fab-container{display:none;position:fixed;z-index:1001}@media (max-width:1024px){.fab-container{bottom:calc(32px + env(safe-area-inset-bottom));display:block;left:50%;transform:translateX(-50%)}}.fab-main{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 16px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:26px;font-weight:300;height:52px;justify-content:center;position:relative;transition:all .2s ease;width:52px}.fab-main:active{transform:scale(.93)}.fab-main.active{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 6px 20px #ef444459}.fab-actions{align-items:center;animation:fadeInUp .2s ease;bottom:62px;display:flex;flex-direction:column;gap:10px;left:50%;position:absolute;transform:translateX(-50%)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fab-action{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 14px #00000026;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:12px 16px;transition:transform .15s ease;white-space:nowrap}.fab-action:active{transform:scale(.95)}.fab-action.income{background:linear-gradient(135deg,#10b981,#059669)}.fab-action.expense{background:linear-gradient(135deg,#ef4444,#dc2626)}.fab-label{font-size:13px}.fab-overlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#00000026;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:1024px){.fab-overlay{display:block}}.mobile-header{display:none}@media (max-width:768px){.mobile-header{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border-bottom:1px solid #c8d2e64d;box-sizing:initial;display:flex;height:56px;justify-content:space-between;left:0;padding:env(safe-area-inset-top) 12px 0;position:fixed;right:0;top:0;z-index:900}.mobile-header-left{align-items:center;display:flex;gap:8px}.mobile-logo{font-size:24px}.mobile-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.wallet-toggle-btn{align-items:center;background:#667eea1a;border:1px solid #667eea33;border-radius:10px;color:#1a1f36;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;max-width:160px;padding:6px 10px;transition:all .2s ease}.wallet-toggle-btn:active{background:#667eea26;transform:scale(.97)}.wallet-btn-icon{flex-shrink:0;font-size:16px}.wallet-btn-text{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.wallet-btn-arrow{color:#6b7280;flex-shrink:0;font-size:10px;transition:transform .2s ease}.wallet-btn-arrow.open{transform:rotate(180deg)}.wallet-menu-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1100}.wallet-menu{animation:slideDown .2s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fffc;border-radius:16px;box-shadow:0 10px 40px #00000026;max-width:300px;overflow:hidden;position:fixed;right:12px;top:calc(64px + env(safe-area-inset-top));width:calc(100% - 24px);z-index:1101}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.wallet-menu-header{border-bottom:1px solid #c8d2e64d;color:#1a1f36;font-weight:600;justify-content:space-between;padding:12px 14px}.wallet-menu-close,.wallet-menu-header{align-items:center;display:flex;font-size:14px}.wallet-menu-close{background:#ef44441a;border:none;border-radius:8px;color:#ef4444;cursor:pointer;height:28px;justify-content:center;width:28px}.wallet-menu-list{max-height:280px;overflow-y:auto;padding:6px}.wallet-menu-item{align-items:center;background:none;border:none;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:all .2s ease;width:100%}.wallet-menu-item:active{transform:scale(.98)}.wallet-menu-item.selected{background:#667eea1a}.wallet-item-check{align-items:center;border:2px solid #c8d2e680;border-radius:6px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.wallet-menu-item.selected .wallet-item-check{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000}.wallet-item-icon{flex-shrink:0;font-size:20px}.wallet-item-info{flex:1 1;min-width:0}.wallet-item-name{color:#1a1f36;display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-item-currency{color:#6b7280;display:block;font-size:11px;margin-top:1px}.wallet-item-balance{color:#10b981;flex-shrink:0;font-size:13px;font-weight:600}.wallet-menu-empty{color:#6b7280;padding:24px;text-align:center}.wallet-menu-empty span{display:block;font-size:32px;margin-bottom:8px;opacity:.5}.wallet-menu-empty p{font-size:14px;font-weight:600;margin:0}.wallet-menu-empty small{font-size:12px}.wallet-menu-hint{border-top:1px solid #c8d2e64d;color:#6b7280;font-size:11px;padding:10px 14px;text-align:center}}
/*# sourceMappingURL=main.cda1a857.css.map*/