/* watchtower-vendors.css — Vendors (Dispatch - Vendors.dc.html). Booth compliance +
 * load-in. Compliance (COI / Health / Fire) gates whether a booth may open. Command
 * roles. Renders into the EOC shell content area; tokens from watchtower.css. */

.wtv { display:flex; flex-direction:column; height:100%; overflow:hidden; background:var(--bg-0); color:var(--t-0); font-family:var(--sans); }
.wtv * { box-sizing:border-box; }
.wtv button { color:inherit; font-family:inherit; cursor:pointer; }

.wtv-top { flex:0 0 auto; display:flex; align-items:center; gap:13px; padding:11px 24px; border-bottom:1px solid var(--l-2); background:var(--bg-1); flex-wrap:wrap; }
.wtv-wm { font-family:var(--label); font-size:15px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; }
.wtv-sub { font-family:var(--label); font-size:9px; letter-spacing:0.13em; color:var(--gold); text-transform:uppercase; margin-top:2px; }
.wtv-kpis { margin-left:auto; display:flex; gap:10px; }
.wtv-kpi { border:1px solid var(--l-2); border-radius:8px; padding:7px 14px; text-align:center; }
.wtv-kpi .n { font-family:var(--mono); font-size:20px; font-weight:700; } .wtv-kpi .l { font-family:var(--label); font-size:8.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--t-3); margin-top:1px; }

.wtv-main { min-height:0; overflow:auto; padding:14px 24px 40px; }
.wtv-note { display:flex; gap:9px; align-items:flex-start; margin:0 0 16px; padding:11px 15px; border:1px solid color-mix(in oklab,var(--gold) 36%,var(--l-2)); border-radius:8px; background:color-mix(in oklab,var(--gold) 7%,var(--bg-1)); font-size:12.5px; color:var(--t-1); line-height:1.45; }
.wtv-note b { color:var(--gold); }
.wtv-card { border:1px solid var(--l-2); border-radius:10px; background:var(--bg-1); overflow:hidden; }
.wtv-vrow { display:grid; grid-template-columns:120px 1.4fr 1fr 220px 84px; gap:16px; align-items:center; padding:13px 16px; border-bottom:1px solid var(--l-1); }
.wtv-vrow:last-child { border-bottom:0; }
.wtv-bn { font-family:var(--mono); font-size:14px; color:var(--t-0); } .wtv-bz { font-family:var(--label); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--t-3); margin-top:2px; }
.wtv-vname { font-size:14px; font-weight:600; } .wtv-vpower { font-family:var(--mono); font-size:11px; color:var(--t-3); margin-top:2px; }
.wtv-cn { font-size:12.5px; } .wtv-cp { font-family:var(--mono); font-size:11px; color:var(--t-3); margin-top:2px; }
.wtv-chips { display:flex; gap:5px; flex-wrap:wrap; }
.wtv-chip { display:inline-flex; align-items:center; gap:4px; font-family:var(--label); font-size:9px; letter-spacing:0.04em; text-transform:uppercase; padding:5px 8px; border-radius:4px; border:1px solid currentColor; background:transparent; }
.wtv-chip.ok { color:var(--green); cursor:default; }
.wtv-chip.bad { color:var(--red); }
.wtv-chip.na { color:var(--t-3); border-style:dashed; cursor:default; }
.wtv-status { font-family:var(--label); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; text-align:center; padding:6px 0; border-radius:6px; border:1px solid currentColor; }
.wtv-status.open { color:var(--green); } .wtv-status.setup { color:var(--gold); } .wtv-status.pending { color:var(--t-3); }
.wtv-empty { padding:40px; text-align:center; color:var(--t-3); font-size:13px; }
