:root{--px-primary: #0b6e4f;--px-primary-strong: #0f8a63;--px-primary-soft: #e7f3ee;--px-primary-line: #b9dccb;--px-sidebar: #0d2a21;--px-sidebar-hover: #16392e;--px-sidebar-text: #cfe3da;--px-sidebar-muted: #8fb8a7;--px-ink: #18241f;--px-muted: #5a6863;--px-line: #e1e8e4;--px-bg: #f4f6f5;--px-surface: #ffffff;--px-neutral-soft: #eef1f0;--px-warn: #a15c07;--px-warn-soft: #fff6e6;--px-warn-line: #f5d9a8;--px-danger: #b42318;--px-danger-soft: #fef0ef;--px-danger-line: #f7c5bf;--px-info: #1c5f93;--px-info-soft: #eaf3fb;--px-info-line: #c4dcf0;--px-accent: #3f4bb0;--px-accent-soft: #eef0fb;--px-on-primary: #ffffff;--px-canvas: #fafcfb;--px-code-bg: #0d2a21;--px-code-text: #bfe8d4;--px-media-bg: #000000;--px-print-ink: #000000;--px-online: #7ee2b8;--px-offline: #ffb4a8;--px-ramp-0: #cfe0d8;--px-ramp-1: #f3cf8e;--px-ramp-2: #e09a3a;--px-ramp-3: #b8610f;--px-ramp-4: #7a3608;--px-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--px-font-root: 14px;--px-text-xs: .74rem;--px-text-sm: .85rem;--px-text-md: 1rem;--px-text-lg: 1.15rem;--px-text-xl: 1.35rem;--px-text-2xl: 1.6rem;--px-line-height: 1.45;--px-space-1: .25rem;--px-space-2: .5rem;--px-space-3: .75rem;--px-space-4: 1rem;--px-space-5: 1.5rem;--px-radius-sm: 5px;--px-radius-md: 7px;--px-radius-lg: 10px;--px-radius-pill: 99px;--px-target: 44px}*{box-sizing:border-box}body{margin:0;font:var(--px-font-root)/var(--px-line-height) var(--px-font);color:var(--px-ink);background:var(--px-bg)}a{color:var(--px-primary)}.muted{color:var(--px-muted)}.small{font-size:var(--px-text-sm)}.r{text-align:right;font-variant-numeric:tabular-nums}.card{background:var(--px-surface);border:1px solid var(--px-line);border-radius:var(--px-radius-lg);padding:var(--px-space-4) 1.1rem;margin-bottom:var(--px-space-4)}.card h2{font-size:var(--px-text-md);margin:0 0 .7rem}.card.empty{color:var(--px-muted)}.t{width:100%;border-collapse:collapse}.t th{text-align:left;font-weight:600;color:var(--px-muted);font-size:.8rem;border-bottom:1px solid var(--px-line);padding:.45rem .4rem}.t td{border-bottom:1px solid var(--px-line);padding:var(--px-space-2) .4rem;vertical-align:middle}.t .r{white-space:nowrap}label{display:flex;flex-direction:column;gap:var(--px-space-1);font-weight:600;font-size:var(--px-text-sm);margin:.4rem 0}label.check{flex-direction:row;align-items:center;gap:var(--px-space-2)}input,select,textarea{font:inherit;padding:.45rem .55rem;border:1px solid var(--px-line);border-radius:var(--px-radius-md);background:var(--px-surface);color:var(--px-ink)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--px-primary-strong);outline-offset:1px}label.check input{width:auto;margin:0}fieldset{border:1px solid var(--px-line);border-radius:var(--px-radius-lg);margin:.8rem 0}button,.btn{font:inherit;padding:.45rem .85rem;border-radius:var(--px-radius-md);border:1px solid var(--px-line);background:var(--px-surface);color:var(--px-ink);cursor:pointer;text-decoration:none;display:inline-block}button.primary,.btn.primary{background:var(--px-primary);border-color:var(--px-primary);color:var(--px-on-primary);font-weight:600}button.danger,.btn.danger{background:var(--px-danger);border-color:var(--px-danger);color:var(--px-on-primary);font-weight:600}button:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}button.small,.btn.small{padding:.15rem .55rem;font-size:.82rem}button.link{border:0;background:none;padding:0;text-decoration:underline;color:inherit}.actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}kbd{font:inherit;font-size:var(--px-text-sm);font-weight:600;padding:0 .35rem;border:1px solid var(--px-line);border-bottom-width:2px;border-radius:var(--px-radius-sm);background:var(--px-surface);color:var(--px-ink);white-space:nowrap}.tag{display:inline-block;font-size:var(--px-text-xs);padding:.05rem .45rem;border-radius:var(--px-radius-pill);border:1px solid var(--px-line);background:var(--px-neutral-soft);color:var(--px-muted);white-space:nowrap}.tag.ok{color:var(--px-primary);background:var(--px-primary-soft);border-color:var(--px-primary-line)}.tag.warn{color:var(--px-warn);background:var(--px-warn-soft);border-color:var(--px-warn-line)}.tag.bad{color:var(--px-danger);background:var(--px-danger-soft);border-color:var(--px-danger-line)}.tag.info{color:var(--px-info);background:var(--px-info-soft);border-color:var(--px-info-line)}.flash{padding:.6rem .9rem;border-radius:8px;margin-bottom:var(--px-space-4);border:1px solid var(--px-line)}.flash.ok{background:var(--px-primary-soft);color:var(--px-primary);border-color:var(--px-primary-line)}.flash.warn{background:var(--px-warn-soft);color:var(--px-warn);border-color:var(--px-warn-line)}.flash.err{background:var(--px-danger-soft);color:var(--px-danger);border-color:var(--px-danger-line)}@media(pointer:coarse){button,.btn,select,input:not([type=checkbox]):not([type=radio]){min-height:var(--px-target)}button.small,.btn.small{min-height:var(--px-target);min-width:var(--px-target)}button.link,label.check{min-height:var(--px-target)}input[type=checkbox],input[type=radio]{width:1.5rem;height:1.5rem}}#app{display:flex;min-height:100vh}.side{width:210px;flex:none;background:var(--px-sidebar);color:var(--px-sidebar-text);display:flex;flex-direction:column;padding:1rem .8rem;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{font-weight:800;font-size:1.15rem;color:var(--px-on-primary);letter-spacing:.2px;margin:0 .4rem 1.2rem}.brand small{display:block;font-weight:500;font-size:.75rem;color:var(--px-sidebar-muted);letter-spacing:.06em;text-transform:uppercase}.brand.big{color:var(--px-primary);font-size:1.6rem;text-align:center}.brand.big small{color:var(--px-muted)}.side nav{display:flex;flex-direction:column;gap:2px}.side nav a{color:var(--px-sidebar-text);text-decoration:none;padding:.55rem .7rem;border-radius:7px}.side nav a:hover{background:var(--px-sidebar-hover)}.side nav a.on{background:var(--px-primary);color:var(--px-on-primary);font-weight:600}.who{margin-top:auto;font-size:.85rem;padding:.4rem}.who .link{color:var(--px-sidebar-muted);display:block;margin-top:.3rem}.main{flex:1;min-width:0;padding:1rem 1.4rem 3rem}.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.top h1{font-size:1.35rem;margin:0}.tools{display:flex;gap:.5rem;align-items:center}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1rem}.grid2>.card{margin-bottom:0}.grid2{margin-bottom:1rem}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin-bottom:1rem}.kpi{background:var(--px-surface);border:1px solid var(--px-line);border-radius:10px;padding:.8rem 1rem;display:flex;flex-direction:column}.kpi span{color:var(--px-muted);font-size:.82rem}.kpi strong{font-size:1.35rem;margin-top:.15rem;font-variant-numeric:tabular-nums}.kpi em{font-style:normal;color:var(--px-muted);font-size:.82rem}.kpi.alert{border-color:var(--px-danger-line);background:var(--px-danger-soft)}.kpi.alert strong{color:var(--px-danger)}.decisions{margin:0;padding-left:1.3rem}.decisions li{margin:.45rem 0}.decisions a{color:var(--px-ink);text-decoration:none}.decisions a:hover{text-decoration:underline}.t tr.sub td{color:var(--px-muted);font-size:.88rem;padding-top:.25rem;padding-bottom:.25rem;border-bottom-style:dashed}.t tr.sub td:first-child{padding-left:1.4rem}.t tr.dim{opacity:.45}.clickable tbody tr{cursor:pointer}.clickable tbody tr:hover{background:var(--px-primary-soft)}.bar{height:4px;background:var(--px-primary-soft);border-radius:4px;margin-top:.3rem;max-width:220px}.bar i{display:block;height:100%;background:var(--px-primary-strong);border-radius:4px}.warnc{color:var(--px-warn);font-weight:600}.st{font-size:.78rem;padding:.1rem .5rem;border-radius:99px;background:var(--px-neutral-soft)}.st.REQUESTED{background:var(--px-accent-soft);color:var(--px-accent)}.st.APPROVED{background:var(--px-info-soft);color:var(--px-info)}.st.DISPATCHED{background:var(--px-warn-soft);color:var(--px-warn)}.st.RECEIVED{background:var(--px-danger-soft);color:var(--px-danger)}.st.RECONCILED{background:var(--px-primary-soft);color:var(--px-primary)}.st.CANCELLED{color:var(--px-muted)}.sev{white-space:nowrap;font-size:.74rem;font-weight:700;padding:.1rem .5rem;border-radius:5px;text-transform:uppercase;letter-spacing:.03em}.sev.CRITICAL{background:var(--px-danger);color:var(--px-on-primary)}.sev.HIGH{background:var(--px-danger-soft);color:var(--px-danger)}.sev.MEDIUM{background:var(--px-warn-soft);color:var(--px-warn)}.sev.LOW{background:var(--px-neutral-soft);color:var(--px-muted)}.list{list-style:none;padding:0;margin:0 0 .6rem}.list li{padding:.4rem 0;border-bottom:1px solid var(--px-line)}.tabs{display:flex;gap:.3rem;margin-bottom:.8rem;flex-wrap:wrap}.tabs a{text-decoration:none;color:var(--px-muted);padding:.35rem .8rem;border-radius:99px;border:1px solid var(--px-line);background:var(--px-surface)}.tabs a.on{background:var(--px-primary);color:var(--px-on-primary);border-color:var(--px-primary)}.steps{display:flex;list-style:none;padding:0;margin:0 0 1rem;counter-reset:s}.steps li{flex:1;text-align:center;color:var(--px-muted);font-size:.85rem;position:relative;padding-top:1.6rem}.steps li:before{counter-increment:s;content:counter(s);position:absolute;top:0;left:50%;transform:translate(-50%);width:1.4rem;height:1.4rem;border-radius:50%;background:var(--px-line);color:var(--px-muted);font-size:.75rem;line-height:1.4rem}.steps li.done{color:var(--px-primary);font-weight:600}.steps li.done:before{background:var(--px-primary);color:var(--px-on-primary);content:"✓"}.meta{display:flex;flex-direction:column;gap:.2rem}.case header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.case h3{margin:0;font-size:1rem}.case dl{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1rem;margin:.3rem 0 .6rem}.case dt{color:var(--px-muted)}.case dd{margin:0}.resolution{background:var(--px-primary-soft);padding:.5rem .7rem;border-radius:7px;margin:.4rem 0 0}.inline{display:flex;gap:.4rem;align-items:end;flex-wrap:wrap;margin-top:.6rem}.inline label{margin:0}.inline input:not(.qty){min-width:220px;flex:1}.row{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.row label{flex:1;min-width:220px}.qty{width:5.5rem;text-align:right}.actions .inline{margin:0}.login{margin:8vh auto;width:min(380px,92vw);background:var(--px-surface);border:1px solid var(--px-line);border-radius:12px;padding:1.6rem;display:flex;flex-direction:column;gap:.3rem}.login input{width:100%}.login button{margin-top:.6rem}@media(max-width:760px){#app{flex-direction:column}.side{width:auto;height:auto;position:static}.side nav{flex-direction:row;flex-wrap:wrap}.who{display:none}.grid2{grid-template-columns:1fr}}.sect{font-size:1rem;margin:1.2rem 0 .6rem}.pohead{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.tabs.sub a{font-size:.85rem;padding:.25rem .7rem}.kpi.warnk{border-color:var(--px-warn-line);background:var(--px-warn-soft)}.kpi.warnk strong{color:var(--px-warn)}details summary{cursor:pointer;color:var(--px-primary)}details p{margin:.3rem 0 0;max-width:520px}.st.po-DRAFT{background:var(--px-neutral-soft)}.st.po-SUBMITTED{background:var(--px-accent-soft);color:var(--px-accent)}.st.po-APPROVED,.st.po-SENT{background:var(--px-info-soft);color:var(--px-info)}.st.po-PARTIALLY_RECEIVED{background:var(--px-warn-soft);color:var(--px-warn)}.st.po-RECEIVED,.st.po-CLOSED{background:var(--px-primary-soft);color:var(--px-primary)}.st.po-CANCELLED{color:var(--px-muted)}.st.inv-MATCHED{background:var(--px-info-soft);color:var(--px-info)}.st.inv-DISPUTED{background:var(--px-danger-soft);color:var(--px-danger)}.st.inv-APPROVED{background:var(--px-primary-soft);color:var(--px-primary)}.row2{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.issues{margin:.5rem 0;color:var(--px-danger)}.rec{padding:.4rem 0;border-bottom:1px solid var(--px-line)}label.inl{flex-direction:row;align-items:center;gap:.5rem;margin:.8rem 0}@media print{.side,.tools,.actions,.tabs,.flash{display:none!important}.main{padding:0}.card{border:0}}.st.inv2-OPEN{background:var(--px-warn-soft);color:var(--px-warn)}.st.inv2-SUBMITTED{background:var(--px-accent-soft);color:var(--px-accent)}.st.inv2-APPROVED{background:var(--px-primary-soft);color:var(--px-primary)}.st.inv2-CANCELLED{color:var(--px-muted)}.kinds label.check{font-weight:400}.cols{columns:2 260px;margin:.5rem 0}.cols label{font-weight:400}.t tr.recount td{background:var(--px-danger-soft)}.t tr.neg td:nth-last-child(-n+3){color:var(--px-danger)}.t tr.pos td:nth-last-child(-n+3){color:var(--px-primary)}form:has(input[name=kind][value=TARGETED]:not(:checked)) details.targeted{opacity:.55}.sevx{font-weight:700;padding:.15rem .55rem;border-radius:6px}.sevx.VERIFIED{background:var(--px-primary-soft);color:var(--px-primary)}.sevx.UNVERIFIED{background:var(--px-warn-soft);color:var(--px-warn)}.sevx.SUSPECT{background:var(--px-danger);color:var(--px-on-primary)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1rem;margin:.5rem 0}.kv dt{color:var(--px-muted)}.kv dd{margin:0}.keybox code{display:block;padding:.6rem;background:var(--px-code-bg);color:var(--px-code-text);border-radius:7px;word-break:break-all}.tchart{position:relative;margin:0}.tchart svg{width:100%;height:auto;display:block}.tchart .band{fill:var(--px-primary-soft)}.tchart .grid{stroke:var(--px-line);stroke-width:1}.tchart .tick{font-size:11px;fill:var(--px-muted)}.tchart .line{fill:none;stroke:var(--px-primary);stroke-width:2;stroke-linejoin:round}.tchart .out{fill:var(--px-danger);stroke:var(--px-surface);stroke-width:2}.tchart .cross{stroke:var(--px-ink);stroke-width:1;stroke-dasharray:3 3}.tchart .hit{fill:transparent;cursor:crosshair}.tchart .tip{position:absolute;background:var(--px-surface);border:1px solid var(--px-line);border-radius:7px;padding:.35rem .55rem;font-size:.85rem;box-shadow:0 2px 8px #00000014;pointer-events:none;min-width:150px}.exc{padding:.6rem 0;border-bottom:1px solid var(--px-line)}.exc .sev{margin-right:.4rem}.certs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}.cert{border:1px solid var(--px-line);border-radius:9px;padding:.7rem .8rem}.cert.ok{border-color:var(--px-primary-line)}.cert.held{background:var(--px-primary-soft);border-color:var(--px-primary-line)}.cert ul{margin:.3rem 0 0;padding-left:1.1rem}.report h3{font-size:.95rem;margin:1rem 0 .4rem}.aging{margin:0}.aging .legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:var(--px-muted);margin-bottom:.6rem}.aging .legend i{display:inline-block;width:.8rem;height:.8rem;border-radius:3px;margin-right:.35rem;vertical-align:-1px}.arow{display:grid;grid-template-columns:minmax(120px,220px) 1fr max-content;gap:.7rem;align-items:center;margin:.35rem 0}.aname{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.atot{font-variant-numeric:tabular-nums;font-size:.88rem}.atrack{display:flex;gap:2px;height:18px}.atrack .seg{display:block;height:100%;position:relative;min-width:3px}.atrack .seg:first-child{border-radius:4px 0 0 4px}.atrack .seg:last-child{border-radius:0 4px 4px 0}.atrack .seg:only-child{border-radius:4px}.atrack .seg:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:0;background:var(--px-surface);color:var(--px-ink);border:1px solid var(--px-line);border-radius:7px;padding:.3rem .5rem;font-size:.8rem;white-space:nowrap;z-index:5;box-shadow:0 2px 8px #00000014}.b0{background:var(--px-ramp-0)}.b1{background:var(--px-ramp-1)}.b2{background:var(--px-ramp-2)}.b3{background:var(--px-ramp-3)}.b4{background:var(--px-ramp-4)}@media(max-width:760px){.arow{grid-template-columns:1fr;gap:.2rem}}.factors{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem 1.2rem}.fhead{display:flex;justify-content:space-between;gap:.8rem;font-size:.88rem}.fhead span{white-space:nowrap}.ftrack{height:6px;background:var(--px-primary-soft);border-radius:4px;margin:.3rem 0}.ftrack i{display:block;height:100%;background:var(--px-primary-strong);border-radius:4px}.grade{font-size:2.4rem;font-weight:800;color:var(--px-primary);line-height:1}.grade small{font-size:.9rem;color:var(--px-muted);font-weight:500;margin-left:.4rem}.banner{padding:.7rem .9rem;border-radius:8px;background:var(--px-warn-soft);color:var(--px-warn);border:1px solid var(--px-warn-line);margin-bottom:1rem}.st.c-PENDING{background:var(--px-neutral-soft)}.st.c-BATCHED,.st.c-SUBMITTED{background:var(--px-info-soft);color:var(--px-info)}.st.c-PAID{background:var(--px-primary-soft);color:var(--px-primary)}.st.c-PARTIALLY_PAID{background:var(--px-warn-soft);color:var(--px-warn)}.st.c-REJECTED{background:var(--px-danger-soft);color:var(--px-danger)}.st.c-WRITTEN_OFF,.st.c-CANCELLED{color:var(--px-muted)}.t td form.inline{margin:0}.t td form.inline input{min-width:120px!important}.spark{width:100%;height:auto;display:block}.spark .base{stroke:var(--px-line)}.spark .sl{fill:none;stroke:var(--px-primary-strong);stroke-width:2;stroke-linejoin:round}.spark .pt{fill:var(--px-primary-strong);stroke:var(--px-surface);stroke-width:1.5}.spark .pt.last{fill:var(--px-primary)}.spark .pt.alert{fill:var(--px-danger)}.multiples{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}.mult{border:1px solid var(--px-line);border-radius:9px;padding:.6rem .7rem}.mult h3{font-size:.88rem;margin:0 0 .2rem}.mult p{margin:.2rem 0 0}.rmap{width:100%;max-width:760px;height:auto;display:block;background:var(--px-canvas);border:1px solid var(--px-line);border-radius:9px}.rmap .rpath{fill:none;stroke:var(--px-primary-strong);stroke-width:2;stroke-dasharray:6 4}.rmap .rorig{fill:var(--px-ink)}.rmap .rstop{fill:var(--px-primary);stroke:var(--px-surface);stroke-width:2}.rmap .rnum{fill:var(--px-on-primary);font-size:11px;font-weight:700}.rmap .rlab{font-size:11px;fill:var(--px-ink);paint-order:stroke;stroke:var(--px-canvas);stroke-width:3px}.save{color:var(--px-primary);font-weight:700}.ds-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem}.ds-swatch{display:flex;align-items:center;gap:.5rem;font-size:var(--px-text-sm)}.ds-swatch i{width:2.2rem;height:2.2rem;border-radius:var(--px-radius-md);border:1px solid var(--px-line);flex:none}.ds-swatch code{overflow-wrap:anywhere}@media(pointer:coarse){.side nav a,.tabs a{min-height:var(--px-target);display:flex;align-items:center}}
