:root{--bg:#f4f6f8;--card:#fff;--line:#e6e9ee;--tx:#1c2430;--mut:#6b7785;--accent:#2e7d32;--danger:#c62828;--ok:#2e7d32}*{box-sizing:border-box}body{background:var(--bg);color:var(--tx);margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px}.wrap{max-width:1000px;margin:0 auto;padding:18px}.head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.title{font-size:20px;font-weight:600}.sub{color:var(--mut);font-size:13px}.grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}.k-lbl{color:var(--mut);font-size:12px}.k-val{margin-top:4px;font-size:22px;font-weight:600}.k-sub{color:var(--mut);margin-top:3px;font-size:12px}.up{color:var(--ok)}.down{color:var(--danger)}.cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.sect{margin-bottom:10px;font-size:15px;font-weight:600}.row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:7px 0;font-size:14px;display:flex}.row:last-child{border-bottom:none}.muted{color:var(--mut);white-space:nowrap}.bar{background:#e8f1e9;border-radius:4px;height:7px;margin-top:4px;overflow:hidden}.bar>i{background:var(--accent);height:100%;display:block}.warn{color:var(--danger)}.debt-company+.debt-company{margin-top:10px}.debt-company-name{border-bottom:none;padding-bottom:2px}.debt-company .row{gap:12px}.debt-company .muted{white-space:normal;text-align:right}.antitop .sect,.antitop .row .muted{color:var(--danger)}.foot{color:var(--mut);text-align:center;margin-top:18px;font-size:12px}.chart-tabs{flex-wrap:wrap;gap:6px;margin:10px 0 14px;display:flex}.chart-tab{border:1px solid var(--line);background:var(--bg);color:var(--tx);cursor:pointer;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:13px}.chart-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.chart-tab:hover:not(.active){border-color:var(--accent)}.procurement-page{gap:14px;display:grid}.procurement-page .muted{white-space:normal}.procurement-page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.procurement-updated{color:var(--mut);margin-top:5px;font-size:12px}.procurement-quality{flex-wrap:wrap;gap:3px 8px;margin-top:5px;font-size:12px;display:flex}.procurement-quality.fresh{color:#365b39}.procurement-quality.stale{color:#8b1d1d}.procurement-quality small,.procurement-quality strong{flex-basis:100%}.procurement-refresh,.procurement-error button,.procurement-reconciliation button{border:1px solid var(--accent);background:var(--card);color:var(--accent);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:8px 14px;font-size:13px;font-weight:650}.procurement-refresh:disabled,.procurement-error button:disabled,.procurement-reconciliation button:disabled{cursor:wait;opacity:.6}.procurement-loading{color:var(--mut);margin:0}.procurement-error{color:#8b1d1d;background:#fff3f3;border:1px solid #ef9a9a;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.procurement-error>div{gap:3px;display:grid}.procurement-error span,.procurement-error small{line-height:1.35}.procurement-error button{color:#8b1d1d;border-color:#b3261e}.procurement-coverage{border:1px solid;border-radius:12px;align-items:center;gap:12px;padding:11px 14px;font-size:13px;display:flex}.procurement-coverage.complete{color:#245b29;background:#f0f8f0;border-color:#a5d6a7}.procurement-coverage.incomplete{color:#785500;background:#fff8e7;border-color:#f0c36d}.procurement-data-lock{color:#8b1d1d;background:#fff3f3;border:2px solid #b3261e;border-radius:12px;gap:4px;padding:13px 14px;line-height:1.4;display:grid}.procurement-data-lock b{font-size:15px}.procurement-data-lock span{font-size:13px}.procurement-reconciliation{color:#8b1d1d;background:#fff3f3;border:1px solid #ef9a9a;border-radius:12px;gap:9px;padding:13px 14px;line-height:1.4;display:grid}.procurement-reconciliation>div:first-child{gap:3px;display:grid}.procurement-reconciliation span,.procurement-reconciliation p,.procurement-reconciliation small{font-size:13px}.procurement-reconciliation p{margin:0}.procurement-reconciliation details{background:#fff;border-radius:9px;padding:8px 10px}.procurement-reconciliation details summary{cursor:pointer;font-weight:650}.procurement-reconciliation details>div{margin-top:6px}.procurement-reconciliation details small{color:var(--mut)}.procurement-reconciliation button{color:#8b1d1d;border-color:#b3261e;justify-self:start}.procurement-reconciliation-error{background:#ffe0e0;border-radius:9px;padding:9px 10px;font-size:13px}.procurement-scope{margin:0}.procurement-scope>p{color:var(--mut);margin:-2px 0 12px;font-size:13px;line-height:1.45}.procurement-scope-grid,.procurement-summary{gap:8px;display:grid}.procurement-scope-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.procurement-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.procurement-scope-item,.procurement-summary-card{border:1px solid var(--line);background:var(--bg);border-radius:10px;min-width:0;padding:10px}.procurement-scope-item span,.procurement-scope-item small,.procurement-scope-item em,.procurement-summary-card span{overflow-wrap:anywhere;display:block}.procurement-scope-item span,.procurement-summary-card span{min-height:32px;color:var(--mut);font-size:12px}.procurement-scope-item strong,.procurement-summary-card strong{margin:3px 0;font-size:23px;display:block}.procurement-scope-item small{color:var(--mut);font-size:11px}.procurement-scope-item em{color:var(--tx);margin:2px 0;font-size:12px;font-style:normal;font-weight:650}.procurement-inline-warning{color:#785500;background:#fff4db;border-radius:9px;margin-top:10px;padding:9px 11px;font-size:13px;line-height:1.4}.procurement-root-issues{color:#785500;background:#fff8e7;border:1px solid #f0c36d;border-radius:12px;gap:5px;padding:12px 14px;font-size:13px;display:grid}.procurement-summary-card{background:var(--card);border-left-width:4px}.procurement-summary-card.status-check{border-left-color:#e0a400}.procurement-summary-card.status-order_now{border-left-color:var(--danger)}.procurement-summary-card.status-order_by{border-left-color:#ef7f1a}.procurement-summary-card.status-enough{border-left-color:var(--ok)}.procurement-list{gap:12px;display:grid}.procurement-card{border:1px solid var(--line);background:var(--card);border-left-width:5px;border-radius:14px;min-width:0;overflow:hidden}.procurement-card.status-check{border-left-color:#e0a400}.procurement-card.status-order_now{border-left-color:var(--danger)}.procurement-card.status-order_by{border-left-color:#ef7f1a}.procurement-card.status-enough{border-left-color:var(--ok)}.procurement-card-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 15px 10px;display:flex}.procurement-card-head h3{overflow-wrap:anywhere;margin:0;font-size:17px}.procurement-card-head small{color:var(--mut)}.procurement-status{background:var(--bg);text-align:center;border-radius:999px;flex:0 auto;max-width:210px;padding:5px 9px;font-size:12px;font-weight:700}.procurement-recommendation,.procurement-do-not-use{border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 15px 11px;padding:10px 12px;display:flex}.procurement-recommendation{background:#eef6ee}.procurement-recommendation span{color:#365b39;font-size:13px}.procurement-recommendation strong{flex:none;font-size:21px}.procurement-do-not-use{color:#785500;background:#fff4db;gap:3px;display:grid}.procurement-do-not-use span{font-size:12px;line-height:1.4}.procurement-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.procurement-metrics>div{border-right:1px solid var(--line);min-width:0;padding:10px 12px}.procurement-metrics>div:last-child{border-right:0}.procurement-metrics span,.procurement-metrics b{overflow-wrap:anywhere;display:block}.procurement-metrics span{min-height:30px;color:var(--mut);font-size:11px}.procurement-metrics b{margin-top:3px;font-size:14px}.procurement-unassigned{color:#785500;background:#fff8e7;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px 15px;font-size:13px;display:grid}.procurement-unassigned small{grid-column:1/-1}.procurement-card-note{color:#365b39;background:#f6faf6;padding:9px 15px;font-size:12px;line-height:1.4}.procurement-card-note.warning{color:#785500;background:#fff8e7}.procurement-card-issues{color:#8b1d1d;background:#fff3f3;gap:4px;padding:10px 15px;font-size:12px;line-height:1.4;display:grid}.procurement-details{padding:0 15px}.procurement-details summary{color:var(--accent);cursor:pointer;padding:11px 0;font-size:13px;font-weight:650}.procurement-details[open] summary{border-bottom:1px solid var(--line)}.procurement-detail-rows{display:grid}.procurement-detail-rows>div,.procurement-order,.procurement-incoming-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;font-size:12px;display:flex}.procurement-detail-rows span{color:var(--mut)}.procurement-detail-rows b{text-align:right;overflow-wrap:anywhere}.procurement-orders,.procurement-incoming-list{padding:10px 0 4px}.procurement-incoming-list{border-top:1px solid var(--line)}.procurement-orders>b,.procurement-incoming-list>b{margin-bottom:4px;font-size:12px;display:block}.procurement-order>span,.procurement-incoming-row>span{overflow-wrap:anywhere;min-width:0}.procurement-order>span:last-child,.procurement-incoming-row>span:last-child{text-align:right;flex:none}.procurement-order small,.procurement-incoming-row small{color:var(--mut);margin-top:2px;display:block}.procurement-empty{border:1px solid;border-radius:12px;padding:14px;font-size:13px;line-height:1.4}.procurement-empty.complete{color:#245b29;background:#f0f8f0;border-color:#a5d6a7}.procurement-empty.incomplete{color:#785500;background:#fff8e7;border-color:#f0c36d}.procurement-method-note{color:var(--mut);font-size:12px;line-height:1.45}@media (width<=760px){.procurement-scope-grid,.procurement-summary,.procurement-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.procurement-metrics>div{border-bottom:1px solid var(--line)}}@media (width<=480px){.procurement-page-head,.procurement-error,.procurement-coverage,.procurement-card-head,.procurement-recommendation{flex-direction:column;align-items:stretch}.procurement-refresh,.procurement-error button,.procurement-reconciliation button{width:100%}.procurement-scope-grid,.procurement-summary,.procurement-metrics{grid-template-columns:1fr}.procurement-scope-item span,.procurement-summary-card span,.procurement-metrics span{min-height:0}.procurement-status{max-width:none}.procurement-metrics>div{border-right:0}.procurement-detail-rows>div,.procurement-order,.procurement-incoming-row{flex-direction:column;gap:3px}.procurement-detail-rows b,.procurement-order>span:last-child,.procurement-incoming-row>span:last-child{text-align:left}}.production-print-backdrop{z-index:1000;background:#141c2685;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.production-print-dialog{background:var(--card);border:1px solid var(--line);border-radius:16px;width:min(520px,100%);overflow:hidden;box-shadow:0 24px 70px #141c264d}.production-print-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 14px;display:flex}.production-print-head h2{margin:0 0 4px;font-size:20px}.production-print-head p{color:var(--mut);margin:0;font-size:13px}.production-print-close{border:1px solid var(--line);background:var(--bg);width:32px;height:32px;color:var(--tx);font:inherit;cursor:pointer;border-radius:8px;flex:none;font-size:20px;line-height:1}.production-print-body{padding:4px 24px 22px}.production-print-label{margin:14px 0 7px;font-size:13px;font-weight:600;display:block}.production-print-body select{border:1px solid var(--line);background:var(--card);width:100%;height:42px;color:var(--tx);font:inherit;border-radius:9px;padding:0 11px;font-size:14px}.production-print-choices{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.production-print-choice{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;min-height:98px;padding:13px 11px;display:flex}.production-print-choice.selected{border:2px solid var(--accent);background:#2e7d320f;padding:12px 10px}.production-print-choice input{opacity:0;pointer-events:none;position:absolute}.production-print-radio{border:1.5px solid var(--mut);background:var(--card);border-radius:50%;flex:none;width:18px;height:18px;margin-right:8px}.production-print-choice.selected .production-print-radio{border:5px solid var(--accent)}.production-print-choice b,.production-print-choice small{display:block}.production-print-choice b{margin-bottom:5px;font-size:13px}.production-print-choice small{color:var(--mut);font-size:11px;line-height:1.3}.production-print-note{border-left:3px solid var(--accent);background:#2e7d320f;margin-top:12px;padding:10px 12px;font-size:12px}.production-print-footer{border-top:1px solid var(--line);background:var(--bg);justify-content:flex-end;gap:8px;padding:14px 24px;display:flex}.production-print-cancel,.production-print-open{height:40px;font:inherit;cursor:pointer;border-radius:9px;padding:0 16px;font-size:13px;font-weight:600}.production-print-cancel{border:1px solid var(--line);background:var(--card);color:var(--tx)}.production-print-open{border:1px solid var(--accent);background:var(--accent);color:#fff}@media (width<=540px){.production-print-backdrop{align-items:flex-start;overflow-y:auto}.production-print-dialog{margin:12px 0}.production-print-head{padding:18px 18px 11px}.production-print-body{padding:3px 18px 18px}.production-print-choices{grid-template-columns:1fr}.production-print-choice{min-height:68px}.production-print-footer{padding:13px 18px}}.calcselect{border:1px solid var(--line);width:100%;color:var(--tx);background:#fff;border-radius:8px;padding:7px 10px;font-family:inherit;font-size:14px}input[type=range]{accent-color:var(--accent)}.pc-card{margin-bottom:16px;padding:16px}.pc-lbl{color:var(--mut);margin-bottom:8px;font-size:13px;font-weight:600}.pc-chips{flex-wrap:wrap;gap:7px;display:flex}.pc-chips .chart-tab{padding:8px 14px;font-size:14px}.pc-dot{vertical-align:-1px;border:1px solid #00000026;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.pc-inputs{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pc-inputs>*{min-width:0}@media (width<=520px){.pc-inputs{grid-template-columns:1fr}}.pc-num-row{align-items:stretch;gap:8px;display:flex}.pc-num-btn{border:1px solid var(--line);background:var(--bg);width:46px;color:var(--tx);cursor:pointer;border-radius:10px;font-family:inherit;font-size:22px}.pc-num-btn:active{background:#e8f1e9}.pc-num-input{text-align:center;border:1px solid var(--line);background:var(--card);min-width:0;color:var(--tx);font-variant-numeric:tabular-nums;border-radius:10px;flex:1;padding:9px 6px;font-family:inherit;font-size:24px;font-weight:600}.pc-num-input:focus{outline:2px solid var(--accent);border-color:var(--accent)}.pc-presets{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.pc-preset{border:1px solid var(--line);color:var(--mut);cursor:pointer;background:0 0;border-radius:999px;padding:4px 11px;font-family:inherit;font-size:12.5px}.pc-preset:hover{border-color:var(--accent);color:var(--tx)}.pc-hint{color:var(--mut);margin-top:7px;font-size:12px}.pc-hint b{font-variant-numeric:tabular-nums}.pc-cost-strip{background:#e8f1e9;border-radius:10px;justify-content:space-between;align-items:baseline;margin-top:14px;padding:10px 14px;font-size:14px;display:flex}.pc-cost-strip b{font-variant-numeric:tabular-nums;font-size:18px}.pc-premium{background:var(--accent);color:#fff;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px 16px;display:flex}.pc-premium .k-lbl{color:#ffffffd9;font-size:13px}.pc-premium .k-val{margin-top:2px;font-size:26px}.pc-premium.neg{background:var(--danger)}.budget-head{align-items:flex-start}.budget-source{align-items:center;gap:10px;font-size:12px;display:flex}.budget-controls,.budget-filter-card{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-bottom:16px;padding-bottom:4px;display:flex}.budget-controls .chart-tabs,.budget-filter-card .chart-tabs{margin-bottom:10px}.budget-progress{color:var(--mut);grid-template-columns:1fr auto;align-items:center;gap:7px 12px;margin-bottom:16px;padding:11px 14px;font-size:12px;display:grid}.budget-progress>div{background:#e6e9ee;border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden}.budget-progress i{background:var(--fact,#355f73);height:100%;display:block}.budget-kpi-grid{grid-template-columns:repeat(3,minmax(190px,1fr))}.budget-kpi{min-width:0}.budget-kpi .k-val{font-variant-numeric:tabular-nums;font-size:clamp(19px,2.4vw,24px)}.budget-definition{border-left:4px solid #b78932;flex-direction:column;gap:4px;margin-bottom:16px;font-size:13px;display:flex}.budget-definition span{color:var(--mut)}.budget-warnings{background:#fffbec;border-color:#dfc986;margin-bottom:16px;font-size:13px}.budget-warnings>div:not(.sect){margin-top:5px}.budget-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:16px}.budget-chart{height:280px;margin-top:12px;position:relative}.budget-chart-tall{height:320px}.budget-ranking{gap:13px;margin-top:14px;display:grid}.budget-rank-head{justify-content:space-between;align-items:baseline;gap:16px;font-size:13px;display:flex}.budget-rank-head small,.budget-table small{color:var(--mut);margin-top:2px;font-size:10px;font-weight:400;display:block}.budget-rank-head b{white-space:nowrap;font-variant-numeric:tabular-nums}.budget-rank-bar{background:#edf0f3;border-radius:999px;height:8px;margin-top:5px;overflow:hidden}.budget-rank-bar i{border-radius:inherit;background:#355f73;height:100%;display:block}.budget-table-wrap{width:100%;overflow-x:auto}.budget-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:820px;font-size:12px}.budget-table th,.budget-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:9px 8px}.budget-table th{color:var(--mut);font-weight:600}.budget-table th:first-child,.budget-table td:first-child{z-index:1;background:var(--card);text-align:left;min-width:170px;position:sticky;left:0}.budget-table tbody tr:hover td,.budget-table tbody tr:hover td:first-child{background:#f8fafb}.budget-filter-card{padding-bottom:2px}.budget-year-label{margin-top:8px;font-size:15px;font-weight:600}.budget-analysis-controls{grid-template-columns:minmax(230px,1.15fr) minmax(280px,1.5fr) minmax(250px,1.2fr);align-items:end;gap:16px;margin-bottom:16px;padding-bottom:3px;display:grid}.budget-analysis-controls label{min-width:0;display:block}.budget-analysis-controls .calcselect{margin:8px 0 12px}.budget-analysis-controls .chart-tabs{margin-bottom:12px}.budget-item-picker{margin-bottom:16px}.budget-item-picker-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.budget-item-picker-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.budget-item-checks{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.budget-item-checks label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;align-items:flex-start;gap:9px;min-width:0;padding:10px 11px;transition:border-color .15s,background .15s;display:flex}.budget-item-checks label.selected{background:#f5f9f3;border-color:#8fab82}.budget-item-checks input{accent-color:var(--accent);margin:2px 0 0}.budget-item-checks span{min-width:0;font-size:12px;font-weight:600;line-height:1.25}.budget-item-checks small{color:var(--mut);margin-top:3px;font-size:10px;font-weight:400;display:block}.budget-item-picker-foot{margin-top:10px}.budget-analysis-kpis{grid-template-columns:repeat(4,minmax(170px,1fr))}.budget-analysis-kpis .k-val{font-variant-numeric:tabular-nums}.budget-analysis-card,.budget-analysis-cols{margin-bottom:16px}.budget-analysis-trend{height:330px;margin-top:14px;position:relative}.budget-analysis-cols{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr)}.budget-analysis-relation{height:390px;margin-top:14px;position:relative}.budget-correlation-card{flex-direction:column;display:flex}.budget-correlation-value{color:#355f73;font-variant-numeric:tabular-nums;margin:8px 0 2px;font-size:44px;font-weight:650;line-height:1}.budget-correlation-card>.sub{white-space:normal;line-height:1.45}.budget-extremes{gap:8px;margin:18px 0;display:grid}.budget-extremes>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:12px;display:flex}.budget-extremes span{color:var(--mut)}.budget-extremes b{text-align:right;font-variant-numeric:tabular-nums}.budget-correlation-note{color:var(--mut);background:#f3f5f7;border-radius:9px;margin-top:auto;padding:11px;font-size:11px;line-height:1.4}.budget-analysis-table{min-width:980px}.foot a{color:var(--accent)}@media (width<=760px){.budget-kpi-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.budget-cols{grid-template-columns:1fr}.budget-analysis-controls{grid-template-columns:1fr;align-items:start}.budget-item-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-analysis-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}.budget-analysis-cols{grid-template-columns:1fr}.budget-analysis-trend,.budget-analysis-relation{height:310px}.budget-chart{height:250px}.budget-chart-tall{height:300px}}@media (width<=460px){.budget-source{justify-content:space-between;width:100%}.budget-kpi-grid,.budget-analysis-kpis{grid-template-columns:1fr}.budget-item-picker-head{display:block}.budget-item-picker-actions{justify-content:flex-start;margin-top:10px}.budget-item-checks{grid-template-columns:1fr}.budget-analysis-trend{height:290px}.budget-analysis-relation{height:340px}.budget-controls,.budget-filter-card{display:block}.budget-rank-head{gap:8px}}
