*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-attachment:fixed;color:#2d3748;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#f97316,#ea580c);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#c2410c,#9a3412)}.App{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-attachment:fixed;display:flex;flex-direction:column;min-height:100vh}.main-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1400px;padding:30px 20px;width:100%}@media (max-width:768px){.main-content{padding:15px 10px}.card{border-radius:8px;padding:15px}.card-title{font-size:1.2rem;margin-bottom:15px}.table td,.table th{font-size:.85rem;padding:10px 8px}}.card{border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f;margin-bottom:24px;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:0 8px 12px #0000001a,0 2px 6px #00000014;transform:translateY(-2px)}.card-title{color:#1a202c;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}.btn{border-radius:8px;box-shadow:0 2px 4px #0000001a;font-size:.95rem;font-weight:600;letter-spacing:.01em;padding:12px 24px;transition:all .3s ease}.btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#f97316,#ea580c)}.btn-primary:hover{background:linear-gradient(135deg,#c2410c,#9a3412)}.btn-success{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.btn-success:hover{background:linear-gradient(135deg,#0e7a72,#2dd469)}.btn-danger{background:linear-gradient(135deg,#eb3349,#f45c43)}.btn-danger:hover{background:linear-gradient(135deg,#d12a3e,#e04a2f)}.btn-secondary{background:linear-gradient(135deg,#868e96,#495057)}.btn-secondary:hover{background:linear-gradient(135deg,#727a82,#3d4247)}.btn-warning{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-warning:hover{background:linear-gradient(135deg,#e67ee8,#e34459)}.form-group{margin-bottom:20px}.form-label{color:#2d3748;font-size:.9rem;font-weight:600;margin-bottom:8px}.form-control{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:12px 16px;transition:all .2s ease}.form-control:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.form-control:hover{border-color:#cbd5e0}.table{background:#fff;border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 2px 4px #0000000d;overflow:hidden}.table td,.table th{border-bottom:1px solid #e2e8f0;padding:16px;text-align:left}.table th{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:.9rem;font-weight:700;letter-spacing:.5px;padding:18px 16px;text-transform:uppercase}.table tbody tr{transition:all .2s ease}.table tbody tr:hover{background-color:#f7fafc;box-shadow:0 2px 8px #0000000d;transform:scale(1.01)}.table tbody tr:last-child td{border-bottom:none}.grid{grid-gap:20px;display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid-5{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}table td{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}table td:nth-child(4),table td:nth-child(5){max-width:200px;white-space:normal}input[type=date]{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.95rem;padding:12px 16px;transition:all .2s ease}input[type=date]:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a;outline:none}input[type=date]:hover{border-color:#cbd5e0}select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23667eea' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.95rem;padding:12px 40px 12px 16px;transition:all .2s ease}select:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a;outline:none}select:hover{border-color:#cbd5e0}.mt-1{margin-top:10px}.mt-2{margin-top:20px}.mt-3{margin-top:30px}.mb-1{margin-bottom:10px}.mb-2{margin-bottom:20px}.mb-3{margin-bottom:30px}.loading{color:#f97316}.error,.loading{font-weight:600;padding:40px}.error{background:#fee2e2;border:2px solid #fecaca;border-radius:12px;color:#ef4444;font-size:1.1rem;text-align:center}.text-success{color:#10b981}.text-danger{color:#ef4444;font-weight:600}.text-primary{color:#f97316;font-weight:600}.text-warning{color:#f59e0b}.category-badge{border-radius:6px;box-shadow:0 2px 4px #0000001a;font-size:.75rem;max-width:150px;padding:6px 12px}.transactions-page{padding:20px 0}.page-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.badge{border-radius:8px;box-shadow:0 2px 4px #0000001a;font-size:.8rem;font-weight:600;letter-spacing:.3px;padding:6px 12px}.badge-receita{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.badge-despesa{background:linear-gradient(135deg,#eb3349,#f45c43);color:#fff}.transactions-page input[type=checkbox]{accent-color:#007bff!important;cursor:pointer!important;display:block!important;height:18px!important;margin:0 auto!important;opacity:1!important;visibility:visible!important;width:18px!important}.transactions-page tr[style*="background-color: rgb(231, 243, 255)"]{transition:background-color .2s}.transactions-page table td:first-child,.transactions-page table th:first-child{max-width:50px!important;min-width:50px!important;padding:10px!important;text-align:center!important;width:50px!important}.transactions-page table td{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:15px;margin-bottom:20px}.page-title{font-size:1.8rem;text-align:center}.page-header .btn,.page-header a.btn{text-align:center;width:100%}.filters.card>div{align-items:stretch!important;flex-direction:column}.transactions-page .form-group{width:100%}.transactions-page .form-group div[style*="display: flex"]{align-items:stretch!important;flex-direction:column}.transactions-page .form-group button{margin-top:5px;width:100%}.summary{align-items:flex-start;flex-direction:column;gap:5px}.action-buttons{flex-direction:column;width:100%}.btn-sm{margin-bottom:5px;margin-left:0!important;width:100%}}.dashboard{padding:0;width:100%}.dashboard>*{width:100%}.page-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f97316,#ea580c);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:2.5rem;font-weight:800;letter-spacing:-.03em}.summary-card{border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f;padding:24px;transition:all .3s ease}.summary-card:hover{box-shadow:0 12px 24px #0000001f,0 4px 8px #00000014;transform:translateY(-4px)}.summary-card h3{color:#718096;font-size:.85rem;font-weight:700;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.summary-card .amount{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0}.summary-card .amount.positive{color:#10b981;text-shadow:0 2px 4px #10b98133}.summary-card .amount.negative{color:#ef4444;text-shadow:0 2px 4px #ef444433}.highlight-card{background:linear-gradient(135deg,#f97316,#ea580c);border:2px solid #f97316;color:#fff}.highlight-card h3{color:#fff;font-size:.75rem;margin-bottom:3px}.highlight-card .subtitle{color:#ffffffe6;font-size:.65rem;font-weight:400;margin-bottom:8px}.highlight-card .amount.large{color:#fff;font-size:1.3rem;font-weight:600}.highlight-card .amount.large.positive{color:#90ee90}.highlight-card .amount.large.negative{color:#ff6b6b}.bank-balances{display:flex;flex-direction:column;gap:15px}.bank-balance-item{align-items:center;background:linear-gradient(135deg,#fff,#f7fafc);border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;padding:18px 20px;transition:all .3s ease}.bank-balance-item:hover{border-color:#cbd5e0;box-shadow:0 4px 8px #0000001a;transform:translateX(4px)}.bank-name{color:#2d3748;font-size:1rem;font-weight:600}.bank-amount{font-size:1.3rem;font-weight:700;letter-spacing:-.01em}.bank-amount.positive{color:#10b981}.bank-amount.negative{color:#ef4444}.bank-balance-total{background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:12px;box-shadow:0 8px 16px #667eea4d;color:#fff;font-weight:700;margin-top:15px;padding:24px 20px}.bank-balance-total .bank-name{color:#fffffff2;font-size:1.1rem;font-weight:700}.bank-balance-total .bank-amount{color:#fff;font-size:1.6rem;font-weight:800;text-shadow:0 2px 4px #0003}.bank-balance-total{display:block!important}.bank-balance-total-inner{align-items:center;display:flex;gap:20px;justify-content:space-between;width:100%}.bank-balance-investment{background:linear-gradient(135deg,#4c1d95,#6b21a8);border:2px solid #7c3aed;color:#fff;margin-top:15px}.bank-balance-investment .bank-name{color:#fffffff2;font-weight:700}.bank-balance-investment .bank-amount{color:#fff;font-weight:800;text-shadow:0 2px 4px #0003}.error,.loading{font-size:1.2rem;padding:40px;text-align:center}.error{color:#dc3545}.filters-section{margin-bottom:24px}.filters-container{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{color:#2d3748;font-size:.9rem;font-weight:600}.filter-group input[type=date]{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;min-width:180px;padding:12px 16px;transition:all .2s ease}.filter-group input[type=date]:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a;outline:none}.search-button{font-weight:600;height:-webkit-fit-content;height:fit-content;padding:12px 32px}.transactions-section{margin-bottom:24px}.transactions-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.transactions-header h2{color:#1a202c;font-size:1.5rem;font-weight:700;margin:0}.summary-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.summary-card small{color:#718096;display:block;font-size:.75rem;line-height:1.4;margin-top:8px}.placeholder-message{color:#718096;font-size:1rem;line-height:1.6;padding:3rem;text-align:center}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;font-weight:600;margin-top:15px;padding:12px 16px}.dashboard .card,.dashboard .grid{margin-bottom:24px}.alert{border-radius:8px;font-size:.9rem;padding:12px 16px}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.transactions-section .table{margin-top:20px}.transactions-section .table-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;overflow-x:auto}.card-header{align-items:center;display:flex;justify-content:space-between;padding-bottom:15px}.card-header,.filters-section h2{border-bottom:2px solid #e2e8f0;margin-bottom:20px}.filters-section h2{color:#2d3748;font-size:1.25rem;font-weight:700;padding-bottom:10px}.dashboard h1.page-title{border-bottom:3px solid #e2e8f0;margin-bottom:30px;padding-bottom:15px}@media (max-width:768px){.dashboard{padding:0}.filters-container{align-items:stretch;flex-direction:column;gap:15px}.filter-group{width:100%}.filter-group input[type=date]{min-width:0;width:100%}.btn-info,.search-button{margin-left:0!important;margin-top:5px;width:100%}.transactions-header{align-items:stretch;flex-direction:column;gap:15px}.transactions-header h2{font-size:1.2rem}.transactions-header .btn{width:100%}.summary-grid{gap:15px;grid-template-columns:1fr}.summary-card{padding:15px}.summary-card .amount{font-size:1.5rem}.page-title{font-size:1.8rem!important;margin-bottom:20px}.bank-balance-item{padding:12px 15px}.bank-amount{font-size:1.1rem}.bank-balance-total .bank-amount{font-size:1.3rem}.grid-2{grid-template-columns:1fr}}.transaction-form-page{padding:20px 0}.form-actions{gap:10px;margin-top:30px}.categories-page{padding:20px 0}.badge-category{background-color:#e9ecef;border-radius:4px;color:#495057;font-size:.85rem;padding:4px 8px}.color-indicator{border:1px solid #ddd;border-radius:4px;display:inline-block;height:30px;width:30px}.banks-page{padding:20px 0}.bank-transactions-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{margin-bottom:2rem}.page-title{font-weight:600;margin:0}.filters-card{grid-gap:1rem;border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.filters-card,.summary-card{background:#fff;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.summary-card h3{color:#333;font-size:1.5rem;margin-bottom:1rem;margin-top:0}.period-label{color:#666;font-size:.95rem;margin-bottom:1rem}.summary-grid{grid-gap:1rem;background:#f8f9fa;border-radius:4px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1rem}.summary-grid>div{font-size:1rem;padding:.5rem}.table-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.table-responsive{overflow-x:auto;overflow-y:visible}.table{margin:0}.table th,.table thead{background:#f8f9fa}.table th{color:#333;padding:1rem}.table td{word-wrap:break-word;overflow-wrap:break-word;padding:.75rem 1rem;word-break:break-word}.table td:nth-child(4){max-width:200px;white-space:normal}.table tbody tr:hover,.table-footer{background:#f8f9fa}.table-footer{font-weight:600}.table-footer td{border-top:2px solid #dee2e6;padding:1rem}.badge{border-radius:4px;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .5rem}.badge-receita{background:#d4edda;color:#155724}.badge-despesa{background:#f8d7da;color:#721c24}.text-danger{color:#dc3545}.text-right{text-align:right}.text-center{text-align:center}.action-buttons{gap:.5rem}.btn{font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-sm{padding:.25rem .5rem}.btn-danger:hover{background:#c82333}.form-group{margin-bottom:1rem}.form-label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-control{border:1px solid #ced4da;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.form-control:focus{border-color:#80bdff}.loading{color:#666;font-size:1.1rem;padding:2rem;text-align:center}.card{padding:1.5rem}@media (max-width:768px){.bank-transactions-page{padding:1rem}.filters-card,.summary-grid{grid-template-columns:1fr}.table-responsive{font-size:.875rem}.table td,.table th{padding:.5rem}}.ai-search-page{padding:20px 0}.search-description{color:#666;font-size:1.1rem;margin-bottom:20px}.search-form{margin-bottom:30px}.search-input-group{display:flex;gap:10px}.search-input{flex:1 1;font-size:1.1rem;padding:15px}.example-queries{border-top:1px solid #ddd;margin-top:30px;padding-top:30px}.example-queries h3{color:#333;margin-bottom:15px}.example-queries ul{list-style:none;padding:0}.example-queries li{margin-bottom:10px}.example-query-btn{background:none;border:1px solid #ddd;border-radius:4px;color:#007bff;cursor:pointer;padding:10px 15px;text-align:left;transition:background-color .3s;width:100%}.example-query-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#007bff}.example-query-btn:disabled{cursor:not-allowed;opacity:.6}.result-card{margin-top:20px}.result-title{color:#333;margin-bottom:20px}.result-query{background-color:#f8f9fa;margin-bottom:15px}.result-answer,.result-query{border-radius:4px;padding:15px}.result-answer{background-color:#e7f3ff;border-left:4px solid #007bff}.result-answer p{margin:10px 0 0}.result-answer>div.answer-content{margin-top:10px}.result-answer ul{list-style-type:disc;margin:15px 0;padding-left:30px}.result-answer li{line-height:1.8;margin:8px 0;padding:5px 0}.result-answer h3{color:#007bff;font-size:1.2rem;font-weight:700;margin:15px 0 10px}.result-answer h4{color:#495057;font-size:1.1rem;font-weight:700;margin:15px 0 10px}.result-answer p{line-height:1.6;margin:8px 0}.result-answer strong{font-weight:600}.search-history{display:flex;flex-direction:column;gap:15px}.history-item{background-color:#f8f9fa;border-left:3px solid #007bff;border-radius:4px;padding:15px}.history-query{color:#333;margin-bottom:10px}.history-answer{color:#666;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.history-answer span{display:block}.progress-container{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-top:20px;padding:15px}.progress-bar-wrapper{background-color:#e9ecef;border-radius:12px;height:25px;margin-bottom:10px;overflow:hidden;position:relative;width:100%}.progress-bar{animation:progress-animation 2s ease-in-out infinite;background:linear-gradient(90deg,#007bff,#0056b3 50%,#007bff);background-size:200% 100%;border-radius:12px;height:100%;transition:width .3s ease}@keyframes progress-animation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.progress-message{color:#495057;font-size:.95rem;font-weight:500;min-height:20px;text-align:center}.backup-page{margin:0 auto;max-width:1200px;padding:20px}.page-title{color:#2c3e50;font-size:2rem;margin-bottom:30px}.backup-container{display:flex;flex-direction:column;gap:20px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.card h2{color:#2c3e50;font-size:1.5rem;margin-bottom:15px}.description{color:#666;line-height:1.6;margin-bottom:20px}.description.warning{background:#f8d7da;border-left:4px solid #d9534f;border-radius:4px;color:#d9534f;padding:15px}.alert{border-radius:4px;margin-bottom:20px;padding:15px 20px;position:relative}.alert-success{background:#d4edda;border:2px solid #28a745;box-shadow:0 4px 8px #28a7454d;color:#155724;font-size:1.1rem;font-weight:600;padding:20px}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.close-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:24px;opacity:.7;position:absolute;right:15px;top:10px}.close-btn:hover{opacity:1}.file-upload{margin-bottom:15px}.file-label{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:4px;color:#495057;cursor:pointer;display:block;margin-bottom:10px;padding:12px;text-align:center}.file-label:hover{background:#e9ecef;border-color:#adb5bd}.file-info{background:#e7f3ff;border-left:4px solid #2196f3;border-radius:4px;margin-bottom:15px;padding:12px}.file-info p{color:#1976d2;margin:5px 0}.backups-table{overflow-x:auto}.backups-table table{border-collapse:collapse;width:100%}.backups-table td,.backups-table th{border-bottom:1px solid #dee2e6;padding:12px;text-align:left}.backups-table th{color:#495057;font-weight:600}.backups-table th,.backups-table tr:hover{background:#f8f9fa}.no-backups{color:#6c757d;font-style:italic;padding:40px;text-align:center}.btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:10px 20px;transition:all .3s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.btn-sm{font-size:.875rem;padding:6px 12px}.credit-cards-page{padding:20px}.brand-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.brand-visa{background-color:#1a1f71;color:#fff}.brand-mastercard{background-color:#eb001b;color:#fff}.brand-elo{background-color:#ffcb05;color:#000}.brand-amex{background-color:#006fcf;color:#fff}.brand-hipercard{background-color:#d52b1e;color:#fff}.brand-diners{background-color:#0079be;color:#fff}.brand-discover{background-color:#ff6000;color:#fff}.brand-jcb{background-color:#003e7e;color:#fff}.brand-aura{background-color:#ff6b00;color:#fff}.brand-outro{background-color:#6c757d;color:#fff}.text-warning{color:#ffc107;font-weight:600}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:15px;margin-bottom:20px}.page-title{font-size:1.8rem;text-align:center}.page-header .btn{width:100%}.action-buttons{flex-direction:column;gap:5px}.btn-sm{width:100%}}.credit-card-transactions-page{padding:20px}.error-input{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.filters{margin-bottom:20px}.summary{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-top:15px;padding-top:15px}.table-container{overflow-y:visible}.action-buttons{align-items:center;display:flex;flex-wrap:nowrap;gap:5px}.btn-sm{font-size:.75rem;min-width:-webkit-fit-content;min-width:fit-content;padding:4px 8px;white-space:nowrap}.table td:last-child{min-width:180px}.cash-flow-page{padding:20px}.form-text{color:#6c757d;display:block;font-size:12px;margin-top:5px}.checkbox-group{margin-top:8px}.checkbox-label{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:18px;margin-right:8px;width:18px}.checkbox-label span{color:#333;font-size:14px}.quick-actions{display:flex;flex-wrap:wrap;gap:8px}.quick-actions .btn-sm{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.quick-actions .btn-sm:hover{background-color:#e9ecef;border-color:#adb5bd}.form-control:invalid{border-color:#dc3545}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.date-input{background-color:#fff;border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;color:#495057;font-size:14px;line-height:1.5;padding:8px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;height:20px;opacity:1;width:20px}.date-input::-webkit-inner-spin-button,.date-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.date-input[type=date]{position:relative}.date-input[type=date]::-webkit-datetime-edit,.date-input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.date-input[type=date]::-webkit-datetime-edit-text{color:#495057;padding:0 4px}.date-input[type=date]::-webkit-datetime-edit-day-field,.date-input[type=date]::-webkit-datetime-edit-month-field,.date-input[type=date]::-webkit-datetime-edit-year-field{color:#495057;padding:0 2px}.date-input[type=date]::-webkit-datetime-edit-day-field:focus,.date-input[type=date]::-webkit-datetime-edit-month-field:focus,.date-input[type=date]::-webkit-datetime-edit-year-field:focus{background-color:#e7f3ff;color:#000;outline:none}.date-input[type=date]::-webkit-datetime-edit,.date-input[type=date]::-webkit-datetime-edit-fields-wrapper{-webkit-user-select:text;user-select:text}.date-input[type=date]::-webkit-datetime-edit-day-field,.date-input[type=date]::-webkit-datetime-edit-month-field,.date-input[type=date]::-webkit-datetime-edit-text,.date-input[type=date]::-webkit-datetime-edit-year-field{min-width:1ch;padding:0 2px;-webkit-user-select:text;user-select:text}.summary-info{background-color:#f8f9fa;border-radius:4px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-around;margin-top:20px;padding:15px}.summary-info>div{display:flex;flex-direction:column;gap:5px}.table-container{max-height:600px;overflow-x:auto;overflow-y:auto}.table{border-collapse:collapse;width:100%}.table thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.table th,.table thead{background-color:#f8f9fa}.table th{border-bottom:2px solid #dee2e6;font-weight:600;padding:12px;text-align:left}.table td{border-bottom:1px solid #dee2e6;padding:12px}.table tbody tr:hover{background-color:#f8f9fa}.table tbody tr.has-transactions{background-color:#fff3cd;font-weight:600}.transactions-detail{background-color:#f8f9fa;padding:0!important}.nested-table{border-collapse:collapse;margin:0;width:100%}.nested-table th{background-color:#e9ecef;font-size:12px;font-weight:600;padding:8px 12px}.nested-table td{border-bottom:1px solid #dee2e6;font-size:13px;padding:8px 12px}.source-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px}.source-bank{background-color:#007bff;color:#fff}.source-credit_card{background-color:#ffc107;color:#000}.category-badge{border-radius:4px;color:#fff;display:inline-block;font-size:12px;font-weight:600;max-width:200px;padding:4px 8px;white-space:normal}.cash-flow-page .table td,.category-badge{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.cash-flow-page .nested-table td:nth-child(4){max-width:200px;white-space:normal}.text-success{color:#28a745;font-weight:600}@media (max-width:768px){.cash-flow-page{padding:10px}.summary-info{align-items:stretch;flex-direction:column;gap:15px}.summary-info>div{border-bottom:1px solid #dee2e6;padding-bottom:10px}.summary-info>div:last-child{border-bottom:none}.quick-actions{justify-content:center}.quick-actions button{flex:1 1;min-width:120px}}.future-balance-page{margin:0 auto;max-width:1400px;padding:20px}.page-title{color:#333;font-size:28px;font-weight:700;margin-bottom:10px}.page-subtitle{color:#666;font-size:14px;margin-bottom:20px}.filters-section{background:#f8f9fa;border-radius:5px;padding:15px}.summary-card{border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:20px}.banks-section{margin-top:20px}@media (max-width:768px){.future-balance-page{padding:10px}.page-title{font-size:22px}}.guide-page{margin:0 auto;max-width:1000px;padding:20px}.guide-page .page-header{border-bottom:2px solid #eee;margin-bottom:30px;padding-bottom:15px}.guide-page .page-subtitle{color:#666;font-size:1.1rem}.guide-content{display:flex;flex-direction:column;gap:30px}.guide-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.guide-section h2{align-items:center;border-bottom:1px solid #f0f0f0;color:#2c3e50;display:flex;gap:10px;margin-bottom:15px;margin-top:0;padding-bottom:10px}.guide-section p{color:#444;line-height:1.6}.guide-section ol,.guide-section ul{padding-left:20px}.guide-section li{color:#555;line-height:1.5;margin-bottom:10px}.guide-section strong{color:#2c3e50}@media (max-width:768px){.guide-page{padding:10px}.guide-section{padding:15px}}.user-info-bar{align-items:center;background:linear-gradient(135deg,#ea580c,#c2410c);border-bottom:1px solid #ffffff1a;box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;min-height:32px;padding:8px 0;width:100%}.user-info-container{align-items:center;display:flex;font-size:.85rem;gap:8px;justify-content:center;margin:0 auto;max-width:1400px;padding:0 20px}.user-info-label{font-weight:500;letter-spacing:.02em;opacity:.9}.user-info-name{font-size:.9rem;font-weight:700;letter-spacing:.01em;text-transform:capitalize}.navigation{background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 4px 12px #00000026;color:#fff;padding:0;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:1000}.nav-container{height:70px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 20px;width:100%}.nav-container,.nav-logo{align-items:center;display:flex}.nav-logo{color:#fff;flex-shrink:0;text-decoration:none}.nav-logo-text{display:flex;flex-direction:column;line-height:1}.nav-version-env{align-items:center;display:flex;gap:6px;margin-top:2px}.nav-version-badge{color:#ffffffd9;font-size:.7rem;font-weight:600;letter-spacing:.02em}.nav-env-badge{color:#ffffffe6;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.nav-logo h1{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0;text-shadow:0 2px 4px #0003}.menu-toggle{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:25px;justify-content:space-around;padding:0;width:30px;z-index:1001}.menu-toggle span{background:#fff;border-radius:10px;height:3px;transition:all .3s linear;width:30px}.nav-menu{gap:2px;list-style:none;margin:0;padding:0}.nav-menu,.nav-menu a{align-items:center;display:flex}.nav-menu a{color:#ffffffe6;font-size:.9rem;font-weight:500;height:70px;padding:0 10px;position:relative;text-decoration:none;transition:all .3s ease;white-space:nowrap}.nav-menu a:hover{background:#ffffff1a;color:#fff}.nav-menu a.active{background:#ffffff26;color:#fff;font-weight:700}.nav-menu a.active:after{background:#fff;bottom:0;content:"";height:3px;left:0;position:absolute;width:100%}.nav-user.desktop-only{align-items:center;display:flex;flex-shrink:0;gap:15px}.nav-item-mobile-only{display:none}.nav-user a{color:#fff;font-size:.9rem;opacity:.8;text-decoration:none;white-space:nowrap}.nav-logout-btn{background:#fff3;border:1px solid #fff6;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:6px 12px;transition:all .2s ease}@media (max-width:1200px){.nav-menu a{font-size:.8rem;padding:0 6px}}@media (max-width:480px){.user-info-container{flex-direction:column;gap:4px;padding:6px 15px}.user-info-label{font-size:.7rem}.user-info-name{font-size:.8rem}}@media (max-width:1024px){.user-info-container{font-size:.8rem;gap:6px;padding:0 15px}.user-info-label{font-size:.75rem}.user-info-name{font-size:.85rem}.menu-toggle{display:flex}.nav-user.desktop-only{display:none}.nav-menu{-webkit-overflow-scrolling:touch;align-items:stretch;background:#ea580c;box-shadow:-4px 0 10px #0000001a;flex-direction:column;height:calc(100dvh - 102px);max-height:calc(100vh - 102px);overflow-y:auto;padding:20px 0 calc(20px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;top:102px;transform:translateX(100%);transition:transform .3s ease;width:280px;z-index:1000}.nav-menu.open{transform:translateX(0)}.nav-menu a{border-bottom:1px solid #ffffff0d;font-size:1rem;height:50px;padding:0 25px;width:100%}.nav-menu a.active:after{bottom:0;height:100%;left:0;width:4px}.nav-item-mobile-only{background:#0000001a;display:block;margin-top:auto;padding:20px}.nav-user-links,.nav-user-mobile{display:flex;flex-direction:column;gap:10px}.nav-user-links .nav-logout-btn{width:100%}}.admin-page{margin:0 auto;max-width:1100px}.admin-grid{margin-top:16px}.admin-card{margin-bottom:16px}.admin-card-title{color:#1a202c;font-size:1.2rem;font-weight:800;margin-bottom:6px}.admin-card-subtitle{color:#4b5563;margin-bottom:12px}.admin-card-actions{align-items:center;display:flex;gap:10px}.admin-topbar{display:flex;gap:10px;justify-content:flex-end}.admin-error{margin-top:10px}.admin-table-wrapper{margin-top:15px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #00000014;font-size:14px;padding:10px}.admin-table th{color:#4b5563;font-weight:700;text-align:left}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.btn.btn-small{padding:6px 10px}.btn.btn-danger{background:#ef4444;color:#fff}@media (max-width:768px){.admin-topbar{justify-content:stretch}.admin-actions,.admin-topbar .btn{width:100%}.admin-actions .btn{flex:1 1;min-width:130px}}.auth-container{align-items:center;background:linear-gradient(135deg,#f97316,#ea580c);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-logo{font-size:2.5rem;margin:0 0 10px}.auth-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 8px}.auth-header p{color:#666;font-size:.95rem;margin:0}.auth-error{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.auth-error,.auth-success{font-size:.9rem;margin-bottom:20px;padding:12px 16px}.auth-success{background:#dcfce7;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a}.auth-form{gap:20px}.auth-form,.auth-form .form-group{display:flex;flex-direction:column}.auth-form .form-group{gap:6px}.auth-form .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.auth-form label{color:#374151;font-size:.9rem;font-weight:500}.auth-form input{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:12px 16px;transition:all .2s ease}.auth-form input:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a;outline:none}.auth-form input::placeholder{color:#9ca3af}.password-field-inner{position:relative}.password-field-inner input{box-sizing:border-box;padding-right:44px;width:100%}.auth-form .password-field-inner .password-visibility-toggle{align-items:center;background:#0000;border:none;border-radius:8px;box-sizing:border-box;color:#4b5563;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;line-height:0;margin-top:0!important;min-height:44px;min-width:44px!important;padding:0;position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px!important;z-index:2}.auth-form .password-field-inner .password-visibility-toggle:hover{background:#f9731614;color:#ea580c}.auth-form .password-field-inner .password-visibility-toggle:focus-visible{outline:2px solid #f97316;outline-offset:2px}.form-actions{display:flex;justify-content:flex-end}.forgot-password-link{color:#f97316;font-size:.9rem;text-decoration:none;transition:color .2s ease}.forgot-password-link:hover{color:#ea580c;text-decoration:underline}.auth-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;justify-content:center;padding:14px 20px;transition:all .2s ease}.auth-button.primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.auth-button.primary:hover:not(:disabled){box-shadow:0 4px 12px #f9731666;transform:translateY(-2px)}.auth-button.primary:disabled{cursor:not-allowed;opacity:.7}.auth-button.google{background:#fff;border:1px solid #d1d5db;color:#333}.auth-button.google:hover{background:#f9fafb;border-color:#9ca3af}.auth-button.google svg{flex-shrink:0}.auth-divider{align-items:center;display:flex;margin:24px 0}.auth-divider:after,.auth-divider:before{background:#e5e7eb;content:"";flex:1 1;height:1px}.auth-divider span{color:#9ca3af;font-size:.9rem;padding:0 16px}.auth-footer{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:#666;font-size:.95rem;margin:0}.auth-footer a{color:#f97316;font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.demo-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:8px;display:flex;gap:10px;margin-bottom:20px;padding:12px 16px}.demo-banner-icon{font-size:1.5rem}.demo-banner-text{flex:1 1}.demo-banner-text strong{color:#92400e;display:block;font-size:.9rem}.demo-banner-text span{color:#a16207;font-size:.85rem}@media (max-width:480px){.auth-card{padding:30px 20px}.auth-form .form-row{grid-template-columns:1fr}.auth-logo{font-size:2rem}.auth-header h2{font-size:1.3rem}}