/* ==================================================================
   P1 VENDOR HUB, the vendor network (Wave 1 W1-B, portal v1.89).
   Styles for precision-vendors.js. Everything is under .pzvn (the KinderCare tab) or .pzv-ds (the vendor card),
   so nothing else on the page changes. Light cards, hairline borders, quiet status words, dark primary
   buttons, no red buttons, no side stripes. 400px safe: tables use the portal's "resp" stacking, inputs are 16px.
   ================================================================== */
.pzvn{--pzv-ink:var(--pz-ink,#0f172a);--pzv-ink2:var(--pz-ink-2,#334155);--pzv-ink3:var(--pz-ink-3,#64748b);--pzv-ink4:var(--pz-ink-4,#94a3b8);
  --pzv-line:var(--pz-line,#e2e8f0);--pzv-line2:var(--pz-line-2,#cbd5e1);--pzv-good:#15803d;--pzv-amber:#b45309;--pzv-crit:#b91c1c;--pzv-info:#1d4ed8}
.pzv-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.pzv-top .seg{max-width:100%;overflow:auto}
.pzv-q{color:var(--pzv-ink3,#64748b);font-size:12px;line-height:1.45}
.pzv-amber{color:var(--pzv-amber,#b45309);font-weight:600}
.pzv-crit{color:var(--pzv-crit,#b91c1c);font-weight:600}
.pzv-wrapc{white-space:normal !important;overflow-wrap:anywhere}
.pzv-link{background:none;border:0;padding:0;color:var(--pz-info,#1d4ed8);font:600 13px/1.3 var(--font);cursor:pointer;text-align:left}
.pzv-link:hover{text-decoration:underline;text-underline-offset:3px}

/* status words: dot plus text, no fill */
.pzv-st{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--pzv-ink2,#334155);font-weight:600;white-space:normal}
.pzv-st i{width:7px;height:7px;border-radius:50%;background:var(--pzv-ink4,#94a3b8);flex-shrink:0;display:inline-block}
.pzv-st.ok{color:var(--pzv-good)} .pzv-st.ok i{background:#16a34a}
.pzv-st.info{color:var(--pzv-info)} .pzv-st.info i{background:#2a78d6}
.pzv-st.warn{color:var(--pzv-amber)} .pzv-st.warn i{background:#d97706}
.pzv-st.crit{color:var(--pzv-crit)} .pzv-st.crit i{background:#dc2626}
.pzv-st.none{color:var(--pzv-ink3,#64748b)} .pzv-st.none i{background:transparent;box-shadow:inset 0 0 0 1px var(--pzv-line2,#cbd5e1)}

/* tiles */
.pzv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:14px}
.pzv-tile{background:var(--surface,#fff);border:1px solid var(--pzv-line,#e2e8f0);border-radius:12px;padding:12px 14px;box-shadow:var(--pz-shadow,0 1px 3px rgba(15,23,42,.06));min-width:0}
.pzv-tile .k{font-size:12px;color:var(--pzv-ink3,#64748b);font-weight:600}
.pzv-tile .v{font-size:22px;font-weight:700;line-height:1.2;color:var(--pzv-ink,#0f172a);margin-top:2px}
.pzv-tile .v .of{font-size:13px;font-weight:600;color:var(--pzv-ink3,#64748b)}
.pzv-tile .s{font-size:12px;color:var(--pzv-ink3,#64748b);margin-top:2px;overflow-wrap:anywhere}
.pzv-tile .s.warn{color:var(--pzv-amber)} .pzv-tile .s.ok{color:var(--pzv-good)}
.pzv-tiles.pzv-sm{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.pzv-tiles.pzv-sm .pzv-tile .v{font-size:19px}

/* tile map */
.pzv-mapwrap{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.pzv-mapwrap > div:first-child{flex:0 1 auto;min-width:0;max-width:100%}
.pzv-detail{flex:1 1 280px;min-width:0}
.pzv-detail h4{margin:0 0 8px;font:700 15px/1.3 var(--font);color:var(--pzv-ink,#0f172a)}
.pzv-map{display:grid;grid-template-columns:repeat(11,minmax(0,40px));grid-auto-rows:40px;gap:4px;max-width:100%}
.pzv-t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--pzv-line2,#cbd5e1);background:#fff;border-radius:7px;padding:0;
  color:var(--pzv-ink2,#334155);cursor:pointer;min-width:0;font-family:var(--font)}
.pzv-t b{font-size:11px;line-height:1;font-weight:700;letter-spacing:.02em}
.pzv-t span{font-size:10.5px;line-height:1.2;color:var(--pzv-ink3,#64748b)}
.pzv-t:hover{background:var(--pz-hover,#f1f5f9)}
.pzv-t.on{border-color:var(--pzv-ink,#0f172a);box-shadow:0 0 0 1px var(--pzv-ink,#0f172a)}
.pzv-t::after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:transparent}
.pzv-t.s-ok::after{background:#16a34a} .pzv-t.s-info::after{background:#2a78d6} .pzv-t.s-warn::after{background:#d97706} .pzv-t.s-gap::after{background:#dc2626}
.pzv-t.s-warn span{color:var(--pzv-amber);font-weight:700} .pzv-t.s-gap span{color:var(--pzv-crit);font-weight:700}
.pzv-t.ghost{border-color:transparent;background:transparent;color:var(--pzv-ink4,#94a3b8);cursor:default}
.pzv-t.ghost b{font-weight:400;font-size:10.5px}
.pzv-t.s-ghost{border-style:dashed;color:var(--pzv-ink4,#94a3b8)}
.pzv-other{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:8px}
.pzv-other .pzv-t{width:40px;height:40px}
.pzv-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px}
.pzv-legend .pzv-st{font-weight:500;font-size:11.5px}
.pzv-tv{font-size:12.5px;color:var(--pzv-ink2,#334155);display:flex;justify-content:space-between;gap:12px;max-width:260px}
tr.pzv-sel td{background:var(--pz-hover,#f1f5f9)}
.pzv-listhd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 8px}
.pzv-listhd .btn{margin-left:auto}

/* capacity bars */
.pzv-bar{display:inline-block;width:70px;height:6px;border-radius:3px;background:var(--pzv-line,#e2e8f0);vertical-align:middle;overflow:hidden}
.pzv-bar i{display:block;height:100%;background:var(--pzv-ink3,#64748b)}
.pzv-bar.over i{background:#d97706}
.pzv-prog{height:8px;border-radius:4px;background:var(--pzv-line,#e2e8f0);overflow:hidden}
.pzv-prog i{display:block;height:100%;background:var(--pzv-ink,#0f172a);transition:width .2s}

/* recent changes */
.pzv-batch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--pzv-line,#e2e8f0)}
.pzv-batch:last-of-type{border-bottom:0}
.pzv-batch > div{min-width:0}

/* assign form */
.pzv-step{margin-top:14px}
.pzv-step:first-child{margin-top:0}
.pzv-step .k{font-size:12.5px;font-weight:700;color:var(--pzv-ink,#0f172a);margin-bottom:6px}
.pzv-segs,.pzv-pills{display:flex;flex-wrap:wrap;gap:6px}
.pzv-pill{border:1px solid var(--pzv-line2,#cbd5e1);background:#fff;color:var(--pzv-ink2,#334155);border-radius:999px;padding:6px 12px;font:600 12.5px/1.2 var(--font);min-height:32px;cursor:pointer}
.pzv-pill:hover{background:var(--pz-hover,#f1f5f9)}
.pzv-pill.on{background:var(--pzv-ink,#0f172a);border-color:var(--pzv-ink,#0f172a);color:#fff}
.pzv-pill.on .pzv-q{color:rgba(255,255,255,.75)}
.pzv-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.pzv-sel-in,.pzv-in,.pzv-ta,.pzv-cap,.pzvn .filterbox{font-size:16px;border:1px solid var(--pzv-line2,#cbd5e1);border-radius:8px;background:#fff;padding:7px 10px;max-width:100%;color:var(--pzv-ink,#0f172a)}
.pzv-sel-in{width:100%}
.pzv-ta{width:100%;font-family:var(--font);resize:vertical}
.pzv-cap{width:160px}
.pzvn .filterbox{width:220px}
.pzv-opts{margin-top:14px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--pzv-ink2,#334155)}
.pzv-opts label,.pzv-ack,.pzv-chk{display:flex;gap:8px;align-items:flex-start;line-height:1.4}
.pzv-chk{align-items:center;font-size:12.5px}
.pzv-ack{margin-top:12px;font-size:12.5px;font-weight:600}
.pzv-w{margin-top:8px;padding:9px 12px;border-radius:8px;font-size:12.5px;line-height:1.45;background:var(--pz-hover,#f1f5f9);color:var(--pzv-ink2,#334155)}
.pzv-w.warn{background:rgba(230,126,0,.10);color:#8a4b00}
.pzv-w.crit{background:rgba(237,32,36,.08);color:var(--pzv-crit)}
.pzv-w.info{background:var(--pz-hover,#f1f5f9)}
.pzv-det{margin-top:8px;font-size:12.5px}
.pzv-det summary{cursor:pointer;font-weight:600;color:var(--pzv-ink2,#334155)}
.pzv-ul{margin:0;padding-left:18px;font-size:12.5px;color:var(--pzv-ink2,#334155)}

/* vendor card sections */
.pzv-ds label{display:block;font-size:11.5px;color:var(--pzv-ink3,#64748b);margin-bottom:3px}
.pzv-form{border:1px solid var(--pzv-line,#e2e8f0);border-radius:10px;padding:12px;background:var(--pz-surface-2,#f8fafc)}
.pzv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pzv-in{width:100%}
.pzv-ds .brk{white-space:normal;overflow-wrap:anywhere}

@media (max-width:760px){
  .pzv-hm{display:none !important}
  .pzv-map{grid-template-columns:repeat(11,minmax(0,1fr));grid-auto-rows:32px;gap:3px;width:100%}
  .pzv-t b{font-size:9.5px} .pzv-t span{font-size:9.5px}
  .pzv-t::after{width:5px;height:5px;top:2px;right:2px}
  .pzv-mapwrap{gap:14px}
  .pzv-mapwrap > div:first-child{width:100%}
  .pzvn .filterbox{width:100%}
  .pzv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pzv-batch{flex-wrap:wrap}
}
