.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;animation:fadeIn .3s forwards}.modal-content{background-color:var(--surface-color);padding:25px 30px;border-radius:8px;box-shadow:0 5px 15px #0003;width:90%;max-width:450px;text-align:center;transform:scale(.9);animation:scaleUp .3s forwards}.modal-content h2{margin-top:0;margin-bottom:15px;color:var(--primary-color)}.modal-body{margin-bottom:25px;line-height:1.6}.modal-footer{display:flex;justify-content:center;gap:15px}.modal-button{padding:10px 25px;font-size:.95em}.modal-button.cancel{background-color:#6c757d}.modal-button.cancel:hover{background-color:#5a6268}.modal-button.confirm{background-color:var(--danger-color)}.modal-button.confirm:hover{background-color:#a71d2a}@keyframes fadeIn{to{opacity:1}}@keyframes scaleUp{to{transform:scale(1)}}.modal-button.confirm-instance{background-color:var(--accent-color)}.modal-button.confirm-instance:hover{background-color:var(--primary-color)}.modal-button.confirm-permanent{background-color:var(--danger-color)}.modal-button.confirm-permanent:hover{background-color:#a71d2a}button{padding:10px 15px;background-color:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .2s}button:hover{background-color:var(--primary-color)}button:disabled{background-color:#ccc;cursor:not-allowed}input,select{padding:10px;border:1px solid var(--border-color);border-radius:4px;font-size:1em;width:100%;box-sizing:border-box}label{display:block;margin-bottom:5px;font-weight:700;font-size:.9em}hr.page-divider{margin:30px 0;border:none;border-top:1px solid var(--border-color)}.main-container{max-width:900px;margin:40px auto;padding:20px 30px;background-color:var(--surface-color);border-radius:8px;box-shadow:0 4px 12px #00000014}.auth-container{max-width:400px;margin:40px auto;padding:20px;background-color:var(--surface-color);border-radius:8px;box-shadow:0 4px 12px #00000014}.navbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;background-color:var(--primary-color);padding:15px 25px;border-radius:8px;color:#fff}.navbar a{color:#fff;text-decoration:none;font-weight:700;margin-right:15px;transition:opacity .2s}.navbar a:hover{opacity:.8}.transaction-list-page-top-section{display:flex;justify-content:center;gap:50px;align-items:center;flex-wrap:wrap;margin-bottom:20px;padding:20px;background:#f9f9f9;border-radius:8px}.ai-suggestion-section{margin-bottom:30px}.ai-loading-message{color:var(--accent-color)}.ai-suggestion-box{margin-top:15px;padding:15px;border:1px solid var(--accent-color);border-radius:5px;background:#f0f8ff}.ai-suggestion-text{white-space:pre-wrap;font-family:inherit;font-size:1em;margin-top:10px;margin-bottom:10px}.ai-suggestion-clear-button{margin-top:10px}.transaction-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.transaction-history-nav{display:flex;gap:10px;align-items:center}.transaction-history-date{font-weight:700;min-width:70px;text-align:center}.no-transactions-message{text-align:center;padding:20px;color:#888}.transaction-list{list-style:none;padding:0;margin-top:20px}.transaction-item{background:var(--surface-color);border:1px solid var(--border-color);border-left-width:5px;border-radius:5px;padding:15px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s ease-in-out;flex-wrap:wrap;gap:10px}.transaction-item:hover{box-shadow:0 4px 8px #0000000f}.transaction-item--income{border-left-color:var(--success-color)}.transaction-item--income strong{color:var(--success-color)}.transaction-item--expense{border-left-color:var(--danger-color)}.transaction-item--expense strong{color:var(--danger-color)}.transaction-item-details{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.transaction-item button{background-color:var(--danger-color);padding:5px 10px;font-size:.8em;margin-left:auto}.transaction-item button:hover{background-color:#a71d2a}@media (max-width: 768px){.main-container{max-width:95%;padding:15px;margin:20px auto}.transaction-list-page-top-section{flex-direction:column;gap:20px}.navbar{flex-wrap:wrap;justify-content:center;gap:15px;padding:15px}.modal-content{max-width:450px;padding:20px 25px}}@media (max-width: 480px){.navbar{flex-wrap:wrap;flex-direction:column;align-items:center;padding:15px;text-align:center}.navbar>*{margin-bottom:15px;width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap}.navbar>*:last-child{margin-bottom:0}.auth-container{max-width:90%;margin:20px auto;padding:15px;box-shadow:none}button,input,select{font-size:1rem;padding:12px}.transaction-history-header{flex-direction:column;align-items:flex-start;gap:10px}.transaction-history-nav{flex-direction:row;width:100%;justify-content:space-between}.transaction-history-date{min-width:unset}.transaction-item{flex-direction:column;align-items:flex-start;gap:5px}.transaction-item button{margin-top:10px;align-self:flex-end;margin-left:0}.transaction-item-details{gap:8px}.ai-suggestion-section button{width:auto;max-width:100%}.ai-suggestion-box{padding:10px}.modal-content{padding:20px}.modal-content h2{font-size:1.2rem;margin-bottom:10px}.modal-body{font-size:.95rem;line-height:1.5;margin-bottom:20px}.modal-footer{flex-direction:column;gap:10px;align-items:stretch}.modal-button{padding:10px;font-size:.9rem}}:root{--primary-color: #0d2c54;--accent-color: #007bff;--background-color: #f8f9fa;--surface-color: #ffffff;--text-color: #212529;--border-color: #dee2e6;--success-color: #198754;--danger-color: #dc3545}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:var(--background-color);color:var(--text-color)}
