/* M.A.T.H. v28.3.3 — visual live seat picker */
.seat-code-row{display:block!important;max-width:420px;margin:0 auto 18px}
.seat-code-row label{display:block}
.seat-code-row input{text-align:center;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:1.25rem}
.seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;width:100%;margin:6px 0 16px}
.seat-grid-empty{grid-column:1/-1;padding:22px;border:2px dashed rgba(6,56,102,.28);border-radius:18px;background:rgba(255,255,255,.62);color:#33576d;font-weight:800;text-align:center}
.seat-team{background:#f7fbff;border:2px solid #b9d5e5;border-radius:18px;padding:12px;box-shadow:0 5px 0 rgba(7,54,88,.08)}
.seat-team-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:#073f68}
.seat-team-head strong{font-size:1.02rem}
.seat-team-count{font-size:.78rem;font-weight:900;color:#547589;white-space:nowrap}
.seat-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:9px}
.seat-tile{appearance:none;border:2px solid #16a765;border-radius:14px;background:linear-gradient(180deg,#eafff2,#caffdf);color:#075f3c;min-height:62px;padding:8px 6px;font:900 .92rem/1.1 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer;box-shadow:0 4px 0 #0d7d4a;transition:transform .08s ease,box-shadow .08s ease,background .15s ease}
.seat-tile:hover,.seat-tile:focus-visible{transform:translateY(-1px);outline:3px solid rgba(255,196,52,.7);outline-offset:2px}
.seat-tile:active{transform:translateY(2px);box-shadow:0 1px 0 #0d7d4a}
.seat-tile .seat-icon{display:block;font-size:1.18rem;margin-bottom:4px}
.seat-tile.locked{border-color:#8899a5;background:#e3e8eb;color:#61717c;box-shadow:none;cursor:not-allowed;opacity:.86}
.seat-tile.claiming{border-color:#e5a500;background:#fff3bf;color:#6b4d00;box-shadow:0 4px 0 #bd8500;cursor:wait}
.seat-team.full{border-color:#a8b3ba;background:#eef2f4}
.seat-team.full .seat-team-count{color:#7a878f}
.join-card .message{min-height:1.5em;font-weight:800}
@media(max-width:720px){.seat-grid{grid-template-columns:1fr}.seat-buttons{grid-template-columns:repeat(3,1fr)}.seat-tile{min-height:68px;font-size:1rem}}
@media(max-width:430px){.seat-buttons{grid-template-columns:repeat(2,1fr)}}
