.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-card h1{text-align:center;color:#667eea;margin-bottom:10px;font-size:2em}.login-card h2{text-align:center;color:#333;margin-bottom:30px;font-size:1.5em;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px}.btn-primary{width:100%;padding:12px;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s}.toggle-auth{text-align:center;margin-top:20px}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;text-decoration:underline}.btn-link:hover{color:#5568d3}.offline-indicator{position:fixed;top:0;left:0;right:0;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:10px;z-index:1000;font-size:14px;font-weight:500;box-shadow:0 2px 8px #0000001a;animation:slideDown .3s ease-out}.offline-indicator.offline{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff}.offline-indicator.syncing{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.status-icon{font-size:18px}.status-icon.spin{animation:rotate 1s linear infinite}.status-text{font-weight:600}.pending-badge{background:#ffffff4d;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.btn-sync{padding:6px 16px;background:#fff;color:#f5576c;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-sync:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003}.btn-sync:active{transform:scale(.98)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.expenses-container,.items-container{padding-top:70px}@media (max-width: 768px){.offline-indicator{padding:10px 15px;font-size:13px}.status-icon{font-size:16px}.btn-sync{padding:5px 12px;font-size:12px}}.items-container{max-width:1200px;margin:0 auto;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #eee}.header h1{color:#333;margin:0}.header-actions{display:flex;align-items:center;gap:15px}.header-actions span{color:#666;font-size:14px}.btn-secondary{padding:10px 20px;background-color:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.item-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;transition:all .3s;box-shadow:0 2px 8px #0000000d}.item-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.item-card-add{display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;border:2px dashed #ccc;background:#fafafa;min-height:200px}.item-card-add:hover{border-color:#667eea;background:#f0f4ff}.add-icon{font-size:48px;color:#667eea;margin-bottom:10px}.item-card-add p{color:#666;margin:0;font-weight:500}.item-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.item-header h3{margin:0;color:#333;font-size:1.2em}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.badge-personal{background-color:#e3f2fd;color:#1976d2}.badge-shared{background-color:#f3e5f5;color:#7b1fa2}.item-date{color:#999;font-size:14px;margin-bottom:8px}.item-owner{color:#667eea;font-size:13px;margin-bottom:16px;font-weight:500}.item-actions{display:flex;gap:10px}.item-actions button{flex:1;padding:10px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s}.btn-danger{background-color:#fff;color:#dc3545;border:1px solid #dc3545}.btn-danger:hover{background-color:#dc3545;color:#fff}.modal-content .form-group{margin-bottom:20px}.modal-content label{display:block;margin-bottom:8px;color:#555;font-weight:500}.modal-content input,.modal-content select{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;box-sizing:border-box}.modal-content input:focus,.modal-content select:focus{outline:none;border-color:#667eea}.item-participants{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;min-height:24px}.participant-badge{padding:4px 10px;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #bbdefb}.participant-badge.pending{background-color:#fff8e1;color:#f57c00;border:1px dashed #ffc107}.item-card{position:relative}.item-card.archived{opacity:.6;border:2px dashed #999}.item-badges{display:flex;gap:8px;align-items:center}.badge-archived{background-color:#9e9e9e;color:#fff}.archive-toggle{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:8px}.archive-label{font-size:12px;color:#666}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#ff9800}input:checked+.slider:before{transform:translate(20px)}.slider:hover{background-color:#bbb}input:checked+.slider:hover{background-color:#f57c00}@media (max-width: 768px){.items-container{padding:15px}.header{flex-direction:column;align-items:flex-start;gap:15px}.header-actions{width:100%;justify-content:space-between}.items-grid{grid-template-columns:1fr}.item-card{padding:20px 20px 50px}.item-actions{flex-direction:column;gap:8px}.item-actions button{width:100%}.item-participants{margin:15px 0}.archive-toggle{bottom:15px;right:15px}.modal-content{width:95%;padding:20px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.expenses-container{max-width:1200px;margin:0 auto;padding:20px;position:relative}.loading{text-align:center;padding:40px;font-size:18px;color:#666}.btn-back{position:absolute;top:20px;right:20px;padding:8px 16px;background-color:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s;z-index:10}.expenses-top-nav{display:flex;gap:10px;align-items:center;margin-bottom:12px}.btn-summary-link{background:#1e3a8a;color:#fff;border:none;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:600}.btn-summary-link:hover{background:#1d4ed8}.expense-category-badge{background:#dbeafe;color:#1e3a8a;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;white-space:nowrap}.btn-recategorize{background:#e0e7ff;color:#3730a3;border:none;border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:600}.btn-recategorize:hover{background:#c7d2fe}.btn-manual-category{background:#d1fae5;color:#065f46;border:none;border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:600}.btn-manual-category:hover{background:#a7f3d0}.btn-back:hover{background-color:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.header{display:flex;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #eee}.item-info{display:flex;align-items:center;gap:15px;flex:1}.item-info h1{margin:0;color:#333}.current-datetime{font-size:14px;color:#666;font-weight:400;margin-top:5px}.btn-manage-participants{padding:8px 16px;background-color:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s;white-space:nowrap}.btn-manage-participants:hover{background-color:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.participants-emails{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.participant-email-badge{padding:6px 12px;background-color:#e3f2fd;color:#1976d2;border-radius:16px;font-size:13px;font-weight:500;border:1px solid #bbdefb}.summary{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-bottom:40px}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.summary-card.balance-owed-to-you{background:linear-gradient(135deg,#11998e,#38ef7d)}.summary-card.balance-you-owe{background:linear-gradient(135deg,#ee0979,#ff6a00)}.balance-details{display:flex;flex-direction:column;gap:8px;width:100%}.balance-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.2)}.balance-item:last-of-type{border-bottom:none}.balance-person{font-size:14px;opacity:.95;font-weight:500}.balance-amount-small{font-size:16px;font-weight:700}.balance-total{margin-top:8px;padding-top:8px;border-top:2px solid rgba(255,255,255,.4);font-size:18px;font-weight:700;text-align:right}.summary-card.budget-card{background:linear-gradient(135deg,#f093fb,#f5576c)}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.budget-header h3{margin:0}.btn-edit-budget{width:30px;height:30px;border-radius:50%;background-color:#ffffff4d;color:#fff;border:2px solid white;cursor:pointer;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s;padding:0;line-height:1}.btn-edit-budget:hover{background-color:#ffffff80;transform:scale(1.1)}.budget-remaining{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.3);display:flex;justify-content:space-between;align-items:center}.remaining-label{font-size:14px;opacity:.9}.remaining-amount{font-size:20px;font-weight:700}.remaining-amount.negative{color:#ffeb3b}.summary-card h3{margin:0 0 10px;font-size:14px;opacity:.9;text-transform:uppercase;letter-spacing:1px}.total-amount,.total-count{font-size:36px;font-weight:700;margin:0}.participants-modal{max-width:600px}.participants-modal h2{margin-top:0;margin-bottom:20px;color:#333}.participants-list{display:flex;flex-direction:column;gap:10px}.participant-card{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.participant-card.pending{background:#fff8e1;border:1px dashed #ffc107;opacity:.8}.participant-info{display:flex;flex-direction:column;gap:5px}.participant-name{font-weight:600;color:#333;font-size:16px}.participant-email{color:#666;font-size:14px}.btn-remove-participant{padding:5px 10px;background-color:#fff;color:#dc3545;border:1px solid #dc3545;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;transition:all .3s}.btn-remove-participant:hover{background-color:#dc3545;color:#fff}.add-participant-form{display:flex;gap:10px;padding:20px;background:#f0f7ff;border-radius:8px;border:2px dashed #667eea}.participant-email-input{flex:1;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px}.participant-email-input:focus{outline:none;border-color:#667eea}.btn-add-participant{padding:12px 24px;background-color:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s;white-space:nowrap}.btn-add-participant:hover{background-color:#5568d3}.participant-note{padding:15px;background:#fff8e1;border-left:4px solid #ffc107;border-radius:4px;color:#856404;font-size:14px;margin:0}.expenses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.expenses-header h2{margin:0;color:#333}.expenses-header .btn-primary{padding:12px 24px;white-space:nowrap;width:auto}.quick-expense-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;padding:20px;background:#f9f9f9;border-radius:12px;border:1px solid #e0e0e0}.btn-quick{padding:10px 20px;background-color:#fff;color:#555;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s;display:flex;align-items:center;gap:6px}.btn-quick:hover{background-color:#667eea;color:#fff;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 8px #667eea33}.btn-quick:active{transform:translateY(0)}.empty-state{text-align:center;padding:60px 20px;background:#f9f9f9;border-radius:12px;border:2px dashed #ddd}.empty-state p{color:#999;font-size:18px;margin-bottom:20px}.expenses-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.expense-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s;box-shadow:0 2px 8px #0000000d;position:relative}.expense-card:hover{box-shadow:0 4px 16px #0000001a}.expense-card.pending-expense{background:linear-gradient(135deg,#fff8e1,#fffbf0);border:2px dashed #ffa726;opacity:.9}.pending-badge-top{position:absolute;top:10px;right:10px;background:#ffa726;color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase}.expense-note{margin-top:10px;padding-top:10px;border-top:1px dashed #ffa726;color:#f57c00;font-size:12px;font-style:italic}.expense-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.expense-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.expense-info h3{margin:0;color:#333;font-size:1.1em}.participant-initials{display:flex;gap:4px;align-items:center}.initial-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;box-shadow:0 2px 4px #00000026;cursor:help;transition:transform .2s}.initial-badge:hover{transform:scale(1.15);box-shadow:0 3px 6px #00000040}.expense-meta{display:flex;gap:10px;align-items:center}.payment-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.payment-banco{background-color:#e3f2fd;color:#1976d2}.payment-efectivo{background-color:#fff3e0;color:#f57c00}.expense-date{color:#999;font-size:13px}.expense-amount-container{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.expense-amount{font-size:24px;font-weight:700;color:#667eea}.expense-balance{font-size:14px;font-weight:600;padding:4px 12px;border-radius:6px;white-space:nowrap}.expense-balance.lent{background-color:#e8f5e9;color:#2e7d32}.expense-balance.owe{background-color:#fff3e0;color:#e65100}.expense-actions{display:flex;gap:10px}.btn-edit{padding:8px 16px;background-color:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.btn-edit:hover{background-color:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.btn-delete{padding:8px 16px;background-color:#fff;color:#dc3545;border:1px solid #dc3545;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.btn-delete:hover{background-color:#dc3545;color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:30px;border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 40px #0003}.modal-content h2{margin-top:0;margin-bottom:20px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:10px;margin-top:30px}.modal-actions button{flex:1;padding:12px;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover{background-color:#5568d3}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#667eea;color:#fff;border:none}.btn-secondary:hover{background-color:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.btn-select-participants{width:100%;padding:12px;background-color:#f0f7ff;color:#667eea;border:2px dashed #667eea;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s;text-align:center}.btn-select-participants:hover{background-color:#667eea;color:#fff;border-style:solid}.selected-participants-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding:10px;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.selected-participant-tag{padding:6px 12px;background-color:#667eea;color:#fff;border-radius:16px;font-size:13px;font-weight:500}.modal-description{margin:0 0 15px;color:#666;font-size:14px}.selection-summary{margin:15px 0 0;padding:10px;background:#e8f5e9;border-left:4px solid #4caf50;border-radius:4px;color:#2e7d32;font-size:14px;font-weight:600}.participants-checkboxes{display:flex;flex-direction:column;gap:10px;padding:15px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0;max-height:400px;overflow-y:auto}.checkbox-label{display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s;border:1px solid transparent}.checkbox-label:hover{background:#f0f7ff;border-color:#667eea}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.checkbox-label span{flex:1;color:#333;font-size:15px}.you-tag{color:#667eea;font-weight:600;font-size:13px;margin-left:5px}.validation-hint{display:block;margin-top:8px;color:#dc3545;font-size:13px;font-style:italic}@media (max-width: 768px){.expenses-container{padding:50px 15px 15px}.btn-back{top:15px;right:15px;padding:6px 12px;font-size:13px}.header{flex-direction:column;gap:15px;align-items:flex-start}.item-info{flex-direction:column;align-items:flex-start;width:100%}.item-info h1{font-size:1.5em}.btn-manage-participants{width:100%;justify-content:center}.participants-emails{width:100%}.summary{grid-template-columns:1fr;gap:15px}.summary-card{padding:20px}.total-amount,.total-count{font-size:28px}.expenses-header{flex-direction:column;gap:15px;align-items:flex-start}.expenses-header h2{font-size:1.3em}.expenses-header .btn-primary{width:100%}.quick-expense-buttons{padding:15px;gap:8px}.btn-quick{flex:1 1 calc(50% - 4px);min-width:140px;font-size:13px;padding:10px 15px}.expenses-list{grid-template-columns:1fr}.expense-card{padding:15px}.expense-amount{font-size:20px}.expense-title-row{flex-wrap:wrap}.expense-info h3{font-size:1em}.initial-badge{width:24px;height:24px;font-size:10px}.expense-actions{flex-direction:column;gap:8px}.expense-actions button{width:100%}.modal-content{width:95%;padding:20px;max-height:90vh;overflow-y:auto}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.participants-modal{max-width:95%}.add-participant-form{flex-direction:column;padding:15px}.participant-email-input,.btn-add-participant{width:100%}.participant-card{padding:12px}.btn-remove-participant{white-space:nowrap}}@media (max-width: 480px){.total-amount,.total-count{font-size:24px}.btn-quick{flex:1 1 100%;min-width:100%}.summary-card h3{font-size:12px}.item-info h1{font-size:1.2em}}.quick-expense-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.quick-expense-header h4{margin:0;color:#333;font-size:16px}.btn-config-templates{background:none;border:none;font-size:20px;cursor:pointer;padding:5px 10px;border-radius:6px;transition:background .2s}.btn-config-templates:hover{background:#f0f0f0}.no-templates-message{color:#999;font-size:14px;text-align:center;padding:20px}.template-config-modal{max-width:600px;max-height:80vh;overflow-y:auto}.template-subtitle{color:#666;font-size:14px;margin-bottom:20px}.template-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.template-item{display:flex;align-items:center;gap:10px;padding:12px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.template-preview{flex:1;font-size:16px}.emoji-input{width:50px;text-align:center;font-size:20px;padding:8px;border:1px solid #ddd;border-radius:6px}.template-name-input{flex:1;min-width:180px;padding:12px 16px;border:2px solid #ddd;border-radius:8px;font-size:16px;font-weight:500}.template-name-input:focus{outline:none;border-color:#667eea;background:#fafafa}.btn-edit-template,.btn-delete-template,.btn-save-template,.btn-cancel-template{background:none;border:none;font-size:18px;cursor:pointer;padding:5px 8px;border-radius:4px;transition:background .2s}.btn-edit-template:hover{background:#e0e0e0}.btn-delete-template:hover{background:#ffe0e0}.btn-save-template{color:green}.btn-save-template:hover{background:#e0ffe0}.btn-cancel-template{color:red}.btn-cancel-template:hover{background:#ffe0e0}.btn-add-template{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-add-template:hover{background:#5568d3}.btn-add-template:disabled{background:#ccc;cursor:not-allowed}@media (max-width: 768px){.template-item{flex-wrap:wrap}.template-name-input{min-width:100%}}.expense-card.expense-settled{opacity:.65;border-left:3px solid #28a745}.btn-settle{background:#f0f0f0;color:#555;border:1px solid #ccc;border-radius:4px;padding:4px 10px;cursor:pointer;font-size:.78rem;transition:background .2s,color .2s}.btn-settle:hover{background:#e0e0e0}.btn-settle.settled{background:#d4edda;color:#155724;border-color:#c3e6cb;font-weight:600}.installment-badge{font-size:.68rem;background:#64b4ff40;color:#a8d8ff;border:1px solid rgba(100,180,255,.4);border-radius:4px;padding:2px 7px;font-weight:600;white-space:nowrap;flex-shrink:0}.form-group-toggle{margin-bottom:8px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.installment-section{background:#ffffff14;border-radius:8px;padding:12px;margin-bottom:12px}.installment-section small{display:block;margin-top:4px;opacity:.75;font-size:12px}.filter-bar{display:flex;gap:8px;padding:0 16px 12px}.filter-btn{padding:6px 16px;border-radius:20px;border:1.5px solid rgba(255,255,255,.25);background:transparent;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s}.filter-btn.active{background:#fff3;border-color:#ffffffb3;color:#fff;font-weight:600}.filter-btn:hover:not(.active){background:#ffffff14;color:#fff}.empty-filter-state{text-align:center;padding:32px 16px;color:#ffffff80;font-size:14px}.budget-row{margin-bottom:8px}.budget-row:last-child{margin-bottom:0}.budget-row .total-amount{margin:0 0 4px}.budget-empty{opacity:.6;font-size:14px;margin:4px 0 0}.summary-page{padding:20px;max-width:1200px;margin:0 auto}.summary-page-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.summary-back,.summary-generate,.currency-tab{border:none;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer}.summary-back{background:#e5e7eb;color:#111827}.summary-generate{background:#1d4ed8;color:#fff}.summary-generate:disabled{opacity:.6;cursor:not-allowed}.summary-title{margin:0 0 12px}.summary-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:#374151;margin-bottom:16px}.summary-error{background:#fee2e2;color:#991b1b;border-radius:8px;padding:10px 12px;margin-bottom:12px}.summary-empty{background:#f3f4f6;border-radius:8px;padding:14px;color:#374151}.currency-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.currency-tab{background:#e5e7eb;color:#111827}.currency-tab.active{background:#1d4ed8;color:#fff}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.chart-card h3{margin:0 0 12px}.summary-loading{padding:30px;text-align:center}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-screen{display:flex;justify-content:center;align-items:center;height:100vh;font-size:20px;color:#667eea}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}
