/* BYNZO V3 platform chrome — does not replace V1/V2 */

.ws-switch {
  display: inline-flex; align-items: center; gap: 8px;
  height: 42px; padding: 0 12px; border-radius: 12px;
  background: #fff; border: 1px solid var(--bnz-border);
  font-size: 12px; font-weight: 700; max-width: 200px;
}
.ws-switch:hover { border-color: var(--bnz-border-strong); }
.ws-switch small { color: var(--bnz-muted); font-weight: 600; display: block; }

.perm-table td, .perm-table th { text-align: center; }
.perm-table th:first-child, .perm-table td:first-child { text-align: left; }
.perm-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; background: #d4d4d8; }
.perm-dot.on { background: var(--bnz-orange); }

.arch-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.arch-node {
  padding: 14px; border-radius: 16px; background: #fff; border: 1px solid var(--bnz-border);
}
.arch-node b { display: block; margin-bottom: 6px; }
.arch-links { font-size: 12px; color: var(--bnz-muted); }

.admin-shell .sidebar { background: #141416; color: #f4f4f5; }
.admin-shell .nav-link { color: #d4d4d8; }
.admin-shell .nav-link:hover { background: #27272a; color: #fff; }
.admin-shell .nav-link.active { background: #fff; color: #0b0b0c; }
.admin-shell .brand { color: #fff; filter: none; }
.admin-shell .brand span { color: #a1a1aa; }
.admin-shell .proto-note { color: #a1a1aa; }
.admin-badge {
  display: inline-block; margin: 0 10px 10px; padding: 4px 8px; border-radius: 8px;
  background: var(--bnz-orange); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .12em;
}

.guest-top {
  height: 64px; display: flex; align-items: center; gap: 12px;
  padding: 0 20px; background: #fff; border-bottom: 1px solid var(--bnz-border);
}
.guest-top { flex-wrap: wrap; row-gap: 8px; }
.guest-note {
  max-width: 1100px; margin: 0 auto; padding: 18px 20px 48px;
}

.flow-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.flow-step {
  background: #fff; border: 1px solid var(--bnz-border); border-radius: 999px;
  padding: 8px 12px; font-size: 12px; font-weight: 700;
}
.flow-step.on { background: var(--bnz-black); color: #fff; }
.flow-arr { color: var(--bnz-faint); }

.sign-pad {
  height: 140px; border-radius: 16px; border: 1.5px dashed var(--bnz-border-strong);
  display: grid; place-items: center; color: var(--bnz-muted); background:
    repeating-linear-gradient(-45deg, #fff, #fff 8px, #fafafa 8px, #fafafa 16px);
}

.bnz-state { text-align: center; padding: 56px 20px; }
.bnz-state .state-icon { margin: 0 auto 12px; }
.bnz-state h2 { letter-spacing: -0.03em; margin-bottom: 6px; }
.skeleton-row { height: 14px; margin: 8px 0; }

.matrix-wrap { overflow: auto; }

.icon-hit { min-width: 42px; min-height: 42px; }
button.btn, a.btn { min-height: 42px; }
.nav-link { min-height: 40px; }

@media (max-width: 980px) {
  .arch-grid { grid-template-columns: 1fr; }
  .ws-switch span { display: none; }
  .ws-switch { max-width: 48px; padding: 0; width: 42px; justify-content: center; }
}
