/* Isolated report document: readable on screen and on white paper. */
#obra-executive{--er-ink:#201e1b;--er-muted:#70685f;--er-line:#e4dfd9;--er-paper:#fff;--er-track:#f2f1ee;font:13px Arial,sans-serif;color:var(--er-ink);max-width:1160px;margin:20px auto}
html body #obra-executive :is(h2,h3,b,strong,span,em,td,th,p,small,label){color:var(--er-ink)!important;font-family:inherit!important;letter-spacing:normal}
#obra-executive *{box-sizing:border-box}#obra-executive .er-paper{background:var(--er-paper);padding:28px;border:1px solid var(--er-line);border-radius:16px;box-shadow:0 1px 2px #0000000c}
#obra-executive .er-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap}#obra-executive .er-controls>div{display:flex;gap:8px}#obra-executive .er-controls button{background:var(--er-paper)!important;color:var(--er-ink)!important;border:1px solid var(--er-line)!important;padding:10px 14px;border-radius:8px;cursor:pointer}#obra-executive .er-controls button[aria-pressed=true],#obra-executive .er-controls button[data-er-print]{background:#f56322!important;color:white!important;border-color:#f56322!important}#obra-executive .er-controls label{display:grid;gap:5px}#obra-executive .er-controls select{background:var(--er-paper)!important;color:var(--er-ink)!important;border:1px solid var(--er-line)!important;border-radius:6px;padding:7px}
#obra-executive .er-head{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid var(--er-line);padding-bottom:22px;margin-bottom:20px}html body #obra-executive .er-head p{color:#f56322!important;font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 12px}#obra-executive h2{font-size:26px!important;line-height:1.2;margin:0 0 8px}#obra-executive .er-meta{text-align:right;display:flex;flex-direction:column;gap:5px;flex-shrink:0}#obra-executive .er-meta small{font-size:10px}#obra-executive .er-meta small:last-child{margin-top:8px}html body #obra-executive .er-week-title{font-size:24px;color:#f56322!important}
html body #obra-executive :is(small,.er-head span,.er-kpi span,.er-gauge span,.er-notes p,.er-cut-note){color:var(--er-muted)!important}#obra-executive small{display:block;font-size:11px;line-height:1.5}#obra-executive h3{font-size:11px!important;margin:0 0 14px;font-weight:700}#obra-executive .er-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}#obra-executive .er-kpi{border:1px solid var(--er-line);border-radius:10px;padding:16px 13px;min-width:0}#obra-executive .er-kpi span,#obra-executive .er-gauge span{display:block;font-size:10px;font-weight:700}#obra-executive .er-kpi b{display:block;font-size:20px;margin:7px 0 3px;font-variant-numeric:tabular-nums}#obra-executive .er-orange{background:#f56322;border-color:#f56322}html body #obra-executive .er-orange :is(span,b,small){color:white!important}
#obra-executive .er-gauges{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}#obra-executive .er-gauge{display:flex;align-items:center;gap:20px;border:1px solid var(--er-line);border-radius:10px;padding:18px}#obra-executive .er-gauge b{font-size:27px;display:block;margin:7px 0}#obra-executive .er-ring{background:conic-gradient(var(--color) var(--value),var(--er-track) 0);width:104px;height:104px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}#obra-executive .er-ring i{width:76px;height:76px;border-radius:50%;background:var(--er-paper)}#obra-executive .er-gap{padding:16px 20px;border:1px solid var(--er-line);border-radius:10px;margin:20px 0;background:#fff2df}#obra-executive .er-gap.positive{background:#ddf6df}html body #obra-executive .er-gap :is(b,small){color:#23472c!important}#obra-executive .er-gap.caution :is(b,small){color:#764b19!important}#obra-executive .er-gap small{margin-top:5px}
#obra-executive .er-partidas{border:1px solid var(--er-line);border-radius:10px;padding:18px;margin-top:20px}#obra-executive .er-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}#obra-executive .er-section-title h3{margin:0}#obra-executive .er-section-title span{font-size:10px;white-space:nowrap}.er-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:10px}.er-dot.physical{background:#f56322}.er-dot.financial{background:#009eaa}.er-dot.plan{background:#3977fa}
#obra-executive .er-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,2.5fr) 175px;gap:15px;align-items:center;margin:12px 0;break-inside:avoid}#obra-executive .er-name{display:flex;gap:7px;align-items:baseline;min-width:0}#obra-executive .er-name b{font-size:11px;line-height:1.4;overflow-wrap:anywhere}#obra-executive .er-name small{display:inline;white-space:nowrap}#obra-executive .er-bars>div{height:8px;margin:3px 0;background:var(--er-track);border-radius:4px;overflow:hidden;border:1px solid var(--er-line)}#obra-executive .er-bars i{display:block;height:100%;background:#f56322}#obra-executive .er-bars>div+div i{background:#009eaa}#obra-executive .er-row-values{text-align:right;font-size:11px}html body #obra-executive .er-row-values em{color:#009eaa!important;font-style:normal}#obra-executive .er-row-values small{font-size:10px}#obra-executive .er-notes p{font-size:11px;line-height:1.5;margin:12px 0}#obra-executive .er-signatures{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:90px;text-align:center;break-inside:avoid}#obra-executive .er-signatures>div{border-top:1px solid var(--er-line);padding-top:12px}#obra-executive .er-footer{border-top:1px solid var(--er-line);text-align:center;margin-top:30px;padding-top:16px;color:var(--er-muted);font-size:10px}
#obra-executive .er-chart{margin-top:26px}#obra-executive .er-chart svg{width:100%;height:auto;display:block;overflow:visible}#obra-executive .er-chart-grid line{stroke:var(--er-line)}#obra-executive .er-chart text{font:11px Arial;fill:var(--er-muted)}#obra-executive .er-chart polyline{fill:none;stroke-width:3;stroke-linejoin:round}#obra-executive .er-plan{stroke:#3977fa;stroke-dasharray:6 4}#obra-executive .er-physical{stroke:#f56322}#obra-executive .er-financial{stroke:#009eaa}#obra-executive .er-cut{stroke:#3977fa;stroke-width:1}#obra-executive .er-cut-label{fill:#f56322!important;font-weight:bold!important}
#obra-executive .er-table-scroll{overflow:auto}#obra-executive table{width:100%;border-collapse:collapse;font-size:10px;min-width:650px}html body #obra-executive :is(td,th){background:transparent!important;border:0!important;border-bottom:1px solid var(--er-line)!important;padding:9px 6px;font-size:10px;text-align:right;vertical-align:top}#obra-executive :is(td,th):nth-child(-n+2){text-align:left}#obra-executive tfoot{font-weight:700}#obra-executive thead{display:table-header-group}#obra-executive tr{break-inside:avoid}
html[data-theme=dark] #obra-executive{--er-paper:#222d32;--er-ink:#eef2f3;--er-muted:#b8c5cc;--er-line:#48535a;--er-track:#344047}
@media(max-width:750px){#obra-executive .er-paper{padding:18px}#obra-executive .er-kpis{grid-template-columns:1fr 1fr}#obra-executive .er-gauges{grid-template-columns:1fr}#obra-executive .er-row{grid-template-columns:minmax(100px,1fr) 1fr 140px;gap:9px}#obra-executive h2{font-size:21px!important}}
@media(max-width:500px){#obra-executive .er-head{flex-direction:column}#obra-executive .er-meta{text-align:left}#obra-executive .er-kpi b{font-size:18px}#obra-executive .er-row{grid-template-columns:1fr 140px}#obra-executive .er-name{grid-column:1/-1}#obra-executive .er-controls button{font-size:12px}#obra-executive .er-section-title{flex-wrap:wrap}}
@page{size:letter;margin:10mm}
@media print{html body #obra-executive{--er-paper:#fff;--er-ink:#201e1b;--er-muted:#70685f;--er-line:#e4dfd9;--er-track:#f2f1ee;margin:0;max-width:none;font-size:10px}body{margin:0}#obra-executive *{print-color-adjust:exact;-webkit-print-color-adjust:exact}#obra-executive .er-controls{display:none}#obra-executive .er-paper{border:0;box-shadow:none;padding:0;border-radius:0}#obra-executive .er-kpis{grid-template-columns:repeat(4,1fr)}#obra-executive .er-gauges{grid-template-columns:1fr 1fr}#obra-executive .er-kpi{padding:10px}#obra-executive .er-kpi b{font-size:15px}#obra-executive .er-gauge{padding:12px;gap:12px}#obra-executive .er-ring{width:70px;height:70px}#obra-executive .er-ring i{width:50px;height:50px}#obra-executive .er-head{flex-direction:row}#obra-executive .er-meta{text-align:right}#obra-executive .er-row{grid-template-columns:1fr 2fr 145px}#obra-executive .er-name{grid-column:auto}#obra-executive .er-table-scroll{overflow:visible}#obra-executive table{min-width:0}#obra-executive .er-partidas{break-inside:auto}#obra-executive .er-gauges,#obra-executive .er-kpis,#obra-executive .er-chart{break-inside:avoid}#obra-executive .er-signatures{margin-top:50px}}
@media print{#obra-executive .er-signatures{margin-top:20px}#obra-executive .er-footer{margin-top:10px;padding-top:8px;break-before:avoid}}

#obra-executive .er-curve-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 4px}#obra-executive .er-curve-values>div{padding:9px 12px;border:1px solid var(--er-line);border-radius:7px;min-width:0}#obra-executive .er-curve-values span{display:block;font-size:10px}#obra-executive .er-curve-values b{display:block;font-size:16px;margin-top:4px}html body #obra-executive .er-curve-values .plan b{color:#3977fa!important}html body #obra-executive .er-curve-values .physical b{color:#f56322!important}html body #obra-executive .er-curve-values .financial b{color:#009eaa!important}#obra-executive .er-future{fill:var(--er-track);opacity:.5}#obra-executive .er-chart .er-cut-badge{fill:white!important;font-weight:700}#obra-executive .er-cut{stroke:#f56322;stroke-dasharray:4 3}#obra-executive .er-future-label{font-size:9px!important;letter-spacing:1px}#obra-executive .er-curve-notes{border-left:3px solid #3977fa;background:var(--er-track);padding:8px 12px;border-radius:0 6px 6px 0}#obra-executive .er-curve-notes p{font-size:11px;line-height:1.5;margin:5px 0}@media(max-width:600px){#obra-executive .er-curve-values{grid-template-columns:1fr 1fr}#obra-executive .er-chart svg{min-width:0}#obra-executive .er-curve-values b{font-size:14px}}@media print{#obra-executive .er-curve-values{grid-template-columns:repeat(4,1fr)}#obra-executive .er-curve-values b{font-size:13px}#obra-executive .er-curve-notes p{font-size:9px}}

@media print{#obra-executive .er-chart{margin-top:16px}#obra-executive .er-chart svg{max-height:235px}#obra-executive .er-head{padding-bottom:12px;margin-bottom:12px}#obra-executive .er-partidas{padding:12px;margin-top:12px}html body #obra-executive :is(td,th){padding:6px 5px}#obra-executive .er-notes p{font-size:9px}#obra-executive .er-curve-notes{padding:5px 9px}}
/* Weekly payroll uses the same report paper and orange emphasis. */
#obra-executive .er-controls>div{flex-wrap:wrap}
#obra-executive .er-pay-member{border:1px solid var(--er-line);border-radius:12px;margin-top:20px;overflow:hidden}
#obra-executive .er-pay-head{display:flex;justify-content:space-between;gap:16px;padding:18px;background:var(--er-track);break-after:avoid}
#obra-executive .er-pay-head h3{font-size:18px!important;margin:5px 0}
#obra-executive .er-pay-head span{font-size:11px}
#obra-executive .er-pay-head>div:last-child{text-align:right}
#obra-executive .er-pay-head strong{display:block;font-size:22px;margin-top:6px;font-variant-numeric:tabular-nums}
#obra-executive .er-pay-table{min-width:580px;table-layout:fixed}
#obra-executive .er-pay-table th:first-child{width:40%}
#obra-executive .er-pay-table th:nth-child(2){width:10%}
html body #obra-executive .er-pay-table :is(td,th){padding:12px 14px;overflow-wrap:anywhere}
#obra-executive .er-pay-bottom{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:18px;break-inside:avoid}
#obra-executive .er-pay-totals p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:9px 0;border-bottom:1px solid var(--er-line);font-size:12px}
#obra-executive .er-receipt{border:1px solid var(--er-line);border-radius:8px;padding:12px;font-size:11px}
#obra-executive .er-receipt p{font-size:11px;margin:10px 0 0}
#obra-executive .er-sign-box{height:45px;border-bottom:1px solid var(--er-line);margin-bottom:5px}
#obra-executive .er-pay-grand{display:flex;justify-content:space-between;gap:20px;border-top:2px solid #f56322;padding:18px 0;margin-top:24px;break-inside:avoid}
#obra-executive .er-pay-grand strong{font-size:24px;font-variant-numeric:tabular-nums}
@media(max-width:600px){#obra-executive .er-pay-bottom{grid-template-columns:1fr;gap:16px}#obra-executive .er-pay-grand{flex-direction:column;gap:8px}#obra-executive .er-pay-head{padding:14px}#obra-executive .er-pay-head strong{font-size:18px}}
@media print{#obra-executive .er-pay-member{break-inside:auto;margin-top:14px}#obra-executive .er-pay-head{padding:10px 12px}#obra-executive .er-pay-head h3{font-size:15px!important}#obra-executive .er-pay-table{min-width:0}html body #obra-executive .er-pay-table :is(td,th){padding:7px 8px}#obra-executive .er-pay-bottom{grid-template-columns:1fr 1fr;gap:20px;padding:12px}#obra-executive .er-pay-grand{flex-direction:row}#obra-executive .er-receipt{border-color:#aaa}#obra-executive .er-sign-box{border-color:#aaa}}
#obra-executive .er-pay-repeat{display:none}
@media print{
 #obra-executive .er-pay-repeat{display:table-row}
 #obra-executive .er-payroll .er-head{padding-bottom:8px;margin-bottom:8px}
 #obra-executive .er-payroll .er-head p{margin-bottom:6px}
 #obra-executive .er-payroll .er-kpi{padding:8px;min-height:0}
 #obra-executive .er-payroll .er-kpi b{font-size:16px;margin:4px 0}
 #obra-executive .er-payroll .er-kpi small{font-size:9px}
 #obra-executive .er-payroll .er-notes p{margin:7px 0;font-size:8px}
 #obra-executive .er-payroll .er-pay-head{padding:7px 10px}
 #obra-executive .er-payroll .er-pay-head h3{font-size:13px!important;margin:3px 0}
 #obra-executive .er-payroll .er-pay-head strong{font-size:18px}
 #obra-executive .er-payroll .er-pay-head small{font-size:9px}
 #obra-executive .er-payroll .er-pay-bottom{padding:8px 10px}
 #obra-executive .er-payroll .er-pay-totals p{padding:6px 0;font-size:10px}
 #obra-executive .er-payroll .er-receipt{padding:8px;font-size:10px}
 #obra-executive .er-payroll .er-receipt p{font-size:10px;margin-top:6px}
 #obra-executive .er-payroll .er-sign-box{height:32px}
 #obra-executive .er-payroll .er-pay-grand{margin-top:12px;padding:10px 0}
 html body #obra-executive .er-payroll .er-pay-table :is(td,th){font-size:9px;padding:5px 8px}
 #obra-executive .er-payroll .er-pay-table small{font-size:9px}
}

#obra-executive .er-chart .er-physical-estimate{stroke-dasharray:6 4;opacity:.8}

#obra-executive .er-chart .er-financial{stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}#obra-executive .er-financial-point{cursor:help}
