/* Peptira WMS vendor portal — clean, self-contained, brand blue. */
.wmsv{--blue:#3b6cf6;--blue2:#2c57d6;--ink:#1a1f33;--muted:#5a6175;--line:#e7ebf5;--lav:#eef1fe;
  --ok:#0b8a3c;--okbg:#e8f7ee;--amber:#c2700a;--amberbg:#fff4d6;--errbg:#fdecec;--err:#a32020;
  max-width:900px;margin:0 auto;font-family:'Inter Tight',Inter,system-ui,-apple-system,sans-serif;color:var(--ink);line-height:1.55}
.wmsv *{box-sizing:border-box}
.wmsv-hero{background:linear-gradient(135deg,#2742b8,#3b6cf6 60%,#5a83ff);color:#fff;border-radius:22px;
  padding:38px 36px;margin-bottom:22px;box-shadow:0 22px 55px -24px rgba(43,82,214,.55)}
.wmsv-hero h1{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em;margin:14px 0 8px}
.wmsv-hero p{color:rgba(255,255,255,.88);margin:0;max-width:620px}
.wmsv-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.14em;background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);border-radius:100px;padding:6px 14px}
.wmsv-heropills{margin-top:18px}
.wmsv-pill{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);
  border-radius:100px;padding:7px 15px;color:#fff;text-decoration:none;font-weight:600;font-size:.85rem}
.wmsv-pill:hover{background:rgba(255,255,255,.26)}

.wmsv-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 12px 34px -22px rgba(26,31,51,.22)}
.wmsv-narrow{max-width:420px;margin:0 auto}
.wmsv-center{text-align:center}
.wmsv-muted{color:var(--muted)}
.wmsv-adminbar{background:var(--amberbg);border:1px solid #f0d98a;color:#7a5c08;border-radius:12px;padding:11px 16px;margin-bottom:16px;font-weight:600;text-align:center}

.wmsv-form{display:flex;flex-direction:column;gap:14px}
.wmsv-field{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;color:#33384a}
.wmsv-field input{font:inherit;font-weight:400;padding:11px 13px;border:1px solid #d4d9e6;border-radius:11px;background:#fff;color:var(--ink)}
.wmsv-field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(59,108,246,.16)}
.wmsv-check{display:flex;align-items:center;gap:9px;font-size:.88rem;color:var(--muted)}
.wmsv-btn{background:var(--blue);color:#fff;border:none;border-radius:12px;padding:13px 22px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s}
.wmsv-btn:hover{background:var(--blue2)}
.wmsv-btn:disabled{opacity:.6;cursor:not-allowed}
.wmsv-link{color:var(--blue);font-weight:600;text-decoration:none;text-align:center;font-size:.9rem}
.wmsv-note{border-radius:11px;padding:12px 14px;font-weight:500;font-size:.92rem}
.wmsv-err{background:var(--errbg);border:1px solid #f3b4b4;color:var(--err)}

/* tabs */
.wmsv-tabs{display:flex;gap:8px;margin-bottom:16px}
.wmsv-tab{font:inherit;font-weight:600;font-size:.9rem;color:#4a5168;background:#f2f5fc;border:none;border-radius:100px;padding:8px 18px;cursor:pointer}
.wmsv-tab.is-active{background:var(--blue);color:#fff}

/* PO cards */
.wmsv-po{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:16px;box-shadow:0 10px 30px -24px rgba(26,31,51,.2)}
.wmsv-po-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.wmsv-po-no{font-weight:800;font-size:1.1rem;letter-spacing:-.01em}
.wmsv-po-date{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}
.wmsv-po-status{font-size:.78rem;font-weight:700;background:var(--lav);color:var(--blue);border-radius:100px;padding:5px 13px}

.wmsv-line{padding:14px 0;border-bottom:1px solid var(--line)}
.wmsv-line:last-child{border-bottom:none}
.wmsv-line-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.wmsv-line-name{font-weight:700}
.wmsv-line-qty{font-size:.84rem;color:var(--muted);font-weight:600}
.wmsv-bar{height:9px;border-radius:100px;background:var(--lav);overflow:hidden;margin:8px 0 6px}
.wmsv-bar-fill{height:100%;background:linear-gradient(90deg,#5a83ff,#3b6cf6);border-radius:100px}
.wmsv-line-meta{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}

/* shipments */
.wmsv-ships{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.wmsv-ship{background:#f9fafd;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.wmsv-ship.received{background:var(--okbg);border-color:#bfe6cd}
.wmsv-ship.archived{opacity:.7}
.wmsv-ship-main{display:flex;justify-content:space-between;align-items:center}
.wmsv-ship-vials{font-weight:700}
.wmsv-ship-status{font-size:.74rem;font-weight:700;border-radius:100px;padding:3px 10px}
.wmsv-transit{background:var(--amberbg);color:var(--amber)}
.wmsv-received{background:var(--okbg);color:var(--ok)}
.wmsv-archived{background:#eceff5;color:#5a6175}
.wmsv-ship-track{font-size:.82rem;color:var(--muted);margin-top:5px;font-family:'JetBrains Mono',monospace}
.wmsv-ship-photos{display:flex;gap:8px;margin-top:8px}
.wmsv-thumb{position:relative;display:block;width:54px;height:54px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.wmsv-thumb img{width:100%;height:100%;object-fit:cover}
.wmsv-thumb span{position:absolute;bottom:0;left:0;right:0;font-size:.55rem;text-align:center;background:rgba(0,0,0,.6);color:#fff;padding:1px}
.wmsv-mini{margin-top:8px;font:inherit;font-size:.78rem;font-weight:600;background:#fff;border:1px solid #d4d9e6;border-radius:8px;padding:5px 12px;cursor:pointer;color:#42495c}
.wmsv-mini:hover{border-color:var(--blue);color:var(--blue)}
.wmsv-newship{margin-top:12px}
.wmsv-open-ship{font-size:.88rem;padding:9px 16px}

/* modal */
.wmsv-modal-bg{position:fixed;inset:0;background:rgba(20,26,46,.55);backdrop-filter:blur(3px);z-index:99998;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.wmsv-modal-bg.open{display:flex}
.wmsv-modal{position:relative;background:#fff;border-radius:20px;max-width:460px;width:100%;max-height:calc(100vh - 80px);overflow-y:auto;padding:28px;box-shadow:0 30px 80px -20px rgba(20,26,46,.5);display:flex;flex-direction:column;gap:14px}
.wmsv-btn-confirm{position:sticky;bottom:0;margin-top:4px}
.wmsv-modal h2{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.02em}
.wmsv-modal-x{position:absolute;top:14px;right:16px;border:none;background:none;font-size:1.6rem;color:#9aa2b6;cursor:pointer;line-height:1}
.wmsv-drop{border:1.5px dashed #c7cee0;border-radius:12px;background:#f7f8fb;padding:20px;text-align:center;cursor:pointer;color:var(--muted);font-size:.86rem}
.wmsv-drop.over{border-color:var(--blue);background:var(--lav)}

.wmsv-ship-addr{font-size:.8rem;color:var(--muted);margin-top:4px}
.wmsv-field select{font:inherit;padding:11px 13px;border:1px solid #d4d9e6;border-radius:11px;background:#fff;color:var(--ink)}
.wmsv-field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(59,108,246,.16)}

/* section tabs */
.wmsv-sectabs{display:flex;gap:10px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.wmsv-sectab{font:inherit;font-weight:700;font-size:.95rem;color:#5a6175;background:none;border:none;border-bottom:2px solid transparent;padding:10px 4px;margin-bottom:-1px;cursor:pointer}
.wmsv-sectab.is-active{color:var(--blue);border-bottom-color:var(--blue)}
.wmsv-count{display:inline-block;background:var(--blue);color:#fff;border-radius:100px;font-size:.7rem;padding:1px 7px;margin-left:4px;vertical-align:middle}

/* prospective PO card */
.wmsv-prospective{border-color:#c7d3ff;box-shadow:0 10px 30px -22px rgba(59,108,246,.4)}
.wmsv-prostable{width:100%;border-collapse:collapse;margin:8px 0}
.wmsv-prostable th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:6px 4px;border-bottom:1px solid var(--line)}
.wmsv-prostable td{padding:8px 4px;border-bottom:1px solid var(--line);font-size:.9rem}
.wmsv-prostable input{font:inherit;padding:6px 8px;border:1px solid #d4d9e6;border-radius:7px}
.wmsv-pro-total{text-align:right;font-weight:800;font-size:1.05rem;margin:6px 0}
.wmsv-pro-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.wmsv-pro-actions .wmsv-btn{padding:9px 18px}
.wmsv-pro-notebox{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.wmsv-pro-note{flex:1;min-width:200px;font:inherit;padding:10px 12px;border:1px solid #d4d9e6;border-radius:10px;resize:vertical}

/* clean shipment table (replaces stacked boxes) */
.wmsv-shiptable-wrap{overflow-x:auto;margin-top:12px;border:1px solid var(--line);border-radius:12px}
.wmsv-shiptable{width:100%;border-collapse:collapse;font-size:.86rem;min-width:640px}
.wmsv-shiptable thead th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);
  background:#f7f8fb;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:700}
.wmsv-shiptable td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.wmsv-shiptable tr:last-child td{border-bottom:none}
.wmsv-shiprow.received{background:var(--okbg)}
.wmsv-shiprow.archived{opacity:.6}
.wmsv-td-vials{font-weight:800;font-variant-numeric:tabular-nums}
.wmsv-td-carrier{display:block;font-weight:600}
.wmsv-td-track{display:block;font-size:.76rem;color:var(--muted);font-family:'JetBrains Mono',ui-monospace,monospace}
.wmsv-td-photos{white-space:nowrap}
.wmsv-td-photos .wmsv-thumb{width:40px;height:40px;display:inline-block;margin-right:4px}
.wmsv-pill{display:inline-block;font-size:.72rem;font-weight:700;border-radius:100px;padding:3px 11px;white-space:nowrap}

/* standalone chrome-free page (no theme header/footer) */
body.phub-wmsv-standalone{margin:0;padding:0;background:#f4f6fb;min-height:100vh}
.wmsv-standalone-wrap{max-width:960px;margin:0 auto;padding:32px 20px 60px}
@media(max-width:600px){.wmsv-standalone-wrap{padding:18px 12px 40px}}

/* clickable tracking link on vendor portal */
.wmsv-track-link{color:var(--blue);text-decoration:none;font-weight:600}
.wmsv-track-link:hover{text-decoration:underline}

/* vendor PO payment progress */
.wmsv-paywrap{margin:4px 0 14px}
.wmsv-payrow{display:flex;justify-content:space-between;align-items:baseline;font-size:.86rem;margin-bottom:6px}
.wmsv-paylabel{font-weight:700;color:#5a6175;text-transform:uppercase;font-size:.68rem;letter-spacing:.05em}
.wmsv-payval{font-weight:700}
.wmsv-paydue{color:#c47d1a}
.wmsv-paydone{color:#1f9d63}
.wmsv-paybar{height:7px;border-radius:100px;background:#e7ebf5;overflow:hidden}
.wmsv-paybar-fill{height:100%;background:#1f9d63;border-radius:100px;transition:width .3s}

/* Language switcher */
.wmsv-langform{display:inline-block;margin:0}
.wmsv-lang{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 10px;cursor:pointer}
.wmsv-lang-ico{font-size:14px;line-height:1}
.wmsv-lang select{background:transparent;border:0;color:inherit;font-size:.85rem;font-weight:600;cursor:pointer;outline:none;padding-right:2px}
.wmsv-lang select option{color:#111}
.wmsv-card .wmsv-langform{margin-top:14px;display:block;text-align:center}
.wmsv-card .wmsv-lang{background:#f1f3f7;border-color:#dde1e8;color:#333}
