#rentabilidad .fin-dashboard{--fin-green:#235d4c;--fin-line:#e2e5df;--fin-muted:#65736b;color:#213d31;max-width:1600px;margin:auto;padding:8px 0 30px;font-variant-numeric:tabular-nums}
#rentabilidad .fin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 24px;padding:22px 26px;background:linear-gradient(115deg,#e9efe8,#faf9f4);border:1px solid var(--fin-line);border-radius:20px}
#rentabilidad .fin-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#557260}
#rentabilidad h1{font-size:36px;margin:8px 0;line-height:1.1}#rentabilidad .fin-heading p{margin:0;color:var(--fin-muted)}
#rentabilidad .fin-version{font-size:11px;letter-spacing:1px;border:1px solid #b9c8ba;padding:9px 12px;border-radius:24px;white-space:nowrap}
#rentabilidad button{cursor:pointer;border:1px solid #ccd6cc;background:#fff;color:#234c3e;border-radius:9px;padding:9px 13px;font-size:13px;font-weight:600;line-height:1.3;min-height:40px}
#rentabilidad button:hover{background:#edf3ec}#rentabilidad button:focus-visible,#rentabilidad input:focus-visible,#rentabilidad select:focus-visible{outline:3px solid #91b4a0;outline-offset:2px}
#rentabilidad button[aria-pressed=true],#rentabilidad .fin-primary{background:#235d4c;color:#fff;border-color:#235d4c}
#rentabilidad .fin-tabs{display:flex;gap:8px;margin-bottom:16px}#rentabilidad .fin-tabs button{min-width:130px}
#rentabilidad .fin-filters{background:#fff;border:1px solid var(--fin-line);border-radius:16px;padding:18px;margin-bottom:18px}
#rentabilidad .fin-presets{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:16px}#rentabilidad #finPeriodLabel{color:var(--fin-muted);font-size:12px}
#rentabilidad .fin-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
#rentabilidad label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#4f6557;min-width:0}
#rentabilidad input,#rentabilidad select{box-sizing:border-box;min-width:0;width:100%;height:42px;border:1px solid #d1dacd;border-radius:8px;padding:8px 10px;background:#fff;color:#203d31;font:inherit;font-size:14px}
#rentabilidad .fin-context{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--fin-muted);padding:8px 2px 12px}
#rentabilidad .fin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:13px}
#rentabilidad .fin-kpi{background:#fff;border:1px solid var(--fin-line);border-radius:15px;padding:20px;min-width:0;display:flex;flex-direction:column;gap:10px}
#rentabilidad .fin-kpi>span{font-size:12px;letter-spacing:.3px;color:#5c6e61;font-weight:600}
#rentabilidad .fin-kpi>strong{font-size:clamp(22px,2.2vw,32px);line-height:1.2;overflow-wrap:anywhere;color:#203c2e;letter-spacing:-.7px}
#rentabilidad .fin-kpi>small{font-size:11px;color:#718076;line-height:1.5}
#rentabilidad .fin-kpi.fin-emphasis{background:#235d4c;border-color:#235d4c}#rentabilidad .fin-kpi.fin-emphasis>*{color:#fff}
#rentabilidad .fin-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:10px}#rentabilidad .fin-secondary .fin-kpi{padding:15px;background:#f4f6f1}#rentabilidad .fin-secondary strong{font-size:21px}
#rentabilidad .fin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
#rentabilidad .fin-wide{grid-column:1/-1}
#rentabilidad .fin-panel{min-width:0;background:#fff;border:1px solid var(--fin-line);border-radius:16px;padding:22px;margin:0 0 18px}
#rentabilidad .fin-grid .fin-panel{margin:0}
#rentabilidad .fin-grid{margin-bottom:18px}
#rentabilidad .fin-panel>header{margin-bottom:18px}#rentabilidad .fin-panel h2{font-size:19px;letter-spacing:-.3px;margin:0 0 7px;color:#203d31}#rentabilidad .fin-panel header p{font-size:12px;line-height:1.6;color:#718076;margin:0}
#rentabilidad .fin-chart-scroll{overflow:auto;width:100%}#rentabilidad svg{width:100%;height:auto;max-height:380px;display:block}#rentabilidad svg text{font:11px sans-serif;fill:#69796d}
#rentabilidad .fin-legend{display:flex;gap:20px;margin:8px 0;font-size:12px}#rentabilidad .fin-legend span:nth-child(1){color:#235d4c}#rentabilidad .fin-legend span:nth-child(2){color:#9d835f}#rentabilidad .fin-legend span:nth-child(3){color:#689a82}
#rentabilidad .fin-table-wrap{overflow:auto;width:100%}#rentabilidad table{border-collapse:collapse;width:100%;font-size:12px}#rentabilidad th{padding:12px 10px;background:#f4f6f1;white-space:nowrap;text-align:left;color:#69766b;font-weight:600;border-bottom:1px solid var(--fin-line)}#rentabilidad td{padding:13px 10px;border-bottom:1px solid #edf0e9;vertical-align:middle;color:#263e30;white-space:nowrap}#rentabilidad td small{display:block;max-width:230px;white-space:normal;font-size:11px;line-height:1.5;color:#7b887f;margin-top:5px}
#rentabilidad td button{padding:7px 10px;font-size:12px}#rentabilidad .fin-tag{display:inline-block;font-size:10px;padding:4px 7px;border-radius:20px;background:#f6ecd8;color:#896521}#rentabilidad .fin-tag.good{background:#e3f0e8;color:#246542}#rentabilidad .fin-negative{color:#b54338;font-weight:700}
#rentabilidad .fin-cost-bars{display:flex;flex-direction:column;gap:15px}#rentabilidad .fin-cost-bars>div>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}#rentabilidad progress{width:100%;height:10px;margin:8px 0 2px;accent-color:#235d4c;border:0;border-radius:12px;overflow:hidden}#rentabilidad progress::-webkit-progress-bar{background:#edf1e8}#rentabilidad progress::-webkit-progress-value{background:#638c74}#rentabilidad .fin-cost-bars small{font-size:10px;color:#7d897e}
#rentabilidad .fin-footnote,#rentabilidad .fin-muted{font-size:12px;line-height:1.65;color:#7c877e;margin:12px 0 20px}
#rentabilidad .fin-empty{padding:30px 16px;text-align:center;border:1px dashed #d6dfd1;background:#f9faf6;border-radius:10px;font-size:13px;color:#72806f;line-height:1.6}
#rentabilidad .fin-actions,#rentabilidad .fin-product-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:16px}#rentabilidad .fin-product-tools label{flex:1;min-width:160px}
#rentabilidad .fin-alert{border-left:3px solid #b78b46;padding:12px 14px;background:#fcf8ed;margin:0 0 12px;font-size:13px}#rentabilidad .fin-alert strong,#rentabilidad .fin-alert span{display:block}#rentabilidad .fin-alert span{font-size:12px;line-height:1.6;color:#7b7566;margin-top:7px}
#rentabilidad #finError,#rentabilidad .fin-warning{border:1px solid #e0c69b;background:#fff7e6;color:#885720;border-radius:10px;padding:14px;font-size:13px}#rentabilidad [hidden]{display:none!important}
#rentabilidad summary{cursor:pointer;color:#346348;font-size:13px;padding:10px 0}
#rentabilidad dialog.fin-editor{position:fixed;inset:0;max-width:650px;width:calc(100% - 32px);max-height:85vh;overflow:auto;margin:auto;padding:24px;border:1px solid #bbc9bc;border-radius:18px;box-shadow:0 20px 70px #0004;background:#fff;box-sizing:border-box}
#rentabilidad dialog::backdrop{background:#18322299}#rentabilidad .fin-editor header,#rentabilidad .fin-editor footer{display:flex;justify-content:space-between;align-items:center;gap:12px}#rentabilidad .fin-editor h2{font-size:20px;margin:0}#rentabilidad .fin-editor footer{margin-top:20px}#rentabilidad .fin-editor h3{font-size:15px}#rentabilidad #finCategories label{margin:12px 0}#rentabilidad .fin-check{flex-direction:row;align-items:start;font-size:13px;line-height:1.5}#rentabilidad .fin-check input{width:18px;height:18px;flex-shrink:0}#rentabilidad #finEditError{color:#b13d34;font-size:13px}
@media(min-width:1450px){#rentabilidad .fin-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}#rentabilidad .fin-kpi{padding:17px}#rentabilidad .fin-kpi>strong{font-size:24px}}
@media(max-width:900px){#rentabilidad .fin-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#rentabilidad .fin-grid{grid-template-columns:minmax(0,1fr)}#rentabilidad .fin-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}#rentabilidad .fin-heading{padding:20px;align-items:start;flex-direction:column}}
@media(max-width:560px){#rentabilidad .fin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#rentabilidad .fin-kpi{padding:13px;border-radius:12px}#rentabilidad .fin-kpi>strong{font-size:20px}#rentabilidad .fin-kpi>small{font-size:10px}#rentabilidad .fin-panel{padding:15px}#rentabilidad .fin-filters{padding:13px}#rentabilidad h1{font-size:30px}#rentabilidad .fin-context{line-height:1.7}#rentabilidad .fin-presets button{font-size:11px;padding:8px}#rentabilidad .fin-version{white-space:normal}#rentabilidad th{font-size:11px}#rentabilidad .fin-tabs button{flex:1;min-width:0}}
#rentabilidad #finFamilies label{margin:12px 0}
@media print{#rentabilidad .fin-filters,#rentabilidad .fin-tabs,#rentabilidad button,#rentabilidad dialog{display:none!important}}
