/* Purchase order cost calculator (/inventory-turnover). Builds on volumetris.css tokens and the .calc component. */

.po-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:28px}
.po-tabs{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface)}
.po-tab{font-family:var(--font-mono);font-weight:600;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);
  background:transparent;border:0;border-radius:6px;padding:9px 14px;cursor:pointer}
.po-tab.is-on{background:var(--carbon);color:#fff}
.po-tab:focus-visible,.po-link:focus-visible{outline:2px solid var(--limeink);outline-offset:2px}
.po-link{font-family:var(--font-sans);font-weight:600;font-size:15.5px;color:var(--limeink);background:none;border:0;padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.po-link:hover{color:var(--limeink-hover)}

.po-import{margin-top:16px;padding:20px 22px;border:1px dashed var(--hatch-line);border-radius:12px;background:var(--surface)}
.po-import > p:first-child{margin:0 0 14px;font-size:16.5px}
.po-file{position:relative;overflow:hidden;cursor:pointer}
.po-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.po-days{max-width:220px;margin-top:14px}
.po-skus{margin-top:16px}
.po-skus table{min-width:520px}
.po-skus td{vertical-align:middle}
.po-skus .mini{cursor:pointer;background:var(--lime);color:var(--carbon);border:0;border-radius:6px;padding:8px 10px}

.po-grid{align-items:stretch}
.po-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.po-field{min-width:0;margin-bottom:2px;display:flex;flex-direction:column}
.po-field--wide{margin:16px 0 16px}
.po-field label{display:block;flex:1 0 auto;font-size:14.5px;font-weight:600;line-height:1.3;color:var(--carbon);margin-bottom:6px}
.po-field label span{display:block;font-weight:400;font-size:13px;color:var(--slate)}
.po-in{display:flex;align-items:center;background:var(--paper);border:1px solid var(--hairline);border-radius:8px;min-width:0}
.po-in:focus-within{outline:2px solid var(--limeink);outline-offset:1px;border-color:var(--carbon)}
.po-in i,.po-in span{font-style:normal;font-family:var(--font-mono);font-size:13.5px;color:var(--slate);padding:0 10px;white-space:nowrap}
.po-in i{padding-right:0}
.po-in input{flex:1;min-width:0;width:100%;font-family:var(--font-mono);font-weight:600;font-size:16.5px;color:var(--carbon);
  background:transparent;border:0;padding:11px 10px;font-variant-numeric:tabular-nums}
.po-in input:focus{outline:none}
.po-field select,.po-ctrl select,.po-ctrl input[type=date]{width:100%;font-family:var(--font-sans);font-size:16px;color:var(--carbon);background:var(--paper);
  border:1px solid var(--hairline);border-radius:8px;padding:10px 11px}
.po-note{margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--slate);max-width:none}
#poInputs[data-scn=B]{box-shadow:inset 3px 0 0 var(--lime)}

.po-more{margin-top:18px;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.po-more summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:13px 0;font-weight:700;font-size:15.5px;color:var(--carbon)}
.po-more summary::-webkit-details-marker{display:none}
.po-more summary span::after{content:" +";font-family:var(--font-mono);color:var(--limeink)}
.po-more[open] summary span::after{content:" \2212"}
.po-more summary em{font-style:normal;font-family:var(--font-mono);font-weight:500;font-size:12.5px;color:var(--slate)}
.po-more .po-group{padding:4px 0 16px}

.po-out .olab{margin-bottom:2px}
.po-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 18px}
.po-total b{font-family:var(--font-mono);font-weight:600;font-size:clamp(34px,4.4vw,44px);color:var(--carbon);font-variant-numeric:tabular-nums;line-height:1.15}
.po-total .po-b{font-size:24px;color:var(--limeink)}
.po-lines{margin:14px 0 0}
.po-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--hairline)}
.po-has-b .po-line{grid-template-columns:minmax(0,1fr) auto auto}
.po-line dt{font-size:15px;color:var(--ink2)}
.po-line dd{margin:0;font-family:var(--font-mono);font-weight:600;font-size:15.5px;color:var(--carbon);text-align:right;font-variant-numeric:tabular-nums}
.po-line .po-sub{display:block;font-size:12.5px;color:var(--slate-light)}
.po-line--strong dt{font-weight:700;color:var(--carbon)}
.po-line--strong dd{font-size:17px}
.po-line--head{padding:0 0 4px;border-bottom:1px solid var(--carbon)}
.po-line--head dd{font-size:12px;letter-spacing:.14em;color:var(--slate)}
.po-b{display:none}
.po-has-b .po-b{display:block}
.po-line dd.po-b,.po-kpi .po-b{color:var(--limeink)}
.po-sub{font-size:12.5px;color:var(--slate-light)}

.po-split{display:flex;height:10px;margin-top:18px;border-radius:5px;overflow:hidden;background:var(--paper)}
.po-split span{display:block;height:100%}
.po-split__st{background:var(--carbon)}
.po-split__sh{background:var(--slate-light)}
.po-split__ca{background:var(--lime)}
.po-splitkey{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-family:var(--font-mono);font-size:12px;color:var(--slate)}
.po-splitkey i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px}

.po-cash{margin-top:28px;padding:24px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface)}
.po-cash__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 24px;align-items:flex-end}
.po-cash__head h3{margin:0}
.po-cash__head .po-note{margin-top:6px;max-width:62ch}
.po-ctrl{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}
.po-ctrl label{display:flex;flex-direction:column;gap:5px;font-family:var(--font-mono);font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.po-ctrl label.po-check{flex-direction:row;align-items:center;gap:8px;letter-spacing:.06em;text-transform:none;font-family:var(--font-sans);font-size:14.5px;color:var(--ink2);padding-bottom:10px}
.po-check input{width:18px;height:18px;accent-color:var(--lime)}

.po-chart{margin-top:18px;min-height:300px}
.po-chart svg{display:block;overflow:visible}
.po-grid line,.po-chart .po-grid{stroke:var(--hairline);stroke-width:1}
.po-zero{stroke:var(--carbon);stroke-width:1.2}
.po-ylab,.po-xlab{font-family:var(--font-mono);font-size:11px;fill:var(--slate)}
.po-area--up{fill:rgba(155,216,20,.16)}
.po-area--down{fill:rgba(161,68,47,.08)}
.po-line-a{fill:none;stroke:var(--carbon);stroke-width:2.6;stroke-linejoin:round}
.po-line-b{fill:none;stroke:var(--limeink);stroke-width:2.4;stroke-dasharray:7 5;stroke-linejoin:round}
.po-dot{fill:var(--carbon);stroke:#fff;stroke-width:2}
.po-dot--zero{fill:var(--lime);stroke:var(--carbon);stroke-width:1.5}
.po-dotlab,.po-orderlab{font-family:var(--font-mono);font-weight:600;font-size:11.5px;fill:var(--carbon)}
.po-order{stroke:var(--limeink);stroke-width:1.6;stroke-dasharray:3 4}
.po-orderlab{fill:var(--limeink-label)}
.po-ev{opacity:.9}
.po-ev--sales{fill:var(--lime-tint)}
.po-ev--cost{fill:#FBEDEA}
.po-ev--supply{fill:#ECEFF4}
.po-evlab{font-family:var(--font-mono);font-size:10.5px;fill:var(--slate)}
.po-evlab--sales{fill:var(--limeink-label)}
.po-evlab--cost{fill:#A1442F}
.po-evlab--supply{fill:var(--slate)}
.po-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px;font-family:var(--font-mono);font-size:12px;color:var(--slate)}
.po-legend i{display:inline-block;width:16px;height:10px;margin-right:7px;vertical-align:-1px;border-radius:2px}
.po-k-a{background:var(--carbon);height:3px!important;vertical-align:3px!important}
.po-k-b{background:repeating-linear-gradient(90deg,var(--limeink) 0 6px,transparent 6px 10px);height:3px!important;vertical-align:3px!important}
.po-k-sales{background:var(--lime-tint);border:1px solid #DDEBB5}
.po-k-cost{background:#FBEDEA;border:1px solid #F0D2CB}
.po-k-supply{background:#ECEFF4;border:1px solid var(--hairline)}
.po-k-order{background:repeating-linear-gradient(90deg,var(--limeink) 0 3px,transparent 3px 6px);height:2px!important;vertical-align:4px!important}

.po-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:22px;background:var(--hairline);border:1px solid var(--hairline);border-radius:10px;overflow:hidden}
.po-kpi{background:var(--paper);padding:14px 16px}
.po-kpi b{display:block;margin-top:6px;font-family:var(--font-mono);font-weight:600;font-size:22px;color:var(--carbon);font-variant-numeric:tabular-nums}
.po-kpi b.po-b{margin-top:2px;font-size:14px}
.po-story{margin-top:18px}
.po-story p{font-size:17px;margin:0 0 10px;max-width:80ch}
.po-turns{margin-top:16px;padding:16px 18px;border-left:3px solid var(--lime);background:var(--paper);border-radius:0 8px 8px 0}
.po-turns p{margin:0 0 6px;font-size:16px;max-width:80ch}
.po-turns p:last-child{margin-bottom:0}
.po-src{display:inline;font-size:13px;color:var(--slate)}
.po-weeks{margin-top:18px}
.po-weeks summary{cursor:pointer;font-weight:700;font-size:15.5px;color:var(--carbon);padding:6px 0}
.po-weeks .tablewrap{max-height:420px;overflow:auto;margin-top:10px}
.po-weeks table{min-width:460px;font-size:14px}
.po-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.po-plan{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:22px;padding:20px 22px;border-radius:12px;background:var(--carbon)}
.po-plan p{margin:0;color:#C9CFD8;font-size:17px;max-width:66ch}
.po-plan b{color:#fff}

.po-bench td:first-child{font-weight:600}
.po-bench .val b{color:var(--carbon)}

@media(max-width:980px){.po-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .po-group{grid-template-columns:1fr}
  .po-cash{padding:18px 16px}
  .po-ctrl{width:100%}
  .po-ctrl label{flex:1 1 140px}
  .po-total b{font-size:34px}
  .po-kpi b{font-size:19px}
  .po-story p{font-size:16px}
  .po-plan .btn{width:100%;text-align:center}
}

@media print{
  .skip,.nav,.mmenu,.footer,.phero,#benchmarks,#cta,.scrolltoggle,.po-bar,.po-import,.po-actions,.po-plan,.po-weeks{display:none!important}
  body{background:#fff}
  #calculator{padding:0!important}
  .po-cash,.calc{break-inside:avoid}
  .po-in{background:#fff}
  .calc{grid-template-columns:1fr 1fr!important}
  .po-kpis{grid-template-columns:repeat(4,1fr)!important}
  a[href]::after{content:none!important}
}
