/* Vendor pricing site - self-contained (the Hub shell lives behind staff
   sign-in and vendors cannot load it). Same palette as the Hub standard:
   navy #173052, kelly green #64c216 / #4ca510, neutral inks. */
:root{--navy:#173052;--navy-800:#1f3d66;--green:#64c216;--green-600:#4ca510;--on-accent:#04240f;
  --bg:#f4f6f9;--card:#fff;--ink:#1c2430;--ink-soft:#4a5568;--muted:#6b7686;--line:#e2e7ee;--line-strong:#c9d2de;
  --ok-bg:#e9f7dc;--ok-fg:#2a6a10;--bad-bg:#fbe7e6;--bad-fg:#9b2c26;--warn-bg:#fdf3d6;--warn-fg:#7a5400;--info-bg:#e6f0fb;--info-fg:#1f4e8c;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--font)}
.vp-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;background:var(--navy);color:#fff;border-bottom:3px solid var(--green);position:sticky;top:0;z-index:10}
.vp-brand h1{margin:0;font:700 19px/1.2 var(--font)}
.vp-eyebrow{display:block;font:700 11px/1.4 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.vp-who{display:flex;align-items:center;gap:10px;font-size:13px}
main{max-width:1200px;margin:0 auto;padding:18px 20px 60px}
.vp-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:0 0 16px}
.vp-auth{max-width:440px;margin:40px auto}
.vp-card h2{margin:0 0 6px;font:700 16px/1.3 var(--font)}
.vp-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.vp-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.vp-muted{color:var(--muted);font-size:12.5px;margin:4px 0}
label{display:grid;gap:4px;font:600 12px/1.4 var(--font);color:var(--ink-soft);margin:0 0 12px}
input,select{font:400 14px/1.4 var(--font);border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;color:var(--ink);background:#fff;min-width:0}
input:focus-visible,select:focus-visible,.vp-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(100,194,22,.45)}
.vp-btn{font:600 13px/1.2 var(--font);border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:8px;padding:8px 14px;cursor:pointer;text-decoration:none;display:inline-block}
.vp-btn.primary{background:var(--green-600);border-color:var(--green-600);color:var(--on-accent)}
.vp-btn.primary:hover{background:var(--green)}
.vp-btn.ghost{background:transparent}
.vp-bar .vp-btn.ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.vp-btn[disabled]{opacity:.5;cursor:default}
.vp-notice{margin:0 0 12px;padding:10px 12px;border-radius:8px;border:1px solid var(--line-strong);background:#fff;font-size:13px}
.vp-notice.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:transparent}
.vp-notice.bad{background:var(--bad-bg);color:var(--bad-fg);border-color:transparent}
.vp-table-wrap{overflow-x:auto}
.vp-table{width:100%;border-collapse:collapse;font-size:13px}
.vp-table th{font:700 11px/1.4 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:8px;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:58px;background:var(--card)}
.vp-table td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.vp-table .num,.vp-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.vp-table tr:hover td{background:#f7faf3}
.vp-table td input{width:110px;padding:5px 8px}
.vp-table td select{padding:5px 6px}
.vp-table tr.changed td{background:#f1fae6}
.vp-cat td{background:#f4f6f9;font:700 11px/1.4 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.vp-pill{display:inline-block;padding:1px 8px;border-radius:999px;font:700 11px/1.6 var(--font);letter-spacing:.03em}
.vp-pill.pending{background:var(--warn-bg);color:var(--warn-fg)}
.vp-pill.approved{background:var(--ok-bg);color:var(--ok-fg)}
.vp-pill.rejected{background:var(--bad-bg);color:var(--bad-fg)}
.vp-foot{max-width:1200px;margin:0 auto;padding:0 20px 30px;color:var(--muted);font-size:12px}
[hidden]{display:none!important}
@media(max-width:640px){main{padding:12px}.vp-table td input{width:90px}.vp-table th{top:56px}}
