@charset "UTF-8";:root{--bg: #f5f5f5;--text: #1f2933;--muted: #6b7280;--primary: #4f46e5;--surface: #ffffff;--border: #e5e7eb;--shadow: rgba(0, 0, 0, .1);--hover: #f9fafb;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg: #1a202c;--text: #f7fafc;--muted: #a0aec0;--primary: #667eea;--surface: #2d3748;--border: #4a5568;--shadow: rgba(0, 0, 0, .4);--hover: #374151}a{color:var(--primary);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}body{margin:0;min-height:100vh;background-color:var(--bg);color:var(--text)}img{max-width:100%;display:block}button{font-family:inherit}.landing-page{font-family:"Arial, sans-serif";text-align:center;padding:50px;background:#f5f5f5;color:#000;min-height:100vh}@media (max-width: 768px){.landing-page{padding:30px}}.landing-nav{position:absolute;top:20px;right:20px;display:flex;gap:20px;align-items:center}@media (max-width: 768px){.landing-nav{position:static;flex-wrap:wrap;gap:10px;margin-bottom:20px}}.landing-nav a,.landing-nav-link{color:#fff;text-decoration:none;transition:opacity .3s ease}.landing-nav a:hover,.landing-nav-link:hover{opacity:.8}.landing-nav-logout{background:none;color:#fff;border:1px solid white;padding:5px 10px;cursor:pointer;transition:background-color .3s ease;font-size:.95em}.landing-nav-logout:hover{background-color:#ffffff1a}.landing-header{margin-bottom:50px}.landing-header h1{font-size:3em;margin-bottom:10px}@media (max-width: 768px){.landing-header h1{font-size:2em}}.landing-header p{font-size:1.2em}@media (max-width: 768px){.landing-header p{font-size:1em}}.landing-header-buttons{margin-top:20px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.landing-btn-primary{padding:10px 20px;background:#fff;color:#764ba2;border-radius:6px;text-decoration:none;font-weight:700;cursor:pointer;transition:background-color .3s ease}.landing-btn-primary:hover{background-color:#f0f0f0}.landing-btn-secondary{padding:10px 20px;border:1px solid white;color:#fff;border-radius:6px;text-decoration:none;font-weight:700;background:transparent;cursor:pointer;transition:background-color .3s ease}.landing-btn-secondary:hover{background-color:#ffffff1a}.landing-demo-section{margin:40px auto;max-width:1200px;background:var(--surface);padding:20px;border-radius:12px;box-shadow:0 4px 12px #00000026}.landing-demo-section h2{margin-bottom:10px}.landing-demo-section p{margin-bottom:20px}.landing-demo-cards{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.landing-demo-card{background:gray;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:15px 53px;min-width:180px}.landing-demo-card-label{font-size:.95em;opacity:.85}.landing-demo-card-value{font-size:1.6em;font-weight:700;margin-top:6px}.landing-demo-card-value.income{color:#8ef0c0}.landing-demo-card-value.expense{color:#ffd480}.landing-demo-card-value.savings{color:#9ec5fe}.landing-demo-card-value.credits{color:#f8b4d9}.landing-demo-info{margin-top:20px;font-size:.95em;opacity:.9}.landing-demo-info div{margin-top:6px}.landing-demo-info div:first-child{margin-top:0}.landing-demo-image-section{margin-bottom:50px}.landing-demo-image-section h2,.landing-demo-image-section p{margin-bottom:20px}.landing-demo-image{max-width:80%;border-radius:10px;box-shadow:0 4px 8px #0003}@media (max-width: 768px){.landing-demo-image{max-width:100%}}.landing-features-section{margin-bottom:50px}.landing-features-section h2{margin-bottom:30px}.landing-features-cards{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;margin-top:30px}@media (max-width: 768px){.landing-features-cards{gap:20px}}.landing-feature-card{background:var(--surface);padding:20px;border-radius:10px;width:250px;transition:transform .3s ease}.landing-feature-card:hover{transform:translateY(-5px)}.landing-feature-card-icon{font-size:3em;margin-bottom:10px}.landing-feature-card h3{margin-bottom:10px}.landing-feature-card p{margin:0;font-size:.95em}@media (max-width: 768px){.landing-feature-card{width:200px}}.landing-cta-section{margin-bottom:50px}.landing-cta-section h2{margin-bottom:20px}.landing-cta-section p{margin-bottom:30px}.landing-cta-button{background:#28a745;color:#fff;padding:15px 30px;text-decoration:none;border-radius:5px;font-size:1.2em;display:inline-block;transition:background-color .3s ease}.landing-cta-button:hover{background-color:#218838}.landing-footer{margin-top:50px;font-size:.9em;opacity:.9}.login-container{max-width:400px;margin:50px auto;padding:90px;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a}@media (max-width: 480px){.login-container{margin:30px 10px;max-width:none}}.login-header{text-align:center;margin-bottom:30px}.login-header h2{color:#333;font-size:24px;margin:0}@media (max-width: 480px){.login-header h2{font-size:20px}}.login-form{display:flex;flex-direction:column}.login-form-group{margin-bottom:15px;display:flex;flex-direction:column}.login-form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333;font-size:14px}.login-form-group input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .3s ease}.login-form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}@media (max-width: 480px){.login-form-group input{padding:10px;font-size:16px}}.login-error{background-color:#ffe6e6;color:#dc3545;padding:12px;border-radius:4px;margin-bottom:15px;border:1px solid #f5c6cb;font-size:14px}.login-submit{background-color:#007bff;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:700;border-radius:4px;cursor:pointer;width:100%;transition:background-color .3s ease;margin-top:10px}.login-submit:hover:not(:disabled){background-color:#0056b3}.login-submit:disabled{background-color:#ccc;cursor:not-allowed}.login-links{text-align:center;margin-top:20px;font-size:14px}.login-links p{margin:5px 0}.login-links a{color:#007bff;text-decoration:none;transition:color .3s ease}.login-links a:hover{color:#0056b3;text-decoration:underline}.register-container{max-width:400px;margin:50px auto;padding:20px;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a}@media (max-width: 480px){.register-container{margin:30px 10px;max-width:none}}.register-header{text-align:center;margin-bottom:30px}.register-header h2{color:#333;font-size:24px;margin:0}@media (max-width: 480px){.register-header h2{font-size:20px}}.register-form{display:flex;flex-direction:column}.register-form-group{margin-bottom:15px;display:flex;flex-direction:column}.register-form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333;font-size:14px}.register-form-group input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .3s ease}.register-form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}@media (max-width: 480px){.register-form-group input{padding:10px;font-size:16px}}.register-error{background-color:#ffe6e6;color:#dc3545;padding:12px;border-radius:4px;margin-bottom:15px;border:1px solid #f5c6cb;font-size:14px}.register-submit{background-color:#007bff;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:700;border-radius:4px;cursor:pointer;width:100%;transition:background-color .3s ease;margin-top:10px}.register-submit:hover:not(:disabled){background-color:#0056b3}.register-submit:disabled{background-color:#ccc;cursor:not-allowed}.register-links{text-align:center;margin-top:20px;font-size:14px}.register-links p{margin:5px 0}.register-links a{color:#007bff;text-decoration:none;transition:color .3s ease}.register-links a:hover{color:#0056b3;text-decoration:underline}.maintenance-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f7f7f7}.maintenance-message{background:#fff;border-radius:16px;box-shadow:0 2px 24px #0002;padding:48px 32px;text-align:center;max-width:500px}.maintenance-message h1{font-size:2.2rem;margin-bottom:16px;color:#e67e22}.maintenance-message p{font-size:1.2rem;margin-bottom:24px}.maintenance-timer{font-size:1.5rem;font-weight:700;color:#2980b9}.admin-dashboard-container{padding:20px}.admin-navbar{background:var(--surface);padding:15px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px var(--shadow);display:flex;align-items:center;gap:20px}.admin-navbar-left{display:flex;gap:20px}.admin-navbar-logo{color:#fff;background:none;border:none;cursor:pointer;font-size:1em}.admin-navbar-logo:hover{opacity:.8}.admin-tabs{display:flex;gap:10px;margin-bottom:20px}.admin-tab-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease}.admin-tab-btn.active{background:var(--primary);color:#fff}.admin-tab-btn.inactive{background:#ccc;color:#000}.admin-content{display:flex;gap:20px;flex-wrap:wrap}.admin-section{flex:1;min-width:300px}.admin-section-wide{flex:2}.admin-form{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px}.admin-form-group{margin-bottom:15px}.admin-form-input,.admin-form-textarea,.admin-form-select{width:100%;padding:8px;margin-bottom:10px;border-radius:4px;border:1px solid #ddd;font-family:inherit}.admin-form-textarea{font-family:monospace;min-height:150px;resize:vertical}.admin-form-controls{display:flex;gap:10px;margin-bottom:10px}.admin-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease}.admin-btn-primary{background:#764ba2;color:#fff}.admin-btn-primary:hover{opacity:.9}.admin-btn-secondary{background:#667eea;color:#fff}.admin-btn-edit{background:#2196f3;color:#fff;padding:4px 8px;font-size:.9em;margin-right:5px}.admin-btn-delete{background:#dc3545;color:#fff;padding:4px 8px;font-size:.9em}.admin-toggle-btn{margin-bottom:15px}.admin-table{width:100%;border-collapse:collapse;margin-top:15px}.admin-table th,.admin-table td{border:1px solid #ddd;padding:8px;text-align:left}.admin-table th{background:var(--primary);color:#fff;font-weight:600}.admin-table tr:nth-child(2n){background:#f9f9f9}.admin-table tr:hover{background:#f0f0f0}.status-badge{padding:2px 6px;border-radius:3px;color:#fff;font-size:.85em;font-weight:600}.status-published{background:#4caf50}.status-draft{background:#ff9800}.admin-promote-btn{background:#00f;color:#fff;border:none;padding:5px 10px;margin-right:5px;cursor:pointer;border-radius:3px}.admin-delete-btn{background:red;color:#fff;border:none;padding:5px 10px;cursor:pointer;border-radius:3px}.blog-container{max-width:900px;margin:0 auto;padding:20px}@media (max-width: 768px){.blog-container{padding:15px}}.blog-header h1{text-align:center;font-size:2.5em;margin-bottom:10px;color:#333}@media (max-width: 768px){.blog-header h1{font-size:2em}}.blog-header p{text-align:center;font-size:1.1em;color:#666;margin-bottom:30px}@media (max-width: 768px){.blog-header p{font-size:1em}}.blog-admin-button{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1em;font-weight:700;transition:background-color .3s ease;margin-bottom:30px}.blog-admin-button:hover{background-color:#5568d3}.blog-form{background-color:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:30px;border:1px solid #ddd}.blog-form-group{margin-bottom:15px}.blog-form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333}.blog-form-group input,.blog-form-group textarea,.blog-form-group select{width:100%;padding:10px;margin-bottom:10px;border-radius:5px;border:1px solid #ddd;font-family:monospace;box-sizing:border-box}.blog-form-group textarea{font-family:monospace;min-height:150px;resize:vertical}.blog-form-submit{padding:8px 16px;background-color:#667eea;color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:700;transition:background-color .3s ease;margin-right:10px}.blog-form-submit:hover{background-color:#5568d3}.blog-form-cancel{padding:8px 16px;background-color:#ddd;color:#333;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease}.blog-form-cancel:hover{background-color:#ccc}.blog-no-posts{text-align:center;color:#999;font-size:1.1em;margin-top:40px;padding:40px}.blog-post-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.blog-post-header{display:flex;justify-content:space-between;align-items:flex-start}@media (max-width: 768px){.blog-post-header{flex-direction:column}}.blog-post-title{font-size:1.5em;margin:10px 0;color:#333}@media (max-width: 768px){.blog-post-title{font-size:1.3em}}.blog-post-meta{color:#999;font-size:.95em;margin:5px 0}.blog-post-category{display:inline-block;padding:5px 10px;border-radius:4px;font-size:.85em;font-weight:700;color:#fff;margin-right:10px}.blog-post-category.conseil{background-color:#667eea}.blog-post-category.tutorial{background-color:#764ba2}.blog-post-category.actualité{background-color:#ff6b6b}.blog-post-category.astuce{background-color:#4ecdc4}.blog-post-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.85em;background-color:#e7f3ff;color:#004085}.blog-post-content{margin-top:15px;color:#555;line-height:1.6}.blog-post-actions{display:flex;gap:10px;margin-top:15px}.blog-delete-btn{padding:6px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;transition:background-color .3s ease}.blog-delete-btn:hover{background-color:#c82333}.blog-comments-section{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.blog-comments-title{margin-bottom:15px;color:#333}.blog-comment{background-color:#f9f9f9;padding:15px;border-radius:4px;margin-bottom:10px;border-left:3px solid #667eea}.blog-comment-header{display:flex;justify-content:space-between;align-items:center}.blog-comment-author{font-weight:700;color:#333}.blog-comment-rating{margin-left:10px;color:#ff9800;font-weight:700}.blog-comment-content{margin-top:8px;color:#555}.blog-comment-date{font-size:.85em;color:#999;margin-top:5px}.blog-comment-delete{padding:4px 8px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8em;transition:background-color .3s ease}.blog-comment-delete:hover{background-color:#c82333}.blog-comment-form{margin-top:15px}.blog-comment-form-group{margin-bottom:10px}.blog-comment-form-group input,.blog-comment-form-group textarea{width:100%;padding:8px;margin-bottom:8px;border-radius:4px;border:1px solid #ddd;box-sizing:border-box;font-family:inherit}.blog-comment-form-submit{padding:6px 12px;background-color:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s ease}.blog-comment-form-submit:hover{background-color:#5568d3}.tag-input-container{position:relative;width:100%}.tag-input{flex:1;min-width:120px;border:none;background:transparent;outline:none;padding:4px;font-size:1em;color:var(--text)}@media (max-width: 768px){.tag-input{min-width:80px}}.tag-badge{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;padding:4px 10px;border-radius:16px;font-size:.85em;font-weight:600;white-space:nowrap}.tag-remove{background:none;border:none;color:#fff;font-size:1.3em;cursor:pointer;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.tag-remove:hover{background:#fff3}.tag .tag-suggestions{position:absolute;top:100%;left:0;right:auto;min-width:180px;max-width:260px;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-top:2px;max-height:160px;overflow-y:auto;box-shadow:0 2px 8px var(--shadow);z-index:1000;padding:.2rem 0;display:flex;flex-direction:column;gap:0}.tag-suggestion{display:block;width:100%;padding:6px 14px;background:none;border:none;text-align:left;cursor:pointer;color:var(--text);font-size:.95em;transition:background .2s;border-radius:0;outline:none}.tag-suggestion:hover,.tag-suggestion:focus{background:var(--hover)}.tag-suggestion:not(:last-child){border-bottom:1px solid var(--border)}.tags-display{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;background:var(--bg);border:2px solid var(--border);border-radius:6px;min-height:42px;cursor:text}.tags-display:focus-within{border-color:var(--primary)}.income-form-container{padding:20px;background-color:#f5f9e6;border-radius:8px;border:1px solid #e8f5e9;box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.income-form-container{padding:15px}}.income-form-group{margin-bottom:15px;display:flex;flex-direction:column}.income-form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333;font-size:14px}.income-form-group input,.income-form-group select,.income-form-group textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .3s ease}.income-form-group input:focus,.income-form-group select:focus,.income-form-group textarea:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.income-form-tags-section{margin-top:15px;padding-top:15px;border-top:1px solid #ddd}.income-form-tags-label{display:block;margin-bottom:5px;font-weight:700;color:#333;font-size:14px}.income-form-tags-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;margin-bottom:10px}.income-form-tags-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.income-form-tag{background-color:#4caf50;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:5px}.income-form-tag button{background:none;border:none;color:#fff;cursor:pointer;font-weight:700;padding:0;margin-left:4px}.income-form-submit{background-color:#4caf50;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:700;border-radius:4px;cursor:pointer;width:100%;transition:background-color .3s ease;margin-top:10px}.income-form-submit:hover{background-color:#45a049}.income-form-submit:disabled{background-color:#ccc;cursor:not-allowed}.expense-form{padding:20px;background-color:#fffaf0;border-radius:8px;border:1px solid #f0e0c0}.expense-form h3{margin-bottom:15px;color:#333}.expense-form button[type=submit]{padding:10px 16px;background-color:#ff9800;color:#fff;border:none;border-radius:4px;font-weight:700;cursor:pointer}.expense-form button[type=submit]:hover{background-color:#e58900}.expense-form-group{margin-bottom:12px;display:flex;flex-direction:column}.expense-form-group input,.expense-form-group select,.expense-form-group textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box}.expense-form-group input:focus,.expense-form-group select:focus,.expense-form-group textarea:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 3px #ff980026}.expense-tags-section{margin-top:15px}.expense-tags-section .expense-tags-label,.expense-tags-label{display:block;margin-bottom:5px;font-weight:600}.search-filter-container{background:var(--surface);padding:20px;border-radius:10px;box-shadow:0 2px 8px var(--shadow);margin-bottom:20px}.filter-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.filter-row:last-child{margin-bottom:0}@media (max-width: 768px){.filter-row{flex-direction:column;align-items:stretch}}.filter-select{padding:10px 15px;font-size:1rem;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);cursor:pointer;min-width:180px}@media (max-width: 768px){.filter-select{width:100%}}.filter-input{padding:8px 12px;border:2px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.95rem}.filter-input-small{padding:8px 12px;border:2px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);width:100px;font-size:.95rem}.search-input{flex:1;min-width:250px;padding:10px 15px;font-size:1rem;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);transition:border-color .3s ease}.search-input:focus{outline:none;border-color:var(--primary)}@media (max-width: 768px){.search-input{width:100%}}.date-range{display:flex;gap:10px;align-items:center}.date-range label{font-weight:600;color:var(--muted)}@media (max-width: 768px){.date-range{width:100%}}.amount-range{display:flex;gap:8px;align-items:center}@media (max-width: 768px){.amount-range{width:100%}}.reset-btn{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap}.reset-btn:hover{opacity:.9;transform:translateY(-2px)}@media (max-width: 768px){.reset-btn{width:100%}}.tags-wrapper{display:flex;gap:10px;align-items:center;flex:1;flex-wrap:wrap}.tags-label{font-weight:600;color:var(--text)}.tag-badge{background:var(--primary);color:#fff;padding:4px 10px;border-radius:16px;font-size:.85em;font-weight:600;display:inline-flex;align-items:center;gap:6px}.tag-badge-remove{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2em;padding:0;line-height:1}.tag-input-wrapper{min-width:150px}.tag-suggestions{display:flex;gap:5px;flex-wrap:wrap}.tag-suggestion-btn{padding:4px 10px;background:var(--hover);border:1px solid var(--border);border-radius:12px;font-size:.8em;cursor:pointer;color:var(--text);transition:all .3s ease}.tag-suggestion-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.income-table-container{background-color:#f9f9f9;padding:20px;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;max-width:1200px;margin:0 auto 24px;min-height:200px}.income-table-double-wrapper{display:flex;gap:32px;justify-content:space-between;align-items:flex-start;width:100%}@media (max-width: 900px){.income-table-double-wrapper{flex-direction:column;gap:16px}}.income-table-col{flex:1 1 0;min-width:320px;max-width:100%;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000a;padding:12px 8px 18px;border:1px solid #ececec;margin-bottom:0}.income-table{width:100%;border-collapse:collapse;margin-top:15px}.income-table thead{background-color:#e8f5e9;border-bottom:2px solid #4CAF50}.income-table thead th{padding:12px;text-align:left;font-weight:700;color:#333;font-size:14px}@media (max-width: 768px){.income-table thead th{padding:8px}}.income-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.income-table tbody tr:hover{background-color:#f5f9e6}.income-table tbody td{padding:12px;font-size:14px;color:#333}@media (max-width: 768px){.income-table tbody td{padding:8px}}@media (max-width: 768px){.income-table{font-size:12px}}.income-table-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}@media (max-width: 768px){.income-table-tags{gap:3px}}.income-table-tag{background-color:#c8e6c9;color:#2e7d32;padding:3px 6px;border-radius:3px;font-size:11px;font-weight:700}@media (max-width: 768px){.income-table-tag{font-size:10px;padding:2px 4px}}.income-table-actions{display:flex;gap:5px}@media (max-width: 768px){.income-table-actions{flex-direction:column}}.income-edit-btn,.income-delete-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700;transition:all .3s ease}@media (max-width: 768px){.income-edit-btn,.income-delete-btn{width:100%}}.income-edit-btn{background-color:#2196f3;color:#fff}.income-edit-btn:hover{background-color:#0b7dda}.income-delete-btn{background-color:#dc3545;color:#fff}.income-delete-btn:hover{background-color:#c82333}.income-no-data{text-align:center;padding:30px;color:#999;font-size:14px}.income-empty-icon{font-size:2em;margin-bottom:10px}.expense-table-container{background:var(--surface);padding:20px;border-radius:8px;margin-bottom:20px;overflow-x:auto}.expense-table{width:100%;border-collapse:collapse;margin-bottom:20px}.expense-table thead th{background:var(--primary);color:#fff;padding:12px;text-align:left;font-weight:600}.expense-table tbody tr{border-bottom:1px solid #ddd;transition:background .2s ease}.expense-table tbody tr:hover{background:#f0f0f0}.expense-table td{padding:10px 12px}.expense-table-amount{font-weight:600}.expense-table-amount.fixed{color:#dc3545}.expense-table-amount.variable{color:#ffc107}.expense-tags-container{margin-top:5px;display:flex;gap:5px;flex-wrap:wrap}.expense-tag{display:inline-block;background:#e9ecef;color:#495057;padding:3px 8px;border-radius:12px;font-size:.85em;font-weight:500}.expense-summary{background:#f8f9fa;padding:15px;border-radius:8px;margin-top:20px}.expense-summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #ddd}.expense-summary-row:last-child{border-bottom:none;font-weight:700;font-size:1.1em}.expense-summary-label,.expense-summary-amount{font-weight:600}.expense-summary-amount.bold{color:#dc3545;font-weight:700}.balance-chart-container{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}@media (max-width: 768px){.balance-chart-container{padding:15px}}.balance-chart-title{color:#333;font-size:18px;font-weight:700;margin-bottom:20px;text-align:center}@media (max-width: 768px){.balance-chart-title{font-size:16px}}.balance-chart-canvas{max-width:100%;height:auto}.balance-chart-loading,.balance-chart-empty{text-align:center;padding:40px;color:#999;font-size:14px}.balance-chart-error{background-color:#f8d7da;color:#721c24;padding:15px;border-radius:4px;margin-bottom:15px;border:1px solid #f5c6cb}.summary-bar{background:#fff;color:#222;padding:24px 20px;border-radius:16px;box-shadow:0 4px 24px #0000001a,0 1.5px 6px #0000000f;display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;max-width:1200px;margin:20px auto 24px;border:1px solid #ececec}.summary-card{background:#f8f9fa;text-align:center;flex:1;min-width:150px;padding:18px 12px 14px;border-radius:10px;box-shadow:0 2px 8px #0000000a;margin:0 2px;transition:box-shadow .2s;border:1px solid #e5e5e5}.summary-card h3{margin:0 0 8px;font-size:1.1em;color:#333;font-weight:600;letter-spacing:.01em}.summary-card p{font-size:1.4em;font-weight:700;margin:5px 0;color:#222}.summary-card.positive p{color:#4caf50}.summary-card.negative p{color:#ff6b6b}.summary-card.savings p{color:#2196f3}.summary-card-value.positive{color:#4caf50}.summary-card-value.negative{color:#f44336}.summary-card-value.neutral{color:#2196f3}.savings-form-container{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.form-group{margin-bottom:15px}.form-label{display:block;margin-bottom:5px;font-weight:700;color:var(--text)}.form-input,.form-textarea,.form-select{width:100%;padding:8px;border-radius:4px;border:1px solid #ddd;font-family:inherit;background:#fff;color:var(--text)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 5px #667eea4d}.form-textarea{min-height:120px;resize:vertical}.form-submit-btn{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:opacity .3s ease}.form-submit-btn:hover{opacity:.9}.savings-table-container{background:var(--surface);padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px var(--shadow)}.savings-empty{color:#666;text-align:center;padding:20px}.savings-empty-message{color:#666}.savings-main{background:var(--surface);padding:20px;border-radius:8px;margin-bottom:20px}.savings-table{width:100%;border-collapse:collapse;margin-top:15px}.savings-table thead tr{background-color:#e8f4f8;border-bottom:2px solid #007bff}.savings-table th{padding:10px;text-align:left;font-weight:600;color:var(--text)}.savings-table tbody tr{border-bottom:1px solid #ddd}.savings-table tbody tr:nth-child(2n){background:#f9f9f9}.savings-table tbody tr:hover{background:#f0f0f0}.savings-table td{padding:10px}.savings-table input{width:100%;padding:5px;border:1px solid #ddd;border-radius:3px}.savings-table-wrapper{background-color:#f9f9f9;padding:20px;border-radius:8px;flex:1;min-width:300px}.savings-table-title{font-size:1.5em;font-weight:700;margin-bottom:15px}.savings-table-align-center{text-align:center}.savings-table-align-right{text-align:right}.savings-interest{color:#28a745;font-weight:700;cursor:pointer;position:relative}.savings-tooltip{position:absolute;background:#333;color:#fff;padding:8px;border-radius:4px;font-size:.85em;top:-30px;left:0;white-space:nowrap;z-index:10}.savings-tooltip-container{position:relative}.savings-total{color:#007bff;font-weight:700}.savings-actions{display:flex;gap:5px}.savings-btn{padding:6px 12px;border:none;border-radius:3px;cursor:pointer;font-weight:600;font-size:.9em;transition:opacity .3s ease}.savings-btn:hover{opacity:.8}.savings-btn-edit{background:#2196f3;color:#fff}.savings-btn-delete{background:#dc3545;color:#fff}.savings-mobile-view{background:var(--surface);padding:20px;border-radius:8px}.savings-mobile-item{margin-bottom:10px;padding:15px;background:#fff;border-radius:6px;border-left:4px solid var(--primary)}.savings-mobile-label{display:block;margin-bottom:5px;font-weight:700;color:var(--text)}.savings-mobile-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;margin-top:5px}.savings-modal{background:var(--surface);padding:30px;border-radius:8px;max-width:500px;width:90%;box-shadow:0 4px 20px #0003}.savings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.savings-modal-title{font-size:1.5em;font-weight:700;margin-bottom:20px;color:var(--text)}.savings-modal-field{margin-bottom:15px}.savings-modal-label{display:block;margin-bottom:5px;font-weight:700}.savings-modal-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-family:inherit}.savings-header{background-color:#f9f9f9;padding:20px;border-radius:8px;flex:1;min-width:300px}.savings-header-title{font-size:1.5em;font-weight:700;margin-bottom:10px}.savings-edit-row{background-color:#fff3cd;border-bottom:1px solid #ddd}.savings-edit-cell,.savings-amount-cell{padding:10px}.savings-date-cell{padding:10px;text-align:center;font-size:.9em}.savings-add-section{background-color:#e8f4f8;padding:15px;border-radius:8px;margin-top:15px}.savings-add-section-title{font-size:1.2em;font-weight:700;margin-bottom:15px}.savings-add-item{margin-bottom:10px}.savings-add-input{flex:1;padding:8px;border:1px solid #ccc;border-radius:4px}.savings-add-button{padding:8px 15px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700}.savings-add-button:hover{opacity:.9}.savings-section-label{display:block;margin-bottom:5px;font-weight:700}.savings-section-inputs{display:flex;gap:10px}.savings-remove-button{padding:8px 15px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700}.savings-remove-button:hover{opacity:.9}.savings-toggle-button{width:100%;padding:10px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1em;font-weight:700;transition:background .3s ease}.savings-toggle-button:hover{background:#0056b3}.savings-accordion-content{background:#fff;border:1px solid #ddd;border-radius:4px;padding:15px;margin-top:10px;box-shadow:0 2px 8px #0000001a}.savings-save-button{padding:5px 10px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;margin-right:5px;font-weight:700}.savings-save-button:hover{opacity:.9}.savings-cancel-button{padding:5px 10px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.savings-cancel-button:hover{opacity:.9}.credit-form-container{background-color:#fff5f5;padding:20px;border-radius:8px;max-width:600px;margin:0 auto;box-shadow:0 2px 4px #0000001a;flex:1;min-width:300px}@media (max-width: 768px){.credit-form-container{min-width:100%}}.credit-form-group{margin-bottom:15px;display:flex;flex-direction:column}.credit-form-group label{display:block;font-weight:700;margin-bottom:5px;color:#333;font-size:14px}.credit-form-group input,.credit-form-group select,.credit-form-group textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box}.credit-form-group input:focus,.credit-form-group select:focus,.credit-form-group textarea:focus{outline:none;border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.credit-form-submit{background-color:#dc3545;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:700;border-radius:4px;cursor:pointer;width:100%;transition:background-color .3s ease;margin-top:10px}.credit-form-submit:hover{background-color:#c82333}.credit-form-submit:disabled{background-color:#ccc;cursor:not-allowed}.credit-form-error{color:#dc3545;font-size:12px;margin-top:5px}.credit-form-help-text{color:#666;font-size:.9em;margin-top:5px}.credit-edit-actions{display:flex!important;flex-direction:row!important;gap:10px!important;align-items:center!important;flex-wrap:nowrap!important;justify-content:flex-start}.credit-bt{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;margin-bottom:10px;flex-wrap:nowrap!important;width:auto!important}.credit-table-container{background-color:#f9f9f9;padding:20px;border-radius:8px;overflow-x:auto;box-shadow:0 2px 4px #0000001a;flex:1;min-width:300px}.credit-actions{display:flex;gap:5px;flex-wrap:wrap}@media (max-width: 768px){.credit-actions{flex-direction:column;width:100%}}.credit-edit-btn,.credit-delete-btn,.credit-update-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700;transition:all .3s ease}.credit-edit-btn{background-color:#007bff;color:#fff}.credit-edit-btn:hover{background-color:#0056b3}.credit-delete-btn{background-color:#dc3545;color:#fff}.credit-delete-btn:hover{background-color:#c82333}.credit-update-btn{background-color:#28a745;color:#fff}.credit-update-btn:hover{background-color:#218838}.credit-modal-input{padding:5px;border:1px solid #ccc;border-radius:4px;font-size:12px}.credit-modal-input:focus{outline:none;border-color:#dc3545;box-shadow:0 0 0 2px #dc35451a}.credit-details-card{background-color:#f8f9fa;padding:10px;border-radius:4px;margin-bottom:10px}.credit-no-data{text-align:center;padding:30px;color:#666;font-size:14px}.goals-container{margin:20px 0}.goals-container h3{font-size:1.8em;margin-bottom:20px;color:var(--text)}.empty-state{text-align:center;color:var(--muted);padding:40px;font-size:1.1em}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}@media (max-width: 768px){.goals-grid{grid-template-columns:1fr}}.goal-card{background:var(--surface);border-radius:12px;padding:20px;box-shadow:0 4px 12px var(--shadow);transition:all .3s ease;border-left:5px solid var(--primary)}.goal-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px var(--shadow)}.goal-card.completed{border-left-color:#4caf50;background:linear-gradient(135deg,var(--surface) 0%,rgba(76,175,80,.1) 100%)}.goal-card.completed .progress-fill::-webkit-progress-value{background:linear-gradient(90deg,#4caf50,#66bb6a)}.goal-card.completed .progress-fill::-moz-progress-bar{background:linear-gradient(90deg,#4caf50,#66bb6a)}.goal-card.urgent{border-left-color:#ff9800;background:linear-gradient(135deg,var(--surface) 0%,rgba(255,152,0,.1) 100%)}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.goal-header h4{margin:0;font-size:1.3em;color:var(--text)}.goal-category{background:var(--primary);color:#fff;padding:4px 10px;border-radius:12px;font-size:.8em;font-weight:600}.goal-description{color:var(--muted);font-size:.9em;margin:10px 0}.goal-amounts{display:flex;align-items:baseline;gap:8px;margin:15px 0;font-size:1.5em;font-weight:700}.current-amount{color:var(--primary)}.divider{color:var(--muted);font-weight:400}.target-amount{color:var(--text)}.progress-bar{position:relative;width:100%;height:30px;background:var(--border);border-radius:15px;overflow:hidden;margin:15px 0}.progress-fill{width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress-fill::-webkit-progress-bar{background:var(--border);border-radius:15px}.progress-fill::-webkit-progress-value{background:linear-gradient(90deg,var(--primary),#667eea);border-radius:15px}.progress-fill::-moz-progress-bar{background:linear-gradient(90deg,var(--primary),#667eea);border-radius:15px}.progress-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:.9em;text-shadow:0 1px 2px rgba(0,0,0,.3)}.deadline{color:var(--muted);font-size:.9em;margin:10px 0;font-weight:600}.urgent-deadline{color:#ff9800;font-weight:700}.goal-actions{display:flex;gap:10px;margin-top:15px}.edit-btn,.delete-btn{flex:1;padding:8px;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.goal-edit{display:flex;flex-direction:column;gap:10px}.goal-edit input{padding:8px;border:2px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.budget-form-container{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}@media (max-width: 768px){.budget-form-container{flex-direction:column;align-items:stretch}}.budget-form-label{font-weight:700;color:#333}.budget-form-input{flex:1;min-width:150px;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.budget-form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}@media (max-width: 768px){.budget-form-input{width:100%;flex:none}}.budget-form-select{flex:1;min-width:150px;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer;box-sizing:border-box}.budget-form-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}@media (max-width: 768px){.budget-form-select{width:100%;flex:none}}.budget-form-button{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s ease}.budget-form-button:hover{background-color:#0056b3}.budget-form-button:disabled{background-color:#ccc;cursor:not-allowed}.budget-form-button.secondary{background-color:#6c757d}.budget-form-button.secondary:hover{background-color:#5a6268}@media (max-width: 768px){.budget-form-button{width:100%;flex:none}}.budget-alert-row{display:flex;align-items:center;gap:10px}.budget-range{flex:1}.budgets-container{margin:20px 0}.budgets-container h3{font-size:1.8em;margin-bottom:20px;color:var(--text)}.budgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px}@media (max-width: 768px){.budgets-grid{grid-template-columns:1fr}}.budget-card{background:var(--surface);border-radius:12px;padding:20px;box-shadow:0 4px 12px var(--shadow);transition:all .3s ease;border-left:5px solid #4CAF50}.budget-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px var(--shadow)}.budget-card.warning{border-left-color:#ff9800;background:linear-gradient(135deg,var(--surface) 0%,rgba(255,152,0,.05) 100%)}.budget-card.exceeded{border-left-color:#dc3545;background:linear-gradient(135deg,var(--surface) 0%,rgba(220,53,69,.05) 100%)}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.budget-header h4{margin:0;font-size:1.3em;color:var(--text)}.budget-status{font-size:.9em;font-weight:700}.budget-status.status-ok{color:#4caf50}.budget-status.status-warning{color:#ff9800}.budget-status.status-danger{color:#dc3545}.budget-amounts{display:flex;justify-content:space-between;margin:15px 0;gap:10px}.spent-amount,.max-amount{display:flex;flex-direction:column;gap:5px}.spent-amount .label,.max-amount .label{font-size:.85em;color:var(--muted);text-transform:uppercase;font-weight:600}.spent-amount .value,.max-amount .value{font-size:1.4em;font-weight:700;color:var(--text)}.spent-amount .value.status-ok,.max-amount .value.status-ok{color:#4caf50}.spent-amount .value.status-warning,.max-amount .value.status-warning{color:#ff9800}.spent-amount .value.status-danger,.max-amount .value.status-danger{color:#dc3545}.budget-progress-bar{position:relative;width:100%;height:25px;background:var(--border);border-radius:12px;overflow:hidden;margin:15px 0}.budget-progress-fill{width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.budget-progress-fill::-webkit-progress-bar{background:var(--border);border-radius:12px}.budget-progress-fill::-webkit-progress-value{border-radius:12px}.budget-progress-fill.status-ok::-webkit-progress-value{background-color:#4caf50}.budget-progress-fill.status-warning::-webkit-progress-value{background-color:#ff9800}.budget-progress-fill.status-danger::-webkit-progress-value{background-color:#dc3545}.budget-progress-fill::-moz-progress-bar{border-radius:12px}.budget-progress-fill.status-ok::-moz-progress-bar{background-color:#4caf50}.budget-progress-fill.status-warning::-moz-progress-bar{background-color:#ff9800}.budget-progress-fill.status-danger::-moz-progress-bar{background-color:#dc3545}.budget-progress-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:.85em;text-shadow:0 1px 2px rgba(0,0,0,.5)}.budget-remaining{color:var(--text);font-size:.95em;margin:10px 0}.budget-remaining strong{color:var(--primary)}.budget-period{color:var(--muted);font-size:.9em;margin:10px 0}.budget-actions{display:flex;gap:10px;margin-top:15px}.edit-btn,.delete-btn{flex:1;padding:8px;border:none;border-radius:6px;cursor:pointer;font-size:1.1em;transition:all .3s ease}.edit-btn:hover,.delete-btn:hover{opacity:.9;transform:translateY(-2px)}.edit-btn{background:var(--primary);color:#fff}.delete-btn{background:#dc3545;color:#fff}.budget-edit{display:flex;flex-direction:column;gap:10px}.budget-edit select,.budget-edit input{padding:8px;border:2px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.edit-actions{display:flex;gap:10px}.save-btn,.cancel-btn{flex:1;padding:10px;border:none;border-radius:6px;cursor:pointer;font-size:1.2em;font-weight:700}.save-btn{background:#4caf50;color:#fff}.cancel-btn{background:#6c757d;color:#fff}.export-buttons{display:flex;gap:15px;margin:20px 0;flex-wrap:wrap;justify-content:center}@media (max-width: 768px){.export-buttons{flex-direction:column}}.export-btn{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease;box-shadow:0 2px 8px var(--shadow)}.export-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}@media (max-width: 768px){.export-btn{width:100%}}.pdf-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.csv-btn{background:linear-gradient(135deg,#28a745,#218838);color:#fff}.import-csv-container{background:var(--surface);padding:20px;border-radius:10px;box-shadow:0 2px 8px var(--shadow);margin:20px 0;max-width:800px}.import-csv-container h3{margin-top:0;color:var(--text)}@media (max-width: 768px){.import-csv-container{padding:15px}}.file-input{display:none}.file-input-wrapper{margin:20px 0;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.file-input-label{padding:12px 24px;background:var(--primary);color:#fff;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;display:inline-block}.file-input-label:hover{opacity:.9;transform:translateY(-2px)}.file-name{color:var(--text);font-style:italic}.parsing-message{color:var(--muted);font-style:italic;margin:15px 0}.preview-container{margin:20px 0;padding:15px;background:var(--bg);border-radius:8px;border:2px solid var(--border)}.preview-container h4{margin-top:0;color:var(--text)}.preview-table{width:100%;border-collapse:collapse;background:var(--surface)}.preview-table-wrapper{overflow-x:auto;margin:15px 0}.preview-table th,.preview-table td{padding:10px;border:1px solid var(--border);text-align:left;color:var(--text)}.preview-table th{background:var(--hover);font-weight:700}@media (max-width: 768px){.preview-table{font-size:.85em}}.preview-note{color:var(--muted);font-size:.9em;font-style:italic;margin:10px 0}.import-btn{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease;margin-top:15px}.import-btn:hover:not(:disabled){background:#218838;transform:translateY(-2px)}.import-btn:disabled{opacity:.6;cursor:not-allowed}.csv-help{margin-top:20px;padding:15px;background:#2196f31a;border-left:4px solid #2196F3;border-radius:4px}.csv-help p{margin:0 0 10px;color:var(--text)}.csv-help ul{margin:0;padding-left:20px;color:var(--text)}.csv-help li{margin:5px 0}.user-profile-container{max-width:900px;margin:0 auto;padding:20px}.user-profile-container h1{color:var(--text);margin-bottom:30px}@media (max-width: 768px){.user-profile-container{padding:15px}}.profile-loading{text-align:center;padding:50px;color:var(--muted);font-size:1.2em}.profile-success{background:#28a7451a;border:2px solid #28a745;color:#28a745;padding:15px;border-radius:8px;margin-bottom:20px}.profile-error{background:#dc35451a;border:2px solid #dc3545;color:#dc3545;padding:15px;border-radius:8px;margin-bottom:20px}.profile-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid var(--border);flex-wrap:wrap}.profile-tabs button{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;color:var(--text);transition:all .3s}.profile-tabs button:hover{background:var(--hover)}.profile-tabs button.tab-active{border-bottom-color:var(--primary);font-weight:600;color:var(--primary)}@media (max-width: 768px){.profile-tabs button{padding:10px 15px;font-size:.9rem}}@media (max-width: 768px){.profile-tabs{gap:5px}}.profile-content{background:var(--surface);padding:30px;border-radius:10px;box-shadow:0 2px 8px var(--shadow)}@media (max-width: 768px){.profile-content{padding:20px}}.profile-section h2{margin-top:0;color:var(--text);margin-bottom:20px}.profile-form{margin-top:20px}.profile-form h3{color:var(--text);margin-bottom:15px}.profile-form input,.profile-form select{width:100%;padding:12px;margin-bottom:15px;border:2px solid var(--border);border-radius:8px;font-size:1rem;background:var(--bg);color:var(--text);transition:border-color .3s}.profile-form input:focus,.profile-form select:focus{outline:none;border-color:var(--primary)}.profile-form button{padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.profile-form button:hover{opacity:.9;transform:translateY(-2px)}.info-card{background:var(--bg);padding:20px;border-radius:8px;margin-bottom:30px;border:2px solid var(--border)}.info-card p{margin:10px 0;color:var(--text);font-size:1.05em}.info-card strong{color:var(--primary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text);font-weight:600}.form-group-checkbox{margin:20px 0}.form-group-checkbox label{display:flex;align-items:center;gap:10px;color:var(--text);cursor:pointer}.form-group-checkbox input[type=checkbox]{width:auto;cursor:pointer}.danger-zone{border:2px solid #dc3545;background:#dc35450d}.danger-warning{background:#dc35451a;border-left:4px solid #dc3545;padding:15px;margin:20px 0;color:var(--text);line-height:1.6}.btn-danger{background:#dc3545!important}.btn-danger:hover{background:#c82333!important}.dashboard-container{padding:20px;max-width:1400px;margin:0 auto}.dashboard-container h1{color:var(--text);margin-bottom:30px}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}@media (max-width: 768px){.dashboard-stats{grid-template-columns:1fr}}.stat-card{background:var(--surface);border-radius:12px;padding:25px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px var(--shadow);transition:transform .3s}.stat-card:hover{transform:translateY(-5px)}.stat-card.income .stat-value{color:#28a745}.stat-card.expense .stat-value{color:#dc3545}.stat-card.balance.positive .stat-value{color:#28a745}.stat-card.balance.negative .stat-value{color:#dc3545}.stat-card.savings .stat-value{color:#2196f3}.stat-icon{font-size:3em}.stat-content{flex:1}.stat-content h3{margin:0 0 10px;color:var(--muted);font-size:.9em;font-weight:600}.stat-value{font-size:1.8em;font-weight:700;margin:0 0 10px;color:var(--text)}.stat-link{color:var(--primary);text-decoration:none;font-size:.9em;font-weight:600}.stat-link:hover{text-decoration:underline}.dashboard-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;margin-bottom:40px}@media (max-width: 768px){.dashboard-widgets{grid-template-columns:1fr}}.widget{background:var(--surface);border-radius:12px;padding:20px;box-shadow:0 2px 8px var(--shadow)}.widget.alert{border:2px solid #ffc107}.widget h3{margin:0 0 15px;color:var(--text);font-size:1.1em}.widget-content{margin-bottom:15px}.widget-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.widget-item:last-child{border-bottom:none}.widget-item-name{color:var(--text);font-size:.95em}.widget-item-value{font-weight:600;color:var(--text)}.widget-item-value.income-value{color:#28a745}.widget-item-value.expense-value{color:#dc3545}.widget-item-badge{padding:4px 12px;border-radius:12px;font-size:.8em;font-weight:600}.widget-item-badge.warning{background:#ffc107;color:#000}.widget-item-badge.danger{background:#dc3545;color:#fff}.widget-link{color:var(--primary);text-decoration:none;font-size:.9em;font-weight:600;display:inline-block}.widget-link:hover{text-decoration:underline}.widget-empty{color:var(--muted);font-style:italic;text-align:center;padding:20px}.progress-mini{flex:1;height:6px;background:var(--border);border-radius:3px;margin:0 10px}.progress-bar-mini{width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress-bar-mini::-webkit-progress-bar{background:var(--border);border-radius:3px}.progress-bar-mini::-webkit-progress-value{background:linear-gradient(90deg,#28a745,#20c997);border-radius:3px}.progress-bar-mini::-moz-progress-bar{background:linear-gradient(90deg,#28a745,#20c997);border-radius:3px}.dashboard-shortcuts{background:var(--surface);border-radius:12px;padding:25px;box-shadow:0 2px 8px var(--shadow)}.dashboard-shortcuts h3{margin:0 0 20px;color:var(--text)}.shortcut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}@media (max-width: 768px){.shortcut-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.shortcut-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background:var(--bg);border:2px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);transition:all .3s}.shortcut-card:hover{border-color:var(--primary);background:var(--hover);transform:translateY(-3px)}.shortcut-card span:last-child{font-weight:600}.shortcut-icon{font-size:2.5em}.app-section{background:#f8f9fa;border-radius:18px;box-shadow:0 4px 24px #0000001a,0 1.5px 6px #0000000f;padding:32px 28px 28px;margin-bottom:32px;max-width:1200px;margin-left:auto;margin-right:auto;border:1.5px solid #ececec;transition:background .3s}.app-section-green{background:linear-gradient(135deg,#e8f5e9 60%,#d0f5e0);border-color:#b2dfdb}.app-section-blue{background:linear-gradient(135deg,#e3f2fd 60%,#bbdefb);border-color:#90caf9}.app-section-pink{background:linear-gradient(135deg,#fff6f6 60%,#ffeaea);border-color:#ffcdd2}.app-section-yellow{background:linear-gradient(135deg,#fffde7 60%,#fff9c4);border-color:#fff59d}.app-section-header{display:flex;align-items:center;margin-bottom:18px;gap:12px}.app-section-icon{font-size:2em;margin-right:8px}.app-section-title{font-size:1.5em;font-weight:700;color:#333;margin:0;flex:1}.app-section-actions{margin-left:auto}.app-section-content{margin-top:8px}.app-table-block{display:flex;flex-direction:column;min-height:400px;padding:32px 18px 24px;border-radius:10px;box-shadow:0 2px 8px #0000000a;border:1px solid #ececec}.app-table-block h3{border-bottom:1px solid #e0e0e0;padding-bottom:10px;margin-bottom:18px;font-size:1.15em;font-weight:600;color:#333}.app-table-income{background:linear-gradient(135deg,#e8f5e9 60%,#d0f5e0);box-shadow:0 2px 12px #4caf5014;border:1.5px solid #b2dfdb}.app-table-expense{background:linear-gradient(135deg,#fff6f6 60%,#ffeaea);box-shadow:0 2px 12px #ff6b6b14;border:1.5px solid #ffcdd2}.app-tables-group{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:32px 24px;max-width:1200px;margin:0 auto 32px}.app-tables-flex{display:flex;gap:32px;align-items:stretch}@media (max-width: 900px){.app-tables-flex{flex-direction:column;gap:16px;align-items:initial}}.app-table-block{background:#f8f9fa;border-radius:10px;box-shadow:0 2px 8px #0000000a;padding:18px 12px 14px;border:1px solid #ececec}.app-table-income{background:#e8f5e9;flex:0 1 380px}.app-table-expense{background:#ffeaea;flex:1 1 0}.app-content-container{min-height:100vh;background-color:#f5f5f5}.app-navbar{background:linear-gradient(135deg,#667eea,#764ba2);padding:15px 20px;box-shadow:0 2px 8px #0003;position:sticky;top:0;z-index:1000}.app-navbar-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}@media (max-width: 768px){.app-navbar-content{gap:10px}}.app-navbar-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}@media (max-width: 1024px){.app-navbar-links{gap:15px}}@media (max-width: 768px){.app-navbar-links{width:100%;gap:10px;font-size:.9em}}@media (max-width: 480px){.app-navbar-links{font-size:.8em}}.app-navbar-link{color:#fff;text-decoration:none;font-size:1.2em;transition:opacity .3s ease}.app-navbar-link:hover{opacity:.8;text-decoration:underline}@media (max-width: 1024px){.app-navbar-link{font-size:1em}}@media (max-width: 768px){.app-navbar-link{font-size:1em}}.app-navbar-user{display:flex;align-items:center;gap:15px;color:#fff}.app-navbar-user a{color:#fff;text-decoration:none;transition:opacity .3s ease}.app-navbar-user a:hover{opacity:.8;text-decoration:underline}@media (max-width: 480px){.app-navbar-user{flex-direction:column;gap:10px}}.app-logout-btn{background-color:#fff3;color:#fff;border:1px solid white;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:all .3s ease}.app-logout-btn:hover{background-color:#ffffff4d}.app-main-content{max-width:1400px;margin:0 auto;padding:20px}@media (max-width: 768px){.app-main-content{padding:15px}}@media (max-width: 480px){.app-main-content{padding:10px}}.app-section{background-color:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.app-section h2{color:#333;margin-bottom:20px;font-size:20px}@media (max-width: 480px){.app-section{padding:15px}}.app-form-container{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.app-reset-button{background-color:red;color:#fff;padding:10px;margin:10px;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s ease}.app-reset-button:hover{background-color:#8b0000}.app-cards-grid{display:flex;justify-content:space-around;flex-wrap:wrap;gap:20px;margin-bottom:20px}@media (max-width: 768px){.app-cards-grid{flex-direction:column}}.app-card{flex:1;min-width:300px;background-color:#f9f9f9;padding:15px;border-radius:6px;border:1px solid #e0e0e0}.app-card h3{color:#333;margin-bottom:15px;font-size:16px}@media (max-width: 1024px){.app-card{min-width:250px}}@media (max-width: 768px){.app-card{min-width:100%}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;animation:slideUp .4s ease-out}.cookie-consent-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;box-shadow:0 -4px 20px #0000004d;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;max-width:100%}@media (max-width: 768px){.cookie-consent-banner{flex-direction:column;text-align:center}}.cookie-content{display:flex;align-items:center;gap:15px;flex:1;min-width:300px}@media (max-width: 768px){.cookie-content{flex-direction:column;text-align:center}}.cookie-icon{font-size:3rem;animation:bounce 2s infinite}.cookie-text h3{margin:0 0 8px;font-size:1.3rem;font-weight:600}.cookie-text p{margin:0;font-size:.95rem;line-height:1.5;opacity:.95}.cookie-actions{display:flex;gap:12px;flex-shrink:0}.cookie-actions button{padding:12px 24px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.cookie-actions{width:100%;justify-content:center}.cookie-actions button{flex:1;max-width:150px}}.btn-decline{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5)}.btn-decline:hover{background:#ffffff4d;border-color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-accept{background:#fff;color:#667eea}.btn-accept:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.theme-toggle{position:fixed;top:20px;right:20px;width:50px;height:50px;border-radius:50%;border:none;background:var(--surface);box-shadow:0 4px 12px #00000026;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1000}.theme-toggle:hover{transform:scale(1.1) rotate(10deg);box-shadow:0 6px 16px #0003}.theme-toggle:active{transform:scale(.95)}.session-timeout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001}.session-timeout-modal{background:var(--surface);padding:30px;border-radius:12px;max-width:400px;text-align:center;box-shadow:0 10px 40px var(--shadow)}.session-timeout-modal h2{margin-bottom:15px;color:#ff9800}.session-timeout-modal p{margin-bottom:20px;color:var(--text)}.session-timeout-modal p.warning{margin-bottom:25px;color:var(--muted);font-size:.9em}.session-timeout-actions{display:flex;gap:10px;justify-content:center}.session-timeout-btn{padding:12px 24px;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.session-timeout-btn:hover{opacity:.9;transition:opacity .2s ease}.session-timeout-btn-primary{background:var(--primary)}.session-timeout-btn-secondary{background:#6c757d}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-container{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none}@media (max-width: 768px){.notification-container{right:10px;left:10px;max-width:none}}.notification{display:flex;align-items:center;gap:12px;background:var(--surface);padding:15px 20px;border-radius:8px;box-shadow:0 4px 20px var(--shadow);border-left:4px solid;animation:slideIn .3s ease-out;pointer-events:all;min-width:300px}@media (max-width: 768px){.notification{min-width:auto}}.notification-success{border-left-color:#4caf50;background:linear-gradient(135deg,var(--surface) 0%,rgba(76,175,80,.1) 100%)}.notification-warning{border-left-color:#ff9800;background:linear-gradient(135deg,var(--surface) 0%,rgba(255,152,0,.1) 100%)}.notification-error{border-left-color:#dc3545;background:linear-gradient(135deg,var(--surface) 0%,rgba(220,53,69,.1) 100%)}.notification-info{border-left-color:#2196f3;background:linear-gradient(135deg,var(--surface) 0%,rgba(33,150,243,.1) 100%)}.notification-icon{font-size:1.5em;flex-shrink:0}.notification-message{flex:1;color:var(--text);font-weight:500;line-height:1.4}.notification-close{background:none;border:none;color:var(--muted);font-size:1.5em;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease;flex-shrink:0}.notification-close:hover{background:var(--border);color:var(--text)}.password-reset-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.password-reset-card{background:var(--surface);padding:40px;border-radius:15px;box-shadow:0 10px 30px #0000004d;max-width:450px;width:100%}.password-reset-card h2{margin-top:0;color:var(--text);text-align:center;margin-bottom:10px}.password-reset-card>p{text-align:center;color:var(--muted);margin-bottom:25px}.password-reset-card form{display:flex;flex-direction:column;gap:15px}.password-reset-card input{padding:12px;border:2px solid var(--border);border-radius:8px;font-size:1rem;background:var(--bg);color:var(--text);transition:border-color .3s}.password-reset-card input:focus{outline:none;border-color:var(--primary)}.password-reset-card button{padding:12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.password-reset-card button:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.password-reset-card button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.password-reset-card{padding:25px}}.success-message{margin-top:20px;padding:15px;background:#28a7451a;border:2px solid #28a745;border-radius:8px;color:#28a745;text-align:center}.error-message{margin-top:20px;padding:15px;background:#dc35451a;border:2px solid #dc3545;border-radius:8px;color:#dc3545;text-align:center}.dev-token{margin-top:15px;padding:10px;background:#ffc1071a;border:2px solid #ffc107;border-radius:6px}.dev-token p{margin:0 0 10px;font-size:.9em;color:var(--text)}.dev-link{display:inline-block;padding:8px 16px;background:#ffc107;color:#000;text-decoration:none;border-radius:6px;font-weight:600;transition:opacity .3s}.dev-link:hover{opacity:.8}.back-to-login{margin-top:20px;text-align:center}.back-to-login a{color:var(--primary);text-decoration:none;font-weight:600;transition:opacity .3s}.back-to-login a:hover{opacity:.8}.navbar-multi-dropdowns{display:flex;align-items:center;gap:1.2rem}.navbar-multi-dropdown-wrapper{position:relative}.navbar-multi-dropdown-toggle{background:#fff;border:none;border-radius:5px;padding:.4rem 1.1rem .4rem .9rem;font-size:1rem;color:#333;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s,border .2s}.navbar-multi-dropdown-toggle:hover,.navbar-multi-dropdown-toggle:focus{background:#eaf1fb;border-color:#b3c6e7}.navbar-multi-dropdown-wrapper.open>.navbar-multi-dropdown-toggle{background:#eaf1fb;border-color:#b3c6e7}.navbar-multi-dropdown-wrapper .navbar-dropdown-menu{position:absolute;left:0;top:110%;min-width:180px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 16px #00000014;z-index:1001;display:flex;flex-direction:column;padding:.3rem 0}.multi-group{display:flex;flex-direction:column;gap:.2rem}.submenu-group{position:relative}.submenu-toggle{width:100%;background:none;border:none;text-align:left;font-size:1em;color:#2d6cdf;font-weight:600;padding:.5rem 1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .18s}.submenu-toggle:hover,.submenu-toggle:focus{background:#f0f6ff}.navbar-submenu{position:absolute;left:100%;top:0;min-width:180px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 16px #00000014;z-index:1002;display:flex;flex-direction:column;padding:.2rem 0}.submenu-group.open>.submenu-toggle{background:#eaf1fb}.navbar-dropdown-group{padding:.2rem 0;border-bottom:1px solid #f0f0f0}.navbar-dropdown-group:last-child{border-bottom:none}.navbar-dropdown-group-title{display:block;font-size:.92em;color:#888;font-weight:600;padding:.3rem 1.2rem .1rem;letter-spacing:.5px}.navbar-general{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e0e0e0;padding:.5rem 2rem;position:sticky;top:0;z-index:100}.navbar-logo{font-size:1.5rem;font-weight:700;color:#2d6cdf;text-decoration:none}.navbar-dropdown-wrapper{position:relative}.navbar-dropdown-toggle{background:#f7f7f7;border:1px solid #e0e0e0;border-radius:5px;padding:.4rem 1.1rem .4rem .9rem;font-size:1rem;color:#333;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s,border .2s}.navbar-dropdown-toggle:hover,.navbar-dropdown-toggle:focus{background:#eaf1fb;border-color:#b3c6e7}.navbar-dropdown-arrow{font-size:.8em;margin-left:.3em}.navbar-dropdown-menu{position:absolute;right:0;top:110%;min-width:170px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 16px #00000014;z-index:1001;display:flex;flex-direction:column;padding:.3rem 0}.navbar-dropdown-item{background:none;border:none;text-align:left;padding:.7rem 1.2rem;font-size:1rem;color:#333;cursor:pointer;transition:background .18s}.navbar-dropdown-item:hover,.navbar-dropdown-item:focus{background:#f0f6ff}.navbar-dropdown-item.logout{color:#e74c3c}.navbar-link{color:#333;text-decoration:none;font-size:1rem;transition:color .2s}.navbar-link:hover{color:#2d6cdf}.navbar-user{margin-right:1rem;color:#666;font-size:.95rem}.navbar-logout{background:#e74c3c;color:#fff;border:none;border-radius:3px;padding:.3rem .8rem;cursor:pointer;font-size:.95rem;transition:background .2s}.navbar-logout:hover{background:#c0392b}#root{margin:0 auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg);color:var(--text);transition:background-color .3s ease,color .3s ease}.App{text-align:center}form{background:var(--surface);margin:20px 0;padding:60px;border-radius:10px;box-shadow:0 2px 4px var(--shadow);width:45%;min-width:300px;transition:background-color .3s ease}input,select,button{margin:5px;padding:10px;font-size:16px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);transition:all .3s ease}button{background-color:#4caf50;color:#fff;cursor:pointer;transition:background-color .3s}button:hover{background-color:#45a049}button:disabled{opacity:.6;cursor:not-allowed}table{margin:20px auto;border-collapse:collapse;width:100%;background:var(--surface);border-radius:10px;overflow:hidden;box-shadow:0 2px 4px var(--shadow);transition:background-color .3s ease}th,td{border:1px solid var(--border);padding:12px;text-align:left}th{background-color:var(--hover);font-weight:700}tr:nth-child(2n){background-color:var(--hover)}tr:hover{background-color:var(--hover);opacity:.9}
