.eco-workspace,.eco-sheet{--text-primary:var(--color-text);--text-secondary:var(--color-text-light);--primary:var(--color-primary);--surface:var(--color-surface);--border-color:var(--color-border)}.eco-workspace{max-width:1480px;color:var(--text-primary,#172033);min-width:0;margin:auto;container-type:inline-size}.eco-route-header{padding:8px 0 24px;position:relative}.eco-route-header>a{color:var(--text-secondary,#64748b);font-size:13px;text-decoration:none}.eco-route-header h1{letter-spacing:-.04em;overflow-wrap:anywhere;margin:14px 0 8px;font-size:clamp(24px,3vw,34px)}.eco-tabs{border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;gap:24px;margin-bottom:28px;display:flex}.eco-tabs>a{color:var(--text-secondary,#64748b);border-bottom:2px solid #0000;padding:12px 0;font-size:14px;font-weight:600;text-decoration:none}.eco-tabs>a.active{border-color:var(--primary,#2563eb);color:var(--primary,#2563eb)}.eco-month-header,.eco-state-line{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;display:flex}.eco-month-header{justify-content:space-between}.eco-month{align-items:center;gap:4px;max-width:100%;display:flex}.eco-month button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;min-width:44px;min-height:44px;display:grid}.eco-month input{font:inherit;color:inherit;background:0 0;border:0;min-width:0;max-width:100%;padding:10px 6px;font-weight:650}.eco-state-line{color:var(--text-secondary,#64748b);font-size:12px}.eco-badge{color:#334155;overflow-wrap:anywhere;background:#edf2f7;border-radius:6px;align-items:center;max-width:100%;padding:5px 9px;font-size:11px;font-weight:650;line-height:1.4;display:inline-flex}.eco-quality-mixed{color:#805400;background:#fff3db}.eco-quality-actual{color:#236140;background:#e9f4ee}.eco-quality-incomplete{color:#923838;background:#fcecec}.eco-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.eco-kpi{background:var(--surface,#fff);border-radius:12px;min-width:0;padding:20px 18px}.eco-kpi h2{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary,#64748b);margin:0 0 14px;font-size:12px;font-weight:650}.eco-kpi-value{letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(22px,2.2vw,32px);font-weight:650;line-height:1.2}.eco-kpi-profit{box-shadow:inset 0 3px 0 var(--primary,#2563eb)}.eco-kpi p{color:var(--text-secondary,#64748b);margin:16px 0 8px;font-size:12px}.eco-kpi p strong{color:var(--text-primary,#172033);margin-top:3px;font-weight:500;display:block}.eco-variance{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:12px;display:block}.eco-variance small{margin-top:3px;font-size:10px;display:block}.eco-adverse{color:#a04337}.eco-favorable{color:#246e4a}.eco-profit-help{color:var(--text-secondary,#64748b);margin-bottom:28px;font-size:12px}.eco-columns{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;display:grid}.eco-analysis{min-width:0}.eco-section{background:var(--surface,#fff);border-radius:12px;min-width:0;margin-bottom:20px;padding:24px}.eco-section h2,.eco-review-rail h2{letter-spacing:-.015em;margin:0 0 20px;font-size:16px;font-weight:650}.eco-section h3{font-size:13px}.eco-comparison-row{font-variant-numeric:tabular-nums;border-bottom:1px solid #f0f2f5;grid-template-columns:minmax(125px,1.5fr) repeat(3,minmax(0,1fr));align-items:start;gap:12px;padding:16px 0;font-size:13px;display:grid}.eco-comparison-row:last-child{border-bottom:0}.eco-comparison-row>div{overflow-wrap:anywhere;min-width:0}.eco-comparison-row small{color:var(--text-secondary,#64748b);margin-bottom:6px;font-size:10px;display:block}.eco-item-name{font-weight:600}.eco-item-name small{margin-top:7px;font-weight:400;line-height:1.45}.eco-text-button{color:var(--primary,#2563eb);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;min-height:32px;padding:0;text-decoration:none}.eco-review-rail{background:var(--surface,#fff);border-radius:12px;flex-direction:column;gap:14px;min-width:0;padding:24px;display:flex}.eco-review-rail>p{margin:0;font-size:13px;line-height:1.6}.eco-review-rail h2{margin-bottom:0}.eco-review-rail small{overflow-wrap:anywhere;font-size:11px}.eco-issues{margin:0;padding:0;list-style:none}.eco-issues li{overflow-wrap:anywhere;border-top:1px solid #edf0f4;padding:16px 0}.eco-issues strong{margin:8px 0;font-size:13px;display:block}.eco-issues p{margin:6px 0;font-size:12px;line-height:1.6}.eco-manual-actions{flex-direction:column;gap:4px;display:flex}.eco-manual-actions button{white-space:normal;text-align:left;justify-content:flex-start;font-size:12px}.eco-cost-bar{border-radius:6px;gap:3px;height:10px;margin:12px 0 24px;display:flex;overflow:hidden}.eco-cost-bar>span{flex-basis:0;min-width:0}.eco-cost-0{background:#4676d7}.eco-cost-1{background:#9bb7eb}.eco-cost-2{background:#688476}.eco-cost-3{background:#bd9960}.eco-cost-4{background:#9aa5b5}.eco-cost-dot{border-radius:2px;width:7px;height:7px;margin-right:10px;display:inline-block}.eco-cost-list{margin:0}.eco-cost-list>div{justify-content:space-between;gap:20px;padding:10px 0;font-size:13px;display:flex}.eco-cost-list dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right;margin:0}.eco-cost-list dt{min-width:0}.eco-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.eco-actions button{white-space:normal}.eco-sheet{font-size:14px;line-height:1.6}.eco-sheet form label,.eco-month-header>label{flex-direction:column;gap:6px;margin:14px 0;font-size:13px;font-weight:550;display:flex}.eco-sheet input,.eco-sheet textarea,.eco-sheet select,.eco-month-header input{width:100%;min-width:0;font:inherit;color:inherit;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:11px 12px}.eco-sheet textarea{resize:vertical;min-height:90px}.eco-sheet fieldset{border:0;margin:18px 0;padding:0}.eco-sheet .eco-check{flex-direction:row;align-items:center;font-weight:400}.eco-check input{flex-shrink:0;width:18px;height:18px}.eco-money-input{align-items:center;gap:12px;display:flex}.eco-money-input input{font-variant-numeric:tabular-nums;font-size:26px}.eco-basis{color:var(--text-secondary,#64748b);font-size:12px}.eco-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.eco-sheet p,.eco-timeline p{overflow-wrap:anywhere}.eco-sheet details{margin-top:24px;font-size:12px}.eco-official{background:#edf1f5;border-left:3px solid #64748b;border-radius:0 12px 12px 0;margin:24px 0;padding:12px 18px}.eco-official h2{font-size:14px}.eco-kpis-compact{gap:8px}.eco-kpis-compact .eco-kpi{box-shadow:none;background:0 0;padding:12px}.eco-kpis-compact .eco-kpi-value{font-size:21px}.eco-close-meta{color:#536275;font-size:12px}.eco-usage{grid-template-columns:1fr 1fr;gap:28px;display:grid}.eco-usage p{overflow-wrap:anywhere;font-size:13px}.eco-usage small{color:#64748b;margin-top:6px;display:block}.eco-usage+small{color:#64748b;font-size:11px}.eco-runs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.eco-run{background:#fff;border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:20px;display:flex}.eco-run>div{justify-content:space-between;gap:12px;display:flex}.eco-run p{overflow-wrap:anywhere;margin:0;font-size:13px}.eco-run small{color:#64748b;font-size:11px}.eco-month-list>a{color:inherit;border-bottom:1px solid #edf1f5;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:20px;padding:20px 0;font-size:13px;text-decoration:none;display:grid}.eco-month-list strong,.eco-month-list small{margin-top:6px;display:block}.eco-month-list .eco-badge{margin:8px 0}.eco-timeline{border-left:2px solid #e4eaf2;padding:0 0 0 18px;list-style:none}.eco-timeline li{padding:0 0 24px 8px}.eco-timeline time{color:#64748b;margin-bottom:5px;font-size:11px;display:block}.eco-timeline strong{font-size:14px}.eco-history-versions{flex-direction:column;gap:12px;display:flex}.eco-history-versions small{display:block}.eco-loading{color:#64748b;padding:24px}.eco-skeleton{background:#edf1f5;border-radius:12px;height:180px;margin-top:20px}.eco-empty{text-align:center;padding:48px 24px}.eco-version-list{padding:0;list-style:none}.eco-version-list li{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.eco-workspace :focus-visible,.eco-sheet :focus-visible{outline-offset:3px;outline:3px solid #2563eb}.eco-workspace summary,.eco-sheet summary{cursor:pointer;min-height:36px}.eco-timeline strong,.eco-timeline small{margin-top:4px;display:block}@container (width<=1050px){.eco-columns{grid-template-columns:1fr}.eco-review-rail{grid-row:1}.eco-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-kpi{padding:15px 18px}.eco-kpi p{margin:9px 0 5px}.eco-kpi h2{margin-bottom:8px}.eco-month-list>a{grid-template-columns:1.5fr 1fr 1fr}.eco-month-list>a>.eco-badge{grid-column:1/-1}}@media (width<=639px){.eco-route-header{padding-bottom:16px}.eco-tabs{gap:16px;margin-bottom:20px}.eco-tabs>a{padding:10px 0;font-size:12px}.eco-section,.eco-review-rail{padding:18px}.eco-kpis{background:#fff;border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.eco-kpi{border-radius:0;grid-template-columns:1fr 1fr;gap:6px;padding:13px 18px;display:grid}.eco-kpi h2{margin:0;font-size:11px}.eco-kpi-value{text-align:right;font-size:22px}.eco-kpi p,.eco-kpi .eco-variance{display:none}.eco-kpi-profit{order:-1;padding:22px 18px;display:block;box-shadow:inset 0 3px #2563eb}.eco-kpi-profit h2{margin-bottom:12px}.eco-kpi-profit .eco-kpi-value{text-align:left;font-size:36px}.eco-kpi-profit p,.eco-kpi-profit .eco-variance{display:block}.eco-kpi-profit p strong{margin-left:8px;display:inline}.eco-comparison-row{grid-template-columns:1fr 1fr;gap:12px}.eco-item-name{grid-column:1/-1;font-size:14px}.eco-comparison-row>div:last-child{grid-column:1/-1}.eco-comparison-row .eco-variance small{margin-left:8px;display:inline}.eco-usage,.eco-runs,.eco-form-grid{grid-template-columns:1fr}.eco-month-list>a{grid-template-columns:1fr 1fr;gap:12px}.eco-month-list>a>div:first-child{grid-column:1/-1}.eco-month-header{gap:6px}.eco-month input{font-size:16px}.eco-sheet{padding-bottom:env(safe-area-inset-bottom)}.eco-sheet input,.eco-sheet textarea,.eco-sheet select{font-size:16px}.eco-sheet .eco-actions{padding:12px 0 max(12px, env(safe-area-inset-bottom));z-index:1;background:#fff;position:static}.eco-sheet .eco-actions button{flex:1}.eco-official{padding:12px}.eco-kpis-compact .eco-kpi-profit{box-shadow:none;order:0;padding:13px 18px;display:grid}.eco-kpis-compact .eco-kpi-profit .eco-kpi-value{text-align:right;font-size:21px}.eco-tabs>a,.eco-workspace button{min-height:44px}}
