*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(59%) sepia(13%) saturate(1264%) hue-rotate(359deg) brightness(92%) contrast(87%);opacity:.8;-webkit-transition:all .3s;transition:all .3s}input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1;transform:scale(1.1)}::-webkit-datetime-edit-text{color:#10243c;color:var(--primary-color);padding:0 2px}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{color:#10243c;color:var(--primary-color);font-weight:500}::-webkit-datetime-edit-day-field:focus,::-webkit-datetime-edit-month-field:focus,::-webkit-datetime-edit-year-field:focus{background-color:#e3a86433;color:#10243c;color:var(--primary-color);outline:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#10243c;--secondary-color:#e3a864;--text-light:#fff;--text-muted:#ffffffb3;--bg-light:#f5f5f5;--bg-white:#fff;--border-color:#e0e0e0;--success-color:#4caf50;--error-color:#f44336;--income-color:#4caf50;--expense-color:#f44336}.login-container{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,var(--primary-color) 0,#1a3550 50%,var(--primary-color) 100%);background-size:200% 200%;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.login-background-shapes{height:100%;overflow:hidden;position:absolute;width:100%;z-index:0}.shape{animation:float 20s ease-in-out infinite;background:#e3a8641a;border-radius:50%;position:absolute}.shape-1{animation-delay:0s;height:300px;left:-100px;top:-150px;width:300px}.shape-2{animation-delay:5s;bottom:-100px;height:200px;right:-50px;width:200px}.shape-3{animation-delay:10s;height:150px;right:10%;top:50%;width:150px}@keyframes float{0%,to{opacity:.3;transform:translate(0) scale(1)}50%{opacity:.5;transform:translate(30px,30px) scale(1.1)}}.login-card{animation:slideUp .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:24px;box-shadow:0 20px 60px #0000004d,0 0 1px #0000001a;max-width:480px;width:100%;z-index:1}.login-card,.login-header{overflow:hidden;position:relative}.login-header{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,#0d1a2b 100%);color:var(--text-light);display:flex;flex-direction:column;gap:12px;padding:48px 20px 36px;text-align:center}.login-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23e3a864' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0}.logo-container{margin-bottom:8px}.login-logo,.logo-container{background:#0000;position:relative}.login-logo{animation:logoFloat 4s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3));height:140px;object-fit:contain;width:140px;z-index:1}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.login-header h1{color:var(--secondary-color);font-size:36px;font-weight:700;letter-spacing:-.5px;text-shadow:0 2px 4px #0003}.login-header h1,.login-header p{margin:0;position:relative;z-index:1}.login-header p{color:var(--text-muted);font-size:15px;font-weight:400}.login-tabs{background:#f8f9fa;padding:8px}.login-tabs,.tab{display:flex;gap:8px}.tab{align-items:center;border:none;border-radius:12px;flex:1 1;font-size:15px;justify-content:center;padding:14px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-icon{height:20px;transition:all .3s;width:20px}.tab:hover:not(.active){background:#10243c0d;color:var(--primary-color)}.tab.active{background:var(--bg-white);box-shadow:0 4px 12px #10243c1a,0 0 0 2px var(--secondary-color);color:var(--primary-color);transform:translateY(-2px)}.tab.active .tab-icon{color:var(--secondary-color)}.login-form{padding:36px 32px 32px}.form-group{animation:fadeIn .5s ease-out;margin-bottom:24px}.form-group label{align-items:center;display:inline-flex;gap:8px;letter-spacing:.3px;margin-bottom:10px}.label-icon{color:var(--secondary-color);flex-shrink:0;height:18px;vertical-align:middle;width:18px}.input-wrapper{position:relative}.input-wrapper input{background:var(--bg-white);border:2px solid var(--border-color);border-radius:12px;font-size:15px;padding:14px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.input-wrapper input:focus{border-color:var(--secondary-color);box-shadow:0 0 0 4px #e3a8641a;outline:none;transform:translateY(-2px)}.input-wrapper input::placeholder{color:#aaa}.password-wrapper{position:relative}.password-wrapper input{padding-right:48px}.password-toggle{align-items:center;background:none;border:none;border-radius:8px;color:#999;cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .3s}.password-toggle:hover{background:#e3a8641a;color:var(--secondary-color)}.password-toggle svg{height:20px;width:20px}.error-message{align-items:flex-start;animation:shake .5s;background:linear-gradient(135deg,#ffebee,#ffcdd2);border-left:4px solid var(--error-color);border-radius:12px;display:flex;gap:12px;margin-bottom:24px;padding:14px 16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.error-icon{flex-shrink:0;height:20px;margin-top:2px;width:20px}.submit-button{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,#0d1a2b 100%);border:none;border-radius:12px;box-shadow:0 4px 16px #10243c4d;color:var(--text-light);cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:12px;justify-content:center;letter-spacing:.5px;overflow:hidden;padding:16px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.submit-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.submit-button:hover:not(:disabled):before{left:100%}.submit-button:hover:not(:disabled){box-shadow:0 8px 24px #10243c66;transform:translateY(-3px)}.submit-button:active:not(:disabled){box-shadow:0 4px 12px #10243c4d;transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.button-icon{height:20px;transition:transform .3s;width:20px}.submit-button:hover:not(:disabled) .button-icon{transform:translateX(4px)}.login-footer{background:#f8f9fa;border-top:1px solid var(--border-color);padding:24px 32px 32px;text-align:center}.login-footer p{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:14px;gap:8px;justify-content:center;margin:0}.footer-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px;transition:all .3s}.footer-link:hover{color:var(--secondary-color);text-decoration:none}@media (max-width:600px){.login-container{padding:12px}.login-card{border-radius:20px;max-width:100%}.login-header{padding:36px 16px 28px}.login-logo{height:120px;width:120px}.login-header h1{font-size:28px}.login-header p{font-size:13px}.login-form{padding:28px 20px 24px}.login-footer{padding:20px}.tab{font-size:14px;padding:12px 16px}.tab-icon{height:18px;width:18px}}@media (prefers-reduced-motion:no-preference){.login-card{animation:slideUp .6s ease-out}.form-group{animation:fadeIn .5s ease-out}}.monthpicker-wrapper{margin-bottom:20px}.form-row .monthpicker-wrapper{margin-bottom:0}.monthpicker-label{color:var(--primary-color);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.monthpicker-container{align-items:center;background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:12px;min-height:48px;min-width:0;overflow:hidden;padding:12px;position:relative;transition:all .3s}.monthpicker-container:hover{border-color:var(--secondary-color)}.monthpicker-container:focus-within{border-color:var(--secondary-color);box-shadow:0 0 0 3px #e3a8641a}.monthpicker-container.error{background-color:#f443360d}.monthpicker-container.error,.monthpicker-container.error:hover{border-color:var(--error-color)}.monthpicker-container.error:focus-within{border-color:var(--error-color);box-shadow:0 0 0 3px #f443361a}.monthpicker-icon{align-items:center;color:var(--secondary-color);display:flex;flex-shrink:0;justify-content:center}.monthpicker-display{color:var(--primary-color);flex:1 1;font-size:15px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthpicker-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.monthpicker-arrow{align-items:center;color:#666;display:flex;flex-shrink:0;justify-content:center;transition:transform .3s}.monthpicker-container:hover .monthpicker-arrow{color:var(--secondary-color);transform:scale(1.1)}.monthpicker-input::-webkit-calendar-picker-indicator{background:#0000;bottom:0;color:#0000;cursor:pointer;height:auto;left:0;opacity:0;position:absolute;right:0;top:0;width:auto}.monthpicker-input::-moz-calendar-picker-indicator{opacity:0}@media (max-width:768px){.monthpicker-display{font-size:14px}}.dashboard{padding:0}.header-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.month-selector-container{max-width:280px;min-width:220px}.month-selector-container .monthpicker-wrapper{margin-bottom:0}.btn-current-month{align-items:center;background:linear-gradient(135deg,var(--secondary-color),#d4955a);border:none;border-radius:8px;box-shadow:0 2px 8px #e3a8644d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;min-height:48px;padding:12px 20px;transition:all .3s;white-space:nowrap}.btn-current-month:hover{background:linear-gradient(135deg,#d4955a,var(--secondary-color));box-shadow:0 4px 12px #e3a86466;transform:translateY(-2px)}.btn-current-month:active{transform:translateY(0)}.current-month{align-items:center;background:var(--bg-white);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--primary-color);display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px}.summary-cards-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.summary-card-modern{align-items:center;background:var(--bg-white);border:2px solid #0000;border-radius:16px;box-shadow:0 4px 12px #00000014;display:flex;gap:16px;padding:24px;transition:all .3s}.summary-card-modern:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.summary-card-modern .card-icon{align-items:center;border-radius:16px;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.balance-card{border-color:#e3a8644d}.balance-card .card-icon{background:linear-gradient(135deg,#e3a864,#d4955a);color:#fff}.income-card{border-color:#10b9814d}.income-card .card-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.expense-card{border-color:#ef44444d}.expense-card .card-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.result-card.positivo{border-color:#10b9814d}.result-card.positivo .card-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.result-card.negativo{border-color:#ef44444d}.result-card.negativo .card-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.summary-card-modern .card-content{flex:1 1}.summary-card-modern h3{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.summary-card-modern .amount{color:var(--primary-color);font-size:28px;font-weight:700;line-height:1;margin:0 0 4px}.summary-card-modern .card-subtitle{color:#999;display:block;font-size:12px}.summary-card-modern .card-subtitle.pending{color:#ff9800;font-weight:600}.dashboard-section{margin-bottom:40px}.dashboard-section h2{align-items:center;color:var(--primary-color);display:flex;font-size:24px;gap:12px;margin-bottom:20px}.accounts-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.account-card{border:2px solid #0000;box-shadow:0 2px 8px #00000014;padding:20px}.account-card:hover{border-color:var(--secondary-color);box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.account-header{gap:12px}.account-icon{align-items:center;border-radius:12px;box-shadow:0 2px 8px #00000026;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.account-info h4{color:var(--primary-color);font-size:16px;font-weight:600;margin:0}.account-type{color:#999;letter-spacing:.3px;text-transform:uppercase}.account-balance{align-items:baseline;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding-top:16px}.balance-label{color:#999;font-size:12px;letter-spacing:.3px;text-transform:uppercase}.balance-amount{color:var(--income-color);font-size:20px;font-weight:700}.balance-amount.negative{color:var(--expense-color)}.chart-card{background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.categories-comparison{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.category-list{background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.category-list h3{align-items:center;border-bottom:2px solid var(--border-color);display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px;padding-bottom:12px}.expense-list h3{color:var(--expense-color)}.income-list h3{color:var(--income-color)}.category-item{align-items:center;border-radius:8px;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s}.category-item:hover{background:#f9f9f9}.category-rank{align-items:center;background:linear-gradient(135deg,var(--secondary-color) 0,#d4955a 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:28px;justify-content:center;width:28px}.category-icon-small{box-shadow:0 2px 6px #0000001a;height:36px;width:36px}.category-info-inline{align-items:center;display:flex;flex:1 1;gap:12px;justify-content:space-between}.category-name{font-size:14px}.category-amount{font-size:16px;font-weight:700;white-space:nowrap}.category-amount.expense{color:var(--expense-color)}.category-amount.income{color:var(--income-color)}.empty-message{color:#999;font-size:14px;margin:0;padding:20px;text-align:center}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column}.dashboard-header h1{font-size:24px}.header-controls{align-items:stretch;flex-direction:column}.month-selector-container{max-width:100%}.btn-current-month,.current-month{justify-content:center}.summary-cards-grid{gap:16px;grid-template-columns:1fr}.summary-card-modern{padding:20px}.summary-card-modern .card-icon{height:56px;width:56px}.summary-card-modern .amount{font-size:24px}.accounts-grid,.categories-comparison{grid-template-columns:1fr}.chart-card{padding:16px}.dashboard-section h2{font-size:20px}}@media (max-width:480px){.dashboard-header h1{font-size:20px}.summary-card-modern{flex-direction:column;text-align:center}.summary-card-modern .card-icon{height:48px;width:48px}.summary-card-modern .amount{font-size:22px}.account-card{padding:16px}.category-item{padding:10px}.category-rank{font-size:12px;height:24px;width:24px}.category-icon-small{height:32px;width:32px}.category-name{font-size:13px}.category-amount{font-size:14px}}.category-select{margin-bottom:20px;position:relative}.category-select-label{color:var(--primary-color);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.category-select-trigger{align-items:center;background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;min-height:48px;padding:12px;position:relative;transition:all .3s}.category-select-trigger.open,.category-select-trigger:hover{border-color:var(--secondary-color)}.category-select-trigger.open{box-shadow:0 0 0 3px #e3a8641a}.category-select-trigger.empty{color:#999}.category-select-trigger.error{background-color:#f443360d}.category-select-trigger.error,.category-select-trigger.error:hover{border-color:var(--error-color)}.category-select-trigger.error.open{border-color:var(--error-color);box-shadow:0 0 0 3px #f443361a}.selected-category{align-items:center;display:flex;flex:1 1;gap:12px}.category-icon-small{align-items:center;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.category-name{color:var(--primary-color);flex:1 1;font-size:15px;font-weight:500}.category-select-dropdown{animation:slideDown .3s ease;background:var(--bg-white);border:2px solid var(--secondary-color);border-radius:8px;box-shadow:0 4px 16px #00000026;display:flex;flex-direction:column;left:0;max-height:400px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.category-search{align-items:center;background:#f9f9f9;border-bottom:1px solid var(--border-color);border-radius:6px 6px 0 0;display:flex;gap:8px;padding:12px}.category-search input{background:#0000;border:none;color:var(--primary-color);flex:1 1;font-size:14px;outline:none}.category-search input::placeholder{color:#999}.category-options{max-height:320px;overflow-y:auto}.category-options::-webkit-scrollbar{width:8px}.category-options::-webkit-scrollbar-track{background:#f1f1f1}.category-options::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}.category-options::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.category-option{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.category-option:last-child{border-bottom:none}.category-option:hover{background:#e3a8641a}.category-option.selected{background:#e3a86426;font-weight:600}@media (max-width:768px){.category-select-dropdown{max-height:60vh}.category-options{max-height:calc(60vh - 60px)}.category-option{padding:14px 12px}.category-icon-small{height:28px;width:28px}.category-name{font-size:14px}}@media (max-width:480px){.category-select-dropdown{max-height:70vh}.category-options{max-height:calc(70vh - 60px)}.category-option{padding:12px 10px}.category-icon-small{height:24px;width:24px}.category-name,.category-search input{font-size:13px}}.account-select{margin-bottom:20px;position:relative}.account-select-label{color:var(--primary-color);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.account-select-trigger{align-items:center;background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;min-height:48px;padding:12px;position:relative;transition:all .3s}.account-select-trigger.open,.account-select-trigger:hover{border-color:var(--secondary-color)}.account-select-trigger.open{box-shadow:0 0 0 3px #e3a8641a}.account-select-trigger.empty{color:#999}.account-select-trigger.error{background-color:#f443360d}.account-select-trigger.error,.account-select-trigger.error:hover{border-color:var(--error-color)}.account-select-trigger.error.open{border-color:var(--error-color);box-shadow:0 0 0 3px #f443361a}.selected-account{align-items:center;display:flex;flex:1 1;gap:12px}.account-color-indicator{border-radius:2px;flex-shrink:0;height:32px;width:4px}.account-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.account-name{color:var(--primary-color);font-size:15px;font-weight:600}.account-balance{color:var(--secondary-color);font-size:13px;font-weight:600}.placeholder{color:#999;font-size:15px}.clear-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.clear-btn:hover{background:#f5f5f5;color:var(--error-color)}.expand-icon{color:#666;flex-shrink:0;transition:transform .3s}.expand-icon.rotated{transform:rotate(180deg)}.account-select-dropdown{animation:slideDown .3s ease;background:var(--bg-white);border:2px solid var(--secondary-color);border-radius:8px;box-shadow:0 4px 16px #00000026;display:flex;flex-direction:column;left:0;max-height:400px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.account-search{align-items:center;background:#f9f9f9;border-bottom:1px solid var(--border-color);border-radius:6px 6px 0 0;display:flex;gap:8px;padding:12px}.search-icon{color:#999;flex-shrink:0}.account-search input{background:#0000;border:none;color:var(--primary-color);flex:1 1;font-size:14px;outline:none}.account-search input::placeholder{color:#999}.account-options{max-height:320px;overflow-y:auto}.account-options::-webkit-scrollbar{width:8px}.account-options::-webkit-scrollbar-track{background:#f1f1f1}.account-options::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}.account-options::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.account-option{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.account-option:last-child{border-bottom:none}.account-option:hover{background:#e3a8641a}.account-option.selected{background:#e3a86426}.check-mark{color:var(--success-color);font-size:18px;font-weight:700;margin-left:auto}.no-results{color:#999;padding:24px;text-align:center}.no-results p{font-size:14px;margin:0}@media (max-width:768px){.account-select-dropdown{max-height:60vh}.account-options{max-height:calc(60vh - 60px)}.account-option{padding:14px 12px}.account-name{font-size:14px}.account-balance{font-size:12px}}@media (max-width:480px){.account-select-dropdown{max-height:70vh}.account-options{max-height:calc(70vh - 60px)}.account-option{padding:12px 10px}.account-name{font-size:13px}.account-balance{font-size:11px}.account-search input{font-size:13px}}.datepicker-wrapper{margin-bottom:20px}.form-row .datepicker-wrapper{margin-bottom:0}.datepicker-label{color:var(--primary-color);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.datepicker-container{align-items:center;background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;gap:8px;height:48px;min-width:0;overflow:hidden;padding:0 12px;position:relative;transition:all .3s}.datepicker-container>*{background:#0000!important;border:none!important}.datepicker-container:focus-within,.datepicker-container:hover{border-color:var(--secondary-color)}.datepicker-container:focus-within{box-shadow:0 0 0 3px #e3a8641a}.datepicker-container.error{background-color:#f443360d}.datepicker-container.error,.datepicker-container.error:hover{border-color:var(--error-color)}.datepicker-container.error:focus-within{border-color:var(--error-color);box-shadow:0 0 0 3px #f443361a}.datepicker-icon{color:var(--secondary-color);flex-shrink:0}.datepicker-display{color:var(--primary-color);flex:1 1;font-size:14px;font-weight:600;line-height:1.5;margin:0;min-width:0;overflow:hidden;padding:12px 0;text-overflow:ellipsis;white-space:nowrap}.datepicker-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.datepicker-arrow{color:#666;flex-shrink:0;transition:transform .3s}.datepicker-container:hover .datepicker-arrow{color:var(--secondary-color);transform:scale(1.1)}.datepicker-input::-webkit-calendar-picker-indicator{background:#0000;bottom:0;color:#0000;cursor:pointer;height:auto;left:0;opacity:0;position:absolute;right:0;top:0;width:auto}.datepicker-input::-moz-calendar-picker-indicator{opacity:0}@media (max-width:768px){.datepicker-container{height:44px;padding:0 10px}.datepicker-display{font-size:14px;padding:10px 0}}.currency-input-wrapper{margin-bottom:20px}.form-row .currency-input-wrapper{margin-bottom:0}.currency-input-label{color:var(--primary-color);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.currency-input-container{align-items:center;background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;display:flex;gap:8px;height:48px;padding:0 12px;position:relative;transition:all .3s}.currency-input-container>*{background:#0000!important;border:none!important}.currency-input-container.focused,.currency-input-container:hover{border-color:var(--secondary-color)}.currency-input-container.focused{box-shadow:0 0 0 3px #e3a8641a}.currency-input-container.error{background-color:#f443360d;border-color:var(--error-color)}.currency-input-container.error:hover{border-color:var(--error-color)}.currency-input-container.error.focused{border-color:var(--error-color);box-shadow:0 0 0 3px #f443361a}.currency-icon{color:var(--success-color);flex-shrink:0}.currency-prefix{flex-shrink:0;padding:0}.currency-input,.currency-prefix{color:var(--primary-color);font-size:14px;font-weight:600;line-height:1.5;margin:0}.currency-input{background:#0000!important;border:none!important;box-shadow:none!important;flex:1 1;min-width:0;outline:none;padding:12px 0!important}.currency-input::placeholder{color:#bbb;font-weight:400}.currency-input::-webkit-inner-spin-button,.currency-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.currency-input[type=number]{-moz-appearance:textfield}@media (max-width:768px){.currency-input-container{height:44px;padding:0 10px}.currency-input{font-size:14px;padding:10px 0!important}.currency-prefix{font-size:14px}}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.confirm-dialog{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:32px;width:90%}.confirm-dialog-icon{display:flex;justify-content:center;margin-bottom:24px}.confirm-dialog-content{margin-bottom:32px;text-align:center}.confirm-dialog-title{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 16px}.confirm-dialog-message{color:#666;font-size:1rem;line-height:1.6}.confirm-dialog-message p{margin:8px 0}.confirm-dialog-message p:empty{margin:4px 0}.confirm-dialog-message p,.confirm-dialog-message p:has(strong){text-align:left}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-actions .btn-primary,.confirm-dialog-actions .btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;min-width:100px;padding:12px 24px;transition:all .2s ease}.confirm-dialog-actions .btn-secondary{background:#f5f5f5;color:#666}.confirm-dialog-actions .btn-secondary:hover{background:#e0e0e0}.confirm-dialog-actions .btn-primary{background:#e3a864;color:#fff}.confirm-dialog-actions .btn-primary:hover{background:#d69852;box-shadow:0 4px 12px #e3a86466;transform:translateY(-1px)}.confirm-dialog-actions .btn-primary.warning{background:#ff9800}.confirm-dialog-actions .btn-primary.warning:hover{background:#f57c00;box-shadow:0 4px 12px #ff98004d}.confirm-dialog-actions .btn-primary.error{background:#f44336}.confirm-dialog-actions .btn-primary.error:hover{background:#d32f2f;box-shadow:0 4px 12px #f443364d}.confirm-dialog-actions .btn-primary.success{background:#4caf50}.confirm-dialog-actions .btn-primary.success:hover{background:#388e3c;box-shadow:0 4px 12px #4caf504d}@media (max-width:768px){.confirm-dialog{max-width:90%;padding:24px}.confirm-dialog-title{font-size:1.25rem}.confirm-dialog-message{font-size:.95rem}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .btn-primary,.confirm-dialog-actions .btn-secondary{width:100%}}.effectuate-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.effectuate-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.effectuate-modal-header{align-items:flex-start;background:#fff;border-bottom:1px solid #e0e0e0;border-radius:16px 16px 0 0;display:flex;gap:16px;padding:24px 24px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header-icon{align-items:center;background:#d4edda;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.effectuate-modal-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.effectuate-modal-subtitle{color:#666;font-size:.875rem;margin:4px 0 0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:8px;color:#999;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:32px;justify-content:center;margin-left:auto;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:#f5f5f5;color:#333}.effectuate-modal-content,.effectuate-modal-form{display:flex;flex-direction:column}.effectuate-modal-content{gap:20px;padding:24px}.form-group{gap:8px}.form-group label{color:#333;font-size:.875rem}.date-field-header{align-items:center;display:flex;height:20px;margin-bottom:8px;position:relative}.date-field-header label{color:#333;display:block;font-size:.875rem;font-weight:500;line-height:1.4;margin:0}.btn-use-today{align-items:center;background:#e3a864;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.65rem;font-weight:500;gap:4px;height:20px;padding:3px 10px;position:absolute;right:0;top:0;transition:all .2s ease}.btn-use-today:hover{background:#d69852;box-shadow:0 2px 8px #e3a8644d;transform:translateY(-1px)}.btn-use-today:active{transform:translateY(0)}.date-hint{color:#28a745;display:block;font-size:.75rem;font-weight:500;margin-top:4px}.form-group.with-icon .input-icon{color:#999;left:12px;pointer-events:none;position:absolute;z-index:1}.form-group.with-icon .input-icon.textarea-icon{align-self:flex-start;top:12px}.form-group.with-icon input,.form-group.with-icon textarea{padding-left:40px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:1rem;padding:12px;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:#e3a864;box-shadow:0 0 0 3px #e3a8641a;outline:none}.form-group input.error,.form-group textarea.error{border-color:#ef4444}.form-group textarea{min-height:80px;resize:vertical}.form-row .form-group{display:flex;flex-direction:column;margin:0}.form-group.date-group{display:flex;flex-direction:column;gap:0}.form-group.date-group .datepicker-wrapper{margin-bottom:0}.form-row .form-group>label{line-height:1.4}.form-row .currency-input-wrapper .currency-input-label,.form-row .form-group>label{align-items:center;display:flex;height:20px;margin-bottom:8px}.form-row .currency-input-container,.form-row .datepicker-container{height:48px}.error-message{color:#ef4444;font-size:.75rem;margin-top:-4px}.effectuate-modal-actions{background:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #e0e0e0;bottom:0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px;position:-webkit-sticky;position:sticky}.effectuate-modal-actions .btn-primary,.effectuate-modal-actions .btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;transition:all .2s ease}.effectuate-modal-actions .btn-secondary{background:#fff;border:1px solid #ddd;color:#666}.effectuate-modal-actions .btn-secondary:hover{background:#f5f5f5;border-color:#ccc}.effectuate-modal-actions .btn-primary.success{background:#28a745;color:#fff}.effectuate-modal-actions .btn-primary.success:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}@media (max-width:768px){.effectuate-modal{max-height:95vh;max-width:95%}.effectuate-modal-header{padding:20px}.effectuate-modal-title{font-size:1.25rem}.effectuate-modal-subtitle{font-size:.8rem}.effectuate-modal-content{gap:16px;padding:20px}.form-row{gap:16px;grid-template-columns:1fr}.date-field-header{align-items:flex-start;flex-direction:column;gap:8px}.btn-use-today{align-self:flex-end;font-size:.7rem;padding:3px 10px}.effectuate-modal-actions{flex-direction:column-reverse;gap:8px;padding:16px 20px 20px}.effectuate-modal-actions .btn-primary,.effectuate-modal-actions .btn-secondary{width:100%}}.effectuate-modal::-webkit-scrollbar{width:8px}.effectuate-modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 16px 16px 0}.effectuate-modal::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.effectuate-modal::-webkit-scrollbar-thumb:hover{background:#999}.monthly-transaction-calendar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.monthly-calendar-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.monthly-calendar-weekday{background-color:#f8f9fa;border-radius:8px;color:#666;font-size:.9rem;font-weight:600;padding:12px;text-align:center;text-transform:uppercase}.monthly-calendar-day{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;min-height:110px;padding:8px;position:relative;transition:all .2s}.monthly-calendar-day.empty{background-color:#f9f9f9;border-color:#f0f0f0}.monthly-calendar-day.has-transactions{background-color:#f0f7ff;border-color:#2196f3;cursor:pointer}.monthly-calendar-day.has-transactions.has-pending{background:linear-gradient(135deg,#fff3e0,#f0f7ff);border-color:#ff9800}.monthly-calendar-day.has-transactions:hover{border-color:#1976d2;box-shadow:0 4px 12px #2196f333;transform:translateY(-2px)}.monthly-day-number{color:#333;font-size:1rem;font-weight:600;margin-bottom:6px}.monthly-day-transactions{display:flex;flex:1 1;flex-direction:column;gap:6px}.monthly-transaction-badges{display:flex;flex-wrap:wrap;gap:4px}.monthly-badge{border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;text-align:center}.monthly-badge.paid{background-color:#4caf50}.monthly-badge.pending{background-color:#ff9800}.monthly-day-totals{display:flex;flex-direction:column;font-size:.7rem;font-weight:600;gap:2px;margin-top:auto}.monthly-total-paid{border-radius:4px;padding:2px 4px}.monthly-total-paid.positive{background-color:#e8f5e9;color:#4caf50}.monthly-total-paid.negative{background-color:#ffebee;color:#f44336}.monthly-total-pending{color:#ff9800;font-size:.65rem}.monthly-calendar-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.monthly-calendar-modal{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:700px;width:100%}.monthly-calendar-modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px 24px}.monthly-calendar-modal-header h3{color:#2c3e50;font-size:1.25rem;margin:0;text-transform:capitalize}.monthly-calendar-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.monthly-calendar-modal-close:hover{background-color:#f0f0f0;color:#333}.monthly-calendar-modal-body{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:20px 24px}.monthly-calendar-transaction-item{background-color:#f8f9fa;border-left:4px solid #ddd;border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .2s}.monthly-calendar-transaction-item:hover{background-color:#f0f1f2;transform:translateX(4px)}.monthly-calendar-transaction-item.income{border-left-color:#4caf50}.monthly-calendar-transaction-item.expense{border-left-color:#f44336}.monthly-calendar-transaction-item.pending{border:2px solid #ff9800;border-left-width:4px}.monthly-calendar-transaction-icon-wrapper{flex-shrink:0}.monthly-calendar-transaction-icon{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.monthly-calendar-transaction-content{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.monthly-calendar-transaction-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.monthly-transaction-title{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.monthly-calendar-transaction-description{word-wrap:break-word;color:#2c3e50;font-size:1rem;font-weight:600;margin:0}.monthly-transaction-badge{border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px}.monthly-transaction-badge.recurring,.monthly-transaction-badge.virtual{background-color:#e3a864}.monthly-calendar-transaction-amount{font-size:1.1rem;font-weight:700;white-space:nowrap}.monthly-calendar-transaction-amount.income{color:#4caf50}.monthly-calendar-transaction-amount.expense{color:#f44336}.monthly-calendar-transaction-meta{display:flex;flex-direction:column;gap:4px}.monthly-calendar-transaction-detail{align-items:center;display:flex;font-size:.85rem;gap:8px}.monthly-detail-label{color:#666;font-weight:500}.monthly-detail-value{color:#333;font-weight:600}.monthly-detail-value.status{align-items:center;display:flex;gap:4px}.monthly-detail-value.status.paid{color:#4caf50}.monthly-detail-value.status.pending{color:#ff9800}.monthly-calendar-transaction-actions{display:flex;gap:8px;margin-top:4px}.monthly-action-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s}.monthly-action-btn:hover{background-color:#f5f5f5;border-color:#bbb;transform:translateY(-1px)}.monthly-action-btn.toggle{border-color:#2196f3;color:#2196f3}.monthly-action-btn.toggle:hover{background-color:#e3f2fd}.monthly-action-btn.edit{border-color:#4caf50;color:#4caf50}.monthly-action-btn.edit:hover{background-color:#e8f5e9}.monthly-action-btn.delete{border-color:#f44336;color:#f44336}.monthly-action-btn.delete:hover{background-color:#ffebee}.monthly-action-btn.effectuate{background-color:#28a745;border-color:#28a745;color:#fff}.monthly-action-btn.effectuate:hover{background-color:#218838}.monthly-action-btn.inactivate{background-color:#ff9800;border-color:#ff9800;color:#fff}.monthly-action-btn.inactivate:hover{background-color:#fb8c00}.monthly-calendar-modal-footer{background-color:#f8f9fa;border-radius:0 0 16px 16px;border-top:2px solid #f0f0f0;padding:20px 24px}.monthly-calendar-modal-summary{display:flex;flex-direction:column;gap:12px}.monthly-summary-item{align-items:center;background-color:#fff;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.monthly-summary-item.total{border:2px solid #e0e0e0;font-weight:700}.monthly-summary-label{color:#666;font-weight:600}.monthly-summary-value{font-size:1.1rem;font-weight:700}.monthly-summary-value.positive{color:#4caf50}.monthly-summary-value.negative{color:#f44336}@media (max-width:768px){.monthly-transaction-calendar{padding:16px}.monthly-calendar-grid{gap:4px}.monthly-calendar-day{min-height:90px;padding:4px}.monthly-day-number{font-size:.9rem}.monthly-badge{padding:2px 4px}.monthly-badge,.monthly-day-totals{font-size:.65rem}.monthly-calendar-modal{max-height:90vh;max-width:95%}.monthly-calendar-modal-body,.monthly-calendar-modal-footer,.monthly-calendar-modal-header{padding:16px}.monthly-calendar-transaction-item{flex-direction:column;padding:12px}.monthly-calendar-transaction-icon{height:40px;width:40px}.monthly-calendar-transaction-description{font-size:.9rem}.monthly-calendar-transaction-amount{font-size:1rem}.monthly-calendar-transaction-actions{flex-wrap:wrap}.monthly-action-btn{font-size:.8rem;padding:5px 10px}}@media (max-width:480px){.monthly-calendar-weekday{font-size:.75rem;padding:8px 4px}.monthly-calendar-day{min-height:70px;padding:3px}.monthly-day-totals{display:none}.monthly-transaction-title{align-items:flex-start;flex-direction:column}}.dashboard{animation:fadeIn .3s}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.dashboard-header h1{color:var(--primary-color);flex:1 1;font-size:32px;margin:0;min-width:200px}.dashboard-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.view-toggle-btn.active{background-color:#2c5d87;background-color:var(--primary-color,#2c5d87);box-shadow:0 2px 4px #2c5d874d}.btn-filter{color:#666;padding:10px 20px}.btn-filter.active{background:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 2px 8px #e3a8644d;color:#fff}.btn-filter.active:hover{background:#d4955a;border-color:#d4955a;box-shadow:0 4px 12px #e3a86466;transform:translateY(-2px)}.month-selector{align-items:center;background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:24px;justify-content:center;margin-bottom:32px;padding:20px}.month-selector h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-color) 0,#1a3550 100%);-webkit-background-clip:text;background-clip:text;color:var(--primary-color);font-size:24px;font-weight:700;margin:0;min-width:200px;text-align:center}.month-btn{align-items:center;background:var(--bg-white);border:2px solid var(--secondary-color);border-radius:12px;box-shadow:0 2px 4px #0000001a;color:var(--secondary-color);cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;transition:all .3s;width:48px}.month-btn:hover{background:var(--secondary-color);box-shadow:0 4px 8px #e3a8644d;color:var(--primary-color);transform:translateY(-2px)}.month-btn:active{transform:translateY(0)}.summary-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:40px}.summary-card{background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.summary-card h3{font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.summary-card .amount{font-size:28px;font-weight:700;margin:0}.summary-card.income .amount,.summary-card.income h3{color:var(--income-color)}.summary-card.expense .amount,.summary-card.expense h3{color:var(--expense-color)}.summary-card.balance h3{color:var(--primary-color)}.summary-card.balance .amount{color:var(--secondary-color)}.transactions-section{background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.transactions-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.transactions-section h2{color:var(--primary-color);margin:0}.filter-badge{align-items:center;background:#e3a8641a;border:1px solid #e3a8644d;border-radius:16px;color:var(--secondary-color);display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px}.transactions-list{gap:24px}.transaction-date-group{display:flex;flex-direction:column;gap:12px}.date-header{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,#1a3550 100%);border-radius:8px;box-shadow:0 2px 8px #10243c33;display:flex;gap:16px;justify-content:space-between;margin-bottom:4px;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.date-header h3{color:#fff;flex:1 1;font-size:16px;font-weight:600;letter-spacing:.3px;margin:0;text-transform:capitalize}.date-totals{align-items:center;display:flex;flex-shrink:0;gap:12px}.date-totals span{border-radius:12px;font-size:13px;font-weight:600;padding:4px 10px;white-space:nowrap}.date-totals .total-paid{background:#4caf5033;border:1px solid #4caf504d;color:#a5d6a7}.date-totals .total-paid.negative{background:#f4433633;border:1px solid #f443364d;color:#ef9a9a}.date-totals .total-pending{background:#ff980033;border:1px solid #ff98004d;color:#ffcc80}.transaction-item{background:var(--bg-white);border:2px solid #0000;border-radius:12px;display:flex;gap:16px;overflow:hidden;padding:16px;position:relative;transition:all .3s}.transaction-item:before{background:var(--income-color);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:4px}.transaction-item.income:before{background:var(--income-color);opacity:1}.transaction-item.expense:before{background:var(--expense-color);opacity:1}.transaction-item:hover{border-color:var(--secondary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.transaction-icon{box-shadow:0 2px 8px #00000026}.transaction-content{gap:8px}.transaction-description{line-height:1.3}.transaction-meta{font-size:14px}.transaction-account,.transaction-category,.transaction-date-info,.transaction-frequency{align-items:center;display:flex;gap:4px}.meta-value{color:#666}.transaction-footer{margin-top:4px}.transaction-status{flex:1 1}.status-badge{display:inline-flex}.status-badge.paid{background:#4caf501a;color:var(--success-color)}.status-badge.pending{background:#ff98001a;color:#ff9800}.action-btn{background:#f5f5f5;color:#666}.action-btn.status-toggle{background:#4caf501a;color:var(--success-color)}.action-btn.status-toggle:hover{background:var(--success-color);color:#fff}.dashboard-header .btn-primary{flex-shrink:0;font-size:14px!important;max-width:-webkit-fit-content;max-width:fit-content;padding:10px 20px!important;white-space:nowrap;width:auto!important}.transaction-form{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.transaction-form-body{flex:1 1;overflow-y:auto;padding:32px 32px 16px}.transaction-form-body::-webkit-scrollbar{width:8px}.transaction-form-body::-webkit-scrollbar-track{background:#f1f1f1}.transaction-form-body::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}.transaction-form-body::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.input-icon.textarea-icon{align-self:flex-start;top:12px}.form-group.with-icon input:not(.currency-input):not(.datepicker-input),.form-group.with-icon select,.form-group.with-icon textarea{padding-left:44px}.form-group input:not(.currency-input):not(.datepicker-input),.form-group select,.form-group textarea{background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:all .3s;width:100%}.form-group input:not(.currency-input):not(.datepicker-input):focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px #e3a8641a;outline:none}.form-group input.error:not(.currency-input):not(.datepicker-input),.form-group select.error,.form-group textarea.error{background-color:#f443360d;border-color:var(--error-color)}.form-group input.error:not(.currency-input):not(.datepicker-input):focus,.form-group select.error:focus,.form-group textarea.error:focus{border-color:var(--error-color);box-shadow:0 0 0 3px #f443361a}.form-group input:not(.currency-input):not(.datepicker-input)::placeholder,.form-group textarea::placeholder{color:#bbb}.recurring-options{animation:slideDown .3s ease;background:#f9f9f9;border:2px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:20px}.recurring-info{background:#e3a8641a;border-left:4px solid var(--secondary-color);border-radius:8px;margin-top:12px;padding:12px}.recurring-info p{color:var(--primary-color);font-size:14px;line-height:1.5;margin:0}.recurring-info strong{color:var(--secondary-color);font-weight:700}.empty-state{color:#999;padding:40px}.spinner{margin-bottom:16px}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column;gap:16px}.dashboard-header h1{font-size:24px}.dashboard-actions{flex-direction:column;width:100%}.view-toggle{justify-content:center;width:100%}.view-toggle-btn{flex:1 1;justify-content:center}.dashboard-actions .btn-filter,.dashboard-actions .btn-primary{justify-content:center;width:100%}.month-selector{gap:16px;padding:16px}.month-selector h2{font-size:20px;min-width:150px}.month-btn{font-size:18px;height:40px;width:40px}.summary-cards{gap:16px;grid-template-columns:1fr;margin-bottom:24px}.transactions-section{padding:16px}.transactions-header{align-items:flex-start;flex-direction:column;gap:12px}.modal-content{max-height:95vh;width:95%}.modal-header{padding:20px}.modal-header h2{font-size:20px}.transaction-form-body{padding:20px}.form-actions{padding:16px 20px}.form-row,.form-type-selector{grid-template-columns:1fr}.transaction-item{padding:14px}.transaction-icon{height:48px;width:48px}.transaction-description{font-size:16px}.transaction-amount{font-size:18px}.transaction-meta{font-size:13px}.transaction-footer{align-items:stretch;flex-direction:column;gap:12px}.transaction-actions,.transaction-status{justify-content:center}.transaction-actions{flex-wrap:wrap}.action-btn{font-size:18px;height:40px;width:40px}.date-header{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 16px}.date-header h3{font-size:15px}.date-totals{flex-wrap:wrap;justify-content:space-between;width:100%}.date-totals span{font-size:12px;padding:3px 8px}}@media (max-width:480px){.dashboard-header h1{font-size:20px}.month-selector{gap:12px;padding:12px}.month-selector h2{font-size:18px;min-width:120px}.month-btn{font-size:16px;height:36px;width:36px}.summary-card{padding:20px}.summary-card .amount{font-size:24px}.transaction-item,.transactions-section{padding:12px}.transaction-icon{height:40px;width:40px}.transaction-description{font-size:15px}.transaction-amount{font-size:16px}.transaction-meta{font-size:12px}.action-btn{font-size:16px;height:36px;width:36px}.date-header{padding:10px 12px}.date-header h3{font-size:14px}.date-totals span{font-size:11px;padding:2px 6px}.modal-header{padding:16px}.modal-header h2{font-size:18px}.transaction-form-body{padding:16px}.form-actions{flex-direction:column;padding:12px 16px}.form-actions button{width:100%}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}.toast.removing{animation:slideOutRight .3s ease-out forwards}.icon-selector{margin-bottom:20px}.icon-selector-label{color:var(--primary-color);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.icon-selector-grid{grid-gap:8px;background:#f9f9f9;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));max-height:250px;overflow-y:auto;padding:16px}.icon-button,.icon-selector-grid{border:2px solid var(--border-color)}.icon-button{align-items:center;background:var(--bg-white);border-radius:8px;color:#666;cursor:pointer;display:flex;height:50px;justify-content:center;transition:all .3s;width:50px}.icon-button:hover{background:#e3a8641a;border-color:var(--secondary-color);transform:scale(1.1)}.icon-button.selected{background:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 2px 8px #e3a86466;color:var(--primary-color);transform:scale(1.15)}.icon-selector-grid::-webkit-scrollbar{width:8px}.icon-selector-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.icon-selector-grid::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}.icon-selector-grid::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}@media (max-width:768px){.icon-selector-grid{gap:6px;grid-template-columns:repeat(auto-fill,minmax(45px,1fr));padding:12px}.icon-button{height:45px;width:45px}}@media (max-width:480px){.icon-selector-grid{gap:5px;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));max-height:200px;padding:10px}.icon-button{height:40px;width:40px}}.colorpicker-wrapper{margin-bottom:20px}.form-row .colorpicker-wrapper{margin-bottom:0}.colorpicker-label{color:var(--primary-color);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.required-mark{color:var(--error-color);margin-left:4px}.colorpicker-container{align-items:center;background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:12px;height:48px;padding:8px 12px;position:relative;transition:all .3s}.colorpicker-container:hover{border-color:var(--secondary-color);box-shadow:0 2px 8px #e3a86433}.colorpicker-icon{align-items:center;color:var(--secondary-color);display:flex;flex-shrink:0;justify-content:center;line-height:1}.colorpicker-display{align-items:center;display:flex;flex:1 1;gap:12px}.color-preview{border:2px solid var(--border-color);border-radius:6px;box-shadow:0 2px 6px #00000026;flex-shrink:0;height:32px;transition:transform .3s;width:32px}.colorpicker-container:hover .color-preview{border-color:var(--secondary-color);transform:scale(1.05)}.color-value{color:var(--primary-color);font-family:monospace;font-size:14px;font-weight:600;letter-spacing:.5px;line-height:1;text-transform:uppercase}.colorpicker-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}@media (max-width:768px){.colorpicker-container{height:auto;min-height:48px;padding:10px 12px}.color-preview{height:28px;width:28px}.color-value{font-size:13px}}.categories-page{animation:fadeIn .3s}.page-header .btn-primary{flex:0 1}.filter-tabs{background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:12px;margin-bottom:32px;padding:8px}.filter-tab{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.filter-tab:hover{background:#f5f5f5}.filter-tab.active{background:var(--primary-color);color:var(--text-light)}.categories-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.category-card{background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:all .3s}.category-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.category-header{margin-bottom:16px}.category-color{align-items:center;border-radius:50%;box-shadow:0 2px 8px #0003;display:flex;height:40px;justify-content:center;width:40px}.category-type{border-radius:12px;font-size:12px;padding:4px 12px}.category-type.income{background:#4caf501a;color:var(--income-color)}.category-type.expense{background:#f443361a;color:var(--expense-color)}.category-card h3{color:var(--primary-color);font-size:20px;margin:0 0 8px}.category-slug{color:#999;font-family:monospace;font-size:14px;margin:0 0 16px}.category-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:16px;padding-top:16px}.status-badge{border-radius:12px;font-size:12px;padding:4px 12px}.status-badge.active{background:#4caf501a;color:var(--success-color)}.status-badge.inactive{background:#9e9e9e1a;color:#999}.category-actions{display:flex;gap:8px}.category-actions .action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;transition:all .3s;width:44px}.category-actions .action-btn.edit{background:#e3a8641a;color:var(--secondary-color)}.category-actions .action-btn.edit:hover{background:var(--secondary-color);box-shadow:0 2px 8px #e3a8644d;color:#fff;transform:translateY(-2px)}.category-actions .action-btn.delete{background:#f443361a;color:var(--error-color)}.category-actions .action-btn.delete:hover{background:var(--error-color);box-shadow:0 2px 8px #f443364d;color:#fff;transform:translateY(-2px)}.category-form{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.category-form-body{flex:1 1;overflow-y:auto;padding:32px 32px 16px}.category-form-body::-webkit-scrollbar{width:8px}.category-form-body::-webkit-scrollbar-track{background:#f1f1f1}.category-form-body::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}.category-form-body::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:16px}.page-header h1{font-size:24px}.page-header .btn-primary{font-size:15px;padding:12px 20px;width:100%}.filter-tabs{flex-direction:column}.filter-tab{font-size:15px}.categories-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}.modal-header{padding:20px}.modal-header h2{font-size:20px}.category-form-body{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{padding:16px 20px}}@media (max-width:480px){.page-header h1{font-size:20px}.modal-header{padding:16px}.modal-header h2{font-size:18px}.category-form-body{padding:16px}.form-actions{flex-direction:column;padding:12px 16px}.form-actions button{width:100%}}.accounts-page{animation:fadeIn .3s}.total-balance-card{background:linear-gradient(135deg,var(--primary-color) 0,#1a3550 100%);border-radius:16px;box-shadow:0 4px 16px #0000001a;color:var(--text-light);margin-bottom:32px;padding:32px;text-align:center}.total-balance-card h3{color:var(--text-muted);font-size:16px;letter-spacing:1px;margin:0 0 16px;text-transform:uppercase}.total-amount{color:var(--secondary-color);font-size:48px;font-weight:700;margin:0 0 8px}.accounts-count{color:var(--text-muted);font-size:14px;margin:0}.accounts-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.account-card{background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:all .3s}.account-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.account-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.account-color{border-radius:12px;box-shadow:0 2px 8px #0003;height:50px;width:50px}.account-type{background:#e3a8641a;border-radius:12px;color:var(--secondary-color);font-size:12px;font-weight:600;padding:6px 14px}.account-card h3{color:var(--primary-color);font-size:20px;margin:0 0 8px}.account-description{color:#666;font-size:14px;margin:0 0 16px}.account-balance-section{background:#f9f9f9;border-radius:8px;margin:16px 0;padding:16px}.balance-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.balance-item:last-child{border-top:1px solid var(--border-color);margin-bottom:0;padding-top:12px}.balance-label{color:#666;font-size:14px;font-weight:500}.balance-value{color:var(--primary-color);font-size:16px;font-weight:600}.balance-current{color:var(--secondary-color);font-size:20px;font-weight:700}.account-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:16px;padding-top:16px}.account-actions{display:flex;gap:8px}.account-actions .action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;transition:all .3s;width:44px}.account-actions .action-btn.edit{background:#e3a8641a;color:var(--secondary-color)}.account-actions .action-btn.edit:hover{background:var(--secondary-color);box-shadow:0 2px 8px #e3a8644d;color:#fff;transform:translateY(-2px)}.account-actions .action-btn.delete{background:#f443361a;color:var(--error-color)}.account-actions .action-btn.delete:hover{background:var(--error-color);box-shadow:0 2px 8px #f443364d;color:#fff;transform:translateY(-2px)}.account-form{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.account-form-body{flex:1 1;overflow-y:auto;padding:32px 32px 16px}.account-form-body::-webkit-scrollbar{width:8px}.account-form-body::-webkit-scrollbar-track{background:#f1f1f1}.account-form-body::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}.account-form-body::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.form-group-checkbox{margin-bottom:0}.form-group input,.form-group select,.form-group textarea{background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;font-size:15px;padding:12px 16px;transition:all .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px #e3a8641a;outline:none}.btn-primary{flex:1 1}.btn-secondary{flex:1 1;padding:14px 24px}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:16px}.page-header h1{font-size:24px}.page-header .btn-primary{font-size:15px;padding:12px 20px;width:100%}.total-balance-card{padding:24px}.total-amount{font-size:36px}.accounts-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}.modal-header{padding:20px}.modal-header h2{font-size:20px}.account-form-body{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{padding:16px 20px}}@media (max-width:480px){.page-header h1{font-size:20px}.total-balance-card{padding:20px}.total-amount{font-size:28px}.modal-header{padding:16px}.modal-header h2{font-size:18px}.account-form-body{padding:16px}.form-actions{flex-direction:column;padding:12px 16px}.form-actions button{width:100%}}.transaction-calendar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.calendar-title{color:#2c3e50;font-size:1.5rem;font-weight:600;text-transform:capitalize}.calendar-nav-btn{align-items:center;background:none;border:2px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.calendar-nav-btn:hover{background-color:#f5f5f5;border-color:#d0d0d0;color:#333}.calendar-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.calendar-weekday{background-color:#f8f9fa;border-radius:8px;color:#666;font-size:.9rem;font-weight:600;padding:12px;text-align:center;text-transform:uppercase}.calendar-day{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;min-height:100px;padding:8px;position:relative;transition:all .2s}.calendar-day.empty{background-color:#f9f9f9;border-color:#f0f0f0}.calendar-day.has-transactions{background-color:#f1f8f4;border-color:#4caf50;cursor:pointer}.calendar-day.has-transactions:hover{border-color:#45a049;box-shadow:0 4px 12px #4caf5033;transform:translateY(-2px)}.day-number{color:#333;font-size:1rem;font-weight:600;margin-bottom:4px}.day-transactions{display:flex;flex-direction:column;gap:4px;margin-top:8px}.transaction-count{background-color:#4caf50;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;margin-bottom:4px;padding:2px 8px;text-align:center;width:-webkit-fit-content;width:fit-content}.day-totals{display:flex;flex-direction:column;font-size:.7rem;gap:2px}.total-income{color:#4caf50;font-weight:600}.total-expense{color:#f44336;font-weight:600}.calendar-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.calendar-modal{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.calendar-modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px 24px}.calendar-modal-header h3{color:#2c3e50;font-size:1.25rem;margin:0}.calendar-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.calendar-modal-close:hover{background-color:#f0f0f0;color:#333}.calendar-modal-body{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:20px 24px}.calendar-transaction-item{background-color:#f8f9fa;border-left:4px solid #ddd;border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .2s}.calendar-transaction-item:hover{background-color:#f0f1f2;transform:translateX(4px)}.calendar-transaction-item.income{border-left-color:#4caf50}.calendar-transaction-item.expense{border-left-color:#f44336}.calendar-transaction-icon-wrapper{flex-shrink:0}.calendar-transaction-icon{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.calendar-transaction-content{flex:1 1;min-width:0}.calendar-transaction-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.calendar-transaction-description{word-wrap:break-word;color:#2c3e50;flex:1 1;font-size:1rem;font-weight:600;margin:0}.calendar-transaction-amount{font-size:1.1rem;font-weight:700;white-space:nowrap}.calendar-transaction-amount.income{color:#4caf50}.calendar-transaction-amount.expense{color:#f44336}.calendar-transaction-meta{display:flex;flex-direction:column;gap:4px}.calendar-transaction-detail{display:flex;font-size:.85rem;gap:8px}.detail-label{color:#666;font-weight:500}.detail-value{color:#333;font-weight:600}.calendar-modal-footer{background-color:#f8f9fa;border-radius:0 0 16px 16px;border-top:2px solid #f0f0f0;padding:20px 24px}.calendar-modal-summary{display:flex;flex-direction:column;gap:12px}.summary-item{align-items:center;background-color:#fff;justify-content:space-between;padding:8px 12px}.summary-item.total{border:2px solid #e0e0e0;font-weight:700}.summary-value{font-size:1.1rem}.summary-item.income .summary-value{color:#4caf50}.summary-item.expense .summary-value{color:#f44336}.summary-value.positive{color:#4caf50}.summary-value.negative{color:#f44336}@media (max-width:768px){.transaction-calendar{padding:16px}.calendar-title{font-size:1.2rem}.calendar-nav-btn{height:36px;width:36px}.calendar-grid{gap:4px}.calendar-day{min-height:80px;padding:4px}.day-number{font-size:.9rem}.transaction-count{font-size:.7rem;padding:2px 6px}.day-totals{font-size:.65rem}.calendar-modal{max-height:90vh;max-width:95%}.calendar-modal-body,.calendar-modal-footer,.calendar-modal-header{padding:16px}.calendar-transaction-item{padding:12px}.calendar-transaction-icon{height:40px;width:40px}.calendar-transaction-description{font-size:.9rem}.calendar-transaction-amount{font-size:1rem}}@media (max-width:480px){.calendar-weekday{font-size:.75rem;padding:8px 4px}.calendar-day{min-height:60px}.day-totals{display:none}}.virtual-transactions-page{animation:fadeIn .3s}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.page-header h1{color:var(--primary-color);font-size:32px;margin:0}.page-subtitle{color:#666;font-size:14px;margin:4px 0 0}.page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.view-toggle{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:4px;padding:4px}.view-toggle-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s;white-space:nowrap}.view-toggle-btn:hover{background-color:#f5f5f5;color:#333}.view-toggle-btn.active{background-color:#4caf50;background-color:var(--primary-color,#4caf50);box-shadow:0 2px 4px #4caf504d;color:#fff}.view-toggle-btn svg{flex-shrink:0}.page-header .btn-primary{flex-shrink:0;font-size:14px;padding:10px 20px;white-space:nowrap}.virtual-transactions-list{display:flex;flex-direction:column;gap:16px}.virtual-transaction-item{background:var(--bg-white);border:2px solid #0000;border-radius:12px;display:flex;gap:16px;overflow:hidden;padding:16px;position:relative;transition:all .3s}.virtual-transaction-item:before{background:var(--income-color);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:4px}.virtual-transaction-item.income:before{background:var(--income-color);opacity:1}.virtual-transaction-item.expense:before{background:var(--expense-color);opacity:1}.virtual-transaction-item.inactive{background:#f9f9f9;opacity:.6}.virtual-transaction-item:hover:not(.inactive){border-color:var(--secondary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.transaction-icon-wrapper{flex-shrink:0}.transaction-icon{align-items:center;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;height:56px;justify-content:center;width:56px}.transaction-content{display:flex;flex:1 1;flex-direction:column;gap:12px;min-width:0}.transaction-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.transaction-description{color:var(--primary-color);font-size:18px;font-weight:600;margin:0}.transaction-amount{flex-shrink:0;font-size:20px}.transaction-amount.income{color:var(--income-color)}.transaction-amount.expense{color:var(--expense-color)}.transaction-meta{display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.transaction-day{align-items:center;background:#e3a8641a;border-radius:16px;color:var(--secondary-color);display:flex;font-size:14px;font-weight:600;gap:6px;padding:4px 12px}.transaction-account,.transaction-category{align-items:center;color:#666;display:flex;gap:4px}.meta-label{color:#999;font-weight:500}.meta-value{color:#333;font-weight:600}.transaction-footer{border-top:1px solid var(--border-color);gap:16px;justify-content:space-between;padding-top:12px}.status-badge,.transaction-footer,.transaction-status{align-items:center;display:flex}.status-badge{background:#4caf501a;border-radius:16px;color:var(--success-color);font-size:13px;font-weight:600;gap:6px;padding:6px 12px}.transaction-actions{display:flex;gap:8px}.transaction-start-date{align-items:center;color:#666;display:flex;font-size:13px;gap:4px;text-transform:capitalize}.empty-state{background:var(--bg-white);border-radius:16px;box-shadow:0 2px 8px #0000001a;padding:60px 40px}.empty-state h2{color:var(--primary-color);font-size:24px;margin:24px 0 16px}.empty-state p{color:#666;font-size:16px;line-height:1.6;margin:0 auto 32px;max-width:500px}.status-badge.inactive-badge{background:#9e9e9e1a;color:#999}.form-type-selector{grid-gap:12px;background:#f9f9f9;border-radius:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:8px}.type-btn{align-items:center;background:var(--bg-white);border:2px solid #0000;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px;transition:all .3s}.type-btn:hover{background:#f5f5f5}.type-btn.active{border-color:currentColor;box-shadow:0 2px 8px #0000001a}.type-btn.active.income{background:#4caf501a;color:var(--income-color)}.type-btn.active.expense{background:#f443361a;color:var(--expense-color)}.form-group.with-icon .input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#999;left:12px;pointer-events:none;position:absolute;z-index:1}.form-group.with-icon input,.form-group.with-icon select{padding-left:44px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:0}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500}.form-group input,.form-group select{background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:all .3s;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px #e3a8641a;outline:none}.form-group input.error,.form-group select.error{background-color:#f443360d;border-color:var(--error-color)}.form-group input.error:focus,.form-group select.error:focus{border-color:var(--error-color);box-shadow:0 0 0 3px #f443361a}.error-message{animation:slideDown .3s ease;color:var(--error-color);display:block;font-size:13px;font-weight:500;margin-top:6px}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-group-checkbox{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;gap:8px;margin-bottom:24px;padding:12px}.form-group-checkbox input{cursor:pointer;height:20px;width:20px}.form-group-checkbox label{color:var(--primary-color);cursor:pointer;font-weight:500;margin:0}.form-actions{background:var(--bg-white);border-top:2px solid var(--border-color);box-shadow:0 -4px 12px #0000000d;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:20px 32px}.btn-primary{background:var(--primary-color);color:var(--text-light)}.btn-primary:hover{background:#1a3550;box-shadow:0 4px 12px #10243c4d}.btn-secondary{background:#0000;font-size:16px}.btn-secondary:hover{background:#10243c0d}.modal{background:#00000080}.modal-content{max-height:90vh;overflow:hidden;width:90%}.modal-header{flex-shrink:0}.close-btn:hover{background:#f5f5f5}.virtual-transaction-form{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.virtual-transaction-form-body{flex:1 1;overflow-y:auto;padding:32px 32px 16px}.virtual-transaction-form-body::-webkit-scrollbar{width:8px}.virtual-transaction-form-body::-webkit-scrollbar-track{background:#f1f1f1}.virtual-transaction-form-body::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}.virtual-transaction-form-body::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;transition:all .3s;width:44px}.action-btn:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-2px)}.action-btn.toggle-active{background:#4caf501a;color:var(--success-color)}.action-btn.toggle-active:hover{background:var(--success-color);color:#fff}.action-btn.toggle-inactive{background:#9e9e9e1a;color:#999}.action-btn.toggle-inactive:hover{background:#999;color:#fff}.action-btn.edit{background:#e3a8641a;color:var(--secondary-color)}.action-btn.edit:hover{background:var(--secondary-color);color:#fff}.action-btn.delete{background:#f443361a;color:var(--error-color)}.action-btn.delete:hover{background:var(--error-color);color:#fff}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:16px;margin-bottom:24px}.page-header h1{font-size:24px}.page-header .btn-primary{font-size:15px;padding:12px 20px;width:100%}.modal-content{max-height:95vh;width:95%}.modal-header{padding:20px}.modal-header h2{font-size:20px}.virtual-transaction-form-body{padding:20px}.form-actions{padding:16px 20px}.form-row{gap:0}.form-row,.form-type-selector{grid-template-columns:1fr}.virtual-transaction-item{padding:14px}.transaction-icon{height:48px;width:48px}.transaction-description{font-size:16px}.transaction-amount{font-size:18px}.transaction-meta{font-size:12px;gap:8px}.transaction-day{font-size:13px;padding:4px 10px}.transaction-footer{align-items:stretch;flex-direction:column;gap:12px}.transaction-actions,.transaction-status{justify-content:center}.transaction-actions{flex-wrap:wrap}.action-btn{font-size:18px;height:40px;width:40px}.empty-state{padding:40px 20px}.empty-state h2{font-size:20px}.empty-state p{font-size:14px}}@media (max-width:480px){.page-header h1{font-size:20px}.page-subtitle{font-size:13px}.virtual-transaction-item{gap:12px;padding:12px}.transaction-icon{height:40px;width:40px}.transaction-description{font-size:15px}.transaction-amount{font-size:16px}.transaction-meta{font-size:11px}.transaction-day{font-size:12px;padding:3px 8px}.action-btn{font-size:16px;height:36px;width:36px}.modal-header{padding:16px}.modal-header h2{font-size:18px}.virtual-transaction-form-body{padding:16px}.form-actions{flex-direction:column;padding:12px 16px}.form-actions button{width:100%}.page-header{align-items:flex-start;flex-direction:column}.page-header-actions{flex-direction:column;width:100%}.view-toggle{justify-content:center;width:100%}.view-toggle-btn{flex:1 1;justify-content:center}.page-header .btn-primary{width:100%}}.toast-container{flex-direction:column;pointer-events:none;position:fixed;right:20px;top:80px;z-index:10000}.toast,.toast-container{display:flex;gap:12px;max-width:500px}.toast{word-wrap:break-word;align-items:flex-start;animation:slideInRight .3s ease-out;background:#fff;border-left:4px solid #666;border-radius:12px;box-shadow:0 8px 24px #00000026;padding:16px 20px;pointer-events:all}.toast.success{border-left-color:#28a745;border-left-color:var(--success-color,#28a745)}.toast.error{border-left-color:#dc3545;border-left-color:var(--danger-color,#dc3545)}.toast.warning{border-left-color:#ffc107}.toast.info{border-left-color:#e3a864}.toast-icon{align-items:center;display:flex;flex-shrink:0;font-size:20px;height:24px;justify-content:center;width:24px}.toast.success .toast-icon{color:#28a745;color:var(--success-color,#28a745)}.toast.error .toast-icon{color:#dc3545;color:var(--danger-color,#dc3545)}.toast.warning .toast-icon{color:#ffc107}.toast.info .toast-icon{color:#e3a864}.toast-content{flex:1 1;min-width:0}.toast-title{color:#333;font-size:15px;font-weight:600;margin:0 0 4px}.toast-message{color:#666;font-size:14px;line-height:1.5;margin:0;white-space:pre-line}.toast-close{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.toast-close:hover{background:#f0f0f0;color:#333}@keyframes slideInRight{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.toast-container{left:12px;max-width:none;right:12px;top:60px}.toast{max-width:none}}.profile-page{animation:fadeIn .3s}.profile-container{margin:0 auto;max-width:800px}.profile-info-card{background:linear-gradient(135deg,var(--primary-color) 0,#1a3550 100%);border-radius:16px;box-shadow:0 4px 16px #0000001a;color:var(--text-light);margin-bottom:32px;padding:40px;text-align:center}.profile-avatar{margin-bottom:20px}.avatar-circle{align-items:center;background:var(--secondary-color);border-radius:50%;box-shadow:0 4px 16px #0003;color:var(--primary-color);display:inline-flex;font-size:48px;font-weight:700;height:100px;justify-content:center;width:100px}.profile-info h2{color:var(--text-light);font-size:28px;font-weight:700;margin:0 0 8px}.profile-email{color:var(--text-muted);font-size:16px;margin:0}.profile-section{background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:32px}.section-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;gap:12px;margin-bottom:24px;padding-bottom:16px}.section-icon{color:var(--secondary-color);font-size:28px}.section-header h3{color:var(--primary-color);font-size:20px;font-weight:600;margin:0}.profile-form{gap:20px}.form-group,.profile-form{display:flex;flex-direction:column}.form-group label{color:var(--primary-color);font-size:14px;font-weight:600;margin-bottom:8px}.form-group input{background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;font-size:15px;padding:12px 16px;transition:all .3s;width:100%}.form-group input:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px #e3a8641a;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:48px}.toggle-password{align-items:center;background:#0000;border:none;color:#999;cursor:pointer;display:flex;font-size:20px;justify-content:center;padding:4px;position:absolute;right:12px;transition:color .3s}.toggle-password:hover{color:var(--secondary-color)}.btn-primary{background:var(--secondary-color);color:var(--primary-color);font-size:16px;justify-content:center;padding:14px 24px}.btn-primary:hover:not(:disabled){background:#d69852;box-shadow:0 4px 12px #e3a8644d;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-password{background:var(--primary-color);color:var(--text-light)}.btn-password:hover:not(:disabled){background:#1a3550;box-shadow:0 4px 12px #10243c4d}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}.error-message,.success-message{animation:slideIn .3s;font-size:14px;padding:12px 16px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;white-space:pre-line}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.profile-container{max-width:100%}.profile-info-card{padding:32px 24px}.avatar-circle{font-size:40px;height:80px;width:80px}.profile-info h2{font-size:24px}.profile-email{font-size:14px}.profile-section{padding:24px}.section-header{margin-bottom:20px}.section-icon{font-size:24px}.section-header h3{font-size:18px}.profile-form{gap:16px}}@media (max-width:480px){.profile-info-card{padding:24px 16px}.avatar-circle{font-size:32px;height:70px;width:70px}.profile-info h2{font-size:20px}.profile-section{padding:20px 16px}.section-header{align-items:flex-start;flex-direction:column;gap:8px}.btn-primary{font-size:15px;padding:12px 20px}.form-group input{font-size:14px;padding:10px 14px}.password-input-wrapper input{padding-right:44px}}.reports{animation:fadeIn .3s;padding:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reports-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.reports-header h1{color:var(--primary-color);flex:1 1;font-size:32px;margin:0;min-width:200px}.tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;background:var(--bg-white);border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:8px;margin-bottom:32px;overflow-x:auto;padding:8px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{background:#0000;border:2px solid #0000;border-radius:8px;color:#666;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s;white-space:nowrap}.tab:hover{background-color:#f9fafb;color:var(--primary-color)}.tab.active{background:linear-gradient(135deg,var(--secondary-color) 0,#d4955a 100%);border-color:var(--secondary-color);box-shadow:0 2px 8px #e3a8644d;color:#fff}.filters{background:var(--bg-white);border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:32px;padding:24px;transition:all .3s}.filters:hover{border-color:#e3a86433}.filters h3{align-items:center;color:var(--primary-color);display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.filter-group{flex:1 1;min-width:300px}.filter-group label{align-items:center;color:var(--primary-color);display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:8px}.date-range{align-items:center;display:flex;gap:12px}.date-range input[type=date]{background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;flex:1 1;font-size:14px;padding:12px;transition:all .3s}.date-range input[type=date]:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px #e3a8641a;outline:none}.date-range span{color:#666}.btn-filter,.date-range span{font-size:14px;font-weight:600}.btn-filter{align-items:center;background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:12px 20px;transition:all .3s;white-space:nowrap}.btn-filter:hover{background-color:#f9fafb;border-color:var(--secondary-color);box-shadow:0 4px 8px #e3a86433;color:var(--secondary-color);transform:translateY(-2px)}.period-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.btn-shortcut{background:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;color:#666;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s}.btn-shortcut:hover{background-color:#f9fafb;border-color:var(--secondary-color);box-shadow:0 2px 8px #e3a86433;color:var(--secondary-color);transform:translateY(-2px)}.btn-shortcut.active{background:linear-gradient(135deg,var(--secondary-color) 0,#d4955a 100%);border-color:var(--secondary-color);box-shadow:0 2px 8px #e3a8644d;color:#fff}.report-content{display:flex;flex-direction:column;gap:32px}.report-card{background:var(--bg-white);border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:all .3s}.report-card:hover{border-color:#e3a86433;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.report-card h3{align-items:center;display:flex;font-size:20px;gap:8px;margin:0 0 24px}.report-card h3,.report-card h4{color:var(--primary-color);font-weight:600}.report-card h4{font-size:18px;margin:24px 0 16px}.summary-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{background:#f9fafb;border:2px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .3s}.summary-item:hover{background:#fff;border-color:var(--secondary-color);box-shadow:0 2px 8px #e3a86426;transform:translateY(-2px)}.summary-label{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-value{color:var(--primary-color);font-size:28px;font-weight:700}.chart-legend{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:20px}.legend-item{align-items:center;border-radius:6px;display:flex;gap:8px;min-width:150px;padding:8px;transition:all .3s}.legend-item:hover{background:#f9fafb;transform:translateX(4px)}.legend-color{border-radius:4px;box-shadow:0 2px 4px #0003;height:16px;transition:all .3s;width:16px}.legend-item:hover .legend-color{transform:scale(1.2)}.legend-name{color:#666;flex:1 1;font-size:14px;font-weight:500}.legend-percentage{color:var(--primary-color);font-size:14px;font-weight:700}.transactions-list{display:flex;flex-direction:column;gap:12px}.transaction-item-report{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:8px;display:flex;gap:12px;padding:16px;transition:all .3s}.transaction-item-report:hover{background-color:#fafafa;border-color:var(--secondary-color);box-shadow:0 2px 8px #00000014;transform:translateX(4px)}.transaction-icon-small{align-items:center;border-radius:12px;box-shadow:0 2px 8px #00000026;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.transaction-details{flex:1 1;min-width:0}.transaction-title{color:var(--primary-color);font-size:16px;font-weight:600;margin-bottom:4px}.transaction-subtitle{color:#666;font-size:13px;font-weight:500}.transaction-amount{color:var(--primary-color);font-size:18px;font-weight:700;white-space:nowrap}.monthly-table{border:2px solid var(--border-color);border-radius:8px;margin-top:24px;overflow-x:auto}.monthly-table table{border-collapse:collapse;width:100%}.monthly-table td,.monthly-table th{border-bottom:1px solid #e5e7eb;padding:16px;text-align:left}.monthly-table th{background:linear-gradient(135deg,#f9f9f9,#fff);color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.monthly-table td{background:#fff;color:var(--primary-color);font-size:15px}.monthly-table tbody tr:hover{background:#fafafa;transition:all .2s}.text-right{text-align:right!important}.text-green{color:#10b981!important}.text-red{color:#ef4444!important}.text-blue{color:#e3a864!important}.font-bold{font-weight:600}.category-header{align-items:center;background:linear-gradient(135deg,#f9f9f9,#fff);border:2px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px}.category-info{align-items:center;display:flex;gap:16px}.category-icon-large{align-items:center;border-radius:16px;box-shadow:0 4px 12px #00000026;display:flex;height:64px;justify-content:center;width:64px}.category-type{font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.evolution-list{display:flex;flex-direction:column;gap:12px}.evolution-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px}.evolution-item:last-child{border-bottom:none}.evolution-month{color:#1f2937;font-size:14px;font-weight:600}.evolution-amount{font-size:16px;font-weight:700}.evolution-table{display:flex;flex-direction:column;gap:12px}.evolution-month-group{background:#fff;border:2px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s}.evolution-month-group:hover{border-color:var(--secondary-color);box-shadow:0 2px 8px #e3a86426}.evolution-month-header{align-items:center;background:linear-gradient(135deg,#f9f9f9,#fff);cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:all .3s}.evolution-month-header:hover{background:linear-gradient(135deg,#e3a8640d,#e3a86405)}.evolution-month-info{align-items:center;display:flex;gap:12px}.evolution-month-info>svg{color:#6b7280;flex-shrink:0}.evolution-month-name{color:var(--primary-color);display:block;font-size:16px;font-weight:700;text-transform:capitalize}.evolution-month-count{color:#6b7280;display:block;font-size:13px;margin-top:2px}.evolution-month-total{color:var(--primary-color);font-size:18px;font-weight:700}.evolution-month-transactions{background-color:#fafafa;border-top:1px solid #e5e7eb}.evolution-transaction-item{align-items:center;background-color:#fff;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;padding:16px 20px;transition:all .3s}.evolution-transaction-item:last-child{border-bottom:none}.evolution-transaction-item:hover{background:linear-gradient(90deg,#e3a8640d,#fff);transform:translateX(4px)}.empty-state-small{font-size:14px;margin:8px;padding:24px}.empty-state,.empty-state-small{background:#fafafa;border:2px dashed var(--border-color);border-radius:8px;color:#666;text-align:center}.empty-state{padding:60px 20px}.empty-state-full{align-items:center;background:#fafafa;border:2px dashed var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:80px 20px;text-align:center}.empty-state-full h3{color:var(--primary-color);font-size:20px;font-weight:600;margin:0}.empty-state-full p{color:#666;font-size:15px;margin:0}.modal{align-items:center;animation:fadeIn .3s;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--bg-white);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.modal-header{align-items:center;background:linear-gradient(135deg,#f9f9f9,#fff);border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;padding:24px 32px}.modal-header h2{color:var(--primary-color);font-size:24px;font-weight:600;margin:0}.close-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;padding:0;transition:all .3s;width:40px}.close-btn:hover{background-color:#f5f5f5;color:var(--error-color);transform:rotate(90deg)}.modal-body{overflow-y:auto;padding:32px}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1}.modal-body::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.modal-footer{background:var(--bg-white);border-top:2px solid var(--border-color);box-shadow:0 -4px 12px #0000000d;display:flex;gap:12px;justify-content:flex-end;padding:20px 32px}.category-filter-list{display:flex;flex-direction:column;gap:8px}.category-filter-item{align-items:center;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .3s}.category-filter-item:hover{background-color:#f9fafb;border-color:#e3a86433;transform:translateX(4px)}.category-filter-item input[type=checkbox]{accent-color:var(--secondary-color);cursor:pointer;height:20px;width:20px}.category-icon-filter{align-items:center;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.divider{background:linear-gradient(90deg,#0000,var(--border-color),#0000);height:2px;margin:12px 0}.category-selector-list{display:flex;flex-direction:column;gap:8px}.category-section-title{background:linear-gradient(135deg,#f9f9f9,#fff);border-left:4px solid var(--secondary-color);border-radius:6px;font-size:16px;font-weight:600;margin:16px 0 8px;padding:8px 12px}.category-selector-item{align-items:center;background:none;border:2px solid #0000;border-radius:8px;color:var(--primary-color);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px;text-align:left;transition:all .3s;width:100%}.category-selector-item:hover{background-color:#f9fafb;border-color:#e3a86433;transform:translateX(4px)}.btn-primary{align-items:center;background:linear-gradient(135deg,var(--secondary-color) 0,#d4955a 100%);border:none;border-radius:8px;box-shadow:0 2px 8px #e3a8644d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s}.btn-primary:hover{background:linear-gradient(135deg,#d4955a 0,var(--secondary-color) 100%);box-shadow:0 4px 12px #e3a86466;transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-white);border:2px solid var(--border-color);border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-secondary:hover{background-color:#f9fafb;border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a;color:var(--primary-color);transform:translateY(-2px)}.loading{align-items:center;color:var(--primary-color);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid var(--border-color);border-top-color:var(--secondary-color);height:50px;width:50px}.loading p{color:var(--primary-color);font-size:16px;font-weight:500}@media (max-width:768px){.reports-header{align-items:stretch;flex-direction:column;gap:16px}.reports-header h1{font-size:24px}.tabs{gap:6px;padding:6px}.tab{font-size:13px;padding:10px 16px}.filters{padding:20px}.filter-row{align-items:stretch;flex-direction:column;gap:12px}.filter-group{min-width:100%}.date-range{align-items:stretch;flex-direction:column;gap:8px}.date-range span{font-weight:600;text-align:center}.summary-content{gap:16px;grid-template-columns:1fr}.chart-legend{flex-direction:column}.legend-item{min-width:100%}.monthly-table td,.monthly-table th{font-size:13px;padding:12px 8px}.category-header{align-items:flex-start;flex-direction:column;gap:16px;padding:12px}.category-icon-large{height:56px;width:56px}.evolution-month-header{padding:14px 16px}.evolution-month-name{font-size:15px}.evolution-month-total{font-size:17px}.evolution-transaction-item{padding:14px 16px}.transaction-icon-small{height:40px;width:40px}.transaction-title{font-size:15px}.transaction-amount{font-size:16px}.period-shortcuts{flex-direction:column;gap:8px}.btn-shortcut{justify-content:center;text-align:center;width:100%}.modal-content{max-width:95%}.modal-header{padding:20px}.modal-header h2{font-size:20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px}}@media (max-width:480px){.reports-header h1{font-size:20px}.tabs{gap:4px;padding:4px}.tab{font-size:12px;padding:8px 12px}.filters{padding:16px}.filters h3{font-size:16px}.report-card{padding:20px}.report-card h3{font-size:18px}.summary-value{font-size:24px}.category-icon-large{height:48px;width:48px}.transaction-icon-small{height:36px;width:36px}.transaction-title{font-size:14px}.transaction-subtitle{font-size:12px}.transaction-amount{font-size:15px}.monthly-table td,.monthly-table th{font-size:12px;padding:10px 6px}.evolution-month-header{padding:12px}.evolution-month-name{font-size:14px}.evolution-month-total{font-size:16px}.evolution-transaction-item{padding:12px}.modal-header{padding:16px}.modal-header h2{font-size:18px}.modal-body{padding:16px}.modal-footer{flex-direction:column;padding:12px 16px}.modal-footer button{width:100%}}.pdf-config-form{gap:24px}.form-section,.pdf-config-form{display:flex;flex-direction:column}.form-section{gap:10px}.form-section label{align-items:center;color:var(--primary-color);display:flex;font-size:14px;font-weight:600;gap:8px}.form-section select{background:#fff;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;padding:12px;transition:all .3s;width:100%}.form-section select:focus{box-shadow:0 0 0 3px #e3a8641a;outline:none}.form-section select:focus,.form-section select:hover{border-color:var(--secondary-color)}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.pdf-viewer-modal .modal-content{display:flex;flex-direction:column;height:90vh;max-height:90vh;max-width:95vw;width:1200px}.pdf-viewer-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.pdf-viewer-body{align-items:center;background:#525659;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:0}.pdf-iframe{background:#fff;border:none;height:100%;width:100%}.pdf-viewer-footer{background:#f9fafb;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.pdf-viewer-footer button{min-width:140px}@media (max-width:768px){.pdf-viewer-modal .modal-content{border-radius:0;height:100vh;margin:0;max-height:100vh;width:100vw}.pdf-viewer-footer{flex-direction:column-reverse}.pdf-viewer-footer button{width:100%}}.layout{display:flex;flex-direction:column;min-height:100vh}.header{background:var(--primary-color);box-shadow:0 2px 8px #0000001a;color:var(--text-light);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;height:70px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 20px}.header-left{flex-shrink:0}.header-left,.logo-link{align-items:center;display:flex;gap:12px}.logo-link{border-radius:8px;cursor:pointer;padding:8px 12px;position:relative;text-decoration:none;transition:all .3s}.logo-link:hover{background:#ffffff1a}.logo-link:hover .logo{color:#f5c380}.logo{color:var(--secondary-color);font-size:24px;font-weight:700;margin:0;transition:color .3s}.logo-image{height:45px;object-fit:contain;width:auto}.nav{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:center}.nav-link{background:#0000;border:none;border-radius:8px;color:var(--text-light);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;padding:8px 20px;text-decoration:none;transition:all .3s;white-space:nowrap}.nav-link:hover{background:#ffffff1a}.nav-link.active{background:var(--secondary-color);color:var(--primary-color)}.nav-dropdown{display:inline-block;position:relative}.nav-dropdown:after{background:#0000;content:"";height:8px;left:0;position:absolute;right:0;top:100%}.dropdown-toggle{align-items:center;display:flex;gap:4px}.dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;min-width:180px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:calc(100% + 4px);transform:translateY(-10px);transition:all .2s ease-out;visibility:hidden;z-index:1000}.dropdown-menu.show,.nav-dropdown:hover .dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}@media (min-width:769px){.nav-dropdown:hover .dropdown-menu{display:block}}.dropdown-item{border-left:3px solid #0000;color:var(--primary-color);display:block;font-weight:500;padding:12px 20px;text-decoration:none;transition:all .2s}.dropdown-item:hover{background:#e3a8641a;border-left-color:var(--secondary-color)}.dropdown-item.active{background:#e3a86426;border-left-color:var(--secondary-color);color:var(--secondary-color)}.header-right{align-items:center;display:flex;gap:16px}.user-name{border-radius:8px;color:var(--text-muted);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .3s}.user-name:hover{background:#e3a8641a;color:var(--secondary-color)}.logout-button{background:#0000;border:2px solid #f44336cc;border-radius:8px;color:#f44336e6;cursor:pointer;font-weight:600;padding:8px 20px;transition:all .3s}.logout-button:hover{background:#f44336e6;border-color:#f44336e6;color:#fff}.menu-toggle{background:#0000;border:none;color:var(--text-light);cursor:pointer;display:none;font-size:24px;padding:8px}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:32px 20px;width:100%}@media (max-width:1024px){.header-content{flex-wrap:wrap;gap:12px;height:auto;min-height:70px;padding:12px 20px}.header-left{flex:1 1;min-width:0}.logo-link{padding:6px 10px}.logo{font-size:20px}.logo-image{height:35px}.nav{flex-wrap:wrap;gap:4px;justify-content:flex-start}.nav-link{font-size:14px;padding:6px 12px}.header-right{gap:12px}.user-name{font-size:13px}.logout-button{font-size:14px;padding:6px 16px}}@media (max-width:768px){.header-content{padding:12px 16px}.header-left{flex:1 1;min-width:0;order:1}.menu-toggle{display:block;flex-shrink:0;order:2}.header-right{flex-shrink:0;order:3}.nav{background:#0000001a;border-radius:8px;display:none;flex-direction:column;gap:0;margin-top:8px;order:4;padding:8px 0;width:100%}.nav.open{display:flex}.nav-link{border-radius:0;justify-content:flex-start;padding:12px 16px;text-align:left;width:100%}.nav-link:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.nav-link:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.nav-dropdown{width:100%}.dropdown-toggle{justify-content:space-between;width:100%}.dropdown-menu{background:#0003;border-radius:0;box-shadow:none;margin-top:0;max-height:0;opacity:0;overflow:hidden;position:static;transition:all .3s ease-out;visibility:hidden}.dropdown-menu.show{max-height:200px;opacity:1;pointer-events:auto;visibility:visible}.dropdown-item{color:var(--text-light);font-size:14px;padding:12px 16px 12px 32px}.dropdown-item:hover{background:#ffffff1a;border-left-color:var(--secondary-color)}.dropdown-item.active{background:#e3a86433;color:var(--secondary-color)}.user-name{font-size:13px;padding:8px 12px}.logout-button{font-size:13px;padding:8px 16px}.logo-link{gap:8px;padding:6px 8px}.logo{font-size:18px}.logo-image{height:32px}}@media (max-width:480px){.header-content{padding:10px 12px}.header-left{flex:1 1;min-width:0}.logo-link{gap:6px;min-width:0;padding:4px 6px}.logo{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-image{flex-shrink:0;height:28px}.user-name{font-size:12px;padding:6px 10px}.logout-button{font-size:12px;padding:6px 12px}.menu-toggle{font-size:20px;padding:4px}}
/*# sourceMappingURL=main.3283a4a4.css.map*/