/* Squad registration — the app's dark stadium palette, with one clear next step. */
#tournament-modal { z-index:10020; padding:20px; color:#f5f7f8; }
#tournament-modal *, #tournament-modal *::before, #tournament-modal *::after { box-sizing:border-box; }
#tournament-modal .tr-window { width:100%; max-width:540px; max-height:calc(100dvh - 40px); padding:0; gap:0; background:#111619; border:1px solid #354137; border-radius:24px; box-shadow:0 30px 90px #000c; overscroll-behavior:contain; }
.tr-top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:26px 26px 20px; background:radial-gradient(ellipse at 90% 0%,#46762138,transparent 70%),#151d19; }
.tr-eyebrow { font-size:9px; font-weight:850; letter-spacing:1.6px; color:#b5dc7a; }
.tr-top h2 { font-size:22px; font-weight:900; letter-spacing:-.65px; line-height:1.2; margin:9px 0 7px; }
.tr-top p { font-size:12px; line-height:1.5; color:#c1cdc5; margin:0; }
.tr-close { flex-shrink:0; border:1px solid #445146; border-radius:50%; width:36px; height:36px; background:#ffffff08; color:#eff6ed; font-size:25px; cursor:pointer; }
.tr-steps { display:flex; gap:12px; padding:18px 26px; margin:0; list-style:none; border-bottom:1px solid #29322d; background:#101613; }
.tr-steps li { display:flex; align-items:center; gap:8px; flex:1; font-size:11px; color:#94a09a; font-weight:700; }
.tr-steps li>span { display:grid; place-items:center; width:27px; height:27px; border:1px solid #455248; border-radius:9px; font-size:10px; }
.tr-steps li[aria-current],.tr-steps .is-complete { color:#c6ef80; }
.tr-steps li[aria-current]>span { background:#caf383; border-color:#caf383; color:#14220d; }
.tr-steps .is-complete>span { border-color:#6c8d47; }
#tr-body { padding:24px 26px 26px; display:flex; flex-direction:column; gap:18px; }
.tr-heading h3 { font-size:23px; letter-spacing:-.6px; line-height:1.2; margin:0 0 9px; font-weight:900; outline:none; }
.tr-heading p,.tr-empty p,.tr-payment p { color:#b0bcb4; font-size:12px; line-height:1.6; margin:0; }
.tr-field { display:flex; flex-direction:column; gap:7px; font-size:11px; font-weight:650; color:#d0d9d3; min-width:0; }
.tr-field input,.tr-field select { display:block; width:100%; min-height:46px; border:1px solid #3d4841; border-radius:11px; padding:11px 12px; background:#1b231e; color:#f3f7f1; font:inherit; font-size:14px; color-scheme:dark; }
.tr-field select { padding-right:28px; }
.tr-field input::placeholder { color:#8d9c93; }
#tournament-modal :is(button,input,select,a):focus-visible { outline:2px solid #c6ef80; outline-offset:3px; }
#tournament-modal button { font-family:inherit; }
.tr-primary,.tr-secondary,.tr-link { display:flex; align-items:center; justify-content:center; gap:9px; cursor:pointer; min-height:46px; width:100%; border-radius:12px; font-size:12px; font-weight:800; padding:12px 14px; line-height:1.4; text-align:center; }
.tr-primary { background:#c7ef83; color:#14210e; border:1px solid #c7ef83; box-shadow:0 5px 20px #87b74010; }
.tr-primary:hover:not(:disabled) { background:#d8ff9a; }
.tr-secondary { background:#1a231d; color:#e3eddf; border:1px solid #42513d; }
.tr-link { border:0; background:transparent; color:#bdceba; min-height:38px; }
#tournament-modal button:disabled { opacity:.45; cursor:default; }
.tr-squad { display:flex; align-items:center; gap:13px; padding:16px; background:linear-gradient(115deg,#203022,#171f1b); border:1px solid #425a39; border-radius:15px; }
.tr-crest { display:grid; place-items:center; flex-shrink:0; width:48px; height:54px; border:1px solid #6c8853; border-radius:12px 12px 20px 20px; color:#d2ef9f; background:#34452a; font-size:24px; }
.tr-squad>div { flex:1; min-width:0; }
.tr-squad strong { display:block; font-size:16px; font-weight:850; overflow-wrap:anywhere; }
.tr-squad div>span { display:block; font-size:10px; color:#afbea9; margin-top:6px; }
.tr-status { display:inline-flex; align-items:center; gap:3px; font-size:9px; padding:5px 7px; border-radius:6px; background:#4d3f24; color:#f4d493; white-space:nowrap; }
.tr-status.is-ready { color:#c7ef96; background:#39502c; }
.tr-note { display:flex; gap:10px; align-items:flex-start; color:#c0d994; }
.tr-note>i { margin-top:3px; font-size:12px; }
.tr-note p { margin:0; font-size:11px; line-height:1.6; color:#b5c2b5; }
.tr-costs { padding:15px 16px; background:#0c110e; border:1px solid #303c33; border-radius:13px; display:grid; gap:12px; }
.tr-costs>div { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px; color:#a8b7ab; }
.tr-costs b { font-size:12px; color:#e4eade; }
.tr-costs .tr-due { border-top:1px solid #29382e; padding-top:12px; color:#eff6e9; }
.tr-due strong { color:#c9f38e; font-size:27px; line-height:1; letter-spacing:-1px; }
.tr-actions { display:grid; gap:5px; }
.tr-existing { display:grid; gap:9px; padding-bottom:16px; border-bottom:1px solid #354332; }
.tr-existing>strong { font-size:11px; color:#baccb0; }
.tr-footnote { color:#98a99c; font-size:10px; line-height:1.55; text-align:center; margin:0; }
.tr-empty { padding:24px 18px; text-align:center; border:1px dashed #4a5e41; background:#192019; border-radius:16px; }
.tr-empty>i { font-size:35px; color:#bdd889; margin:4px 0 8px; }
.tr-empty h4 { font-size:18px; margin:10px 0; }
.tr-empty .tr-primary { margin-top:18px; }
#tr-body form { display:grid; gap:16px; margin:0; }
.tr-progress { height:5px; border-radius:8px; background:#354031; overflow:hidden; margin-top:-9px; }
.tr-progress span { display:block; height:100%; background:#c8ef8a; }
.tr-roster { display:grid; max-height:190px; overflow-y:auto; }
.tr-roster>div { display:flex; gap:10px; align-items:center; padding:8px 0; border-bottom:1px solid #29362b; font-size:12px; }
.tr-roster small { font-size:9px; margin-left:auto; color:#9aa998; }
.tr-number { display:grid; place-items:center; width:25px; height:25px; background:#263227; border-radius:7px; color:#c9d8bd; font-weight:700; }
#tr-body .tr-add-player { border:1px dashed #45513d; border-radius:13px; padding:14px; gap:12px; background:#172019; }
.tr-add-player>strong { font-size:12px; }
.tr-add-player>div { display:grid; grid-template-columns:minmax(0,1fr) 75px; gap:10px; }
.tr-contact { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:5px; }
.tr-contact h4 { grid-column:1/-1; margin:0; font-size:12px; }
.tr-receipt-mark { display:grid; place-items:center; width:54px; height:54px; margin:0 auto; border:1px solid #68824b; border-radius:17px; color:#d1f19a; background:#2a3924; font-size:23px; }
.tr-receipt-mark+.tr-heading { text-align:center; }
.tr-receipt-id { text-align:center; display:grid; gap:8px; }
.tr-receipt-id strong { font-size:16px; }
.tr-receipt-id span { font-size:10px; color:#aebcaf; }
.tr-receipt-id b { font-size:10px; color:#e6d4a5; }
.tr-payment { padding:18px; border-radius:15px; background:#201c2c; border:1px solid #534167; display:grid; gap:12px; }
.tr-payment .tr-eyebrow { color:#ccacec; }
.tr-payment h4 { font-size:32px; margin:0; }
.tr-payment label { display:grid; gap:6px; color:#b7aeca; font-size:10px; }
.tr-payment label strong { color:#faf5ff; font-size:13px; font-weight:650; overflow-wrap:anywhere; user-select:text; }
.tr-payment .tr-secondary { color:#e2c5ff; background:#30253d; border-color:#594569; min-height:38px; padding:8px; font-size:11px; }
.tr-auth-tabs { display:flex; gap:8px; }
.tr-account { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding-top:12px; border-top:1px solid #29372d; color:#9eae9e; font-size:10px; }
.tr-account>span { flex:1; min-width:100px; overflow-wrap:anywhere; }
.tr-account .tr-link { font-size:10px; min-height:36px; width:auto; padding:8px 4px; }
.tr-loading { display:flex; justify-content:center; align-items:center; gap:10px; padding:40px 0; color:#b4c6a7; font-size:13px; }
#tr-error:not([hidden]) { background:#4a2424; border:1px solid #a16055; color:#ffe0d8; border-radius:10px; padding:12px; font-size:12px; line-height:1.5; }
#tr-notice { color:#cff2a2; font-size:12px; text-align:center; }
#tr-notice:empty { display:none; }
@media (max-width:540px) {
  #tournament-modal { padding:10px; }
  #tournament-modal .tr-window { max-height:calc(100dvh - 20px); border-radius:20px; }
  .tr-top { padding:22px 20px 18px; }
  .tr-top h2 { font-size:21px; }
  .tr-steps { padding:15px 20px; gap:8px; }
  .tr-steps li { font-size:10px; gap:6px; }
  #tr-body { padding:22px 20px; gap:17px; }
  .tr-heading h3 { font-size:22px; }
  .tr-squad { gap:10px; padding:13px; flex-wrap:wrap; }
  .tr-squad strong { font-size:15px; }
  .tr-contact { grid-template-columns:1fr; }
  .tr-field input,.tr-field select { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) { #tournament-modal .tr-window { animation:none; } }
