*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-container form{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center}.login-logo{max-width:360px;max-height:120px;width:auto;height:auto;margin-bottom:24px;object-fit:contain}.login-container h2{margin-bottom:24px;color:#333;text-align:center;width:100%}.login-container form>div{margin-bottom:20px;width:100%}.login-container label{display:block;margin-bottom:8px;color:#555;font-weight:500}.login-container input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s}.login-container input:focus{outline:none;border-color:#007bff}.forgot-password-link{display:block;margin-top:8px;text-align:right;color:#007bff;text-decoration:none;font-size:14px;transition:color .2s}.forgot-password-link:hover{text-decoration:underline;color:#0056b3}.login-container button{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s}.login-container button:hover:not(:disabled){background-color:#0056b3}.login-container button:disabled{background-color:#ccc;cursor:not-allowed}.error{background-color:#fee;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px;border:1px solid #fcc}.loading{text-align:center;padding:20px;color:#666}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@media(max-width:768px){.login-logo{max-width:180px;max-height:70px;margin-bottom:20px}.login-container form{padding:30px 20px}}@media(max-width:480px){.login-logo{max-width:150px;max-height:60px;margin-bottom:16px}.login-container form{padding:24px 16px}}.notification-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification{padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease;pointer-events:auto;min-width:300px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-content{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notification-message{flex:1;font-size:14px;line-height:1.5;word-wrap:break-word}.notification-dismiss{background:none;border:none;font-size:24px;line-height:1;color:inherit;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease;flex-shrink:0}.notification-dismiss:hover{opacity:1}.notification-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.notification-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.notification-info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}@media(max-width:768px){.notification-container{top:10px;right:10px;left:10px;max-width:none}.notification{min-width:auto}}.forgot-password-instructions{margin-bottom:20px;color:#666;font-size:14px;line-height:1.5;text-align:center}.forgot-password-instructions strong{color:#333;font-weight:600}.forgot-password-actions{display:flex;gap:12px;margin-top:24px;width:100%;align-items:flex-start}.btn-back{flex:1;padding:12px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s;height:44px;min-height:44px;max-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.2;margin:24px 0 0;vertical-align:top}.btn-back:hover:not(:disabled){background-color:#5a6268}.btn-back:disabled{background-color:#ccc;cursor:not-allowed}.btn-submit{flex:1;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s;height:44px;min-height:44px;max-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.2;margin:24px 0 0;vertical-align:top}.password-requirements ul{margin:0;padding-left:20px;color:#666}.password-requirements li{margin-bottom:4px}.forgot-password-success{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;text-align:center}.forgot-password-success h2{margin-bottom:16px;color:#28a745}.success-message{color:#666;font-size:14px;line-height:1.5;margin:0}@media(max-width:768px){.forgot-password-actions{flex-direction:column}.btn-back,.btn-submit{width:100%}}@media(max-width:480px){.forgot-password-instructions{font-size:13px}.password-requirements{font-size:12px}}.new-password-instructions{margin-bottom:20px;color:#666;font-size:14px;line-height:1.5;text-align:center}.validation-errors{margin-top:8px;padding:12px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:13px}.validation-errors li{margin-bottom:4px}.validation-errors li:last-child{margin-bottom:0}.password-requirements{margin-top:16px;padding:12px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-size:13px}.requirements-title{margin:0 0 8px;font-weight:600;color:#333}.password-requirements ul{margin:0;padding-left:0;color:#666;list-style:none}.password-requirements li{margin-bottom:8px;display:flex;align-items:center;gap:8px;transition:color .2s}.password-requirements li:last-child{margin-bottom:0}.password-requirements li.requirement-met{color:#28a745}.requirement-check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.requirement-check svg{display:block}.btn-submit{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s;margin-top:24px}@media(max-width:480px){.new-password-instructions{font-size:13px}.password-requirements{font-size:12px}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-header{background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000;overflow:visible;padding:8px 0}.layout-nav{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;min-height:64px;height:auto;position:relative;flex-wrap:wrap;gap:8px;overflow:visible}.layout-nav-brand{flex-shrink:0;min-width:0;flex:0 1 auto}.layout-nav-brand a{display:flex;align-items:center;text-decoration:none;height:100%}.layout-nav-brand img{height:auto;max-height:60px;width:auto;object-fit:contain}.layout-nav-brand .logo-desktop{display:none}.layout-nav-brand .logo-mobile{display:block;max-height:60px;max-width:220px}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:0;z-index:1001;position:relative}.hamburger-icon{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:18px;position:relative}.hamburger-icon span{display:block;height:2px;width:100%;background-color:#333;border-radius:2px;transition:all .3s ease;transform-origin:center}.hamburger-icon.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger-icon.open span:nth-child(2){opacity:0;transform:translate(-10px)}.hamburger-icon.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.layout-nav-links{display:none;flex-direction:column;gap:0;width:100%;background-color:#fff;border-top:1px solid #e0e0e0;box-shadow:0 4px 6px #0000001a;padding:0;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;order:2}.layout-nav-links.open{display:flex;max-height:500px;padding:12px 0}.layout-nav-links a{color:#333;text-decoration:none;padding:12px 16px;border-radius:0;transition:background-color .2s,color .2s;display:block;width:100%;box-sizing:border-box;border-bottom:1px solid #f0f0f0}.layout-nav-links a:last-child{border-bottom:none}.layout-nav-links a:hover{background-color:#f5f5f5;color:#007bff}.layout-nav-links a.active{background-color:#007bff;color:#fff;font-weight:600}.layout-nav-user{display:none;flex-direction:column;align-items:flex-start;gap:12px;width:100%;padding:0;background-color:#f8f9fa;border-top:1px solid #e0e0e0;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;order:3}.layout-nav-user.open{display:flex;max-height:200px;padding:12px 16px}.user-email{color:#666;font-size:14px;width:100%}.logout-btn{width:100%;padding:10px 16px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.logout-btn:hover{background-color:#c82333}.layout-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:16px;box-sizing:border-box}@media(min-width:481px){.layout-nav{padding:0 20px}.layout-main{padding:20px}}@media(min-width:600px)and (max-width:999px){.layout-nav{padding:0 24px;gap:12px}.layout-nav-brand{flex:0 1 auto;max-width:calc(100% - 60px)}.layout-nav-brand a{max-width:100%}.layout-nav-brand .logo-mobile{max-height:65px;max-width:240px}.mobile-menu-toggle{width:44px;height:44px;flex-shrink:0}.layout-nav-links{order:2}.layout-nav-user{order:3}}@media(min-width:1000px){.mobile-menu-toggle{display:none}.layout-nav{height:64px;flex-wrap:nowrap}.layout-nav-brand .logo-desktop{display:block;max-height:70px;max-width:300px}.layout-nav-brand .logo-mobile{display:none}.layout-nav-links{display:flex;flex-direction:row;gap:8px;flex:1;justify-content:center;position:static;max-height:none;padding:0;box-shadow:none;border:none;background:transparent}.layout-nav-links a{padding:8px 16px;border-radius:4px;border-bottom:none;width:auto;white-space:nowrap}.layout-nav-user{display:flex;flex-direction:row;align-items:center;gap:16px;width:auto;position:static;max-height:none;padding:0;background:transparent;border:none;box-shadow:none}.user-email{width:auto;font-size:14px}.logout-btn{width:auto;padding:8px 16px}.layout-main{padding:24px 20px}}@media(min-width:1200px){.layout-nav-links{gap:24px}}.filter-panel{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;box-shadow:0 2px 4px #0000000d;width:100%;box-sizing:border-box}.filter-panel-header{display:flex;flex-direction:column;gap:12px;padding:16px;border-bottom:1px solid #e0e0e0;background:#f8f9fa;border-radius:8px 8px 0 0}.filter-panel-title{width:100%}.filter-panel-actions{display:flex;flex-direction:column;gap:8px;width:100%}.filter-toggle-btn{display:flex;align-items:center;gap:8px;background:none;border:none;font-size:16px;font-weight:600;color:#333;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s;width:100%;text-align:left}.filter-toggle-btn:hover{background-color:#e9ecef}.filter-toggle-icon{font-size:12px;transition:transform .2s}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#007bff;color:#fff;border-radius:10px;font-size:12px;font-weight:600;margin-left:8px;animation:badgePulse .3s ease-in-out}@keyframes badgePulse{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.filter-apply-btn,.filter-share-btn,.filter-clear-all-btn{width:100%;padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box}.filter-apply-btn{background:#28a745;color:#fff}.filter-apply-btn:hover{background:#218838}.filter-share-btn{background:#007bff;color:#fff}.filter-share-btn:hover{background:#0056b3}.filter-clear-all-btn{background:#dc3545;color:#fff}.filter-clear-all-btn:hover{background:#c82333}.filter-panel-content{padding:16px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-grid{display:grid;grid-template-columns:1fr;gap:16px;width:100%;box-sizing:border-box}.filter-group{display:flex;flex-direction:column;gap:8px;transition:all .2s ease;width:100%;box-sizing:border-box;min-width:0}.filter-group:has(.filter-input:focus),.filter-group:has(.filter-select:focus){transform:translateY(-1px)}.filter-label{font-size:14px;font-weight:600;color:#333;margin-bottom:4px}.filter-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;flex-wrap:wrap;gap:8px}.filter-clear-btn{background:none;border:none;color:#007bff;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:3px;transition:background-color .2s;white-space:nowrap}.filter-clear-btn:hover{background-color:#e7f3ff}.filter-input,.filter-select{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;min-width:0}.filter-input:focus,.filter-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;transition:border-color .2s,box-shadow .2s}.filter-input:not(:placeholder-shown),.filter-select:not([value=""]){border-color:#28a745}.filter-input:not(:placeholder-shown):focus,.filter-select:not([value=""]):focus{border-color:#007bff}.filter-select-multiple{min-height:100px;padding:4px;width:100%;box-sizing:border-box}.filter-select-multiple option{padding:6px 8px}.filter-selected-count{font-size:12px;color:#6c757d;margin-top:4px}.filter-error{font-size:12px;color:#dc3545;margin-top:4px}.date-range-filter{display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box}.date-inputs{display:grid;grid-template-columns:1fr;gap:12px;width:100%;box-sizing:border-box}.date-input-group{display:flex;flex-direction:column;gap:4px;width:100%;box-sizing:border-box}.date-input-label{font-size:12px;color:#6c757d;font-weight:500}.amount-range-filter{display:grid;grid-template-columns:1fr;gap:12px;width:100%;box-sizing:border-box}.amount-input-group{display:flex;flex-direction:column;gap:4px;width:100%;box-sizing:border-box}.amount-input-label{font-size:12px;color:#6c757d;font-weight:500}.search-input-wrapper{position:relative;width:100%;box-sizing:border-box}.search-input{padding-right:36px;width:100%;box-sizing:border-box}.search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none;color:#6c757d}.sort-control{width:100%;box-sizing:border-box}.filter-panel-export{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0;display:flex;justify-content:center;width:100%;box-sizing:border-box}.filter-export-btn{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:300px;box-sizing:border-box}.filter-export-btn:hover{background:#218838}.filter-panel.collapsed .filter-panel-content{display:none}.filter-panel.collapsed{border-radius:8px}.filter-panel.collapsed .filter-panel-header{border-bottom:none;border-radius:8px}.filter-panel.loading{position:relative;opacity:.7;pointer-events:none}.filter-panel.loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffb3;border-radius:8px;z-index:10}.filter-panel.loading:before{content:"Aplicando filtros...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:11;color:#007bff;font-weight:500;font-size:14px}.filter-group:has(.filter-input:not(:placeholder-shown)),.filter-group:has(.filter-select:not([value=""])){background:#007bff05;padding:12px;border-radius:6px;border-left:3px solid #007bff;box-sizing:border-box}@media(min-width:481px){.filter-panel-header{flex-direction:row;justify-content:space-between;align-items:center;padding:16px 20px}.filter-panel-title{flex:1}.filter-panel-actions{flex-direction:row;width:auto;gap:8px}.filter-toggle-btn{width:auto}.filter-apply-btn,.filter-share-btn,.filter-clear-all-btn{width:auto;padding:6px 12px}.filter-panel-content{padding:20px}.date-inputs,.amount-range-filter{grid-template-columns:1fr 1fr}}@media(min-width:769px){.filter-grid{grid-template-columns:repeat(2,1fr);gap:20px}.sort-control{grid-column:1 / -1}}@media(min-width:1024px){.filter-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}}@media(min-width:1440px){.filter-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}}.dashboard-stats{margin-bottom:24px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #007bff;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-card-expenses{border-left-color:#dc3545}.stat-card-incomes{border-left-color:#28a745}.stat-card-net{border-left-color:#007bff}.stat-card-net.stat-positive{border-left-color:#28a745}.stat-card-net.stat-negative{border-left-color:#dc3545}.stat-card-retiradas{border-left-color:#ff9800}.stat-card-final{border-left-color:#007bff}.stat-card-final.stat-positive{border-left-color:#28a745}.stat-card-final.stat-negative{border-left-color:#dc3545}.stat-card-count{border-left-color:#6c757d}.stat-label{font-size:14px;color:#6c757d;margin-bottom:8px;font-weight:500}.stat-value{font-size:24px;font-weight:700;color:#333;margin-bottom:4px}.stat-card-net.stat-positive .stat-value{color:#28a745}.stat-card-net.stat-negative .stat-value{color:#dc3545}.stat-card-final.stat-positive .stat-value{color:#28a745}.stat-card-final.stat-negative .stat-value{color:#dc3545}.stat-note{font-size:11px;color:#999;font-style:italic;margin-top:4px}.stat-info{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;font-size:12px;color:#fff}.stat-info-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ffffff40;border-radius:4px;font-size:12px;font-weight:700;font-style:normal;flex-shrink:0;color:#fff}.stat-info-text{line-height:1.4;flex:1}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.cumulative-chart-container{width:100%;margin-top:24px}.chart-card{overflow-x:auto}.chart-info{display:flex;align-items:center;gap:8px;margin-top:8px;margin-bottom:16px;padding:8px 12px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;font-size:12px;color:#fff}.chart-info-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ffffff40;border-radius:4px;font-size:12px;font-weight:700;font-style:normal;flex-shrink:0;color:#fff}.chart-info-text{line-height:1.4;flex:1}.chart-legend{display:flex;gap:24px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e0e0e0}.legend-item{display:flex;align-items:center;gap:8px}.legend-line{width:24px;height:3px;border-radius:2px}.legend-line-expense{background-color:#dc3545}.legend-line-income{background-color:#28a745}.legend-label{font-size:14px;color:#333;font-weight:500}.chart-wrapper{width:100%;overflow-x:auto;overflow-y:hidden;position:relative}.cumulative-chart{display:block;width:100%;max-width:100%;height:400px}.chart-line{transition:opacity .2s}.chart-point{transition:r .2s;cursor:pointer}.chart-point:hover{r:6}.chart-line-expense:hover,.chart-point-expense:hover~.chart-line-expense{opacity:.8}.chart-line-income:hover,.chart-point-income:hover~.chart-line-income{opacity:.8}@media(max-width:768px){.chart-legend{flex-direction:column;gap:12px}.chart-wrapper{overflow-x:scroll;-webkit-overflow-scrolling:touch}}.dashboard{width:100%}.dashboard h1{margin-bottom:24px;color:#333}.dashboard-loading{text-align:center;padding:40px;color:#666}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:24px}.dashboard-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;overflow:visible;position:relative}.dashboard-card h2{margin:0 0 16px;color:#333;font-size:18px;position:sticky;top:80px;background:#fff;z-index:100;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s ease}.balance-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.balance-card h2{color:#fff;opacity:.9;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px 8px 0 0}.balance-as-of{margin:0 0 8px;font-size:14px;color:#fff;opacity:.95;font-weight:500}.balance-amount{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}.balance-value{font-size:36px;font-weight:700}.balance-currency{font-size:18px;opacity:.9}.account-balances{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.3)}.account-balances h3{margin:0 0 12px;font-size:14px;opacity:.9}.account-balances ul{list-style:none;padding:0;margin:0}.account-balances li{padding:8px 0;font-size:14px;opacity:.9}.balance-info{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;background-color:#ffffff26;border-radius:4px;font-size:12px;opacity:.85}.balance-info-icon{font-size:14px;flex-shrink:0}.balance-info-text{line-height:1.4}.future-expenses{border-left:3px solid #ffc107;position:relative;display:flex;flex-direction:column}.future-expenses .expense-list{max-height:400px;overflow-y:auto}.future-expenses-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:16px;background-color:#fffbf0;border-radius:4px;border:1px solid #ffc107}.future-expenses-sum-label{font-weight:500;color:#856404;font-size:14px}.future-expenses-sum-value{font-weight:700;color:#856404;font-size:18px}.expense-item-future{opacity:.85}.expense-pending-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background-color:#fff3cd;color:#856404;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.expense-pending-icon{font-size:12px}.expense-pending-text{font-size:11px}.recent-expenses{position:relative;display:flex;flex-direction:column}.recent-expenses .expense-list{max-height:400px;overflow-y:auto}.expense-list{list-style:none;padding:0;margin:0}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e0e0}.expense-item:last-child{border-bottom:none}.expense-info{display:flex;flex-direction:column;gap:4px;flex:1}.expense-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.expense-category-badge{display:inline-block;padding:3px 8px;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.expense-description{font-weight:500;color:#333}.expense-date{font-size:12px;color:#666}.expense-amount{font-weight:700;color:#dc3545}.no-data{color:#666;font-style:italic;text-align:center;padding:20px}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:4px;margin-bottom:16px;border:1px solid #fcc}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}}.dashboard .filter-panel{margin-bottom:24px}.dashboard-summaries{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:24px}.summary-list{list-style:none;padding:0;margin:0}.summary-item{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:8px 0;border-bottom:1px solid #e0e0e0}.summary-item:last-child{border-bottom:none}.summary-item-label{font-weight:500;color:#333;font-size:14px}.summary-item-count{font-size:12px;color:#666;text-align:center;white-space:nowrap}.summary-item-value{font-weight:700;font-size:16px;white-space:nowrap}.summary-item-value-expense{color:#dc3545}.summary-item-value-income{color:#28a745}.transactions-table{width:100%;border-collapse:collapse}.transactions-table-header{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding:12px 0;border-bottom:2px solid #e0e0e0;font-weight:600;font-size:14px;color:#666}.transactions-table-body{display:flex;flex-direction:column}.transactions-table-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #e0e0e0}.transactions-table-row:last-child{border-bottom:none}.transactions-table-cell{display:flex;align-items:center;font-size:14px}.transactions-table-date{color:#333;font-weight:500}.transactions-table-income{color:#28a745;font-weight:500;justify-content:flex-end}.transactions-table-expense{color:#dc3545;font-weight:500;justify-content:flex-end}@media(max-width:768px){.dashboard-summaries{grid-template-columns:1fr}.transactions-table-header,.transactions-table-row{grid-template-columns:1fr 1fr 1fr;gap:8px;font-size:12px}}.expense-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:12px;transition:box-shadow .2s}.expense-item-card:hover{box-shadow:0 2px 8px #0000001a}.expense-item-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.expense-item-info{flex:1}.expense-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.expense-item-category-badge{display:inline-block;padding:4px 10px;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.expense-item-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:#666;margin-bottom:8px}.expense-item-date,.expense-item-category,.expense-item-account{padding:4px 8px;background-color:#f5f5f5;border-radius:4px}.expense-item-description{margin:0;font-size:16px;font-weight:500;color:#333}.expense-item-right{display:flex;align-items:flex-start;gap:12px}.expense-item-amount{font-size:20px;font-weight:700;color:#dc3545;white-space:nowrap}.expense-item-actions{display:flex;flex-direction:column;gap:8px}.expense-item-pending{opacity:.75;border-style:dashed;border-color:#ffc107;background-color:#fffbf0}.expense-item-pending-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:#fff3cd;color:#856404;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.expense-item-pending-icon{font-size:14px}.expense-item-pending-text{font-size:12px}.expense-form{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;max-width:600px;margin:0 auto}.expense-form h2{margin:0 0 24px;color:#333}.future-expense-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:4px 8px;background-color:#fff3cd;color:#856404;border-radius:4px;font-size:12px;font-weight:500}.future-expense-icon{font-size:14px}.future-expense-info{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:12px;background-color:#e7f3ff;border-left:3px solid #2196F3;border-radius:4px;font-size:14px;color:#1976d2;line-height:1.5}.info-icon{font-size:16px;flex-shrink:0;margin-top:2px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;gap:16px}.pagination-info{display:flex;align-items:center;gap:12px;font-size:14px;color:#666}.pagination-select{padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;cursor:pointer;background:#fff}.pagination-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.pagination-page-info{font-weight:500;color:#333}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-btn{min-width:36px;height:36px;padding:0 12px;border:1px solid #ced4da;border-radius:4px;background:#fff;color:#333;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#007bff;color:#007bff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:#007bff;border-color:#007bff;color:#fff;font-weight:600}.pagination-ellipsis{padding:0 8px;color:#666}@media(max-width:768px){.pagination{flex-direction:column;align-items:stretch}.pagination-info{justify-content:space-between;width:100%}.pagination-controls{justify-content:center;flex-wrap:wrap}.pagination-btn{min-width:32px;height:32px;padding:0 8px;font-size:12px}}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;padding:24px;box-sizing:border-box}.confirm-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:100%;max-width:420px;padding:28px 24px 24px}.confirm-modal-title{margin:0 0 12px;font-size:18px;font-weight:600;color:#333}.confirm-modal-message{margin:0 0 24px;font-size:15px;line-height:1.5;color:#555}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-modal-btn{padding:9px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background-color .2s,border-color .2s}.confirm-modal-btn-cancel{background:#fff;border-color:#ccc;color:#555}.confirm-modal-btn-cancel:hover{background:#f5f5f5;border-color:#aaa}.confirm-modal-btn-confirm{background:#dc3545;color:#fff;border-color:#dc3545}.confirm-modal-btn-confirm:hover{background:#c82333;border-color:#c82333}@media(max-width:480px){.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-btn{width:100%;text-align:center}}.expense-list{width:100%}.expense-list-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.expense-list-header h2{margin:0;color:#333;font-size:24px;line-height:1.2}@media(min-width:481px){.expense-list-header{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.btn-add{align-self:auto;padding:10px 20px;font-size:16px}}.expense-form-container{margin-bottom:24px}.expense-list-loading,.expense-list-error{text-align:center;padding:40px;color:#666}.expense-list-error{color:#dc3545;background-color:#fee;border:1px solid #fcc;border-radius:4px}.expense-list-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.expense-list-empty p{color:#666;margin-bottom:20px;font-size:16px}.expense-list-items{display:flex;flex-direction:column;gap:12px}.expense-list-summary{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.expense-list-results-info{padding:12px 16px;background-color:#f8f9fa;border-radius:4px;font-size:14px;color:#6c757d;border-left:3px solid #007bff}.expense-list-stats-cards{display:flex;flex-direction:column;gap:12px;width:100%}@media(min-width:769px){.expense-list-stats-cards{flex-direction:row;flex-wrap:nowrap;gap:16px;width:100%}}.expense-list-total-expenses{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#dc3545,#c82333);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600;flex:1;min-width:0}.expense-list-total-future{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#f7971e,#ffd200);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600;flex:1;min-width:0}.expense-list-total-retiradas{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600;flex:1;min-width:0}.expense-list-total-sum{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600;flex:1;min-width:0}.expense-list-average{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600;flex:1;min-width:0}.expense-list-average-per-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600;flex:1;min-width:0}.total-sum-label,.average-label{font-size:14px;opacity:.9;text-align:center}.average-value-line{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.average-note{font-size:11px;opacity:.8;font-style:italic;text-align:center}@media(max-width:768px){.expense-list-total-expenses,.expense-list-total-future,.expense-list-total-retiradas,.expense-list-total-sum,.expense-list-average,.expense-list-average-per-day{justify-content:center}}.income-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:12px;transition:box-shadow .2s}.income-item-card:hover{box-shadow:0 2px 8px #0000001a}.income-item-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.income-item-info{flex:1}.income-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.income-item-category-badge{display:inline-block;padding:4px 10px;background-color:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.income-item-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:#666;margin-bottom:8px}.income-item-date,.income-item-category,.income-item-account{padding:4px 8px;background-color:#f5f5f5;border-radius:4px}.income-item-description{margin:0;font-size:16px;font-weight:500;color:#333}.income-item-right{display:flex;align-items:flex-start;gap:12px}.income-item-amount{font-size:20px;font-weight:700;color:#28a745;white-space:nowrap}.income-item-actions{display:flex;flex-direction:column;gap:8px}.income-form{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;max-width:600px;margin:0 auto}.income-form h2{margin:0 0 24px;color:#333}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff}.error-text{display:block;color:#dc3545;font-size:14px;margin-top:4px}.form-hint{display:block;margin-top:4px;font-size:12px;color:#666;font-style:italic}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.btn-submit,.btn-cancel{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .2s}.btn-submit{background-color:#28a745;color:#fff}.btn-submit:hover:not(:disabled){background-color:#218838}.btn-submit:disabled{background-color:#ccc;cursor:not-allowed}.btn-cancel:disabled{background-color:#ccc;cursor:not-allowed}.income-list{width:100%}.income-list-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.income-list-header h2{margin:0;color:#333;font-size:24px;line-height:1.2}.btn-add{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;white-space:nowrap;align-self:flex-start;box-sizing:border-box}.btn-add:hover{background-color:#218838}@media(min-width:481px){.income-list-header{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.btn-add{align-self:auto;padding:10px 20px;font-size:16px}}.income-form-container{margin-bottom:24px}.income-list-loading,.income-list-error{text-align:center;padding:40px;color:#666}.income-list-error{color:#dc3545;background-color:#fee;border:1px solid #fcc;border-radius:4px}.income-list-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.income-list-empty p{color:#666;margin-bottom:20px;font-size:16px}.income-list-items{display:flex;flex-direction:column;gap:12px}.income-list-summary{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.income-list-results-info{padding:12px 16px;background-color:#f8f9fa;border-radius:4px;font-size:14px;color:#6c757d;border-left:3px solid #007bff}.income-list-total-sum{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:linear-gradient(135deg,#28a745,#20c997);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600}.income-list-average{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:linear-gradient(135deg,#11998e,#38ef7d);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600}.income-list-average-per-day{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600}.total-sum-label,.average-label{font-size:14px;opacity:.9}.total-sum-value,.average-value{font-size:20px;font-weight:700}.average-info{font-size:12px;opacity:.85}@media(min-width:769px){.income-list-summary{flex-direction:row;align-items:center;flex-wrap:wrap}.income-list-results-info{flex:1}.income-list-total-sum,.income-list-average,.income-list-average-per-day{flex-shrink:0}}@media(max-width:768px){.income-list-total-sum,.income-list-average,.income-list-average-per-day{justify-content:center}}.transfer-form-container{margin-bottom:24px}.transfer-form{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.transfer-form h3{margin:0 0 20px;color:#333;font-size:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:14px}.form-control{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-control.error{border-color:#dc3545}.form-control.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.form-hint{display:block;margin-top:4px;font-size:12px;color:#6c757d}.error-message{display:block;margin-top:4px;font-size:12px;color:#dc3545}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:120px}.btn-cancel{background-color:#6c757d;color:#fff}.btn-cancel:hover:not(:disabled){background-color:#5a6268}.btn-submit:hover:not(:disabled){background-color:#0056b3}.btn-cancel:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.transfer-form{padding:16px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.transfer-list{width:100%;margin-top:24px}.transfer-form-container{margin:16px 0;padding:0;background:#f8f9fa;border-radius:8px;border:2px solid #007bff;overflow:hidden}.transfer-list-loading,.transfer-list-error{text-align:center;padding:40px;color:#666}.transfer-list-error{color:#dc3545;background-color:#fee;border:1px solid #fcc;border-radius:4px;padding:20px}.transfer-list-error-retry{margin-top:12px}.transfer-list-error-retry button{padding:8px 16px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.transfer-list-error-retry button:hover{background-color:#c82333}.transfer-list-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.transfer-list-empty p{color:#666;margin-bottom:20px;font-size:16px;line-height:1.5}.transfer-list-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.btn-clear-filters{padding:10px 20px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:8px}.btn-clear-filters:hover{background-color:#5a6268}.transfer-list-summary{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:12px 16px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.transfer-list-results-info{font-size:14px;color:#666;font-weight:500}.transfer-list-items{display:flex;flex-direction:column;gap:12px}.transfer-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:all .2s ease;position:relative}.transfer-item-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#007bff;transform:translateY(-1px)}.transfer-item-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.transfer-item-info{flex:1;min-width:0}.transfer-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.transfer-item-orphaned-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:#fff3cd;color:#856404;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.transfer-item-orphaned-icon{font-size:14px}.transfer-item-orphaned-text{font-size:12px}.transfer-item-accounts{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;font-size:16px;font-weight:500;color:#333}.transfer-item-from-account{color:#dc3545;font-weight:600}.transfer-item-arrow{color:#666;font-size:18px;font-weight:700}.transfer-item-to-account{color:#28a745;font-weight:600}.transfer-item-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:#666;margin-bottom:8px}.transfer-item-date{padding:4px 8px;background-color:#f5f5f5;border-radius:4px}.transfer-item-description{margin:0;font-size:16px;font-weight:500;color:#333;word-wrap:break-word}.transfer-item-description-empty{color:#999;font-style:italic;font-weight:400}.transfer-item-right{display:flex;align-items:flex-start;gap:12px;flex-shrink:0}.transfer-item-amount{font-size:20px;font-weight:700;color:#007bff;white-space:nowrap;text-align:right}@media(max-width:768px){.transfer-item-amount{text-align:left}}.transfer-item-actions{display:flex;flex-direction:column;gap:8px}.btn-edit,.btn-delete{display:inline-flex;align-items:center;justify-content:center;min-width:40px;width:40px;min-height:40px;height:40px;padding:0;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s,transform .1s;flex-shrink:0}.btn-edit:hover:not(:disabled){background-color:#0056b3;transform:scale(1.05)}.btn-edit:active:not(:disabled){transform:scale(.95)}.btn-edit:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.transfer-item-orphaned{opacity:.85;border-style:dashed;border-color:#ffc107;background-color:#fffbf0}.transfer-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.transfer-list-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.transfer-list{margin-top:16px}.transfer-item-main{flex-direction:column;gap:12px}.transfer-item-right{width:100%;justify-content:space-between;align-items:center}.transfer-item-actions{flex-direction:row}.transfer-item-accounts{font-size:14px}.transfer-item-amount{font-size:18px}.transfer-form-container{margin:12px 0;border-width:1px}.transfer-list-summary{margin-bottom:12px}}.accounts{width:100%}.accounts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.accounts h1{margin:0;color:#333}.btn-transfer{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-transfer:hover{background-color:#0056b3}@media(max-width:768px){.accounts-header{flex-direction:column;align-items:stretch}.btn-transfer{width:100%}}.accounts-loading,.accounts-error{text-align:center;padding:40px}.accounts-error{color:#dc3545;background-color:#fee;border:1px solid #fcc;border-radius:4px}.accounts-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#666}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.account-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s}.account-card:hover{box-shadow:0 4px 8px #00000026}.account-card h3{margin:0 0 8px;color:#333;font-size:18px}.account-type{margin:0 0 12px;color:#666;font-size:14px;text-transform:capitalize}.account-balance{margin:0 0 8px;font-size:24px;font-weight:700;color:#28a745}.account-bank{margin:0;color:#666;font-size:12px}.account-balance-info{display:flex;align-items:center;gap:6px;margin:8px 0 0;padding:6px 10px;background-color:#f8f9fa;border-radius:4px;font-size:11px;color:#666}.account-balance-info-icon{font-size:12px;flex-shrink:0}.account-balance-info-text{line-height:1.4}.account-card-links{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.account-link{display:inline-block;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;border-radius:4px;transition:all .2s ease;border:1px solid transparent;flex:1;text-align:center;min-width:0}.account-link-expenses{color:#dc3545;background-color:#fff5f5;border-color:#fecaca}.account-link-expenses:hover{background-color:#fee2e2;border-color:#fca5a5;color:#b91c1c}.account-link-incomes{color:#28a745;background-color:#f0fdf4;border-color:#bbf7d0}.account-link-incomes:hover{background-color:#dcfce7;border-color:#86efac;color:#15803d}.accounts-grid{margin-bottom:32px}@media(max-width:768px){.accounts-grid{margin-bottom:24px}}.tabs-container{width:100%;overflow:visible}.tabs-header{display:flex;gap:8px;border-bottom:2px solid #e0e0e0;margin-bottom:24px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tabs-header::-webkit-scrollbar{display:none}.tab-button{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:16px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-bottom:-2px;position:relative}.tab-button:hover{color:#007bff;background-color:#f8f9fa}.tab-button.active{color:#007bff;border-bottom-color:#007bff;background-color:transparent}.tab-button:focus{outline:none;box-shadow:0 0 0 3px #007bff1a}.tabs-content{position:relative;overflow:visible}.tab-panel{display:none;animation:fadeIn .3s ease}.tab-panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.tabs-header{flex-direction:column;border-bottom:none;gap:0}.tab-button{border-bottom:none;border-left:3px solid transparent;text-align:left;border-radius:4px;margin-bottom:4px}.tab-button.active{border-left-color:#007bff;border-bottom-color:transparent;background-color:#f8f9fa}}.category-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;margin-bottom:24px}.category-form h3{margin:0 0 20px;color:#333;font-size:20px}.form-group input[type=text]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s ease}.form-group input[type=text]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.color-input-group{display:flex;gap:12px;align-items:center}.color-picker{width:60px;height:40px;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:2px}.color-text-input{flex:1;font-family:monospace}.form-hint{display:block;margin-top:4px;font-size:12px;color:#666}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.form-info{margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:4px;border-left:3px solid #007bff}.parent-category-info{margin:0;font-size:14px;color:#555;display:flex;align-items:center;gap:8px}.parent-color-preview{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid #ddd;vertical-align:middle}.optional{color:#666;font-weight:400;font-size:12px;margin-left:4px}.category-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:8px;transition:all .2s ease;overflow:hidden}.category-item:hover{box-shadow:0 2px 4px #0000001a;border-color:#d0d0d0}.category-main{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.category-info{display:flex;align-items:center;gap:12px;flex:1}.category-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;transition:transform .2s ease;color:#666}.category-expand-btn:hover{color:#333}.category-expand-btn svg{transition:transform .2s ease}.category-expand-btn svg.expanded{transform:rotate(90deg)}.category-color-indicator{width:24px;height:24px;border-radius:50%;border:2px solid #f0f0f0;flex-shrink:0}.category-details{display:flex;align-items:center;gap:8px}.category-name{font-size:16px;font-weight:500;color:#333}.category-subcount-badge{font-size:12px;color:#666;font-weight:400;margin-left:8px}.category-actions{display:flex;gap:8px}.subcategories-list{border-top:1px solid #e0e0e0;background:#f9f9f9;padding:8px 16px 8px 48px}.subcategory-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e8e8e8}.subcategory-item:last-child{border-bottom:none}.subcategory-info{display:flex;align-items:center;gap:8px;flex:1}.subcategory-color-indicator{width:16px;height:16px;border-radius:50%;border:1px solid #e0e0e0;flex-shrink:0}.subcategory-details{display:flex;align-items:center;gap:6px}.subcategory-name{font-size:14px;color:#555}.subcategory-actions{display:flex;gap:6px}.btn-add-subcategory{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;background-color:#28a745;color:#fff}.btn-add-subcategory:hover{background-color:#218838;transform:scale(1.05)}.btn-add-subcategory:active{transform:scale(.95)}.btn-add-subcategory svg{display:block;width:16px;height:16px}.btn-edit-subcategory,.btn-delete-subcategory{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-edit-subcategory{background-color:#007bff;color:#fff}.btn-edit-subcategory:hover{background-color:#0056b3;transform:scale(1.05)}.btn-delete-subcategory{background-color:#dc3545;color:#fff}.btn-delete-subcategory:hover{background-color:#c82333;transform:scale(1.05)}.btn-edit-subcategory svg,.btn-delete-subcategory svg{display:block;width:14px;height:14px}.btn-delete:hover{background-color:#c82333;transform:scale(1.05)}.btn-delete:active{transform:scale(.95)}@media(max-width:768px){.category-item{flex-direction:column;align-items:flex-start;gap:12px}.category-actions{width:100%;justify-content:flex-end}}.category-manager{width:100%}.category-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.category-manager-header h2{margin:0;color:#333;font-size:24px}.category-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:16px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.tab:hover{color:#007bff}.tab.active{color:#007bff;border-bottom-color:#007bff}.category-search{margin-bottom:20px}.category-list{display:flex;flex-direction:column;gap:8px}@media(max-width:768px){.category-manager-header{flex-direction:column;align-items:flex-start;gap:16px}.btn-add{width:100%}.category-tabs{flex-direction:column;border-bottom:none}.tab{border-bottom:none;border-left:3px solid transparent;text-align:left;margin-bottom:0}.tab.active{border-left-color:#007bff;border-bottom-color:transparent}.search-input{max-width:100%}}.account-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;margin-bottom:24px}.account-form h3{margin:0 0 20px;color:#333;font-size:20px}.form-group{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.required{color:#dc3545}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s ease;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group textarea{resize:vertical;min-height:80px}.error-text{display:block;margin-top:4px;font-size:12px;color:#dc3545}.form-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel,.btn-submit{padding:0 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;height:44px;min-height:44px;max-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1;white-space:nowrap;margin-top:24px}.btn-cancel{background-color:#f8f9fa;color:#333;border:1px solid #ddd}.btn-cancel:hover{background-color:#e9ecef}.btn-submit{background-color:#007bff;color:#fff}.btn-submit:hover{background-color:#0056b3}.btn-submit:disabled{background-color:#6c757d;cursor:not-allowed}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.account-item{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;transition:all .2s ease}.account-item:hover{box-shadow:0 2px 8px #0000001a;border-color:#d0d0d0}.account-item.has-transactions{border-left:4px solid #ffc107}.account-info{display:flex;flex-direction:column;gap:12px;flex:1}.account-type-badge{display:flex;align-items:center;gap:8px;margin-bottom:4px}.account-icon{font-size:20px;line-height:1}.account-type-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.account-details{display:flex;flex-direction:column;gap:4px}.account-name{margin:0;font-size:18px;font-weight:600;color:#333}.account-balance{font-size:20px;font-weight:700;color:#28a745;margin-top:4px}.account-balance.negative{color:#dc3545}.account-notes{margin:8px 0 0;font-size:14px;color:#666;font-style:italic}.account-actions{display:flex;gap:8px;flex-shrink:0}.btn-edit,.btn-delete{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-edit{background-color:#007bff;color:#fff}.btn-edit:hover{background-color:#0056b3;transform:scale(1.05)}.btn-edit:active{transform:scale(.95)}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover:not(.disabled){background-color:#c82333;transform:scale(1.05)}.btn-delete:active:not(.disabled){transform:scale(.95)}.btn-delete.disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}@media(max-width:768px){.account-item{flex-direction:column;gap:16px}.account-actions{width:100%;justify-content:flex-end}.btn-edit,.btn-delete{flex:1}}.btn-edit svg,.btn-delete svg{display:block;width:16px;height:16px}.account-manager{width:100%}.account-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.account-manager-header h2{margin:0;color:#333;font-size:24px}.btn-add{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add:hover{background-color:#0056b3}.account-search{margin-bottom:20px}.search-input{width:100%;max-width:400px;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.account-list{display:flex;flex-direction:column;gap:12px}.loading-state,.empty-state{padding:40px 20px;text-align:center;color:#666;font-size:16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.empty-state{color:#999}@media(max-width:768px){.account-manager-header{flex-direction:column;align-items:flex-start;gap:16px}.btn-add{width:100%}.search-input{max-width:100%}}.data-manager{width:100%}.data-manager-header{margin-bottom:24px}.data-manager-header h2{margin:0 0 8px;color:#333;font-size:24px}.data-manager-description{margin:0;color:#666;font-size:14px}.data-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.data-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.export-section h3,.import-section h3{margin:0 0 8px;color:#333;font-size:20px}.section-description{margin:0 0 20px;color:#666;font-size:14px}.export-options{display:flex;flex-direction:column;gap:24px}.export-group{padding-bottom:20px;border-bottom:1px solid #e0e0e0}.export-group:last-child{border-bottom:none;padding-bottom:0}.export-group h4{margin:0 0 12px;color:#333;font-size:16px;font-weight:600}.export-buttons{display:flex;gap:12px;flex-wrap:wrap}.btn-export{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-export:hover:not(:disabled){background-color:#0056b3}.btn-export:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.btn-export-all{background-color:#28a745}.btn-export-all:hover:not(:disabled){background-color:#218838}.export-hint{display:block;margin-top:8px;font-size:12px;color:#666;font-style:italic}.export-status{margin-top:16px;padding:12px;background-color:#e7f3ff;color:#004085;border-radius:4px;text-align:center;font-size:14px}.import-form{display:flex;flex-direction:column;gap:20px}.import-form .form-group{display:flex;flex-direction:column;gap:8px}.import-form label{font-weight:500;color:#333;font-size:14px}.import-form select,.import-form input[type=file]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.import-form select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.file-info{display:block;color:#666;font-size:12px;margin-top:4px}.validation-errors{padding:16px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.validation-errors h4{margin:0 0 8px;font-size:14px;font-weight:600}.validation-errors ul{margin:0;padding-left:20px}.validation-errors li{margin-bottom:4px;font-size:13px}.import-result{padding:16px;border-radius:4px}.import-result.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.import-result.has-errors{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.import-result h4{margin:0 0 8px;font-size:14px;font-weight:600}.import-result p{margin:0 0 8px;font-size:14px}.import-errors{margin-top:12px}.import-errors h5{margin:0 0 8px;font-size:13px;font-weight:600}.import-errors ul{margin:0;padding-left:20px}.import-errors li{margin-bottom:4px;font-size:12px}.btn-import{padding:12px 24px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-import:hover:not(:disabled){background-color:#218838}.btn-import:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}@media(max-width:768px){.data-sections{grid-template-columns:1fr}.export-buttons{flex-direction:column}.btn-export{width:100%}}.settings{width:100%;max-width:1200px;margin:0 auto}.settings h1{margin-bottom:24px;color:#333}.settings-content{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;overflow:visible}.statement-table-container{width:100%;margin-top:24px;position:relative;overflow:visible}.statement-table-header-sticky{position:-webkit-sticky;position:sticky;top:80px;z-index:10;overflow-x:auto;overflow-y:visible;background:#fff;box-shadow:0 2px 2px #00000014;border-radius:8px 8px 0 0;border:1px solid #e0e0e0;border-bottom:none;scrollbar-width:none;-ms-overflow-style:none}.statement-table-header-sticky::-webkit-scrollbar{display:none}.statement-table-body-scroll{overflow-x:auto;overflow-y:visible;border-radius:0 0 8px 8px;border:1px solid #e0e0e0;border-top:none}.statement-table{width:100%;border-collapse:separate;border-spacing:0;background-color:#fff;min-width:800px}.statement-table-header-only,.statement-table-body-only{border:none;box-shadow:none;border-radius:0;table-layout:fixed;width:100%}.statement-table-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.statement-table-header th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.3;border-right:1px solid rgba(255,255,255,.2);border-bottom:2px solid rgba(255,255,255,.3);border-top:none;border-left:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;background-clip:padding-box}.statement-table-header th.statement-col-date{position:-webkit-sticky;position:sticky;left:0;z-index:5;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:padding-box;box-shadow:2px 0 4px #0000001f}.statement-table-header th:first-child{border-left:none;border-radius:8px 0 0}.statement-table-header th:last-child{border-right:none;border-radius:0 8px 0 0}.statement-table-header th.statement-col-value,.statement-table-header th.statement-col-account-balance,.statement-table-header th.statement-col-total{text-align:right}.statement-col-date{min-width:100px;width:100px;position:-webkit-sticky;position:sticky;left:0;z-index:5;background-color:#fff;box-shadow:2px 0 4px #00000014;border-right:1px solid #e0e0e0;background-clip:padding-box}.statement-col-type{min-width:100px;width:100px}.statement-col-account{min-width:120px;width:120px}.statement-col-category,.statement-col-subcategory{min-width:150px;width:150px}.statement-col-description{min-width:200px;width:200px}.statement-col-value{min-width:120px;width:120px;text-align:right;font-variant-numeric:tabular-nums}.statement-col-account-balance{min-width:120px;width:120px;text-align:right;font-variant-numeric:tabular-nums;background-color:#fafafa;border-left:1px solid #e8e8e8;color:#212121}.statement-col-account-balance:first-of-type{border-left:1px solid #e0e0e0}.statement-col-total{min-width:140px;width:140px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;background-color:#f5f5f5;border-left:2px solid #667eea;color:#212121}.statement-col-actions{min-width:96px;width:96px;text-align:center;vertical-align:middle}.statement-col-actions .btn-edit,.statement-col-actions .btn-delete{display:inline-flex;align-items:center;justify-content:center;min-width:40px;width:40px;min-height:40px;height:40px;padding:0;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s,transform .1s;flex-shrink:0;margin:0 2px}.statement-col-actions .btn-edit{background-color:#007bff;color:#fff}.statement-col-actions .btn-edit:hover{background-color:#0056b3;transform:scale(1.05)}.statement-col-actions .btn-edit:active{transform:scale(.95)}.statement-col-actions .btn-delete{background-color:#dc3545;color:#fff}.statement-col-actions .btn-delete:hover{background-color:#c82333;transform:scale(1.05)}.statement-col-actions .btn-delete:active{transform:scale(.95)}.statement-col-actions .btn-edit svg,.statement-col-actions .btn-delete svg{display:block;width:16px;height:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.statement-table-body{background-color:#fff}.statement-table-row{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.statement-table-row:hover{background-color:#f0f0f0}.statement-row-initial{background-color:#e3f2fd!important;font-weight:600;border-bottom:3px solid #2196f3;border-top:2px solid #2196f3;box-shadow:0 2px 4px #2196f31a}.statement-row-initial:hover{background-color:#bbdefb!important}.statement-row-initial td{color:#1565c0;font-weight:600}.statement-row-even{background-color:#fff}.statement-row-odd{background-color:#fafafa}.statement-row-odd td{color:#212121}.statement-table-row td.statement-col-date{background-color:#fff;z-index:5}.statement-row-odd td.statement-col-date{background-color:#fafafa}.statement-row-even td.statement-col-date{background-color:#fff}.statement-row-initial td.statement-col-date{background-color:#e3f2fd;box-shadow:2px 0 4px #2196f326;border-right:1px solid #2196f3}.statement-table-row:hover td.statement-col-date{background-color:#f0f0f0}.statement-row-initial:hover td.statement-col-date{background-color:#bbdefb}.statement-row-odd .statement-col-account-balance{background-color:#f5f5f5;color:#212121}.statement-row-even .statement-col-account-balance{background-color:#fafafa;color:#212121}.statement-row-initial .statement-col-account-balance{background-color:#bbdefb!important;color:#0d47a1!important}.statement-table-row td{padding:12px 16px;font-size:14px;color:#212121;border-right:1px solid #f0f0f0;border-top:none;border-left:none;border-bottom:1px solid #e0e0e0;vertical-align:middle}.statement-table-row td:first-child{border-left:none}.statement-table-row td:last-child{border-right:none}.statement-table-row td.statement-col-value,.statement-table-row td.statement-col-account-balance,.statement-table-row td.statement-col-total{text-align:right;padding-right:20px;color:#212121}.statement-type-initial{color:#1976d2;font-weight:600}.statement-type-income{color:#28a745;font-weight:500}.statement-type-expense{color:#dc3545;font-weight:500}.statement-value-income{color:#28a745;font-weight:600}.statement-value-expense{color:#dc3545;font-weight:600}.statement-value-total{color:#212121;font-weight:700;font-size:15px;background-color:#f5f5f5}.statement-value-income,.statement-value-expense,.statement-value-total{font-variant-numeric:tabular-nums;letter-spacing:.3px}.statement-table-empty{padding:48px 24px;text-align:center;color:#999;background-color:#f9f9f9;border-radius:8px;border:2px dashed #ddd}.statement-table-empty p{margin:0;font-size:16px}@media(max-width:768px){.statement-table-container{margin:0;padding:0;position:relative}.statement-table-wrapper{overflow:visible}.statement-table{min-width:800px;border:1px solid #e0e0e0}.statement-table-header th,.statement-table-row td{padding:8px 12px;font-size:12px}.statement-col-date,.statement-col-type{min-width:80px;width:80px}.statement-col-account{min-width:100px;width:100px}.statement-col-category,.statement-col-subcategory{min-width:120px;width:120px}.statement-col-description{min-width:160px;width:160px}.statement-col-value,.statement-col-account-balance{min-width:100px;width:100px;padding-right:12px}.statement-col-total{min-width:120px;width:120px;padding-right:12px}}@media print{.statement-table-container{overflow:visible;margin:0;padding:0}.statement-table-wrapper{overflow:visible}.statement-table{box-shadow:none;border:1px solid #000;page-break-inside:auto}.statement-table-header{background:#f0f0f0!important;color:#000!important;position:static!important;page-break-after:avoid}.statement-table-row{page-break-inside:avoid;page-break-after:auto}.statement-row-initial{background-color:#e0e0e0!important;border-top:2px solid #000!important;border-bottom:2px solid #000!important}.statement-col-account-balance{background-color:#f5f5f5!important;color:#212121!important}.statement-col-total{background-color:#e8e8e8!important;color:#212121!important}.statement-col-date{position:static!important;box-shadow:none!important}}.statement-filters{margin-bottom:24px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.statement-filters-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0}.statement-filters-actions{display:flex;align-items:center;gap:8px}.statement-filters-title{flex:1}.statement-filters-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;font-size:16px;font-weight:600;color:#333;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.statement-filters-toggle:hover{background-color:#e9ecef}.statement-filters-icon{font-size:12px;color:#666;transition:transform .2s}.statement-filters-toggle[aria-expanded=true] .statement-filters-icon{transform:rotate(0)}.statement-filters-toggle[aria-expanded=false] .statement-filters-icon{transform:rotate(-90deg)}.statement-filters-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background-color:#007bff;color:#fff;border-radius:10px;font-size:12px;font-weight:600;margin-left:4px}.statement-filters-apply{padding:6px 12px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.statement-filters-apply:hover{background-color:#218838}.statement-filters-clear{padding:6px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.statement-filters-clear:hover{background-color:#c82333}.statement-filters-content{padding:20px}.statement-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.filter-radio-group{display:flex;gap:16px;flex-wrap:wrap}.filter-radio{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:#333}.filter-radio input[type=radio]{margin:0;cursor:pointer;width:16px;height:16px}.filter-radio span{-webkit-user-select:none;user-select:none}.filter-radio:hover{color:#007bff}@media(max-width:768px){.statement-filters-header{padding:12px 16px}.statement-filters-content{padding:16px}.statement-filters-grid{grid-template-columns:1fr;gap:16px}.filter-radio-group{flex-direction:column;gap:12px}}.statement-export{margin-top:24px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.statement-export-header{margin-bottom:16px}.statement-export-header h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#333}.statement-export-period{margin:0;font-size:14px;color:#666}.statement-export-buttons{display:flex;gap:12px;flex-wrap:wrap}.statement-export-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.statement-export-btn:disabled{opacity:.6;cursor:not-allowed}.statement-export-btn-csv{background-color:#28a745;color:#fff}.statement-export-btn-csv:hover:not(:disabled){background-color:#218838;transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.statement-export-btn-txt{background-color:#007bff;color:#fff}.statement-export-btn-txt:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.statement-export-empty{margin-top:12px;padding:12px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:14px;text-align:center}@media(max-width:768px){.statement-export{padding:16px}.statement-export-buttons{flex-direction:column}.statement-export-btn{width:100%;justify-content:center}}.statement-edit-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px;box-sizing:border-box}.statement-edit-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:520px;width:100%;max-height:90vh;overflow:auto}.statement-edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0}.statement-edit-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.statement-edit-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:#666;font-size:24px;line-height:1;cursor:pointer;border-radius:4px;transition:background-color .2s,color .2s}.statement-edit-modal-close:hover{background:#f0f0f0;color:#333}.statement-edit-modal-body{padding:20px}.statement-edit-modal-warning{padding:12px 16px;margin-bottom:16px;background:#fff8e1;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:14px;line-height:1.4}.statement-edit-modal-body .expense-form,.statement-edit-modal-body .income-form{margin:0;padding:0;border:none}.statement-edit-modal-body .expense-form h2,.statement-edit-modal-body .income-form h2{display:none}.statement-page{padding:24px;max-width:1600px;margin:0 auto;min-height:calc(100vh - 100px)}.statement-header{margin-bottom:24px}.statement-header h1{font-size:32px;font-weight:600;color:#333;margin:0 0 8px}.statement-subtitle{font-size:16px;color:#666;margin:0}.statement-error{padding:16px 20px;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:24px;box-shadow:0 2px 4px #cc33331a}.statement-error p{margin:0;font-weight:500}.statement-loading{padding:48px 24px;text-align:center;color:#666;font-size:16px}.statement-loading p{margin:0}.statement-content{margin-top:24px;position:static;overflow:visible}.statement-info{padding:16px 20px;background-color:#f5f5f5;border-radius:8px;margin-bottom:24px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000d}.statement-info p{margin:8px 0;color:#666;font-size:14px;line-height:1.6}.statement-info p:first-child{margin-top:0}.statement-info p:last-child{margin-bottom:0}.statement-warning{color:#f57c00!important;font-weight:500}.statement-table-placeholder{padding:48px;background-color:#f9f9f9;border:2px dashed #ddd;border-radius:8px;text-align:center;color:#999}.statement-table-placeholder p{margin:8px 0}.statement-table-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;overflow:visible;position:relative;margin-top:24px}@media(max-width:768px){.statement-page{padding:16px}.statement-header h1{font-size:24px}.statement-subtitle{font-size:14px}.statement-info{padding:12px 16px}.statement-info p{font-size:13px}.statement-table-card{padding:16px}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:24px;box-sizing:border-box}.error-boundary-card{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;padding:40px 32px;max-width:480px;width:100%;text-align:center}.error-boundary-icon{width:56px;height:56px;border-radius:50%;background:#fff3cd;color:#856404;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.error-boundary-title{margin:0 0 12px;font-size:22px;font-weight:600;color:#333}.error-boundary-message{margin:0 0 28px;font-size:15px;line-height:1.6;color:#666}.error-boundary-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.error-boundary-btn{padding:10px 22px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background-color .2s,border-color .2s}.error-boundary-btn-secondary{background:#fff;border-color:#ccc;color:#555}.error-boundary-btn-secondary:hover{background:#f5f5f5;border-color:#aaa}.error-boundary-btn-primary{background:#4a6fa5;color:#fff;border-color:#4a6fa5}.error-boundary-btn-primary:hover{background:#3a5f95;border-color:#3a5f95}@media(max-width:480px){.error-boundary-card{padding:28px 20px}.error-boundary-actions{flex-direction:column}.error-boundary-btn{width:100%}}
