body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1e1e1e;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box}.Ganancias-details{animation:fadeIn .3s ease;background-color:#1e1e1e;color:#fff}.Ganancias-title{color:#2c3e50;font-size:24px;font-weight:700;margin-bottom:20px;margin-top:0}.Ganancias-overview{grid-gap:20px;display:grid;gap:20px}@media (max-width:768px){.Ganancias-overview{grid-template-columns:1fr}}.Ganancias-overview-left,.Ganancias-overview-right{display:flex;flex-direction:column;gap:20px}.Ganancias-total-card{background-color:#1a1a1a;border-radius:8px;box-shadow:0 2px 6px #0000000d;padding:20px}.Ganancias-total-card h3{color:#fff;font-size:18px;margin-bottom:15px;margin-top:0}.Ganancias-total-value{color:#9ce1ffcc;font-size:32px;font-weight:700;margin-bottom:15px}.Ganancias-margin{align-items:center;background-color:#9b59b61a;border-radius:6px;color:#666;display:flex;font-size:14px;justify-content:space-between;padding:10px 15px}.margin-value{color:#9b59b6;font-weight:700}.Ganancias-distribution-chart{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000000d;padding:20px}.Ganancias-distribution-chart h3{color:#333;font-size:18px;margin-bottom:20px;margin-top:0}.distribution-bars{display:flex;flex-direction:column;gap:15px}.distribution-bar-item{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:160px 1fr 130px}@media (max-width:768px){.distribution-bar-item{gap:10px;grid-template-columns:100px 1fr 100px}}.distribution-bar-label{align-items:center;color:#333;display:flex;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.distribution-color-dot{border-radius:50%;display:inline-block;height:12px;margin-right:8px;width:12px}.distribution-bar-container{background-color:#eaeaea;border-radius:6px;height:12px;overflow:hidden}.distribution-bar{border-radius:6px;height:100%;transition:width .5s ease-out}.distribution-bar-value{color:#666;font-size:14px;text-align:right}.distribution-bar-percent{color:#999;font-size:12px;margin-left:5px}.Ganancias-kpi-cards{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr 1fr}@media (max-width:992px){.Ganancias-kpi-cards{grid-template-columns:1fr}}.Ganancias-kpi-card{align-items:center;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000000d;display:flex;flex-direction:column;padding:15px;text-align:center}.kpi-title{color:#666;margin-bottom:8px}.kpi-project{color:#333;font-size:16px;font-weight:700;margin-bottom:5px}.kpi-value{font-size:1.8rem;font-weight:700;margin:8px 0}.kpi-change{color:#777}.kpi-change.positive{color:#2ecc71}.kpi-change.negative{color:#e74c3c}.Ganancias-margins-chart{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000000d;padding:20px}.Ganancias-margins-chart h3{color:#333;font-size:18px;margin-bottom:20px;margin-top:0}.margins-bars{display:flex;flex-direction:column;gap:12px}.margin-bar-item{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:160px 1fr 70px}@media (max-width:768px){.margin-bar-item{gap:10px;grid-template-columns:100px 1fr 70px}}.margin-bar-label{color:#eee;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.margin-bar-container{background-color:#eaeaea;border-radius:6px;height:12px;overflow:hidden}.margin-bar{border-radius:6px;height:100%;transition:width .5s ease-out}.margin-bar-value{color:#666;font-size:14px;text-align:right}.project-tab{animation:fadeIn .3s ease}.project-header{border-left:5px solid #9b59b6;margin-bottom:20px;padding-left:15px}.project-header h3{color:#fff;font-size:22px;margin:0}.project-total{text-align:right}.project-value-label{color:#666;font-size:14px;margin-bottom:5px}.project-value-amount{color:#2c3e50;font-size:22px;font-weight:700}.project-metrics{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}@media (max-width:992px){.project-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.project-metrics{grid-template-columns:1fr}}.project-metric-card{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000000d;padding:15px}.metric-label{color:#fff;margin-bottom:10px}.metric-value{color:#3498db}.project-categories{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000000d;margin-bottom:30px;padding:20px}.project-categories h4{color:#333;font-size:18px;margin-bottom:20px;margin-top:0}.category-items{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.category-item{background-color:#fff;border-left:3px solid #9b59b6;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:15px}.category-name{color:#333;margin-bottom:10px}.category-amount{color:#2c3e50;font-size:18px;font-weight:700;margin-bottom:5px}.category-percent{color:#666;font-size:12px}.category-value-proyectado{color:#a0aec0;font-size:16px;font-style:italic;font-weight:400;margin-bottom:5px}.category-value-proyectado span{color:#aa11f1!important}.category-value-proyectado:before{content:"Pres: ";font-size:12px;opacity:.8}.project-history{background-color:#2d3748;border-radius:8px;box-shadow:0 2px 6px #0000000d;padding:20px}.project-history h4{color:#fff;font-size:18px;margin-bottom:20px;margin-top:0}.chart-container{display:flex;flex-direction:column;gap:30px}.history-container{display:flex;flex-direction:column;margin-top:20px;padding-top:10px;position:relative}.history-chart{margin-top:25px}@media (max-width:768px){.history-chart{height:180px}}.history-label{color:#fff;margin-top:10px}.margin-line-chart{border-top:1px dashed #ddd;padding-top:20px}.margin-line-title{color:#666;font-size:16px;margin-bottom:20px}.margin-line-container{align-items:center;display:flex;height:100px;justify-content:space-between;position:relative}.margin-line-container:before{background-color:#eee;content:"";height:1px;left:0;position:absolute;top:50%;width:100%;z-index:1}.margin-point{align-items:center;display:flex;flex:1 1;flex-direction:column;position:relative;z-index:2}.margin-point-value{color:#666;font-size:11px;margin-bottom:8px}.margin-point-dot{background-color:#9b59b6;border-radius:50%;height:10px;margin-bottom:8px;width:10px}.margin-point-label{color:#999;font-size:11px}.ganancias-expanded{font-family:Roboto,sans-serif}.ganancias-expanded h2{color:#333;font-weight:500;margin-bottom:25px}.ganancias-expanded h3{color:#555;font-size:18px;font-weight:500;margin-bottom:15px}.ganancias-expanded h4{color:#666;font-size:16px;font-weight:500;margin-bottom:12px}.kpi-row{grid-gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.kpi-container,.kpi-row{display:grid;gap:20px;margin-bottom:30px}.kpi-container{grid-gap:20px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.kpi-card{background-color:#1a1a1a;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 1px 3px #0000004d;padding:20px}.kpi-title{color:#a0aec0;font-size:14px;margin-bottom:10px}.kpi-value{color:#fff;font-size:24px;font-weight:600;margin-bottom:5px}.kpi-change{color:#a0aec0;font-size:14px}.charts-row{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));margin-bottom:30px}@media (max-width:960px){.charts-row{grid-template-columns:1fr}}.chart-container{background-color:#1a1a1a;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 1px 3px #0000004d;margin-top:20px;padding:20px}.chart-title{color:#fff;font-size:18px;margin-bottom:15px;margin-top:0}.pie-chart-placeholder{display:flex;flex-direction:column;height:220px;justify-content:center}.pie-segment{align-items:center;display:flex;margin-bottom:10px}.color-indicator{border-radius:4px;height:16px;margin-right:10px;width:16px}.segment-label{flex:2 1;font-size:14px}.segment-percentage,.segment-value{flex:1 1;font-size:14px;text-align:right}.bar-chart-container{align-items:flex-end;display:flex;height:220px;justify-content:space-around}.bar-item{align-items:center;display:flex;flex-direction:column;width:60px}.bar-container{align-items:flex-end;display:flex;height:150px;justify-content:center;width:40px}.bar{background-color:#3498db;border-radius:4px 4px 0 0;transition:height .3s ease;width:40px}.bar-label{color:#fafafa;font-size:12px;margin-top:8px}.bar-value{color:#333;font-size:12px;margin-top:4px}.breakdown-section{background-color:#1a1a1a;border:1px solid #ffffff1a;border-radius:8px;margin-top:20px;padding:20px}.breakdown-section h3{color:#fff;font-size:18px;margin-bottom:15px;margin-top:0}.breakdown-cards{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.category-card{background-color:#2d3748;border-radius:6px;box-shadow:0 1px 3px #0003;display:flex;flex-direction:column;padding:15px}.category-name{color:#e2e8f0;font-size:14px;margin-bottom:8px}.category-value{color:#fff;font-size:20px;font-weight:600;margin-bottom:5px}.category-percent{color:#a0aec0;font-size:13px}.project-tab{padding:10px 0}.project-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}@media (max-width:768px){.project-header{align-items:flex-start;flex-direction:column}}.project-summary{display:flex;gap:30px}@media (max-width:768px){.project-summary{justify-content:space-between;margin-top:15px;width:100%}}.summary-item{text-align:center}.summary-label{color:#fff;font-size:12px;margin-bottom:5px}.summary-value{color:#333;font-size:16px;font-weight:500}.summary-value.positive{color:#27ae60}.summary-value.negative{color:#e74c3c}.project-breakdown{margin-bottom:30px}.project-history{margin-top:30px}.history-chart{height:200px;margin-top:20px}.history-item{width:60px}.history-bar-container{height:120px;width:40px}.history-bar{background-color:#3498db;border-radius:4px 4px 0 0;width:40px}.history-label{color:#d3d2d2}.history-value{color:#333;font-size:12px;margin-top:4px}.error,.loading{color:#666;padding:40px;text-align:center}.error{background-color:#e74c3c1a;border:1px solid #e74c3c33;border-radius:8px;color:#fff;margin-bottom:20px;padding:20px}.header-actions{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px}.header-actions h2{color:#fff;flex-grow:1;margin:0}.refresh-button{background-color:#2c3e50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-left:10px;padding:8px 12px;transition:background-color .2s}.refresh-button:hover{background-color:#34495e}.refresh-button:disabled{background-color:#95a5a6;cursor:not-allowed}.last-updated{color:#a0aec0;font-size:.8rem;margin-left:16px}@media (max-width:768px){.header-actions{align-items:flex-start;flex-direction:column}.header-actions h2{margin-bottom:12px}.last-updated{margin-left:0;margin-top:8px}}.expense-value{color:#e74c3c}.expense-value:before{content:"-"}.actions-container{align-items:center;background-color:#1a1a1a;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 1px 3px #0000004d;display:flex;margin-bottom:20px;padding:12px 16px}.month-selector{align-items:center;display:flex;margin-right:15px;position:relative}.month-selector label{margin-right:8px}.month-select,.month-selector label{color:#fff;font-size:14px;font-weight:500}.month-select{-webkit-appearance:none;appearance:none;background-color:#2d3748;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #fff3;border-radius:6px;box-shadow:0 1px 2px #0000004d;cursor:pointer;padding:8px 32px 8px 12px;transition:all .2s ease}.month-select:hover{background-color:#3a4a5c;border-color:#ffffff4d}.month-select:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce4d;outline:none}.ganancias-month-title{background-color:#1a1a1a;border:1px solid #ffffff1a;border-radius:4px;color:#fff;display:inline-block;font-size:24px;font-weight:700;margin-bottom:15px;margin-top:-10px;padding:6px 12px}@media (prefers-color-scheme:dark){.actions-container{background-color:#2d3748;box-shadow:0 1px 3px #0003}.month-selector label{color:#e2e8f0}.month-select{background-color:#1a202c;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#4a5568;color:#e2e8f0}.month-select:hover{background-color:#2d3748;border-color:#718096}.month-select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e133}.ganancias-month-title{background-color:#2d3748;color:#e2e8f0}}.no-data-message{background-color:#2d3748;border-radius:8px;color:#a0aec0;margin-top:15px;padding:20px;text-align:center}.history-chart.centered{justify-content:center}.history-item{transition:opacity .3s ease}.history-item.hidden{display:none;opacity:0}.category-percent.positive{color:#e67e22}.category-percent.negative{color:#2ecc71}.category-percent{font-weight:500;margin-top:5px}.history-legend{background-color:#0003;border:1px solid #ffffff0d;border-radius:8px;display:flex;justify-content:center;margin:0 auto;padding:8px 12px;position:relative;top:-65px;width:-webkit-fit-content;width:fit-content;z-index:10}.legend-item{align-items:center;display:flex;margin-right:20px;padding:2px 6px}.legend-item:last-child{margin-right:0}.legend-color{border:1px solid #fff3;border-radius:2px;height:14px;margin-right:8px;width:14px}.legend-label{color:#e2e8f0;font-size:13px;font-weight:500}.history-bars-container{align-items:flex-end;display:flex;gap:4px;height:100px}.history-bar-container{background-color:#ffffff0d;border-radius:3px 3px 0 0;flex:1 1;height:100%}.history-values{align-items:center;display:flex;flex-direction:column;margin-top:5px}.history-value.real{color:#e74c3c}.history-value.proyectado{color:#3498db;font-size:11px;opacity:.8}.history-chart{height:120px;justify-content:space-around;margin-top:10px}.history-item{width:70px}.saldo-total-details{animation:fadeIn .3s ease}.saldo-title{color:#2c3e50;font-size:24px;font-weight:700;margin-bottom:20px;margin-top:0}.loading-spinner{align-items:center;color:#666;display:flex;font-size:16px;height:200px;justify-content:center}.error-message{color:#e74c3c;font-size:16px;padding:30px;text-align:center}.saldo-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:30px}@media (max-width:768px){.saldo-overview{grid-template-columns:1fr}}.saldo-overview-left,.saldo-overview-right{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000000d;padding:20px}.saldo-composition-pie h3,.saldo-metric-card h3{color:#333;font-size:18px;margin-bottom:20px;margin-top:0}.saldo-value{color:#2c3e50;font-size:28px;font-weight:700;margin-bottom:20px}.saldo-tipo-distribution{display:flex;flex-direction:column;gap:15px}.tipo-bar-item{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:140px 1fr 120px}@media (max-width:768px){.tipo-bar-item{gap:10px;grid-template-columns:100px 1fr 100px}}.tipo-bar-label{color:#333;font-size:14px}.tipo-bar-container{background-color:#eaeaea;border-radius:6px;height:12px;overflow:hidden}.tipo-bar{border-radius:6px;height:100%;transition:width .5s ease-out}.tipo-bar-value{color:#666;font-size:14px;text-align:right}.tipo-bar-percent{color:#999;font-size:12px;margin-left:5px}.saldo-projects-pie{display:flex;flex-direction:column;gap:15px}.pie-segment-container{margin-bottom:10px}.pie-legend{align-items:center;display:flex;justify-content:space-between}.pie-color-dot{border-radius:50%;display:inline-block;height:14px;margin-right:8px;width:14px}.pie-project{color:#333;flex-grow:1;font-size:14px}.pie-value{color:#666;font-size:14px;text-align:right}.pie-percent{color:#999;font-size:12px;margin-left:5px}.saldo-projects-accordion{margin-top:30px}.saldo-projects-accordion h3{color:#333;font-size:20px;margin-bottom:20px;margin-top:0}.accordion-header-info{align-items:center;display:flex;gap:12px}.project-color-dot{border-radius:50%;display:inline-block;height:12px;width:12px}.accordion-header-info h4{font-size:16px;margin:0}.project-value{font-weight:700;margin-left:12px}.accordion-icon{font-size:20px;font-weight:700}.project-detail-content{animation:fadeIn .3s ease}.project-metrics{display:flex;gap:30px;margin-bottom:25px}@media (max-width:768px){.project-metrics{flex-direction:column;gap:15px}}.metric{flex:1 1}.metric-label{color:#666;font-size:14px;margin-bottom:8px}.metric-value{color:#2c3e50;font-size:20px;font-weight:700}.metric-value.positive{color:#27ae60}.metric-value.negative{color:#e74c3c}.project-tipo-breakdown{margin-bottom:25px}.project-tipo-breakdown h5{color:#333;font-size:16px;margin-bottom:15px;margin-top:0}.tipo-breakdown-bars{display:flex;flex-direction:column;gap:12px}.tipo-breakdown-bar-item{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:120px 1fr 120px}@media (max-width:768px){.tipo-breakdown-bar-item{gap:10px;grid-template-columns:100px 1fr 100px}}.tipo-breakdown-label{color:#333;font-size:14px}.tipo-breakdown-bar-container{background-color:#eaeaea;border-radius:5px;height:10px;overflow:hidden}.tipo-breakdown-bar{border-radius:5px;height:100%;transition:width .5s ease-out}.tipo-breakdown-value{color:#666;font-size:14px;text-align:right}.tipo-breakdown-percent{color:#999;font-size:12px;margin-left:5px}.project-history h5{color:#333;font-size:16px;margin-bottom:15px;margin-top:0}.history-chart{align-items:flex-end;display:flex;height:180px;justify-content:space-between}@media (max-width:768px){.history-chart{height:150px}}.history-item{align-items:center;display:flex;flex:1 1;flex-direction:column}.history-bar-container{align-items:flex-end;display:flex;height:100px;justify-content:center;width:100%}.history-bar{border-radius:3px 3px 0 0;transition:height .5s ease-out;width:25px}.history-label{color:#666;font-size:12px;margin-top:8px}.history-value{color:#999;font-size:11px;margin-top:5px;white-space:nowrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.be7f389f.css.map*/