.signup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.signup-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;padding:24px}
.signup-card h3{font-size:1.35rem;line-height:1.3;overflow-wrap:anywhere;margin:20px 0 12px}
.signup-card p{font-size:.95rem;line-height:1.6;overflow-wrap:anywhere;margin:10px 0}
.signup-card .card-arrow{display:block;margin-top:20px;font-size:1rem}
.signup-landing{max-width:860px;margin-inline:auto}
.signup-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
.signup-details dt{font-size:.8rem;color:#bcb5cf;margin-bottom:6px}
.signup-details dd{margin:0;overflow-wrap:anywhere;line-height:1.5}
.signup-deck-fields{border:0;padding:0;margin:0;min-width:0}
.signup-deck-fields[hidden]{display:none}
.signup-pending{border:1px solid var(--portal-border);border-radius:12px;padding:18px;background:rgba(170,146,255,.07)}
.signup-pending small{display:block;font-weight:400;margin-top:4px;color:#bcb5cf}
.signup-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.signup-counts>div{padding:18px;border:1px solid var(--portal-border);border-radius:14px;min-width:0}
.signup-counts strong{display:block;font-size:1.8rem;color:#cfbaff}.signup-counts span{font-size:.85rem;line-height:1.5;display:block;margin-top:5px}
.signup-share{display:flex;align-items:center;gap:12px;margin-top:10px}.signup-share input{flex:1;margin:0!important;width:0!important;min-width:0}
.signup-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.signup-player{display:flex;align-items:center;gap:14px;min-width:0}.signup-player>div{min-width:0}
.signup-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:12px;font-size:.9rem;overflow:hidden}
.signup-avatar img{width:100%;height:100%;max-height:100%;object-fit:cover}
.portal-badge.is-pending{color:#f4d896;border-color:rgba(244,216,150,.35)}
@media(max-width:560px){.signup-card{padding:20px}.signup-details{grid-template-columns:minmax(0,1fr);gap:16px}.signup-share{align-items:stretch;flex-direction:column}.signup-share input{width:100%!important;flex:auto}.signup-counts{gap:8px}.signup-counts>div{padding:12px}.signup-counts span{font-size:.75rem}.signup-section-head .portal-button{width:100%}}
.signup-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.signup-offer{border:1px solid var(--portal-border);border-radius:14px;background:rgba(180,150,255,.08);padding:18px;min-width:0}
.signup-offer span,.signup-payment-summary span,.signup-stage-price span{display:block;color:#bcb5cf;font-size:.82rem;margin-bottom:7px}
.signup-offer strong{display:block;font-size:1.5rem;line-height:1.25;color:#f0e8ff}
.signup-beycoin-label{display:flex!important;align-items:center;gap:8px}
.beycoin-icon{display:inline-block;width:24px;height:24px;flex:0 0 24px;vertical-align:middle}
.signup-beycoin-label .beycoin-icon{width:26px;height:26px;flex-basis:26px}
.signup-admin-title .beycoin-icon{margin-right:6px}
.signup-rules{margin:22px 0 12px;padding:0 18px;border:1px solid var(--portal-border);border-radius:12px;background:rgba(9,11,22,.3)}
.signup-rules summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:700}
.signup-rules summary span{font-size:.8rem;color:var(--portal-accent);font-weight:500}
.signup-rules p{white-space:pre-wrap;margin:0;padding:4px 0 20px;line-height:1.6}
.signup-rules-highlight{border:2px solid rgba(255,196,89,.78);background:linear-gradient(145deg,rgba(151,96,13,.22),rgba(88,57,16,.12));box-shadow:0 0 0 3px rgba(255,190,75,.08),0 12px 28px rgba(0,0,0,.18)}
.signup-rules-highlight summary{min-height:62px;color:#fff1c9;font-size:1.05rem}
.signup-rules-highlight summary span{color:#ffd887;text-transform:uppercase;letter-spacing:.06em;font-weight:750}
.signup-rules-highlight[open] summary{border-bottom:1px solid rgba(255,213,134,.24)}
.signup-rules-highlight p{color:#f6f0df;padding:17px 2px 21px;font-size:1rem}
.signup-rules-highlight h2{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;margin:0;border-bottom:1px solid rgba(255,213,134,.24);color:#fff1c9}
.signup-rules-heading{font-size:1.08rem;line-height:1.25;white-space:nowrap}
.signup-rules-priority{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid rgba(255,216,135,.5);border-radius:999px;background:rgba(255,198,91,.13);color:#ffd887;font-size:.66rem;line-height:1;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.signup-document{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:12px 0 22px;padding:17px 18px;border:1px solid rgba(167,142,230,.45);border-radius:12px;background:rgba(138,112,209,.13)}
.signup-document strong,.signup-document small{display:block}.signup-document small{color:#c3b9d5;margin-top:4px}
.signup-step-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px}
.signup-step-nav a{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 13px;border:1px solid var(--portal-border);border-radius:12px;background:rgba(141,119,197,.08);color:#ded6eb;text-decoration:none;font-weight:650;font-size:.86rem}
.signup-step-nav a[aria-current]{border-color:#ae91f0;background:rgba(176,144,247,.22);color:#fff}
.signup-step-nav a span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:1px solid #a58bd5;border-radius:50%;color:#e9dbff;font-size:.78rem}
.signup-stage{max-width:760px;margin:0 auto}.signup-stage h2{font-size:1.65rem;margin:9px 0 12px}.signup-stage p{line-height:1.6}
.signup-stage-price{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px;padding:16px 18px;border:1px solid var(--portal-border);border-radius:12px}.signup-stage-price span{margin:0}.signup-stage-price strong{font-size:1.3rem}
.signup-payment-choices{margin:0;padding:0;border:0;min-width:0;display:grid;gap:12px}.signup-payment-choices legend{font-size:1rem;font-weight:700;margin:0 0 12px}
.signup-payment-option{display:block;position:relative;cursor:pointer;min-width:0}
.player-portal .signup-payment-option input[type=radio]{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;opacity:0;overflow:hidden;margin:0!important;padding:0!important;border:0!important}
.signup-payment-face{display:flex;align-items:center;gap:16px;min-height:82px;padding:16px 18px;border:2px solid var(--portal-border);border-radius:14px;background:rgba(18,17,30,.72);transition:border-color .16s,background .16s}
.signup-payment-face strong,.signup-payment-face small{display:block}.signup-payment-face strong{font-size:1.04rem}.signup-payment-face small{font-size:.84rem;color:#c6bed3;line-height:1.4;margin-top:5px}
.signup-payment-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:rgba(178,151,244,.16);color:#dcc9ff;font-size:1.35rem;font-weight:700}
.signup-payment-option input:checked+.signup-payment-face{border-color:#bd9fff;background:rgba(159,121,244,.22)}
.signup-payment-option input:focus-visible+.signup-payment-face{outline:3px solid #d0befe;outline-offset:3px}
.signup-payment-option:hover .signup-payment-face{border-color:#a18bcc}
.signup-payment-option.is-primary .signup-payment-face{box-shadow:0 0 0 2px rgba(189,159,255,.08)}
.signup-payment-tag{display:inline-flex!important;align-items:center;margin-left:7px;padding:3px 7px;border-radius:999px;background:#cbb3ff;color:#24163f;font-size:.67rem!important;line-height:1;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}
.signup-payment-option.is-secondary .signup-payment-face{min-height:68px;padding:12px 14px;border-width:1px;background:rgba(18,17,30,.48)}
.signup-payment-option.is-secondary .signup-payment-icon{width:32px;height:32px;flex-basis:32px;font-size:1.05rem}
.signup-payment-option.is-secondary .signup-payment-face strong{font-size:.94rem}
.signup-payment-option.is-secondary .signup-payment-face small{font-size:.78rem;line-height:1.45}
.signup-payment-option.is-secondary input:not(:checked)+.signup-payment-face{opacity:.78}
.signup-payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.signup-payment-summary>div{border:1px solid var(--portal-border);border-radius:12px;padding:16px}.signup-payment-summary strong{font-size:1.2rem}
.signup-free-note{padding:16px 18px;border-radius:12px;background:rgba(77,194,140,.1);border:1px solid rgba(110,216,175,.27)}
.signup-cancel{max-width:760px;margin:25px auto 0;padding:18px;border:1px solid rgba(255,126,140,.42);border-radius:12px;background:rgba(151,36,60,.08)}.signup-cancel h2{font-size:1.1rem;margin:0 0 8px}.signup-cancel p{color:#d0bdc7;margin:0 0 14px}.portal-danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border:1px solid #ff8a98;border-radius:11px;background:#c3314e;color:#fff;font:inherit;font-weight:750;cursor:pointer}.portal-danger-button:hover{background:#df3b59}.portal-danger-button:focus-visible{outline:3px solid #ffd1d6;outline-offset:3px}
.signup-tournament-facts{display:flex;flex-wrap:wrap;gap:7px!important}.signup-tournament-facts span{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid rgba(169,148,217,.32);border-radius:8px;background:rgba(128,101,194,.1);font-size:.82rem;line-height:1.4}
.signup-name-admin{flex:1 1 220px;min-width:200px;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--portal-border);border-radius:12px}.signup-name-admin label{font-size:.82rem}.signup-name-admin .portal-text-link{font-size:.8rem}.signup-name-admin button{align-self:flex-start}
@media(max-width:620px){.signup-offer-grid{gap:8px}.signup-offer{padding:14px}.signup-offer strong{font-size:1.25rem}.signup-step-nav{gap:5px}.signup-step-nav a{display:block;text-align:center;padding:9px 4px;font-size:.73rem;line-height:1.25}.signup-step-nav a span{margin:0 auto 4px}.signup-document .portal-secondary-button,.signup-main-action{width:100%}.signup-payment-face{padding:14px;min-height:76px}}

.signup-step-nav .signup-step-locked{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 13px;border:1px solid var(--portal-border);border-radius:12px;opacity:.5;font-weight:650;font-size:.86rem}.signup-step-locked>span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:1px solid #a58bd5;border-radius:50%;font-size:.78rem}@media(max-width:620px){.signup-step-nav .signup-step-locked{display:block;text-align:center;padding:9px 4px;font-size:.73rem;line-height:1.25}.signup-step-locked>span{margin:0 auto 4px}}


/* A player's registration state belongs on each event card. */
.signup-list-card .signup-card-actions{position:relative;z-index:2;display:flex;align-items:flex-start;flex-direction:column;gap:10px;margin-top:22px}
.signup-list-card .signup-card-actions p{margin:0}
.signup-state-badge{font-weight:750}
.signup-state-badge.is-confirmed,.portal-button.signup-status-action.is-confirmed{color:#103524;background:#a1e8bf;border-color:#77d7a2}
.signup-state-badge.is-confirmed{color:#aff0cd;background:rgba(45,141,95,.2);border-color:#5ebb84}
.signup-state-badge.is-available,.portal-button.signup-status-action.is-available{color:#fff;background:#b4344d;border-color:#f28698}
.signup-state-badge.is-available{background:rgba(195,59,85,.2);border-color:#f28698;color:#ffb7c2}
.signup-state-badge.is-awaiting{background:rgba(184,129,43,.2);border-color:#dfb568;color:#ffdda2}
.portal-button.signup-status-action.is-awaiting{color:#3a2708;background:#f0c77e;border-color:#f8dfa2}
.portal-button.signup-status-action.is-confirmed:hover{background:#b6f4d0}
.portal-button.signup-status-action.is-available:hover{background:#d4415d}
.portal-button.signup-status-action.is-awaiting:hover{background:#f9d798}
.signup-cancel-link{min-height:44px;padding:9px 0;border:0;background:none;color:#ffb0bc;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.signup-cancel-link:hover{color:#ffdae1}
.signup-cancel-link:focus-visible,.signup-card-title:focus-visible{outline:3px solid #d0befe;outline-offset:3px}
.signup-card-title{color:inherit;text-decoration:none}
.signup-card-title:hover{text-decoration:underline}
.signup-card .signup-card-actions .portal-button{max-width:100%}
@media(max-width:480px){.signup-list-card .signup-card-actions .portal-button{width:100%}}

/* Admin readiness: scan deck/payment state first and keep audit history available on demand. */
.participant-admin-row{align-items:flex-start}
.participant-status-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.participant-status-badges .portal-badge{padding:6px 10px;font-weight:800}
.participant-admin-actions{display:grid;align-content:start;gap:10px;min-width:185px}
.participant-admin-actions p,.participant-admin-actions form{margin:0}
.payment-history-card{overflow:hidden}
.payment-history-card>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;cursor:pointer;list-style:none}
.payment-history-card>summary::-webkit-details-marker{display:none}
.payment-history-card>summary strong,.payment-history-card>summary small{display:block}
.payment-history-card>summary small{margin-top:4px;color:#bcb4ce;font-size:.78rem}
.payment-history-card[open]>summary{padding-bottom:16px;border-bottom:1px solid var(--portal-border)}
.payment-history-list{display:grid}
.payment-history-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--portal-border)}
.payment-history-row:last-child{border-bottom:0;padding-bottom:0}
.payment-history-row strong,.payment-history-row small{display:block}
.payment-history-row small{margin-top:5px;color:#bcb4ce}
.payment-history-meta{text-align:right}
.portal-badge.is-refund{color:#ffd7a0;border-color:rgba(237,176,91,.45);background:rgba(174,104,29,.18)}
@media(max-width:620px){
  .participant-status-badges{gap:6px}
  .participant-admin-actions{width:100%;min-width:0}
  .payment-history-card>summary{align-items:flex-start}
  .payment-history-row{align-items:flex-start;flex-direction:column}
  .payment-history-meta{text-align:left}
}

/* Imported tournaments: configure historical payments, preview the ledger and export its poster. */
.imported-beycoin-card{border-color:rgba(140,199,255,.34);background:linear-gradient(145deg,rgba(25,64,103,.34),rgba(21,22,43,.92))}
.imported-payment-selector{margin-top:20px;padding:18px;border:1px solid var(--portal-border);border-radius:16px;background:rgba(7,12,28,.42)}
.imported-payment-selector>strong,.imported-payment-selector>small{display:block}
.imported-payment-selector>small{margin:5px 0 14px;color:#bcb4ce}
.imported-payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.imported-payment-player{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(164,187,225,.2);border-radius:12px;background:rgba(255,255,255,.035)}
.imported-payment-player input{width:18px;height:18px;accent-color:#9ad5ff}
.imported-beycoin-summary,.beycoin-preview-grid{display:grid;gap:10px;margin:18px 0}
.imported-beycoin-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.imported-beycoin-summary>div,.beycoin-preview-row{padding:14px;border:1px solid var(--portal-border);border-radius:14px;background:rgba(255,255,255,.035)}
.imported-beycoin-summary span,.imported-beycoin-summary strong{display:block}
.imported-beycoin-summary span{color:#bcb4ce;font-size:.8rem}
.imported-beycoin-summary strong{margin-top:5px}
.beycoin-preview-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.beycoin-preview-row.is-total{border-color:rgba(111,206,255,.52);background:rgba(43,132,177,.15)}
.beycoin-preview-row.podium-1{border-color:rgba(255,215,92,.55);background:rgba(168,123,20,.16)}
.beycoin-preview-row.podium-2{border-color:rgba(211,222,238,.45);background:rgba(151,166,187,.12)}
.beycoin-preview-row.podium-3{border-color:rgba(213,145,91,.48);background:rgba(150,76,30,.14)}
.poster-download-button{display:inline-flex;margin-top:4px}
@media(max-width:620px){
  .imported-beycoin-summary{grid-template-columns:1fr}
  .imported-payment-grid{grid-template-columns:1fr}
  .beycoin-distribution-card .signup-section-head{align-items:flex-start}
  .beycoin-preview-row{align-items:flex-start}
}
