*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s}[data-theme=dark] body{background-color:#1a1a1a}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f5f5f5;flex-direction:column;min-height:100vh;transition:background-color .3s;display:flex}[data-theme=dark] .App{background-color:#1a1a1a}.main-content{box-sizing:border-box;background-color:#0000;flex:1;width:100%;max-width:100%;margin:0 auto;padding:2rem 2rem calc(2rem + 70px);transition:background-color .3s}[data-theme=dark] .main-content{background-color:#0000}@media (width<=768px){.main-content{padding:1rem 1rem calc(1rem + 70px)}}.header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:1rem 0;box-shadow:0 2px 10px #0000001a}.header-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 2rem;display:flex}.logo{color:#fff;text-decoration:none}.logo h1{font-size:1.5rem;font-weight:700}.nav{gap:2rem;display:flex}.nav-link{color:#fff;border-radius:5px;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:background-color .3s}.nav-link:hover{background-color:#ffffff1a}.nav-link.active{background-color:#fff3}.header-user{align-items:center;gap:1rem;display:flex}.theme-toggle-container{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:.6rem;padding:.3rem .6rem;transition:background-color .2s;display:flex}.theme-toggle-container:hover{background-color:#ffffff1a}.theme-icon{justify-content:center;align-items:center;width:22px;height:22px;line-height:1;transition:opacity .3s,transform .2s;display:flex}.theme-icon svg{width:100%;height:100%}.theme-icon.sun-icon{opacity:.5}.theme-icon.sun-icon.active{opacity:1;transform:scale(1.05)}.theme-icon.moon-icon{opacity:.5}.theme-icon.moon-icon.active{opacity:1;transform:scale(1.05)}.theme-switch{background-color:#5a5a5a;border:none;border-radius:14px;width:52px;height:28px;transition:background-color .3s;position:relative;box-shadow:inset 0 1px 3px #0000004d}.theme-switch.light,.theme-switch.dark{background-color:#5a5a5a}.theme-switch-knob{background-color:#fff;border-radius:50%;width:22px;height:22px;transition:left .3s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 2px 5px #0000004d}.theme-switch.light .theme-switch-knob{left:3px}.theme-switch.dark .theme-switch-knob{left:calc(100% - 25px)}.user-name{color:#fff;font-weight:500}.btn-logout{color:#fff;cursor:pointer;background-color:#fff3;border:1px solid #ffffff4d;border-radius:5px;padding:.5rem 1rem;font-size:.9rem;transition:background-color .3s}.btn-logout:hover{background-color:#ffffff4d}@media (width<=768px){.header-container{flex-direction:column;gap:1rem;padding:1rem}.nav{gap:1rem}.nav-link{padding:.5rem;font-size:.9rem}}.bottom-navigation{padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:1000;background-color:#fff;border-top:1px solid #e0e0e0;justify-content:space-around;align-items:center;gap:.25rem;transition:background-color .3s,border-color .3s;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001a}.bottom-navigation.dark{background-color:#1a1a1a;border-top-color:#333}[data-theme=dark] .bottom-navigation{background-color:#1a1a1a;border-top-color:#333;box-shadow:0 -2px 10px #0000004d}.nav-item{color:#666;cursor:pointer;opacity:.6;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;min-width:0;padding:.5rem;font-size:.75rem;text-decoration:none;transition:color .3s,opacity .3s;display:flex}[data-theme=dark] .nav-item{color:#999}.nav-item:disabled{cursor:not-allowed;opacity:.5}.nav-item.active{color:#667eea;opacity:1}[data-theme=dark] .nav-item.active{color:#667eea}.nav-item svg{stroke:currentColor;width:24px;height:24px}.nav-item span{white-space:nowrap;font-size:.7rem;font-weight:500}.nav-action-button{cursor:pointer;z-index:1001;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-top:-20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 12px #667eea66}.nav-action-button:active{transform:scale(.95)}.nav-action-button svg{width:24px;height:24px}@media (width>=769px){.bottom-navigation{display:none}}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-box{background:#fff;border-radius:10px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 10px 40px #0003}.login-box h1{text-align:center;color:#667eea;margin-bottom:.5rem;font-size:2rem}.login-box h2{text-align:center;color:#333;margin-bottom:2rem;font-size:1.5rem;font-weight:600}.form-group input{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .3s}.form-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.btn-primary{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;width:100%;margin-bottom:1rem;padding:.75rem;font-size:1rem;font-weight:600;transition:background-color .3s}.btn-primary:hover:not(:disabled){background-color:#5568d3}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{color:#667eea;cursor:pointer;background:0 0;border:none;width:100%;padding:.5rem;font-size:.9rem;text-decoration:underline}.btn-link:hover{color:#5568d3}.error-message{color:#c33;text-align:center;background-color:#fee;border-radius:5px;margin-bottom:1rem;padding:.75rem}.login-info{color:#666;background-color:#f5f5f5;border-radius:5px;margin-top:2rem;padding:1rem;font-size:.85rem}.login-info p{margin:.25rem 0}.login-info strong{color:#333}.dashboard{background:#f5f5f5;min-height:100vh;padding:2rem;animation:.3s ease-in fadeIn}.dashboard h1{color:#333;margin-bottom:2rem}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.card{background:#fff;border-radius:10px;padding:1.5rem;transition:transform .2s;box-shadow:0 2px 10px #0000001a}.card:hover{transform:translateY(-5px)}.card h3{color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.9rem}.card .value{color:#667eea;font-size:2rem;font-weight:700}.products-summary-cards .product-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important}.products-summary-cards .product-card h3,.products-summary-cards .product-card .value,.products-summary-cards .product-card p{color:#fff!important}.summary-table{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 10px #0000001a}.summary-table h2{color:#333;margin-bottom:1.5rem}.summary-table table{border-collapse:collapse;width:100%}.summary-table th{text-align:left;color:#333;background-color:#f8f9fa;border-bottom:2px solid #e9ecef;padding:1rem;font-weight:600}.summary-table td{color:#666;border-bottom:1px solid #e9ecef;padding:1rem}.summary-table tr:hover{background-color:#f8f9fa}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.products-dashboard{background:#f8f9fa;border-radius:10px;margin-top:2rem;padding:2rem;box-shadow:0 2px 10px #0000001a}.products-dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.products-dashboard-header h2{color:#2c3e50;margin:0;font-weight:700}.products-period-selector{align-items:center;gap:.5rem;display:flex}.period-input{border:1px solid #ddd;border-radius:5px;padding:.5rem;font-size:.9rem}.period-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea33}.products-summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.product-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px;padding:1.5rem;transition:transform .2s;box-shadow:0 2px 10px #0000001a;color:#fff!important}.product-card h3{text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.9rem;font-weight:600;color:#fff!important;opacity:1!important}.product-card .value{text-shadow:0 2px 4px #0000004d;font-size:2rem;font-weight:700;color:#fff!important}.product-card p,.product-card *{color:#fff!important}.products-charts{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-top:2rem;display:grid}.products-chart-section{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 5px #0000000d}.products-chart-section h3{color:#2c3e50;margin:0 0 1.5rem;font-size:1.2rem;font-weight:600}.products-ranking{width:100%}.ranking-bars{flex-direction:column;gap:1rem;display:flex}.ranking-item{flex-direction:column;gap:.5rem;display:flex}.ranking-info{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.ranking-position{color:#fff;text-align:center;background:#667eea;border-radius:4px;min-width:35px;padding:.25rem .5rem;font-size:.85rem;font-weight:600}.ranking-name{color:#2c3e50;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.ranking-value{color:#667eea;text-align:right;min-width:100px;font-size:.95rem;font-weight:700}.ranking-bar-container{background:#e9ecef;border-radius:12px;width:100%;height:25px;position:relative;overflow:hidden}.ranking-bar{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);border-radius:12px;min-width:5px;height:100%;transition:width .5s}.ranking-bar-quantity{background:linear-gradient(90deg,#28a745 0%,#20c997 100%)}.no-data{text-align:center;color:#666;padding:2rem;font-style:italic}@media (width<=768px){.summary-cards{grid-template-columns:1fr}.summary-table{overflow-x:auto}.products-dashboard-header{flex-direction:column;align-items:flex-start}.products-period-selector{flex-direction:column;width:100%}.period-input{width:100%}.products-summary-cards,.products-charts{grid-template-columns:1fr}.ranking-info{flex-wrap:wrap}.ranking-name{white-space:normal;width:100%}}.pie-charts-section{grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;margin-top:2rem;display:grid}.pie-chart-container{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 10px #0000001a}.pie-chart-container h3{color:#333;text-align:center;margin:0 0 1.5rem;font-size:1.2rem}.pie-chart-wrapper{flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;display:flex}.pie-chart{flex-shrink:0}.pie-slice{cursor:pointer;transition:opacity .3s}.pie-slice:hover{opacity:.8}.pie-legend{flex:1;min-width:200px;max-height:300px;overflow-y:auto}.legend-item{border-radius:5px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem;transition:background-color .2s;display:flex}.legend-item:hover{background-color:#f8f9fa}.legend-color{border:1px solid #ddd;border-radius:4px;flex-shrink:0;width:20px;height:20px}.legend-name{color:#333;flex:1;font-size:.9rem;font-weight:500}.legend-value{color:#667eea;white-space:nowrap;font-size:.85rem;font-weight:600}@media (width<=768px){.pie-charts-section{grid-template-columns:1fr}.pie-chart-wrapper{flex-direction:column}.pie-legend{width:100%;max-height:200px}}.cupom-fiscal-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cupom-fiscal-modal{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.cupom-fiscal-modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.cupom-fiscal-modal-header h2{color:#333;margin:0}.close-button{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:2rem;line-height:1;display:flex}.close-button:hover{color:#333}.cupom-fiscal-modal-body{padding:1.5rem}.modo-selector{gap:1rem;margin-bottom:1.5rem;display:flex}.modo-selector button{color:#667eea;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:4px;flex:1;padding:.75rem 1rem;font-size:1rem;transition:all .3s}.modo-selector button.active{color:#fff;background:#667eea}.modo-selector button:hover{color:#fff;background:#5568d3;border-color:#5568d3}.input-section{margin-bottom:1.5rem}.input-section label{color:#333;margin-bottom:.5rem;font-weight:500;display:block}.cupom-textarea{resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-family:monospace;font-size:.9rem}.cupom-input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;margin-bottom:1rem;padding:.75rem;font-size:1rem}.btn-parse{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .3s}.btn-parse:hover:not(:disabled){background-color:#5568d3}.btn-parse:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:4px;margin-top:1rem;padding:1rem}.parsed-data{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border:2px solid #667eea;border-radius:8px;margin-top:1.5rem;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.parsed-data h3{color:#333;text-align:center;border-bottom:2px solid #667eea;margin-top:0;margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.3rem}.data-preview{margin-bottom:1.5rem}.info-section,.itens-section,.resumo-section{background:#fff;border-radius:6px;margin-bottom:2rem;padding:1rem;box-shadow:0 2px 4px #0000000d}.info-section h4,.itens-section h4,.resumo-section h4{color:#667eea;margin-top:0;margin-bottom:1rem;font-size:1.1rem}.info-grid{gap:.75rem;display:grid}.info-item{flex-direction:column;gap:.25rem;display:flex}.info-label{color:#666;font-size:.9rem;font-weight:600}.info-value{color:#333;font-size:1rem}.itens-table{border-collapse:collapse;width:100%;margin-top:.5rem}.itens-table thead{color:#fff;background-color:#667eea}.itens-table th{text-align:left;padding:.75rem;font-size:.9rem;font-weight:600}.itens-table td{color:#555;border-bottom:1px solid #e0e0e0;padding:.75rem}.itens-table tbody tr:hover{background-color:#f5f5f5}.itens-table .item-nome{color:#333;font-weight:500}.itens-table .item-valor,.itens-table .item-total{text-align:right;font-family:Courier New,monospace}.itens-table .total-row{background-color:#f0f0f0;font-weight:600}.itens-table .total-row td{color:#333;text-align:right;border-top:2px solid #667eea;padding-top:1rem}.resumo-grid{gap:.75rem;display:grid}.resumo-item{background-color:#f9f9f9;border-left:4px solid #667eea;border-radius:4px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.resumo-label{color:#666;font-weight:500}.resumo-value{color:#333;font-size:1.1rem;font-weight:600}.resumo-value.highlight{color:#667eea;font-size:1.3rem}.btn-import{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .3s}.btn-import:hover{background-color:#45a049}.transactions{box-sizing:border-box;width:100%;max-width:100%;padding:0 1rem;animation:.3s ease-in fadeIn}.filter-banner{color:#fff;background-color:#667eea;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;display:flex;box-shadow:0 2px 4px #0000001a}.filter-banner-content{align-items:center;gap:.5rem;display:flex}.filter-banner-label{opacity:.9;font-weight:500}.filter-banner-name{font-weight:600}.filter-banner-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.5rem;transition:background-color .2s;display:flex}.filter-banner-close:hover{background-color:#fff3}[data-theme=dark] .filter-banner{background-color:#5568d3}.transactions-header{justify-content:space-between;align-items:center;width:100%;max-width:100%;margin-bottom:2rem;display:flex}.btn-view-toggle{color:#333;cursor:pointer;background-color:#fff;border:2px solid #ddd;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s}.btn-view-toggle:hover{background-color:#f5f5f5;border-color:#bbb}.btn-view-toggle.active{color:#333;background-color:#fff;border-width:2px;border-color:#000;font-weight:600}.btn-view-toggle.active:hover{background-color:#f9f9f9;border-color:#000}[data-theme=dark] .btn-view-toggle{color:#e0e0e0;background-color:#2a2a2a;border-color:#555}[data-theme=dark] .btn-view-toggle:hover{background-color:#333;border-color:#666}[data-theme=dark] .btn-view-toggle.active{color:#fff;background-color:#2a2a2a;border-width:2px;border-color:#fff}[data-theme=dark] .btn-view-toggle.active:hover{background-color:#333;border-color:#fff}.btn-manage-merchants,.btn-manage-categories,.btn-import-cupom{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .3s}.btn-manage-merchants:hover,.btn-manage-categories:hover,.btn-import-cupom:hover{background-color:#5568d3}.btn-cupom-view{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.5rem;transition:background-color .3s}.btn-cupom-view:hover{background-color:#f0f0f0}[data-theme=dark] .btn-cupom-view:hover{background-color:#444}.cupom-view-modal{max-width:900px;max-height:90vh;overflow-y:auto}.cupom-view-content{padding:1rem 0}.cupom-view-content .info-section,.cupom-view-content .itens-section,.cupom-view-content .resumo-section{background:#fff;border-radius:6px;margin-bottom:2rem;padding:1rem;box-shadow:0 2px 4px #0000000d}.cupom-view-content .info-section h4,.cupom-view-content .itens-section h4,.cupom-view-content .resumo-section h4{color:#667eea;margin-top:0;margin-bottom:1rem;font-size:1.1rem}.cupom-view-content .info-grid{gap:.75rem;display:grid}.cupom-view-content .info-item{flex-direction:column;gap:.25rem;display:flex}.cupom-view-content .info-label{color:#666;font-size:.9rem;font-weight:600}.cupom-view-content .info-value{color:#333;font-size:1rem}.cupom-view-content .itens-table{border-collapse:collapse;width:100%;margin-top:.5rem}.cupom-view-content .itens-table thead{color:#fff;background-color:#667eea}.cupom-view-content .itens-table th{text-align:left;padding:.75rem;font-size:.9rem;font-weight:600}.cupom-view-content .itens-table td{color:#555;border-bottom:1px solid #e0e0e0;padding:.75rem}.cupom-view-content .itens-table tbody tr:hover{background-color:#f5f5f5}.cupom-view-content .itens-table .item-nome{color:#333;font-weight:500}.cupom-view-content .itens-table .item-valor,.cupom-view-content .itens-table .item-total{text-align:right;font-family:Courier New,monospace}.cupom-view-content .itens-table .total-row{background-color:#f0f0f0;font-weight:600}.cupom-view-content .itens-table .total-row td{color:#333;text-align:right;border-top:2px solid #667eea;padding-top:1rem}.cupom-view-content .resumo-grid{gap:.75rem;display:grid}.cupom-view-content .resumo-item{background-color:#f9f9f9;border-left:4px solid #667eea;border-radius:4px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.cupom-view-content .resumo-label{color:#666;font-weight:500}.cupom-view-content .resumo-value{color:#333;font-size:1.1rem;font-weight:600}.cupom-view-content .resumo-value.highlight{color:#667eea;font-size:1.3rem}.export-buttons{align-items:center;gap:.5rem;display:flex}.btn-export{color:#fff;cursor:pointer;white-space:nowrap;background-color:#f39c12;border:none;border-radius:4px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:background-color .3s}.btn-export:hover{background-color:#e67e22}.transactions h1{color:#333;margin-bottom:0;transition:color .3s}[data-theme=dark] .transactions h1{color:#fff}.btn-add-transaction{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .3s}.btn-add-transaction:hover{background-color:#45a049}.filters{flex-wrap:nowrap;align-items:center;gap:.5rem;width:100%;max-width:100%;margin-bottom:2rem;display:flex}.filters.desktop-only{flex-wrap:nowrap;padding-bottom:.5rem;overflow-x:auto}.filters.desktop-only::-webkit-scrollbar{height:6px}.filters.desktop-only::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.filters.desktop-only::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.filters.desktop-only::-webkit-scrollbar-thumb:hover{background:#555}.filters select,.filters input{color:#333;white-space:nowrap;background-color:#fff;border:1px solid #ddd;border-radius:5px;padding:.65rem .75rem;font-size:.9rem;transition:background-color .3s,color .3s,border-color .3s}.filters.desktop-only select{flex:none;width:auto;min-width:fit-content;margin:0 .25rem}.filters.desktop-only input[type=text]{flex:none;min-width:140px;max-width:180px;margin:0 .25rem}.filters.desktop-only input[type=date]{flex:none;min-width:150px;max-width:150px;margin:0 .25rem}.filters.desktop-only label{white-space:nowrap;color:#333;flex:none;margin:0 .25rem;font-size:.9rem}[data-theme=dark] .filters.desktop-only label{color:#e0e0e0}[data-theme=dark] .filters select,[data-theme=dark] .filters input{color:#fff;background-color:#333;border-color:#555}.filters button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#667eea;border:none;border-radius:5px;flex:none;padding:.65rem 1.25rem;font-size:.9rem;transition:background-color .3s}.filters.desktop-only button{margin:0 .25rem;padding:.65rem 1.25rem}.filters button:hover{background-color:#5568d3}.transactions-table-container{box-sizing:border-box;background:#fff;border-radius:10px;width:100%;max-width:100%;padding:1.5rem;transition:background-color .3s,box-shadow .3s;overflow-x:auto;box-shadow:0 2px 10px #0000001a}[data-theme=dark] .transactions-table-container{background:#2a2a2a;box-shadow:0 2px 10px #0000004d}.transactions-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:1200px}.transactions-table th{text-align:left;color:#333;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;z-index:10;background-color:#f8f9fa;border-bottom:2px solid #e9ecef;padding:.875rem .75rem;font-size:.85rem;font-weight:600;transition:background-color .3s,color .3s,border-color .3s;position:sticky;top:0}[data-theme=dark] .transactions-table th{color:#fff;background-color:#333;border-bottom-color:#555}.transactions-table td{color:#666;text-align:left;border-bottom:1px solid #e9ecef;padding:.875rem .75rem;font-size:.9rem;transition:color .3s,border-color .3s,background-color .3s}[data-theme=dark] .transactions-table td{color:#ccc;border-bottom-color:#444}.transactions-table td:first-child{white-space:nowrap;width:110px}.transactions-table td:nth-child(2){white-space:nowrap;width:140px}.transactions-table td:nth-child(3){white-space:normal;word-wrap:break-word;min-width:200px;max-width:350px}.transactions-table td:nth-child(4){white-space:nowrap;text-align:left;width:120px;font-weight:600}.transactions-table td:nth-child(5){white-space:nowrap;text-align:left;width:80px}.transactions-table td:nth-child(6){white-space:nowrap;width:100px}.transactions-table td:nth-child(7){white-space:nowrap;width:150px}.transactions-table td:nth-child(8){white-space:nowrap;width:120px}.transactions-table td:nth-child(9){white-space:nowrap;width:100px}.transactions-table td:nth-child(10){white-space:nowrap;width:200px}.transactions-table tr:hover{background-color:#f8f9fa;transition:background-color .2s}[data-theme=dark] .transactions-table tr:hover{background-color:#333}.row-despesa{background-color:#fff5f5;transition:background-color .3s}[data-theme=dark] .row-despesa{background-color:#dc35451a}.row-despesa:hover{background-color:#ffe0e0}[data-theme=dark] .row-despesa:hover{background-color:#dc354533}.row-receita{background-color:#f0fff4;transition:background-color .3s}[data-theme=dark] .row-receita{background-color:#28a7451a}.row-receita:hover{background-color:#e0ffe0}[data-theme=dark] .row-receita:hover{background-color:#28a74533}.transactions-table .value{color:#333;text-align:left;font-weight:600;transition:color .3s}[data-theme=dark] .transactions-table .value{color:#fff}.category-tag{color:#1976d2;background-color:#e3f2fd;border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.category-tag.no-category{color:#999;background-color:#f5f5f5}.value-despesa{font-weight:700;color:#dc3545!important}.value-receita{font-weight:700;color:#28a745!important}.tipo-transacao{border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.tipo-despesa{color:#c82333;background-color:#fee}.tipo-receita{color:#155724;background-color:#d4edda}.status{border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.status.parcelado{color:#856404;background-color:#fff3cd}.status.avista{color:#0c5460;background-color:#d1ecf1}.tipo-pagamento{color:#06c;background-color:#e7f3ff;border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.action-buttons{flex-wrap:nowrap;justify-content:flex-start;gap:.4rem;display:flex}.btn-generate-parcels{color:#fff;cursor:pointer;white-space:nowrap;background-color:#17a2b8;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;transition:background-color .3s}.btn-generate-parcels:hover{background-color:#138496}.btn-generate-all-parcels{color:#fff;cursor:pointer;white-space:nowrap;background-color:#28a745;border:none;border-radius:4px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:background-color .3s}.btn-generate-all-parcels:hover{background-color:#218838}[data-theme=dark] .btn-generate-all-parcels{background-color:#28a745}[data-theme=dark] .btn-generate-all-parcels:hover{background-color:#218838}.merchant-tag{color:#2e7d32;background-color:#e8f5e9;border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.merchant-tag.no-merchant{color:#999;background-color:#f5f5f5}.btn-edit{color:#fff;cursor:pointer;white-space:nowrap;background-color:#007bff;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;transition:background-color .3s}.btn-delete{color:#fff;cursor:pointer;white-space:nowrap;background-color:#dc3545;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;transition:background-color .3s}.total-row{background-color:#f8f9fa;border-top:2px solid #dee2e6;transition:background-color .3s,border-color .3s}[data-theme=dark] .total-row{background-color:#333;border-top-color:#555}.total-row td{border-top:2px solid #dee2e6;font-weight:700;transition:border-color .3s,color .3s}[data-theme=dark] .total-row td{color:#fff;border-top-color:#555}[data-theme=dark] .modal-content{background:#2a2a2a}.merchants-modal-body{padding:1.5rem}[data-theme=dark] .merchant-card{background:#333;border-color:#555}[data-theme=dark] .merchant-card:hover{box-shadow:0 4px 15px #00000080}.merchant-card-header h3{color:#333;margin:0 0 .5rem;font-size:1.25rem;transition:color .3s}[data-theme=dark] .merchant-card-header h3{color:#fff}.merchant-nome{color:#666;font-size:.9rem;font-style:italic;transition:color .3s}[data-theme=dark] .merchant-nome{color:#999}.merchant-descricao{color:#666;margin-bottom:1rem;font-size:.9rem;line-height:1.5;transition:color .3s}[data-theme=dark] .merchant-descricao{color:#ccc}.no-merchants p{color:#666;margin-bottom:1.5rem;font-size:1.1rem;transition:color .3s}[data-theme=dark] .no-merchants p{color:#999}.merchant-form label{color:#555;margin-bottom:.5rem;font-weight:600;transition:color .3s;display:block}[data-theme=dark] .merchant-form label{color:#ccc}.merchant-form input[type=text],.merchant-form textarea{box-sizing:border-box;color:#333;background-color:#fff;border:1px solid #ddd;border-radius:5px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:background-color .3s,color .3s,border-color .3s}[data-theme=dark] .merchant-form input[type=text],[data-theme=dark] .merchant-form textarea{color:#fff;background-color:#333;border-color:#555}.merchant-form input:focus,.merchant-form textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea33}.row-selected{transition:background-color .3s;background-color:#e3f2fd!important}[data-theme=dark] .row-selected{background-color:#667eea33!important}.bulk-actions-bar{background-color:#f0f0f0;border-radius:5px;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;transition:background-color .3s,color .3s;display:flex;box-shadow:0 2px 4px #0000001a}[data-theme=dark] .bulk-actions-bar{color:#fff;background-color:#333}.bulk-actions-bar button{cursor:pointer;border:none;border-radius:5px;padding:.5rem 1rem;font-weight:500;transition:background-color .3s}@media (width<=768px){.transactions{background-color:#f5f5f5;max-width:100%;min-height:100vh;margin:0;padding:0}[data-theme=dark] .transactions{background-color:#1a1a1a}.desktop-only{display:none!important}.transactions-mobile-header{color:#333;background-color:#fff;padding:1rem}[data-theme=dark] .transactions-mobile-header{color:#fff;background-color:#1a1a1a}.mobile-header-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.mobile-title{color:#333;margin:0;font-size:1.25rem;font-weight:600}[data-theme=dark] .mobile-title{color:#fff}.mobile-header-icons{align-items:center;gap:1rem;display:flex}.mobile-icon-btn{color:#333;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;font-size:1.25rem;display:flex}.mobile-header-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.btn-mobile-action{color:#333;cursor:pointer;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;flex:calc(50% - .25rem);justify-content:center;align-items:center;gap:.25rem;min-width:calc(50% - .25rem);padding:.75rem .5rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.btn-mobile-action:hover{background-color:#e8e8e8;border-color:#bbb}[data-theme=dark] .btn-mobile-action{color:#fff;background-color:#2a2a2a;border-color:#444}[data-theme=dark] .btn-mobile-action:hover{background-color:#333;border-color:#555}.btn-generate-all-parcels-mobile{color:#fff!important;background-color:#28a745!important;border-color:#28a745!important}.btn-generate-all-parcels-mobile:hover{background-color:#218838!important;border-color:#218838!important}.btn-add-transaction-mobile{color:#fff!important;background-color:#667eea!important;border-color:#667eea!important}.btn-add-transaction-mobile:hover{background-color:#5568d3!important;border-color:#5568d3!important}[data-theme=dark] .mobile-icon-btn{color:#fff}.month-navigation{justify-content:center;align-items:center;gap:1rem;margin:1rem 0;display:flex}.month-nav-btn{color:#333;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.5rem;display:flex}[data-theme=dark] .month-nav-btn{color:#fff}.month-name{color:#333;text-transform:capitalize;font-size:1.1rem;font-weight:500}[data-theme=dark] .month-name{color:#fff}.summary-card{background-color:#fff;border-radius:12px;justify-content:space-around;margin-bottom:1rem;padding:1rem;display:flex;box-shadow:0 2px 4px #0000001a}[data-theme=dark] .summary-card{box-shadow:none;background-color:#2a2a2a}.summary-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.summary-icon{margin-bottom:.25rem;font-size:1.5rem}.summary-content{flex-direction:column;align-items:center;gap:.25rem;display:flex}.summary-label{color:#666;font-size:.85rem}[data-theme=dark] .summary-label{color:#999}.summary-value{font-size:1.1rem;font-weight:600}.summary-value.positive{color:#4caf50}.summary-value.negative{color:#f44336}.transactions-mobile-list{background-color:#f5f5f5;padding:0 1rem calc(5rem + 70px)}[data-theme=dark] .transactions-mobile-list{background-color:#1a1a1a}.date-group{margin-bottom:1.5rem}.date-header{color:#333;text-transform:capitalize;margin-bottom:.75rem;font-size:.95rem;font-weight:500}[data-theme=dark] .date-header{color:#fff}.transaction-card{cursor:pointer;background-color:#fff;border-radius:12px;align-items:center;gap:1rem;margin-bottom:.75rem;padding:1rem;transition:background-color .2s;display:flex;box-shadow:0 2px 4px #0000001a}.transaction-card:active{background-color:#f0f0f0}[data-theme=dark] .transaction-card{box-shadow:none;background-color:#2a2a2a}[data-theme=dark] .transaction-card:active{background-color:#333}.transaction-icon{background-color:#f0f0f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}[data-theme=dark] .transaction-icon{background-color:#333}.transaction-details{flex:1;min-width:0}.transaction-title{color:#333;margin-bottom:.25rem;font-size:1rem;font-weight:500}[data-theme=dark] .transaction-title{color:#fff}.transaction-parcel-info{color:#999;margin-left:.25rem;font-size:.75rem;font-weight:400}[data-theme=dark] .transaction-parcel-info{color:#888}.transaction-subtitle{color:#666;font-size:.85rem}[data-theme=dark] .transaction-subtitle{color:#999}.transaction-amount-container{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.transaction-amount{font-size:1rem;font-weight:600}.transaction-amount.positive{color:#4caf50}.transaction-amount.negative{color:#f44336}.transaction-status{color:#fff;background-color:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex}.no-transactions{color:#666;text-align:center;padding:3rem 1rem;font-size:1rem}[data-theme=dark] .no-transactions{color:#999}.filters.mobile-only{background-color:#fff;border-radius:12px;flex-direction:column;margin-bottom:1rem;padding:1rem;box-shadow:0 2px 4px #0000001a}[data-theme=dark] .filters.mobile-only{box-shadow:none;background-color:#2a2a2a}.filters-hidden{display:none}.filters-visible{display:flex}.mobile-only{display:block}[data-theme=dark] .filters.mobile-only select,[data-theme=dark] .filters.mobile-only input,[data-theme=dark] .filters.mobile-only button{color:#fff;background-color:#333;border-color:#444}.filters.mobile-only select,.filters.mobile-only input,.filters.mobile-only button{color:#333;background-color:#fff;border:1px solid #ddd;width:100%}.filters.mobile-only select:focus,.filters.mobile-only input:focus{border-color:#667eea;outline:none}.merchants-grid{grid-template-columns:1fr}}@media (width>=769px){.transactions-mobile-header,.mobile-only{display:none!important}.desktop-only{display:block!important}.transactions-mobile-list{display:none!important}.transactions-mobile-list.desktop-cards-view{background-color:#f5f5f5;max-width:100%;padding:1rem;display:block!important}[data-theme=dark] .transactions-mobile-list.desktop-cards-view{background-color:#1a1a1a}.transactions-mobile-list.desktop-cards-view .date-group{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.transactions-mobile-list.desktop-cards-view .date-header{color:#333;text-transform:capitalize;grid-column:1/-1;margin-bottom:0;padding:0;font-size:.95rem;font-weight:500}[data-theme=dark] .transactions-mobile-list.desktop-cards-view .date-header{color:#fff}.transactions-mobile-list.desktop-cards-view .transaction-card{cursor:pointer;background-color:#fff;border-radius:12px;align-items:center;gap:1rem;width:100%;margin-bottom:0;padding:1rem;transition:background-color .2s,transform .2s;display:flex;box-shadow:0 2px 4px #0000001a}.transactions-mobile-list.desktop-cards-view .transaction-card:hover{background-color:#f9f9f9}.transactions-mobile-list.desktop-cards-view .transaction-card:active{background-color:#f0f0f0}[data-theme=dark] .transactions-mobile-list.desktop-cards-view .transaction-card{box-shadow:none;background-color:#2a2a2a}[data-theme=dark] .transactions-mobile-list.desktop-cards-view .transaction-card:hover,[data-theme=dark] .transactions-mobile-list.desktop-cards-view .transaction-card:active{background-color:#333}.transactions-mobile-list.desktop-cards-view .transaction-icon{background-color:#f0f0f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}[data-theme=dark] .transactions-mobile-list.desktop-cards-view .transaction-icon{background-color:#333}.transactions-mobile-list.desktop-cards-view .transaction-details{flex:1;min-width:0}.transactions-mobile-list.desktop-cards-view .transaction-title{color:#333;margin-bottom:.25rem;font-size:1rem;font-weight:500}[data-theme=dark] .transactions-mobile-list.desktop-cards-view .transaction-title{color:#fff}.transactions-mobile-list.desktop-cards-view .transaction-parcel-info{color:#999;margin-left:.25rem;font-size:.75rem;font-weight:400}[data-theme=dark] .transactions-mobile-list.desktop-cards-view .transaction-parcel-info{color:#888}.transactions-mobile-list.desktop-cards-view .transaction-subtitle{color:#666;font-size:.85rem}[data-theme=dark] .transactions-mobile-list.desktop-cards-view .transaction-subtitle{color:#999}.transactions-mobile-list.desktop-cards-view .transaction-amount-container{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.transactions-mobile-list.desktop-cards-view .transaction-amount{font-size:1rem;font-weight:600}.transactions-mobile-list.desktop-cards-view .transaction-amount.positive{color:#4caf50}.transactions-mobile-list.desktop-cards-view .transaction-amount.negative{color:#f44336}.transactions-mobile-list.desktop-cards-view .transaction-status{color:#fff;background-color:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex}.transactions-mobile-list.desktop-cards-view .no-transactions{color:#666;text-align:center;padding:3rem 1rem;font-size:1rem}[data-theme=dark] .transactions-mobile-list.desktop-cards-view .no-transactions{color:#999}.transactions-table-container.hidden{display:none!important}}.import{animation:.3s ease-in fadeIn}.import h1{color:#333;margin-bottom:2rem}.import-card{background:#fff;border-radius:10px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 10px #0000001a}.import-info h2{color:#333;margin-bottom:1rem}.import-info p{color:#666;margin-bottom:1rem}.import-info ul{color:#666;margin-bottom:2rem;margin-left:1.5rem}.import-info li{margin-bottom:.5rem}.import-form{flex-direction:column;gap:1.5rem;display:flex}.file-input-wrapper{flex-direction:column;gap:1rem;display:flex}.file-input-wrapper input[type=file]{cursor:pointer;background-color:#f8f9ff;border:2px dashed #667eea;border-radius:10px;padding:1rem;font-size:1rem;transition:all .3s}.file-input-wrapper input[type=file]:hover{background-color:#f0f2ff;border-color:#5568d3}.file-info{color:#06c;background-color:#e7f3ff;border-radius:5px;padding:1rem;font-weight:500}.message{border-radius:5px;padding:1rem;font-weight:500}.message.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.message.error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.btn-import{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:5px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-import:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-import:disabled{opacity:.6;cursor:not-allowed}.import-tips{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 10px #0000001a}.import-tips h3{color:#333;margin-bottom:1rem}.import-tips ul{color:#666;margin-left:1.5rem}.import-tips li{margin-bottom:.5rem}@media (width<=768px){.import-card,.import-tips{padding:1.5rem}}.transaction-products{background:#f8f9fa;border:1px solid #dee2e6;border-radius:10px;margin:2rem 0;padding:1.5rem}.products-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.products-header h3{color:#333;margin:0;font-size:1.25rem}.products-list{overflow-x:auto}.products-table{border-collapse:collapse;background:#fff;border-radius:5px;width:100%;overflow:hidden}.products-table thead{color:#fff;background:#667eea}.products-table th{text-align:left;padding:.75rem;font-size:.9rem;font-weight:600}.products-table td{border-bottom:1px solid #dee2e6;padding:.75rem}.products-table tbody tr:hover{background-color:#f8f9fa}.products-table tfoot{background:#f8f9fa;font-weight:600}.products-table tfoot .total-label{text-align:right;padding-right:1rem}.products-table tfoot .total-value{color:#28a745;font-size:1.1rem}.input-quantity,.input-unit,.input-price{border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem;font-size:.9rem}.input-quantity{max-width:100px}.input-unit{max-width:80px}.input-price{max-width:120px}.total-cell{color:#28a745;font-weight:600}.btn-remove{color:#fff;cursor:pointer;background-color:#dc3545;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;transition:background-color .3s}.btn-remove:hover{background-color:#c82333}.no-products{text-align:center;color:#666;padding:2rem}.search-filters{grid-template-columns:1fr 2fr;gap:1rem;margin-bottom:1.5rem;display:grid}.filter-group label{color:#555;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.filter-group select,.search-input{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;width:100%;padding:.75rem;font-size:1rem}.filter-group select:focus,.search-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea33}.products-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;max-height:400px;padding:1rem 0;display:grid;overflow-y:auto}.product-card{cursor:pointer;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:1rem;transition:all .2s}.product-card:hover{background:#e3f2fd;border-color:#667eea;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.product-name{color:#333;margin-bottom:.25rem;font-weight:600}.no-products-found{text-align:center;color:#666;grid-column:1/-1;padding:2rem}.btn-create-product{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s}.btn-create-product:hover{background-color:#5568d3}.form-group label{color:#555;margin-bottom:.5rem;font-weight:600;display:block}.form-group input,.form-group select{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;width:100%;padding:.75rem;font-size:1rem}.btn-cancel{color:#333;cursor:pointer;background-color:#e0e0e0;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s}.btn-submit{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s}.btn-submit:hover{background-color:#5568d3}.loading{text-align:center;color:#666;padding:2rem}@media (width<=768px){.search-filters,.products-grid{grid-template-columns:1fr}.products-table{font-size:.85rem}.products-table th,.products-table td{padding:.5rem}}.add-transaction{box-sizing:border-box;width:100%;max-width:800px;margin:0 auto;padding:2rem}.add-transaction .loading{text-align:center;color:#666;padding:3rem;font-size:1.2rem}[data-theme=dark] .add-transaction .loading{color:#999}.add-transaction h1{color:#333;margin-bottom:2rem;font-size:2rem;transition:color .3s}[data-theme=dark] .add-transaction h1{color:#fff}.transaction-form{background:#fff;border-radius:8px;padding:2rem;transition:background-color .3s,box-shadow .3s;box-shadow:0 2px 4px #0000001a}[data-theme=dark] .transaction-form{background:#2a2a2a;box-shadow:0 2px 4px #0000004d}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form-group{flex-direction:column;display:flex}.form-group label{color:#555;margin-bottom:.5rem;font-size:.9rem;font-weight:500;transition:color .3s}.label-with-action{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.btn-inline-add{cursor:pointer;color:#fff;white-space:nowrap;background-color:#667eea;border:none;border-radius:4px;padding:.3rem .6rem;font-size:.75rem;font-weight:500;transition:background-color .2s}.btn-inline-add:hover{background-color:#5568d3}.form-group input,.form-group select{color:#333;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .3s,background-color .3s,color .3s}.form-group input:focus,.form-group select:focus{border-color:#4caf50;outline:none}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus{border-color:#4caf50}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-actions{border-top:1px solid #eee;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;transition:border-color .3s;display:flex}[data-theme=dark] .form-actions{border-top-color:#555}.btn-cancel,.btn-submit{cursor:pointer;border:none;border-radius:4px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .3s}.btn-cancel{color:#333;background-color:#f5f5f5;transition:background-color .3s,color .3s}[data-theme=dark] .btn-cancel{color:#e0e0e0;background-color:#444}.btn-cancel:hover{background-color:#e0e0e0}[data-theme=dark] .btn-cancel:hover{background-color:#555}.btn-submit{color:#fff;background-color:#4caf50;transition:background-color .3s}.btn-submit:hover:not(:disabled){background-color:#45a049}.btn-submit:disabled{cursor:not-allowed;background-color:#ccc}[data-theme=dark] .btn-submit:disabled{color:#888;background-color:#555}.modal-content{background:#fff;border-radius:10px;width:90%;max-width:1200px;max-height:90vh;transition:background-color .3s;overflow-y:auto;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .modal-content{background:#2a2a2a;box-shadow:0 4px 20px #00000080}.modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1.5rem;transition:border-color .3s;display:flex}.modal-header h2{color:#333;margin:0;font-size:1.5rem;transition:color .3s}.modal-body{padding:1.5rem}.modal-body p{color:#666;margin:0 0 1rem;line-height:1.6;transition:color .3s}[data-theme=dark] .modal-body p{color:#ccc}.parcel-options{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.btn-parcel-option{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s}.btn-parcel-option:hover:not(:disabled){background-color:#5568d3}.btn-parcel-option:disabled{cursor:not-allowed;background-color:#ccc}.btn-parcel-none{background-color:#6c757d}.btn-parcel-none:hover:not(:disabled){background-color:#5a6268}@media (width<=768px){.add-transaction{max-width:100%;padding:1rem}.add-transaction h1{margin-bottom:1.5rem;font-size:1.5rem}.transaction-form{border-radius:8px;padding:1rem}.form-row{gap:.75rem;margin-bottom:.75rem;grid-template-columns:1fr!important;display:grid!important}.transaction-form .form-group{box-sizing:border-box;min-width:0;max-width:100%;margin-bottom:.75rem;width:100%!important}.transaction-form .form-group:last-child{margin-bottom:0}.transaction-form .form-group label{width:100%;margin-bottom:.4rem;font-size:.85rem;display:block}.transaction-form .form-group input,.transaction-form .form-group select,.transaction-form input,.transaction-form select{box-sizing:border-box;min-width:0;padding:.65rem;font-size:.95rem;width:100%!important;max-width:100%!important}.label-with-action{flex-wrap:wrap;gap:.5rem;width:100%}.label-with-action label{flex:1;min-width:0}.btn-inline-add{flex-shrink:0;padding:.25rem .5rem;font-size:.7rem}.form-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem}.btn-cancel,.btn-submit{box-sizing:border-box;width:100%;padding:.875rem 1.5rem;font-size:.95rem}.parcel-options{gap:.5rem}.btn-parcel-option{box-sizing:border-box;width:100%;padding:.75rem 1rem;font-size:.95rem}.modal-content{width:95%;max-height:85vh;margin:1rem}.modal-header{flex-wrap:wrap;padding:1rem}.modal-header h2{font-size:1.25rem}.modal-body{padding:1rem}.modal-close{width:28px;height:28px;font-size:1.5rem}}.products{max-width:1200px;margin:0 auto;padding:2rem}.products-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.products-header h1{color:#333;font-size:2rem}.view-mode-toggle{background:#f0f0f0;border-radius:5px;gap:2px;padding:2px;display:flex}.view-mode-toggle button{cursor:pointer;color:#666;background:0 0;border:none;border-radius:3px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.view-mode-toggle button.active{color:#667eea;background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.view-mode-toggle button:hover:not(.active){color:#333}.btn-add-product{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s}.btn-add-product:hover{background-color:#218838}.btn-report{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s}.btn-report:hover{background-color:#5568d3}.products-search{margin-bottom:2rem}.search-input{box-sizing:border-box;border:2px solid #ddd;border-radius:5px;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s}.search-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea33}.stats-info{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:5px;margin-bottom:1.5rem;padding:1rem}.stats-info p{color:#1976d2;margin:0;font-size:.95rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.product-card{background:#fff;border-radius:10px;padding:1.5rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 10px #0000001a}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.product-card-header{margin-bottom:1rem}.product-card-header h3{color:#333;margin:0 0 .5rem;font-size:1.25rem}.product-stats{background:#f8f9fa;border-radius:5px;margin:1rem 0;padding:1rem}.stat-item{justify-content:space-between;margin-bottom:.5rem;display:flex}.stat-item:last-child{margin-bottom:0}.stat-label{color:#666;font-size:.9rem}.stat-value{color:#333;font-size:.95rem;font-weight:600}.stat-value-money{color:#28a745}.product-card-actions{gap:.5rem;margin-top:1rem;display:flex}.no-products{text-align:center;grid-column:1/-1;padding:4rem 2rem}.no-products p{color:#666;margin-bottom:1.5rem;font-size:1.1rem}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:10px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-close{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:2rem;line-height:1;transition:color .2s;display:flex}.product-form{padding:1.5rem}.product-form .form-group{margin-bottom:1.5rem}.product-form label{color:#555;margin-bottom:.5rem;font-weight:600;display:block}.product-form input[type=text],.product-form select{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.product-form input:focus,.product-form select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea33}.product-form .form-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.product-form .btn-submit,.product-form .btn-cancel{cursor:pointer;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s}.product-form .btn-submit{color:#fff;background-color:#667eea}.product-form .btn-submit:hover{background-color:#5568d3}.product-form .btn-cancel{color:#333;background-color:#e0e0e0}.product-form .btn-cancel:hover{background-color:#ccc}@media (width<=768px){.products-grid{grid-template-columns:1fr}.products-header{flex-direction:column;align-items:flex-start}.header-actions{flex-direction:column;width:100%}.view-mode-toggle{width:100%}.view-mode-toggle button{flex:1}}.product-report{max-width:1400px;margin:0 auto;padding:2rem}.report-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.report-header h1{color:#333;margin:0;font-size:2rem}.header-actions{gap:1rem;display:flex}.btn-products{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:5px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s;display:flex}.btn-products:hover{background-color:#218838}.btn-export{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s;display:flex}.btn-export:hover:not(:disabled){background-color:#5568d3}.btn-export:disabled{cursor:not-allowed;background-color:#ccc}.report-filters{background:#fff;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex;box-shadow:0 2px 10px #0000001a}.filter-group{flex-direction:column;gap:.5rem;min-width:200px;display:flex}.filter-group label{color:#555;font-size:.9rem;font-weight:600}.filter-input{border:2px solid #ddd;border-radius:5px;padding:.75rem;font-size:1rem;transition:border-color .3s}.filter-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea33}.btn-apply-filters{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;align-items:center;gap:.5rem;height:fit-content;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s;display:flex}.btn-apply-filters:hover{background-color:#5568d3}.report-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.summary-card{text-align:center;background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.summary-card.highlight{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.summary-label{color:#666;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.summary-card.highlight .summary-label{color:#ffffffe6}.summary-card.highlight .summary-value{color:#fff}.report-table-container{background:#fff;border-radius:10px;overflow-x:auto;box-shadow:0 2px 10px #0000001a}.report-table{border-collapse:collapse;width:100%;min-width:800px}.report-table thead{z-index:10;background:#f8f9fa;position:sticky;top:0}.report-table th{text-align:left;color:#333;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dee2e6;padding:1rem;font-size:.95rem;font-weight:600}.report-table th.text-center{text-align:center}.report-table th.text-right{text-align:right}.report-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.report-table tbody tr:hover{background-color:#f8f9fa}.report-table td{color:#555;padding:1rem;font-size:.95rem}.report-table td.text-center{text-align:center}.report-table td.text-right{text-align:right}.report-table td.money{color:#28a745;font-weight:600}.product-name{color:#333;font-weight:600}.product-row-clickable{cursor:pointer;transition:background-color .2s}.product-row-clickable:hover{background-color:#e3f2fd!important}.product-code{color:#666;font-family:monospace;font-size:.85rem}.report-table tfoot{background:#f8f9fa;font-weight:700}.report-table tfoot .footer-row{border-top:2px solid #dee2e6}.report-table tfoot .footer-label{text-align:right;color:#333;padding-right:1rem;font-size:1rem}.report-table tfoot .footer-value{color:#333;font-size:1rem}.report-table tfoot .footer-value.money{color:#28a745;font-size:1.1rem}.loading{text-align:center;color:#666;padding:3rem;font-size:1.1rem}.no-data{text-align:center;background:#fff;border-radius:10px;padding:4rem 2rem;box-shadow:0 2px 10px #0000001a}.no-data p{color:#666;margin-bottom:.5rem;font-size:1.1rem}.no-data .hint{color:#999;font-size:.95rem;font-style:italic}.modal-large{max-width:1200px}.modal-product-info{background:#f8f9fa;border-radius:5px;margin-bottom:1.5rem;padding:1rem}.modal-product-info p{color:#555;margin:.5rem 0}.transactions-list{max-height:500px;overflow-y:auto}.transactions-table{border-collapse:collapse;width:100%}.transactions-table thead{z-index:10;background:#f8f9fa;position:sticky;top:0}.transactions-table th{text-align:left;color:#333;border-bottom:2px solid #dee2e6;padding:.75rem;font-size:.9rem;font-weight:600}.transactions-table td{color:#555;border-bottom:1px solid #e9ecef;padding:.75rem;font-size:.9rem}.transactions-table tbody tr:hover{background-color:#f8f9fa}.btn-view-transaction{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;transition:background-color .3s}.btn-view-transaction:hover{background-color:#5568d3}.item-count-badge{color:#666;margin-left:.25rem;font-size:.75rem;font-weight:400}.transaction-detail-view{max-height:70vh;overflow-y:auto}.transaction-detail-section{margin-bottom:2rem}.transaction-detail-section h3{color:#333;border-bottom:2px solid #e9ecef;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem;display:grid}.detail-item{flex-direction:column;gap:.25rem;display:flex}.detail-item label{color:#666;font-size:.9rem;font-weight:600}.detail-item span{color:#333;font-size:1rem}.detail-item span.money{color:#28a745;font-weight:600}.transaction-items-list{margin-top:1rem}.items-table{border-collapse:collapse;width:100%;margin-top:.5rem}.items-table thead{background:#f8f9fa}.items-table th{text-align:left;color:#333;border-bottom:2px solid #dee2e6;padding:.75rem;font-size:.9rem;font-weight:600}.items-table td{color:#555;border-bottom:1px solid #e9ecef;padding:.75rem;font-size:.9rem}.items-table tbody tr:hover{background-color:#f8f9fa}.items-table tfoot{background:#f8f9fa;font-weight:700}.items-table tfoot td{color:#333;border-top:2px solid #dee2e6}@media (width<=768px){.product-report{padding:1rem}.report-header{flex-direction:column;align-items:flex-start}.report-filters{flex-direction:column}.filter-group{width:100%}.btn-apply-filters{justify-content:center;width:100%}.report-summary{grid-template-columns:1fr}.report-table-container{overflow-x:scroll}}.merchants-modal{flex-direction:column;max-width:900px;max-height:90vh;display:flex;overflow:hidden}.merchants-modal-body{flex:1;padding:1.5rem;overflow-y:auto}.merchants-header-modal{justify-content:flex-end;margin-bottom:1.5rem;display:flex}.btn-add-merchant{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s}.btn-add-merchant:hover{background-color:#218838}.merchants-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;display:grid}.merchant-card{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:1.5rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 10px #0000001a}.merchant-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.merchant-card-header{margin-bottom:1rem}.merchant-card-header h3{color:#333;margin:0 0 .5rem;font-size:1.25rem}.merchant-nome{color:#666;font-size:.9rem;font-style:italic;display:block}.merchant-card-actions{gap:.5rem;margin-top:1rem;display:flex}.btn-edit{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;flex:1;padding:.5rem 1rem;font-size:.9rem;transition:background-color .3s}.btn-edit:hover{background-color:#5568d3}.btn-delete{color:#fff;cursor:pointer;background-color:#dc3545;border:none;border-radius:5px;flex:1;padding:.5rem 1rem;font-size:.9rem;transition:background-color .3s}.btn-delete:hover{background-color:#c82333}.no-merchants{text-align:center;grid-column:1/-1;padding:4rem 2rem}.no-merchants p{color:#666;margin-bottom:1.5rem;font-size:1.1rem}.merchant-form-modal{max-width:500px}.merchant-form{padding:1.5rem}.merchant-form .form-group{margin-bottom:1.5rem}.merchant-form label{color:#555;margin-bottom:.5rem;font-weight:600;display:block}.merchant-form input[type=text],.merchant-form select{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.merchant-form input:focus,.merchant-form select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea33}.merchant-form .form-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.merchant-form .btn-submit,.merchant-form .btn-cancel{cursor:pointer;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s}.merchant-form .btn-submit{color:#fff;background-color:#667eea}.merchant-form .btn-submit:hover{background-color:#5568d3}.merchant-form .btn-cancel{color:#333;background-color:#e0e0e0}.merchant-form .btn-cancel:hover{background-color:#ccc}.accounts-page{background-color:#f8f9fa;min-height:100vh;padding-bottom:calc(5rem + 70px);transition:background-color .3s}[data-theme=dark] .accounts-page{background-color:#1a1a1a}.accounts-loading{text-align:center;color:#666;padding:3rem}[data-theme=dark] .accounts-loading{color:#999}.accounts-mobile-header{background-color:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem;display:flex;box-shadow:0 1px 2px #0000000d}[data-theme=dark] .accounts-mobile-header{background-color:#1a1a1a;border-bottom-color:#333}.back-button{color:#374151;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.back-button:hover{color:#111827}[data-theme=dark] .back-button{color:#fff}.accounts-title{color:#111827;margin:0;font-size:1.25rem;font-weight:700}[data-theme=dark] .accounts-title{color:#fff}.header-actions{align-items:center;gap:.5rem;display:flex}.header-icon-btn{color:#374151;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.header-icon-btn:hover{color:#111827}[data-theme=dark] .header-icon-btn{color:#fff}.accounts-header{background-color:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:2rem;display:flex;box-shadow:0 1px 2px #0000000d}[data-theme=dark] .accounts-header{background-color:#1a1a1a;border-bottom-color:#333}.accounts-header h1{color:#111827;margin:0;font-size:2rem;font-weight:700}[data-theme=dark] .accounts-header h1{color:#fff}.header-buttons{gap:1rem;display:flex}.accounts-tabs{background-color:#fff;border-bottom:1px solid #e5e7eb;padding:0 1rem;display:flex;box-shadow:0 1px 2px #0000000d}[data-theme=dark] .accounts-tabs{background-color:#1a1a1a;border-bottom-color:#333}.tab-button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:1rem;font-size:1rem;font-weight:500;transition:color .3s,border-color .3s}.tab-button:hover{color:#374151}[data-theme=dark] .tab-button{color:#999}.tab-button.active{color:#667eea;border-bottom-color:#667eea}[data-theme=dark] .tab-button.active{color:#8a9ffc;border-bottom-color:#8a9ffc}.summary-section{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;justify-content:space-around;margin:1rem;padding:1rem;display:flex;box-shadow:0 4px 6px #667eea33}[data-theme=dark] .summary-section{box-shadow:none;background-color:#2a2a2a}.summary-item{align-items:center;gap:.75rem;display:flex}.summary-icon-wrapper{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.summary-content{flex-direction:column;gap:.25rem;display:flex}.summary-label{color:#ffffffe6;font-size:.85rem;font-weight:500}.summary-value{color:#fff;font-size:1.1rem;font-weight:600}.summary-value.positive{color:#34d399}.summary-value.negative{color:#f87171}.accounts-list,.credit-cards-list{flex-direction:column;gap:1rem;padding:0 1rem;display:flex}.account-card,.credit-card-card{background-color:#fff;border:1px solid #0000000a;border-radius:12px;padding:1rem;transition:box-shadow .2s,transform .2s;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.account-card:hover,.credit-card-card:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a,0 2px 4px #00000014}[data-theme=dark] .account-card,[data-theme=dark] .credit-card-card{box-shadow:none;background-color:#2a2a2a}.account-card-header,.credit-card-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.account-icon,.credit-card-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;min-height:48px;display:flex;overflow:hidden}.account-info,.credit-card-info{flex:1}.account-info h3,.credit-card-info h3{color:#1a1a1a;margin:0 0 .25rem;font-size:1.1rem;font-weight:600}[data-theme=dark] .account-info h3,[data-theme=dark] .credit-card-info h3{color:#fff}.account-type,.credit-card-bank{color:#6b7280;margin:0;font-size:.85rem}[data-theme=dark] .account-type,[data-theme=dark] .credit-card-bank{color:#999}.card-menu-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.card-menu-btn:hover{color:#374151}[data-theme=dark] .card-menu-btn{color:#999}.account-balances,.credit-card-limits{justify-content:space-between;gap:1rem;display:flex}.balance-item,.limit-item{flex-direction:column;flex:1;gap:.25rem;display:flex}.balance-label,.limit-label{color:#6b7280;font-size:.85rem;font-weight:500}[data-theme=dark] .balance-label,[data-theme=dark] .limit-label{color:#999}.balance-value,.limit-value{color:#111827;font-size:1rem;font-weight:600}[data-theme=dark] .balance-value,[data-theme=dark] .limit-value{color:#fff}.balance-value.positive,.limit-value.positive{color:#10b981}.balance-value.negative{color:#ef4444}.credit-card-dates{color:#6b7280;border-top:1px solid #e5e7eb;justify-content:space-between;margin-top:1rem;padding-top:1rem;font-size:.85rem;display:flex}[data-theme=dark] .credit-card-dates{color:#999;border-top-color:#444}.empty-state{text-align:center;color:#6b7280;padding:3rem 1rem}[data-theme=dark] .empty-state{color:#999}.empty-state p{margin-bottom:1.5rem;font-size:1rem}.fab{cursor:pointer;z-index:999;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:calc(5rem + 20px);right:1rem;box-shadow:0 4px 12px #667eea66}.fab:active{transform:scale(.95)}.btn-primary{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .3s}.btn-primary:hover{background-color:#5568d3}.btn-secondary{color:#333;cursor:pointer;background-color:#e0e0e0;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .3s}[data-theme=dark] .btn-secondary{color:#fff;background-color:#444}.btn-secondary:hover{background-color:#d0d0d0}[data-theme=dark] .btn-secondary:hover{background-color:#555}.btn-danger{color:#fff;cursor:pointer;background-color:#f44336;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .3s}.btn-danger:hover{background-color:#d32f2f}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background-color:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #00000026,0 4px 6px #0000001a}[data-theme=dark] .modal-content{box-shadow:none;background-color:#2a2a2a}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}[data-theme=dark] .modal-header{border-bottom-color:#444}.modal-header h2{color:#333;margin:0;font-size:1.5rem}[data-theme=dark] .modal-header h2{color:#fff}.modal-close{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;line-height:1;display:flex}[data-theme=dark] .modal-close{color:#999}.modal-close:hover{color:#333}[data-theme=dark] .modal-close:hover{color:#fff}.account-form,.credit-card-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#374151;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}[data-theme=dark] .form-group label{color:#ccc}.form-group input,.form-group select{color:#111827;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select{color:#fff;background-color:#333;border-color:#444}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.modal-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}[data-theme=dark] .modal-actions{border-top-color:#444}.modal-actions button{flex:1}@media (width>=769px){.accounts-mobile-header,.fab{display:none}.accounts-page{padding-bottom:2rem}.accounts-list,.credit-cards-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:2rem;display:grid}.summary-section{max-width:1200px;margin:2rem auto}}.image-upload-container{margin-top:.5rem}.image-upload-label{cursor:pointer;display:block}.image-upload-placeholder{text-align:center;color:#666;border:2px dashed #ddd;border-radius:8px;padding:2rem;transition:border-color .3s,background-color .3s}[data-theme=dark] .image-upload-placeholder{color:#999;border-color:#444}.image-upload-placeholder:hover{background-color:#f8f9ff;border-color:#667eea}[data-theme=dark] .image-upload-placeholder:hover{background-color:#2a2a2a}.image-upload-placeholder svg{opacity:.6;margin-bottom:.5rem}.image-upload-placeholder span{font-size:.9rem;display:block}.image-preview{border:2px solid #ddd;border-radius:8px;display:inline-block;position:relative;overflow:hidden}[data-theme=dark] .image-preview{border-color:#444}.image-preview img{object-fit:cover;width:120px;height:120px;display:block}.remove-image-btn{color:#fff;cursor:pointer;background-color:#f44336e6;border:none;border-radius:0 0 0 8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.2rem;line-height:1;transition:background-color .3s;display:flex;position:absolute;top:0;right:0}.remove-image-btn:hover{background-color:#f44336}.account-icon img,.credit-card-icon img{object-fit:cover;border-radius:12px;width:100%;height:100%}.transactions-modal{max-width:600px}.transactions-list{max-height:60vh;padding:.5rem 0;overflow-y:auto}.transaction-item{border-bottom:1px solid #e5e7eb;padding:1rem;transition:background-color .2s}.transaction-item:hover{background-color:#f9fafb}[data-theme=dark] .transaction-item{border-bottom-color:#444}[data-theme=dark] .transaction-item:hover{background-color:#333}.transaction-item-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.transaction-item-info{flex:1}.transaction-item-info h4{color:#111827;margin:0 0 .25rem;font-size:1rem;font-weight:600}[data-theme=dark] .transaction-item-info h4{color:#fff}.transaction-item-date{color:#6b7280;margin:0 0 .25rem;font-size:.85rem}[data-theme=dark] .transaction-item-date{color:#999}.transaction-item-merchant{color:#6b7280;margin:0;font-size:.85rem;font-style:italic}[data-theme=dark] .transaction-item-merchant{color:#999}.transaction-item-value{white-space:nowrap;font-size:1.1rem;font-weight:600}.transaction-item-value.positive{color:#10b981}.transaction-item-value.negative{color:#ef4444}.transaction-item-category{margin-top:.5rem}.transaction-item-category span{color:#374151;background-color:#e5e7eb;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}[data-theme=dark] .transaction-item-category span{color:#ccc;background-color:#444}@media (width<=768px){.accounts-header,.desktop-only{display:none}.mobile-only{display:block}}
