:root{--bg:#f5f5f1;--surface:#fff;--ink:#202b27;--muted:#737c76;--green:#257355;--line:#e5e9e4;--red:#b64c3c;--amber:#a96b16}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 'Segoe UI',Arial,sans-serif;font-variant-numeric:tabular-nums}header{padding:22px 4%;background:var(--surface);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{font-weight:650;font-size:18px;display:flex;align-items:center;gap:9px;white-space:nowrap}.brand-dot{width:12px;height:12px;background:var(--green);border-radius:4px}.brand-sub{font-size:12px;font-weight:400;color:var(--muted);margin-left:7px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}button,select,input{font:inherit}button,select{border:1px solid #d9dfd9;border-radius:8px;padding:9px 13px;background:#fff;color:var(--ink);cursor:pointer}button:hover{background:#f0f5f0}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#1d6147}input{border:1px solid #d9dfd9;border-radius:7px;padding:10px 12px;color:var(--ink);background:#fff}input:focus,button:focus-visible,select:focus{outline:2px solid #72ac92;outline-offset:2px}main{max-width:1460px;margin:auto;padding:32px 4% 20px}h1{font-size:30px;font-weight:600;letter-spacing:-.8px;margin:3px 0 6px}h2{font-size:18px;font-weight:600;margin:0}p{margin:7px 0 14px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--green);margin:0}.muted{color:var(--muted)}.small{font-size:12px}.title-line{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:23px}.status{font-size:12px;padding:6px 11px;border-radius:20px;background:#e9f2eb;color:#2d6547;white-space:nowrap}.status.warn{background:#fff1da;color:var(--amber)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.metric{padding:20px;background:#fff;border:1px solid var(--line);border-radius:11px;min-height:134px}.metric .label{font-size:12px;color:var(--muted)}.metric .value{font-size:28px;font-weight:600;letter-spacing:-.8px;margin:7px 0 6px}.metric .sub{font-size:12px;color:var(--muted)}.metric.featured{background:#eaf2ec;border-color:#dae9dd}.metric .missing{font-size:21px;letter-spacing:0;color:#9b6a22}.overview{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:17px}.section-head p{margin:4px 0 0;font-size:12px}.flow-row{display:grid;grid-template-columns:1fr auto;gap:15px;padding:9px 0;border-bottom:1px solid #f0f2ee}.flow-row .amount{white-space:nowrap}.flow-row.main{font-weight:600;border-top:1px solid #dfe5dd;background:#f5f8f3;margin:9px -10px 0;padding:11px 10px;border-radius:5px}.flow-row.minor{color:var(--muted);font-size:12px;padding-left:13px}.flow-row.subtotal{font-weight:600;margin-top:4px}.negative{color:var(--red)}.positive{color:var(--green)}.unit-number{font-size:37px;font-weight:600;letter-spacing:-1px;margin-top:5px}.unit-caption{font-size:12px;color:var(--muted);margin-bottom:19px}.unit-bar-row{display:grid;grid-template-columns:135px 1fr 80px;gap:10px;align-items:center;margin:10px 0;font-size:12px}.bar-track{height:7px;background:#f0f2ef;border-radius:3px;overflow:hidden}.bar-fill{height:100%;background:#c8d9ce;border-radius:3px}.bar-fill.result{background:#458468}.rules{margin-top:23px;border-top:1px solid var(--line);padding-top:15px;font-size:12px}.rules summary,details summary{cursor:pointer;color:var(--green);font-weight:500}.rules p{margin:11px 0}.rules select{width:100%;margin-top:5px;font-size:12px}.rules label{display:block;margin:13px 0}.check{display:flex!important;align-items:center;gap:8px}.table-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:17px 0}.table-controls input{min-width:230px;flex:1}.table-controls .muted{font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);font-weight:500;background:#f7f8f5;border-bottom:1px solid var(--line);padding:11px 9px;white-space:nowrap}td{padding:11px 9px;border-bottom:1px solid #edf0e9;vertical-align:middle}th:first-child,td:first-child{padding-left:0}tr:hover td{background:#fcfdfb}.num{text-align:right;white-space:nowrap}.article-link{background:none;border:0;padding:0;color:var(--ink);font-weight:600;text-align:left;font-size:12px}.article-link:hover{color:var(--green);background:none;text-decoration:underline}.article-name{font-size:10px;color:var(--muted);max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-input{width:94px;text-align:right;padding:6px 8px;font-size:12px}.cost-input:placeholder-shown{background:#fff9ed;border-color:#efddbb}.na{color:#9a8c72;font-size:11px}.table-foot{font-size:11px;color:var(--muted);padding-top:15px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.source{border-bottom:1px solid var(--line);padding:9px 0}.source .line{display:flex;justify-content:space-between;gap:10px}.source .small{font-size:11px;margin-top:4px;color:var(--muted)}.source a{color:var(--green);text-decoration:none}.extra-item{display:flex;justify-content:space-between;gap:12px;padding:9px 0;align-items:center;border-bottom:1px solid var(--line)}.remove{padding:2px 6px;border:0;color:var(--muted);font-size:18px}.alert{padding:11px 15px;background:#fff6e5;border:1px solid #ecdfc3;border-radius:8px;margin-bottom:13px;color:#86601d;font-size:12px}footer{font-size:11px;color:var(--muted);margin-top:24px;text-align:center}dialog{border:1px solid var(--line);border-radius:13px;box-shadow:0 15px 100px #25372630;padding:25px;width:min(550px,calc(100% - 24px));max-height:90vh;color:var(--ink)}dialog::backdrop{background:#18281f66}dialog label{display:block;font-size:12px;font-weight:500;margin:14px 0}dialog input:not([type=checkbox]),dialog select{display:block;width:100%;margin-top:6px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.close{border:0;background:#f2f4ef;width:30px;height:30px;padding:0;font-size:22px;color:#607067}.file-block{padding:2px 14px;margin:16px 0;background:#f6f8f4;border-radius:8px}.full{width:100%;margin-top:10px}.dialog-error{color:var(--red);font-size:12px;margin-top:12px}.wide-dialog{width:min(780px,calc(100% - 24px))}.detail-stats{display:flex;gap:20px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.detail-stats b{display:block;font-size:20px}.detail-stats span{font-size:11px;color:var(--muted)}#operations-disclosure{margin-top:20px}#operations-disclosure .table-wrap{margin-top:12px;max-height:360px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:8px;background:#263f32;color:#fff;z-index:20;max-width:90vw;box-shadow:0 4px 24px #0002}.empty{padding:25px 0;color:var(--muted)}@media(max-width:1000px){header{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.metric .value{font-size:25px}.overview{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr}}@media(max-width:600px){main{padding-top:20px}.title-line{display:block}.status{display:inline-block;margin-top:8px}h1{font-size:26px}.metrics{gap:9px}.metric{padding:14px;min-height:130px}.metric .value{font-size:21px}.metric .label{font-size:11px}.section-head{flex-wrap:wrap}.panel{padding:17px}.brand-sub{display:none}.unit-bar-row{grid-template-columns:110px 1fr 70px}.detail-stats{flex-wrap:wrap}.actions button,.actions select{font-size:12px}}

.detail-row{grid-template-columns:minmax(160px,1fr) 125px 125px}.detail-row>span:not(:first-child){text-align:right}.products-panel th{white-space:normal}.products-panel td:last-child .na{white-space:normal;display:block;max-width:110px}@media(min-width:650px) and (max-width:1100px){.products-panel td,.products-panel th{padding-left:5px;padding-right:5px}.article-name{max-width:170px}.cost-input{width:84px}.products-panel th:nth-child(n+2){max-width:105px}}@media(max-width:600px){.detail-row{grid-template-columns:minmax(120px,1fr) 87px 80px;font-size:12px;gap:8px}}

.products-panel td:nth-child(4) .na{white-space:normal;display:block;max-width:110px}
.products-panel table{min-width:1040px!important;table-layout:fixed}.products-panel th:first-child,.products-panel td:first-child{width:190px;max-width:190px}.products-panel .article-name{max-width:185px}.products-panel th{line-height:1.4}.products-panel td,.products-panel th{padding-left:7px;padding-right:7px}.products-panel .cost-input{max-width:100%;width:90px}
.metrics{grid-template-columns:repeat(3,1fr)}.management-status{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0 23px;font-size:12px;color:var(--muted)}.management-status .status{white-space:normal;text-align:left}.management-flow{display:grid;grid-template-columns:minmax(130px,1fr) 125px 78px;gap:12px}.management-flow>span:nth-child(n+2){text-align:right}.logistics-reasons{margin:8px 0 15px;padding:10px 12px;background:#f5f8f3;border-radius:8px}.management-controls{margin:20px 0}.management-controls .bottom-grid{margin-top:12px}.management-controls .panel{box-shadow:none}.products-panel .num .na{white-space:normal}.products-panel td:first-child{position:sticky;left:0;background:white;z-index:1;min-width:170px}.products-panel th:first-child{position:sticky;left:0;z-index:2}.detail-stats{flex-wrap:wrap}.detail-stats b{font-size:19px}.metric .article-link{margin-top:8px}@media(max-width:700px){.metrics{grid-template-columns:1fr}.management-flow{grid-template-columns:minmax(105px,1fr) 100px 65px;font-size:12px;gap:8px}.metric{min-height:115px}.management-status .status{margin:0}.management-controls .bottom-grid{display:block}}
.metric>span{display:block}.difference-trigger{text-align:left;font:inherit;color:var(--ink);border-color:var(--line);white-space:normal;cursor:pointer}.difference-trigger:hover{background:#f0f6f1;border-color:#8cac9a}.difference-trigger:focus-visible{outline:3px solid var(--green);outline-offset:3px}.difference-link{font-size:12px;color:var(--green);margin-top:12px}.difference-dialog{width:min(850px,calc(100% - 24px))}.difference-summary{background:#eef4ef;padding:18px;border-radius:10px;margin:18px 0}.difference-summary h3{font-size:22px;margin:0 0 10px}.difference-summary p{margin:9px 0}.difference-equation{font-size:21px;font-weight:600;padding:10px 0;overflow-wrap:anywhere}.difference-item{border:1px solid var(--line);border-radius:10px;padding:18px;margin:16px 0;font-size:14px}.difference-item p{line-height:1.6;margin:10px 0}.difference-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.difference-item-head h3{font-size:16px;margin:0}.difference-item-head p{margin:4px 0}.difference-amount{font-size:21px;white-space:nowrap}.difference-evidence{background:#f6f8f5;border-radius:7px;padding:13px;margin:14px 0;font-size:13px}.difference-calculation{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.difference-calculation dl{margin:15px 0}.difference-calculation dl>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid var(--line)}.difference-calculation dd{margin:0;text-align:right;white-space:nowrap}.difference-formula{background:#f7f8f5;padding:12px;border-radius:6px;line-height:1.8;overflow-wrap:anywhere}.difference-filename{overflow-wrap:anywhere}.difference-item .source-row{white-space:normal}.difference-item button{font-size:13px}@media(max-width:600px){.difference-dialog{padding:16px}.difference-item,.difference-summary{padding:13px}.difference-item-head{flex-wrap:wrap;gap:6px}.difference-summary h3{font-size:19px}.difference-equation{font-size:18px}.difference-calculation dl>div{font-size:12px}.difference-amount{font-size:19px}}
.dialog-error:empty{display:none}.dialog-error:not(:empty){padding:12px;background:#fff3ef;border:1px solid #eac5bb;border-radius:7px}.dialog-error:focus{outline:2px solid var(--red);outline-offset:2px}input[aria-invalid=true]{border-color:var(--red)}
.import-card{background:#f6f8f4;border:1px solid var(--line);border-radius:9px;padding:16px;margin:14px 0}.import-filename{overflow-wrap:anywhere;margin-top:5px}.import-period{font-weight:600;margin:9px 0}.import-summary{font-size:12px;padding:10px 12px;background:#eef4ef;border-radius:7px}.import-summary[hidden]{display:none}.import-reconcile{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:12px}.import-card .check{font-weight:400;align-items:flex-start}.import-card .check input{margin-top:3px}#add-week-report{font-size:12px}
.import-summary.needs-confirmation,.import-card .check.needs-confirmation{background:#fff4dd;color:#785015;border:1px solid #dfbe7d;border-radius:7px;padding:12px;font-size:14px}.import-card .check.needs-confirmation{font-weight:600}.import-card .check input{width:18px;height:18px;flex:none;accent-color:var(--green)}#import-submit:disabled{cursor:default}

.comparison{display:grid;grid-template-columns:minmax(150px,1.7fr) minmax(95px,1fr) minmax(95px,1fr);gap:12px}.comparison .num{white-space:nowrap}.coverage-note{background:#eef3ed;border:1px solid #dce4d9;border-radius:10px;padding:16px 20px;margin:14px 0 24px}.coverage-note p{margin:6px 0;font-size:13px}.scope-label{max-width:400px}.metrics .value{font-size:clamp(23px,2.25vw,34px)}.checks-dialog{width:min(1400px,96vw);max-width:1400px}.checks-dialog td,.checks-dialog th{min-width:95px}.checks-dialog td:first-child{min-width:175px}.checks-dialog .actions{margin-bottom:20px}.products-panel table{min-width:1190px}.products-panel .cost-input{width:92px}.source input{max-width:220px}.source details{margin-top:8px}.raw-dialog td{overflow-wrap:anywhere}main>.panel{margin:22px 0}#raw-rows th{width:55%;white-space:normal}#raw-rows td{overflow-wrap:anywhere}.source-row{white-space:nowrap}.scope-label select{margin-top:6px}.metric .value.missing{font-size:22px}@media(max-width:640px){.comparison{grid-template-columns:minmax(110px,1.2fr) minmax(80px,1fr) minmax(80px,1fr);gap:6px;font-size:12px}.metrics .value{font-size:25px}.coverage-note{padding:14px}}
