/* JWinPlay application workspace. Keep decisions and the next action together. */
:root {
  --panel: #101c2c;
  --panel-raised: #192a40;
  --border: #ffffff16;
  --border-strong: #ffffff29;
  --muted: #adbbce;
  --font-body: var(--font);
}
body { font-size: 14px; line-height: 1.6; }
.btn { min-height: 44px; font-size: 13px; padding: 10px 16px; border-radius: 8px; }
.btn:hover { transform: none; }
.btn.primary { box-shadow: 0 5px 20px #1263e82b; }
.button-row { gap: 8px; }
.small, .form-note { font-size: 12px; line-height: 1.6; }
.eyebrow { font-size: 10px; letter-spacing: 1.25px; gap: 7px; }
.badge { font-size: 11px; padding: 4px 8px; letter-spacing: .15px; white-space: normal; text-align: left; }
.site-header { height: 68px; }
.brand, .brand img { width: 142px; }
.header-inner { gap: 36px; }
.nav-links a { font-size: 13px; }
#page-view { width: min(1160px, calc(100% - 48px)); padding-block: 28px 64px; }
.page-head, .account-page-head { display: block; margin-bottom: 20px; }
.page-head h1, .account-page-head h1, .admin-topbar h1, .admin-topbar h2,
.tournament-heading h1, .auth-layout h1 {
  font-family: var(--font); font-size: 30px; font-weight: 800; line-height: 1.2;
  letter-spacing: -.8px; text-transform: none; margin-top: 6px;
}
.page-head p, .admin-topbar p { margin-top: 7px; font-size: 13px; line-height: 1.6; }
.panel, .admin-workspace .panel { padding: 20px; border-radius: 12px; }
.panel h2, .admin-workspace .panel h2, .admin-workspace > h2 {
  font-family: var(--font); font-size: 19px; font-weight: 750; line-height: 1.35;
  letter-spacing: -.3px; text-transform: none; margin-bottom: 12px;
}
.panel h3 { font-size: 15px; line-height: 1.45; margin-bottom: 8px; }
.panel > p { font-size: 14px; line-height: 1.65; }
.panel + .panel { margin-top: 16px; }
.panel .button-row { margin-top: 14px; }
.grid, .account-dashboard { gap: 16px; }
.field { gap: 6px; }
label.field, .field > label, .field > span:first-child { font-size: 13px; }
.form-grid { gap: 16px; }
.form-grid > .field + .field { margin-top: 0; }
input, select, textarea { border-radius: 8px; min-height: 44px; padding: 10px 12px; font-size: 14px; }
textarea { min-height: 96px; }
input[type=file] { font-size: 13px; }
input[type=file]::file-selector-button { min-height: 36px; font-size: 12px; }
.form-note { margin-top: 12px; }
.form-error { grid-column: 1 / -1; margin: 0; font-size: 13px; }
form > .btn, form > .button-row { margin-top: 0; }
.form-grid > button[type=submit] { justify-self: start; }
.tabs, .admin-tabs { gap: 5px; padding-bottom: 10px; margin-bottom: 18px; }
.tabs a, .tabs button { min-height: 44px; padding: 9px 13px; font-size: 12px; }
.workspace-back, #page-view > .text-link, .tournament-admin-head > .text-link {
  display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 6px; font-size: 13px;
}
.catalogue-tools { margin-bottom: 16px; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--panel); }
.catalogue-tools > summary { cursor: pointer; padding: 12px 16px; min-height: 46px; font-weight: 700; }
.catalogue-tools > summary small { color: var(--muted); font-weight: 500; }
.catalogue-tools .filterbar { margin: 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: 16px; }
.filterbar { gap: 12px; padding: 16px; margin-bottom: 16px; }
.filterbar .field { min-width: 140px; }
.rooms-grid, #home-rooms { gap: 16px; }
.room-card { border-color: var(--border); border-radius: 12px; }
.room-card:hover { transform: none; }
.room-cover { min-height: 0; height: 130px; padding: 0; overflow: hidden; }
.room-cover img { width: 100%; height: 100%; object-fit: cover; }
.room-cover > .badge { position: absolute; bottom: 10px; left: 10px; background: #0a142ee6; }
.room-content { padding: 16px; }
.room-content h3 { font-family: var(--font); font-size: 18px; font-weight: 800; line-height: 1.35; }
.room-content h3 > a { display: block; }
.room-meta { margin-top: 0; margin-bottom: 7px; font-size: 11px; gap: 6px; }
.room-content > p { font-size: 12px; margin-top: 7px; }
.room-content .btn { margin-top: 0; width: auto; }
.room-content > .btn { width: 100%; margin-top: 12px; }
.room-content .button-row { margin-top: 12px; }
.room-content .button-row > .btn:first-child { flex: 1; }
.price-grid { margin-top: 12px; padding-top: 10px; gap: 10px; font-size: 12px; }
.price-grid strong { font-size: 18px; line-height: 1.3; }
.price-grid small { font-size: 11px; }
.detail-art { width: 100%; max-height: 190px; object-fit: cover; border-radius: 9px; margin-bottom: 14px; }
.tournament-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; margin-bottom: 16px; }
.tournament-summary h1 { font: 800 28px/1.2 var(--font); letter-spacing: -.7px; }
.tournament-summary .detail-art { width: 96px; height: 96px; object-fit: cover; margin: 0; }
.tournament-summary .summary-list, .tournament-summary .price-grid,
.tournament-summary .tournament-facts, .tournament-summary .button-row { grid-column: 1 / -1; }
.event-summary-heading { grid-column: 1 / -1; display: flex; align-items: start; gap: 14px; min-width: 0; }
.event-summary-heading > div { min-width: 0; flex: 1; }
.event-mini-art { width: 72px; height: 72px; flex: none; object-fit: cover; border-radius: 9px; }
.event-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; padding-top: 13px; border-top: 1px solid var(--border); }
.event-facts dt { color: var(--muted); font-size: 12px; }
.event-facts dd { margin: 4px 0 0; font-size: 14px; font-weight: 700; line-height: 1.5; }
.event-time { display: block; white-space: nowrap; font-size: 12px; }
.tournament-summary > .button-row { margin: 0; }
.catalogue-facts { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 12px; font-size: 12px; }
.catalogue-facts strong { font-size: 17px; }
.room-content .room-prize { color: #d4e3f2; line-height: 1.5; }
.compact-room-card .room-content h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tournament-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding-top: 13px; border-top: 1px solid var(--border); }
.tournament-facts > div { min-width: 0; }
.tournament-facts span, .tournament-facts small { display: block; color: var(--muted); font-size: 12px; }
.tournament-facts strong { display: block; font-size: 16px; margin-top: 3px; overflow-wrap: anywhere; }
.tournament-layout { align-items: start; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); }
.tournament-overview, .tournament-player-space { min-width: 0; }
.tournament-player-space { order: initial; }
.tournament-layout > .tournament-player-space > .panel + .panel { margin-top: 16px; }
.participation-panel { border-color: #4da3ff3b; }
.participation-panel .private-access { margin-top: 14px; }
.participation-panel .button-row .btn { flex: 1; }
.participation-panel .form-grid, .payment-context .form-grid { margin-top: 16px; }
.payment-context { padding: 14px 16px; border: 1px solid #4da3ff33; border-radius: 9px; background: #10264a; margin: 12px 0; }
.payment-context .preserve { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.7; }
.payment-context strong { color: var(--text); }
.payment-context .payment-amount { font-size: 24px; font-weight: 800; }
.private-access { padding: 14px 16px; border-radius: 9px; border: 1px solid #8fc8ff45; background: #8fc8ff08; }
.private-access p { overflow-wrap: anywhere; }
.compact-disclosure, .editor-section, .event-chat { border: 1px solid var(--border); border-radius: 10px; background: var(--panel); margin-top: 14px; }
.compact-disclosure > summary, .editor-section > summary, .event-chat > summary { cursor: pointer; min-height: 48px; padding: 13px 16px; font-size: 14px; font-weight: 750; }
.compact-disclosure > :not(summary), .editor-section > :not(summary), .event-chat > :not(summary) { margin: 0 16px 16px; }
.editor-section { grid-column: 1 / -1; margin-top: 0; }
.editor-section > .form-grid { padding-top: 4px; }
.editor-section[open] > summary { border-bottom: 1px solid var(--border); margin-bottom: 14px; }
.editor-actions { position: sticky; bottom: 0; grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; background: var(--panel); border-top: 1px solid var(--border-strong); z-index: 2; }
.editor-actions .form-error { width: 100%; }
.editor-actions .btn { flex: 1; }
.editor-actions .button-row { flex: 1; margin: 0; }
.editor-actions .form-error:empty { display: none; }
.reservation-options, .event-rules, .account-secondary { margin-top: 14px; }
.reservation-options > summary, .event-rules > summary, .account-secondary > summary, .chat-participants > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--muted); }
.reservation-options > summary::before, .event-rules > summary::before, .account-secondary > summary::before, .chat-participants > summary::before { content: '+'; color: var(--cyan); font-size: 18px; }
.reservation-options[open] > summary::before, .event-rules[open] > summary::before, .account-secondary[open] > summary::before, .chat-participants[open] > summary::before { content: '−'; }
.event-rules.panel { margin-top: 0; }
.event-rules > p { margin-top: 12px; }
.chat-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.chat-heading h2 { margin-bottom: 0; }
.chat-participants { margin-top: 8px; border-bottom: 1px solid var(--border); }
.chat-participants .participant-list { max-height: 200px; overflow-y: auto; margin-top: 4px; }
.event-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.event-tabs a, .event-tabs button { min-height: 44px; padding: 10px 12px; border: 1px solid transparent; border-radius: 8px; background: #15273c; font-weight: 700; font-size: 13px; }
.event-tabs a[aria-current=page], .event-tabs button[aria-selected=true], .event-tabs .active { background: #4da3ff26; color: var(--cyan); border-color: #4da3ff70; }
.room-chat .chat-messages { max-height: 360px; gap: 8px; margin-block: 12px; padding-right: 3px; }
.room-chat form { margin-top: 12px; }
.room-chat .message { padding: 11px 13px; font-size: 13px; }
.room-chat .message p { margin-top: 5px; }
.participant-list { max-height: 90px; }
.participant-list .badge { font-size: 11px; }
.account-page-head { margin-bottom: 12px; }
.account-page-head .eyebrow { display: none; }
.account-page-head h1 { font-size: 25px; margin-top: 0; }
.account-primary, .next-match-card { border-color: #4da3ff3b; background: linear-gradient(115deg, #122c40, #112031); }
.account-primary { background: none; }
.section-label { font-size: 14px; font-weight: 750; margin-bottom: 10px; color: var(--muted); }
.account-secondary > .panel { margin-top: 8px; }
.next-match-card > .eyebrow { margin-bottom: 8px; }
.next-match-card h2 { margin-bottom: 7px; font-size: 21px; }
.next-match-card .next-action { margin-top: 12px; }
.next-action-note { margin-top: 10px; font-size: 13px; line-height: 1.6; }
.next-match-meta { gap: 6px 12px; padding-top: 3px; }
.next-match-meta span, .next-match-meta strong { font-size: 12px; }
.next-match-countdown { margin: 12px 0; padding: 10px 0; flex-direction: row; align-items: baseline; }
.next-match-countdown strong { font-family: var(--font); font-size: 18px; font-weight: 800; text-align: left; }
.account-tournaments { display: grid; gap: 12px; }
.account-tournaments .panel { margin: 0; }
.account-tournaments > .item-row { padding-top: 0; padding-bottom: 8px; }
.account-tournaments > .item-row h2 { margin: 0; }
.reservation-compact { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; padding: 18px; margin-top: 12px; border: 1px solid var(--border-strong); border-radius: 12px; background: linear-gradient(135deg, #1263e80d, #101b2d); }
.reservation-card-details { min-width: 0; }
.reservation-compact .eyebrow { margin: 0 0 8px; font-size: 10px; }
.reservation-compact h3 { font-size: 16px; margin: 0; line-height: 1.45; overflow-wrap: anywhere; }
.reservation-compact h3 a { display: block; }
.reservation-card-facts { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 9px; color: var(--muted); font-size: 12px; }
.reservation-card-facts > span { min-width: 0; overflow-wrap: anywhere; }
.reservation-card-status { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 12px; }
.reservation-card-status .badge { max-width: 100%; white-space: normal; }
.reservation-card .reservation-card-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin: 0; padding-top: 14px; border-top: 1px solid var(--border); }
.reservation-card-actions > .btn { flex: 1 1 150px; min-width: 0; min-height: 44px; padding: 11px 14px; white-space: normal; line-height: 1.4; }
.reservation-card-actions > .reservation-archive-action { flex: 0 1 auto; color: var(--muted); background: transparent; }
.reservation-proof-action { min-height: 44px; white-space: normal; }
@media (max-width: 560px) {
  .reservation-compact { gap: 14px; padding: 16px; }
  .reservation-card .reservation-card-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .reservation-card-actions > .btn { width: 100%; }
  .reservation-card-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; }
}
.account-next-match h2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.account-next-match .next-match-countdown { padding: 0; margin: 10px 0 0; border: 0; font-size: 12px; }
.account-next-match .next-match-countdown strong { font-size: 13px; }
.account-metrics .stat-card { padding: 14px; gap: 4px; }
.stat-card > strong, .metric-card > strong { font-family: var(--font); font-size: 27px; font-weight: 800; }
.stat-card > span, .stat-card > small { font-size: 12px; }
.account-guidance .check-item { padding-block: 12px; }
.notification-row { font-size: 13px; }
.notification-row small { font-size: 12px; }
.account-session-actions { margin-top: 18px; }
.account-mobile-menu, .workspace-nav { display: none; }
.admin-shell { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
.admin-sidebar { padding: 12px; border-radius: 10px; }
.admin-sidebar h2 { font: 800 18px/1.4 var(--font); text-transform: none; }
.admin-nav-link { min-height: 44px; font-size: 12px; padding: 10px 12px; }
.admin-topbar { gap: 12px; margin-bottom: 18px; padding-bottom: 16px; }
.admin-topbar h1, .admin-topbar h2 { font-size: 28px; }
.admin-topbar .eyebrow { margin-bottom: 5px; }
.admin-status { padding: 6px 10px; }
.admin-workspace > .grid { margin-bottom: 16px; }
.tournament-admin-head { margin-bottom: 14px; }
.tournament-heading h1 { font-size: 28px; margin: 4px 0 7px; }
.tournament-heading p { margin-top: 6px; }
.tournament-admin-head .event-actions { margin-top: 12px; }
.event-actions { gap: 8px; }
.event-actions .btn { font-size: 12px; }
.event-more-actions { width: 100%; margin-top: 0; }
.event-more-actions > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; font-size: 12px; font-weight: 700; color: var(--muted); }
.event-more-actions > summary::before { content: '+'; margin-right: 8px; color: var(--cyan); }
.event-more-actions[open] > summary::before { content: '−'; }
.event-more-actions .button-row { margin: 0 0 12px; }
.tournament-lifecycle { margin-block: 18px; border-color: #4da3ff4d; background: #0e2030; }
.tournament-lifecycle h2 { margin: 0; font-size: 21px; }
.lifecycle-description { margin: 12px 0 16px; line-height: 1.65; }
.lifecycle-actions { display: grid; grid-template-columns: repeat(auto-fit,minmax(185px,1fr)); gap: 12px; }
.lifecycle-action { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.lifecycle-action .btn { width: 100%; min-height: 46px; }
.lifecycle-action small { line-height: 1.55; font-size: 11px; }
.lifecycle-action .btn:disabled { opacity: .55; cursor: default; }
.lifecycle-danger { color: #ffb5ad; border-color: #ffb5ad44; }
.lifecycle-note { margin: 14px 0 0; line-height: 1.65; }
.tournament-list-views { margin-top: 18px; }
.tournament-result-section .grid { align-items: start; }
@media(max-width:600px) {
  .lifecycle-actions { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .lifecycle-action .btn { padding-inline: 9px; font-size: 12px; }
  .tournament-lifecycle > .item-row { align-items: start; }
}
.participant-toolbar { display: flex; align-items: end; gap: 10px; margin: 10px 0; }
.participant-toolbar > .field { min-width: 0; flex: 1; margin: 0; }
.participant-toolbar input, .participant-toolbar select { width: 100%; min-width: 0; }
.event-metrics { gap: 7px 16px; padding: 10px 0; margin-bottom: 12px; font-size: 12px; }
.tournament-participants > .item-row { margin-bottom: 12px; padding-bottom: 10px; }
.tournament-participant { padding: 14px 0; gap: 12px; }
.tournament-participant p { font-size: 12px; line-height: 1.65; }
.payment-reference { margin-top: 5px; }
.payment-operation { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; margin: 12px 0; background: #101f38; border: 1px solid #315b8c; border-radius: 12px; }
.payment-operation > div { min-width: 0; flex: 1; }
.payment-operation > div > span { display: block; font-size: 12px; color: #a4c9ef; margin-bottom: 6px; }
.payment-operation code { display: block; font-size: 17px; font-weight: 700; line-height: 1.45; color: #e2f0ff; white-space: pre-wrap; overflow-wrap: anywhere; }
.payment-operation .btn { flex-shrink: 0; min-height: 44px; }
.payment-operation p { margin: 6px 0 0; }
.payment-operation.is-compact { flex-wrap: wrap; gap: 8px; padding: 11px 12px; }
.payment-operation.is-compact code { font-size: 14px; }
.payment-review-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 14px 0; font-size: 14px; }
.payment-review-evidence .payment-operation { margin-bottom: 10px; }
.payment-proof-image.is-compact { max-height: 240px; object-fit: contain; }
.payment-review-details { margin: 10px 0; border-bottom: 1px solid #294365; }
.payment-review-details > summary { padding-block: 10px; min-height: 44px; font-size: 12px; color: #a4cfff; cursor: pointer; }
.payment-review-details > summary:focus-visible { outline: 2px solid #8fc8ff; outline-offset: 3px; border-radius: 3px; }
.payment-destination-details > summary { min-height: 44px; }
.payment-review-details .form-note { margin-top: 4px; }
@media (max-width: 520px) {
  .payment-operation { align-items: flex-start; flex-direction: column; }
  .payment-operation > div { width: 100%; }
  .payment-operation > .btn { align-self: flex-start; }
}
.participant-payment { gap: 7px; }
.participant-payment .btn { min-height: 44px; }
.search-tools { padding: 12px; gap: 8px; margin-block: 14px; }
.search-tools > .field { min-width: 160px; }
.admin-pager, .public-pager { margin-block: 18px; }
.data-table { font-size: 13px; }
.data-table th { font-size: 10px; padding: 12px; }
.data-table td { font-size: 13px; padding: 12px; }
.data-table .btn { min-height: 44px; font-size: 12px; }
.method-list, .proof-list { display: grid; gap: 12px; }
.method-card, .proof-card { padding: 16px; border: 1px solid var(--border-strong); border-radius: 10px; background: #0e1928; min-width: 0; }
.method-card p, .proof-card p { overflow-wrap: anywhere; font-size: 13px; }
.method-card .button-row, .proof-card .button-row { margin-top: 12px; }
.proof-preview, .private-proof-preview { max-width: 100%; max-height: 360px; object-fit: contain; border: 1px solid var(--border); border-radius: 8px; margin-block: 12px; }
.payment-proof-summary { padding: 10px 0; border-top: 1px solid var(--border); margin-top: 10px; }
.payment-proof-summary p { margin-block: 4px; overflow-wrap: anywhere; }
.payment-proof-summary .button-row { margin-top: 9px; }
.payment-proof-image { display: block; width: 100%; max-height: 520px; background: #080f1d; }
form[data-form="payment"] input[type="file"] { min-height: 48px; }
.collection-choices { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 10px; }
.collection-choice { display: flex; align-items: start; gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 9px; background: #0e1928; cursor: pointer; }
.collection-choice input { flex: 0 0 auto; margin-top: 4px; }
.collection-choice > span { display: flex; flex-direction: column; gap: 5px; min-width: 0; overflow-wrap: anywhere; }
.collection-choice small { color: var(--muted); }
.collection-choice.unavailable { opacity: .45; cursor: default; }
.collection-qr-image { display: block; width: min(240px,100%); height: auto; max-height: 320px; object-fit: contain; margin: 12px auto; padding: 10px; background: #fff; border-radius: 8px; }
.collection-recipient { border: 1px solid var(--border); padding: 16px; border-radius: 9px; margin-block: 10px; }
.free-entry-editor, .diamond-reward-fields { border: 1px solid var(--border); padding: 16px; border-radius: 9px; }
.free-entry-requirements { margin-block: 10px; padding: 12px; border: 1px solid #4da3ff30; border-radius: 8px; }
.saved-method { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--border); }
.saved-method:last-child { border-bottom: 0; padding-bottom: 0; }
.saved-method > div { min-width: 0; }
.saved-method .preserve { overflow-wrap: anywhere; }
.saved-method > .button-row { margin: 0; flex-shrink: 0; }
.payout-recipient { min-width: 0; overflow-wrap: anywhere; }
.payout-recipient > p { margin-block: 5px; }
.payout-details { display: grid; gap: 5px; margin-block: 10px; font-size: 13px; }
.payout-details > div { display: grid; grid-template-columns: minmax(70px,90px) minmax(0,1fr); gap: 10px; }
.payout-details dt { color: var(--muted); }
.payout-details dd { margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.participant-payout-methods { margin-top: 12px; }
.participant-payout-methods summary { cursor: pointer; color: var(--muted); font-size: 13px; }
.participant-payout-methods .payout-recipient { border-top: 1px solid var(--border); padding-top: 12px; margin-top: 12px; }
[data-award-recipient] { border: 1px solid var(--border); border-radius: 9px; padding: 16px; }
.account-payout-access { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.account-payout-access h2 { margin-bottom: 5px; }
.account-entry-preferences { border: 1px solid var(--border); border-radius: 10px; margin-top: 16px; padding: 14px 16px; }
.account-entry-preferences > summary { cursor: pointer; font-size: 13px; font-weight: 700; }
.account-entry-preferences > summary span { margin-left: 8px; font-weight: 400; }
.account-entry-preferences > p { margin-top: 10px; }
.account-entry-preferences .panel { margin-top: 14px; padding: 16px; }
.own-tournament-views { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.own-tournament-views + p { margin-bottom: 14px; }
.method-editor-heading { margin-bottom: 18px; }
.method-editor-heading h2 { margin-block: 5px 0; }
.method-editor { gap: 12px; }
.method-editor .field { min-width: 0; }
.method-editor .field > small { font-weight: 400; color: var(--muted); font-size: 12px; }
.method-editor .method-extra { border: 1px solid var(--border); border-radius: 8px; padding: 12px; }
.method-extra > summary { cursor: pointer; font-size: 13px; color: var(--muted); }
.method-extra > .form-grid { margin-top: 12px; }
.method-extra textarea { min-height: 72px; }
.method-qr-upload { border: 1px dashed var(--border-strong); border-radius: 9px; padding: 12px; }
.method-qr-upload .collection-qr-image, .method-qr-upload .private-proof-preview { max-height: 200px; margin-block: 10px 0; }
.method-editor-actions { position: sticky; bottom: -1px; z-index: 2; padding: 12px 0 1px; background: var(--panel); border-top: 1px solid var(--border); }
.method-editor-actions .form-error:not(:empty) { margin-bottom: 8px; }
.method-editor-actions .button-row { margin: 0; }
.method-privacy-note { margin: 0; }
.support-page-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.support-page-head h1 { font: 800 28px/1.25 var(--font); text-transform: none; letter-spacing: -.5px; margin-block: 5px; overflow-wrap: anywhere; }
.support-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: start; gap: 16px; }
.support-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.support-panel-head h2 { margin: 0; }
.support-compose .form-grid { margin-top: 14px; }
.support-ticket { display: block; border-top: 1px solid var(--border); padding-block: 14px; color: inherit; }
.support-ticket:hover strong { color: var(--cyan); }
.support-ticket-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.support-ticket-head strong { overflow-wrap: anywhere; }
.support-ticket-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; color: var(--muted); font-size: 12px; margin-top: 7px; }
.support-ticket-meta > time { width: 100%; }
.support-contact .button-row { margin-top: 10px; }
.support-conversation { max-width: 850px; margin-inline: auto; }
.support-conversation-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.support-conversation-heading h2 { margin: 0; }
.support-messages { display: flex; flex-direction: column; gap: 12px; max-height: 52dvh; overflow-y: auto; padding: 4px; }
.support-message { max-width: 88%; border: 1px solid var(--border); border-radius: 10px; background: #142338; padding: 12px 14px; align-self: start; overflow-wrap: anywhere; }
.support-message.mine { align-self: end; background: #173747; border-color: #4da3ff42; }
.support-message header { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12px; }
.support-message time { color: var(--muted); font-size: 11px; }
.support-message p { margin-top: 7px; font-size: 14px; }
.support-reply { border-top: 1px solid var(--border); margin-top: 18px; padding-top: 16px; gap: 10px; }
.support-reply textarea { min-height: 88px; }
.support-ticket-controls { border-top: 1px solid var(--border); margin-top: 18px; padding-top: 14px; }
.support-ticket-controls summary { color: var(--muted); font-size: 13px; cursor: pointer; }
.support-ticket-controls form { margin-top: 12px; }
.support-closed-note { border-top: 1px solid var(--border); margin-top: 14px; padding-top: 12px; }
@media(max-width:700px) {
  .support-layout { grid-template-columns: minmax(0,1fr); }
  .support-page-head, .account-payout-access { align-items: stretch; flex-direction: column; gap: 12px; }
  .support-page-head h1 { font-size: 22px; }
  .support-page-head > .btn, .account-payout-access > .btn { align-self: start; }
  .support-panel-head, .support-conversation-heading { flex-wrap: wrap; gap: 8px; }
  .support-message { max-width: 96%; padding: 10px 12px; }
  .support-reply > button[type=submit] { width: 100%; }
  .method-editor-actions .button-row { flex-wrap: nowrap; }
  .method-editor-actions .button-row > .btn { flex: 1; }
  .own-tournament-views .btn { font-size: 12px; padding-inline: 10px; }
}
.saved-payment-methods > .item-row { padding-top: 0; margin-bottom: 12px; }
.saved-payment-methods > .item-row h2 { margin: 0; }
.payout-preferences { border: 1px solid #4da3ff30; background: linear-gradient(135deg,#13283a 0%,#101c2c 46%); }
.payout-preferences-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.payout-preferences-head > div { max-width: 590px; }
.payout-preferences-head .eyebrow { color: #4da3ff; }
.payout-preferences-head h2 { font-size: 25px; margin-block: 7px; }
.payout-preferences-head p { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 0; }
.payout-preferences .payout-add { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 24px; border: 1px solid #4da3ff70; border-radius: 999px; background: #4da3ff26; color: #4da3ff; font-size: 15px; font-weight: 800; box-shadow: 0 6px 20px #1263e82b; white-space: nowrap; flex: 0 0 auto; }
.payout-preferences .payout-add:hover { background: #4da3ff42; border-color: #4da3ffa3; color: #c8ddff; }
.payout-preferences .payout-add:focus-visible { outline: 2px solid #4da3ff; outline-offset: 3px; }
.payout-add svg { width: 20px; height: 20px; }
.payout-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(270px,100%),1fr)); gap: 16px; }
.payout-method-card { border: 1px solid #ffffff1a; border-radius: 16px; padding: 20px; background: #152338; min-width: 0; display: flex; flex-direction: column; }
.payout-method-card.is-default { border-color: #4da3ff6b; background: linear-gradient(145deg,#17253b,#152638 60%); }
.payout-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 18px; }
.payout-brand { display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; min-width: 54px; height: 46px; padding-inline: 10px; background: #20384e; color: #a9c2e9; }
.payout-brand svg { width: 28px; height: 28px; }
.payout-brand.yape,.payout-brand.plin { background: #14263d; }
.payout-default-badge { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; background: #4da3ff26; color: #8fc8ff; padding: 5px 8px; font-size: 11px; line-height: 1.2; }
.payout-default-badge svg { width: 13px; height: 13px; }
.payout-method-card h3 { font-size: 18px; font-weight: 800; line-height: 1.3; margin-bottom: 7px; overflow-wrap: anywhere; }
.payout-card-holder { font-size: 14px; color: #e0eaf5; margin: 0 0 5px; overflow-wrap: anywhere; }
.payout-card-destination { font-size: 12px; color: var(--muted); margin: 0; overflow-wrap: anywhere; }
.payout-card-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.payout-card-meta > span { border-radius: 6px; padding: 3px 7px; color: #bccbdc; font-size: 11px; background: #ffffff07; }
.payout-incomplete { color: #edc67e; font-size: 12px; margin-top: 12px; }
.payout-card-details { margin-top: 14px; padding-top: 12px; border-top: 1px solid #ffffff12; }
.payout-card-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; color: #a6bbdc; font-size: 12px; list-style: none; }
.payout-card-details > summary::-webkit-details-marker { display: none; }
.payout-card-details > summary svg { width: 17px; height: 17px; }
.payout-card-details[open] > summary svg { transform: rotate(180deg); }
.payout-card-private { margin-top: 14px; }
.payout-card-private .payout-recipient > strong, .payout-card-private .payout-recipient > p:first-of-type { display: none; }
.payout-card-private .payout-details { font-size: 12px; }
.payout-card-private .btn { color: #d7a9ad; margin-top: 5px; }
.payout-card-actions { display: flex; align-items: center; gap: 8px; padding-top: 17px; margin-top: auto; }
.payout-card-actions > .btn { min-height: 42px; font-size: 12px; padding: 8px 12px; }
.payout-card-actions > .btn.secondary { background: #ffffff09; border-color: #ffffff24; color: #e6f0fa; }
.payout-card-actions > .btn.ghost { color: #b5c2d7; }
.payout-privacy { display: flex; align-items: start; gap: 7px; color: var(--muted); font-size: 12px!important; margin-top: 18px; }
.payout-privacy > svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 2px; }
.payout-empty { border: 1px dashed #7a99cc38; border-radius: 16px; padding: 30px 20px; text-align: center; background: #132537; }
.payout-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 20px; background: #4da3ff26; color: #87ade9; margin-bottom: 14px; }
.payout-empty-icon svg { width: 34px; height: 34px; }
.payout-empty h3 { font-size: 19px; margin-bottom: 6px; }
.payout-empty p { color: var(--muted); font-size: 13px; margin-bottom: 18px; }
.payout-empty-methods { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; font-size: 12px; color: var(--muted); margin-top: 18px; }
.payout-kind-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.payout-kind-option { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 78px; padding: 10px 8px; border: 1px solid var(--border-strong); border-radius: 12px; color: var(--muted); background: #142338; font: 650 12px/1.3 var(--font); cursor: pointer; }
.payout-kind-option svg { width: 24px; height: 24px; }
.payout-kind-option.active { border-color: #4da3ff70; background: #4da3ff26; color: #4da3ff; }
.payout-kind-option:focus-visible, .payout-card-details > summary:focus-visible { outline: 2px solid #4da3ff; outline-offset: 3px; }
.payout-other-methods > summary { font-size: 12px; color: var(--muted); cursor: pointer; }
.payout-other-methods .field { margin-top: 10px; }
.qr-select-control { display: inline-flex; position: relative; align-self: start; }
.qr-upload-button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; border: 1px solid #4da3ff70; border-radius: 10px; background: #4da3ff26; color: #4da3ff; padding: 10px 16px; font-size: 13px; font-weight: 750; }
.qr-upload-button svg { width: 19px; height: 19px; }
.qr-select-control input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.qr-select-control:focus-within { outline: 2px solid #4da3ff; outline-offset: 3px; border-radius: 10px; }
@media(max-width:700px) {
  .payout-preferences-head { flex-direction: column; align-items: stretch; gap: 16px; margin-bottom: 18px; }
  .payout-preferences-head h2 { font-size: 23px; }
  .payout-preferences .payout-add { width: 100%; }
  .payout-card-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .payout-method-card { padding: 18px; }
  .payout-card-actions > .btn { flex: 1; }
  .payout-kind-option { font-size: 11px; padding-inline: 5px; }
  .qr-select-control, .qr-upload-button { width: 100%; justify-content: center; }
}
.proof-status { margin-block: 12px; font-size: 13px; }
#modal { width: min(700px, calc(100% - 32px)); max-height: 90dvh; padding: 24px; border-radius: 14px; }
#modal-content { max-height: calc(90dvh - 50px); }
#modal-close { width: 44px; height: 44px; top: 8px; right: 8px; }
#modal-content h2 { font-family: var(--font); font-size: 23px; line-height: 1.3; text-transform: none; font-weight: 800; padding-right: 30px; }
#modal-content > p { font-size: 13px; line-height: 1.6; }
.auth-layout { gap: 28px; }
.auth-layout h1 { font-size: 30px; }
.auth-layout h1 + p { margin-top: 10px; }
.auth-layout .eyebrow { margin-bottom: 8px; }
.empty-state { min-height: 160px; padding: 24px 18px; gap: 10px; }
.empty-state h3 { font-size: 16px; }
.empty-state p { font-size: 13px; }
.compact-empty { padding: 10px 0; }
.site-footer { margin-top: 20px; }
@media (max-width: 760px) {
  html { scroll-padding-top: 18px; }
  .site-header { height: 60px; }
  .header-inner { width: calc(100% - 32px); }
  .brand, .brand img { width: 128px; }
  .site-nav { top: 59px; padding: 14px 16px; }
  .container, #page-view { width: calc(100% - 32px); }
  #page-view, body.admin-mode #page-view { padding-top: 16px; padding-bottom: 88px; }
  .page-head, .account-page-head { margin-bottom: 14px; }
  .page-head h1, .account-page-head h1, .admin-topbar h1, .admin-topbar h2, .tournament-heading h1 { font-size: 25px; letter-spacing: -.65px; }
  .page-head p { font-size: 13px; line-height: 1.5; margin-top: 6px; }
  .panel, .admin-workspace .panel { padding: 16px; }
  .panel h2, .admin-workspace .panel h2 { font-size: 18px; }
  .grid.two, .grid.three { grid-template-columns: 1fr; }
  .grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .form-grid { grid-template-columns: 1fr; gap: 14px; }
  input, select, textarea { font-size: 16px; }
  .btn { min-height: 44px; font-size: 13px; padding: 10px 13px; }
  .button-row .btn { flex-shrink: 1; }
  .item-row { gap: 10px; padding-block: 12px; }
  .item-row .btn { min-height: 44px; font-size: 12px; }
  .catalogue-tools { margin-bottom: 12px; }
  .catalogue-tools > summary { font-size: 13px; padding: 11px 13px; }
  .filterbar { padding: 13px; gap: 12px; }
  .filterbar .field { min-width: calc(50% - 6px); }
  .filterbar .btn { width: 100%; }
  .filterbar input, .filterbar select { font-size: 16px; }
  .rooms-grid, #home-rooms { grid-template-columns: 1fr; gap: 12px; }
  .compact-room-card { display: grid; grid-template-columns: 78px minmax(0, 1fr); align-items: start; padding: 14px; gap: 12px; }
  .compact-room-card .room-cover { height: 84px; width: 78px; border-radius: 8px; }
  .compact-room-card .room-cover > .badge { display: none; }
  .compact-room-card .room-content { padding: 0; min-width: 0; }
  .compact-room-card .room-content h3 { font-size: 18px; }
  .compact-room-card .room-content > p { font-size: 13px; }
  .compact-room-card .room-content .price-grid { gap: 8px; }
  .compact-room-card .price-grid strong { font-size: 16px; }
  .compact-room-card .room-meta { gap: 5px; }
  .tournament-summary { gap: 12px; padding: 16px; }
  .tournament-summary h1 { font-size: 24px; }
  .tournament-summary .detail-art { width: 64px; height: 64px; }
  .event-mini-art { width: 58px; height: 64px; }
  .event-summary-heading { gap: 11px; }
  .event-facts { grid-template-columns: 1fr 1fr; gap: 11px; }
  .event-facts dd { font-size: 13px; }
  .catalogue-facts { flex-wrap: wrap; gap: 4px 9px; }
  .tournament-facts { grid-template-columns: 1fr 1fr; gap: 11px; }
  .tournament-facts strong { font-size: 16px; }
  .tournament-layout { grid-template-columns: 1fr; gap: 14px; }
  .tournament-player-space { order: initial; }
  .tournament-layout.is-enrolled > .tournament-player-space { order: -1; }
  .detail-art { max-height: 130px; }
  .participation-panel h2 { margin-bottom: 9px; }
  .participation-panel .button-row { margin-top: 12px; }
  .payment-context { padding: 13px; }
  .account-page-head h1 { font-size: 22px; }
  .account-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 4px; padding-bottom: 8px; margin-bottom: 14px; scrollbar-width: thin; }
  .account-tabs a { flex: 0 0 auto; min-height: 44px; font-size: 12px; padding: 9px 11px; }
  .account-mobile-menu { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
  .account-mobile-menu select { min-height: 44px; }
  .account-mobile-menu + .account-tabs { display: none; }
  .next-match-card h2 { font-size: 19px; }
  .next-match-countdown { margin: 10px 0; padding: 9px 0; gap: 8px; }
  .next-match-countdown strong { font-size: 16px; }
  .next-match-meta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 10px; }
  .next-match-meta span, .next-match-meta strong { margin: 0; }
  .next-match-card .next-action .btn { width: 100%; }
  .next-action-note { margin-top: 10px; }
  .account-primary .eyebrow { font-size: 10px; }
  .account-tournaments .room-meta { margin-bottom: 6px; }
  .reservation-countdown { padding: 10px 12px; margin: 10px 0; }
  .reservation-countdown strong { font: 800 16px/1.4 var(--font); }
  .admin-shell { grid-template-columns: 1fr; gap: 8px; margin-top: 0; }
  .admin-sidebar { padding: 0; background: transparent; border: 0; }
  .admin-mobile-menu { font-size: 12px; gap: 12px; }
  .admin-mobile-menu select { min-height: 44px; font-size: 16px; }
  .admin-topbar { gap: 10px; padding-bottom: 12px; margin-bottom: 14px; }
  .admin-topbar .button-row { width: auto; }
  .admin-topbar .button-row .btn { min-height: 44px; font-size: 12px; }
  .admin-status { font-size: 11px; }
  .tournament-admin-head { margin-bottom: 4px; }
  .tournament-admin-head > .text-link { margin: 0; min-height: 44px; }
  .tournament-heading h1 { font-size: 22px; }
  .tournament-heading .eyebrow { display: none; }
  .tournament-heading h1 { margin: 2px 0 6px; }
  .tournament-heading p { font-size: 12px; margin-top: 5px; }
  .tournament-admin-head .event-actions { margin-top: 10px; }
  .event-actions { display: flex; flex-wrap: wrap; gap: 7px; }
  .event-actions .btn { flex: 1 0 calc(50% - 7px); padding: 9px 10px; min-height: 44px; font-size: 12px; }
  .event-metrics { gap: 5px 8px; margin-bottom: 8px; font-size: 11px; padding-block: 6px; }
  .tournament-participants > .item-row { margin-bottom: 10px; }
  .tournament-participants > .item-row h2 { font-size: 17px; }
  .tournament-participants > .item-row { padding-top: 0; padding-bottom: 9px; }
  .tournament-participants > .item-row h2 { margin: 0; }
  .participant-toolbar { gap: 8px; margin: 10px 0 0; }
  .participant-toolbar > .field { font-size: 11px; }
  .participant-toolbar input, .participant-toolbar select { padding-inline: 9px; }
  .tournament-participant { flex-direction: column; padding-block: 12px; gap: 8px; }
  .participant-payment { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; }
  .participant-payment > .button-row { width: 100%; }
  .participant-payment .btn { flex: 1; font-size: 12px; }
  .saved-method { flex-direction: column; gap: 8px; }
  .saved-method > .button-row { width: 100%; }
  .saved-method > .button-row .btn { flex: 1; }
  .search-tools { padding: 10px; margin-block: 12px; }
  .search-tools > .field { min-width: 0; flex: 1; }
  .search-tools > input { min-width: 0; }
  .search-tools .btn { width: auto; }
  .event-tabs { gap: 6px; margin-bottom: 8px; }
  .event-tabs a, .event-tabs button { flex: 1; text-align: center; font-size: 12px; }
  .stat-card { padding: 14px; gap: 5px; }
  .stat-card > strong { font-size: 26px; }
  .room-chat .chat-messages { max-height: 300px; }
  .room-chat .form-grid > button[type=submit], .participation-panel .form-grid > button[type=submit] { width: 100%; }
  #modal { width: calc(100% - 20px); max-height: 94dvh; padding: 20px 16px; }
  #modal-content { max-height: calc(94dvh - 42px); }
  #modal-content h2 { font-size: 21px; }
  #modal-content .panel { padding: 13px; }
  .editor-actions { bottom: 0; padding-block: 12px; }
  .auth-layout { gap: 16px; }
  .auth-layout h1 { font-size: 25px; }
  .auth-layout h1 + p { margin-top: 7px; font-size: 13px; }
  .auth-panel { padding: 18px 16px; }
  .workspace-nav { display: flex; position: fixed; z-index: 35; bottom: 0; left: 0; right: 0; padding: 7px 12px calc(7px + env(safe-area-inset-bottom)); gap: 5px; background: #0b1525f5; border-top: 1px solid #ffffff24; backdrop-filter: blur(12px); }
  .workspace-nav a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; border-radius: 8px; font-size: 12px; font-weight: 750; color: var(--muted); }
  .workspace-nav a.active, .workspace-nav a[aria-current=page] { color: var(--cyan); background: #4da3ff12; }
  body:has(.workspace-nav) #toast { bottom: calc(78px + env(safe-area-inset-bottom)); }
  body:has(.workspace-nav) .site-footer { padding-bottom: 72px; }
  .page-mode .site-footer { margin-top: 0; }
  .hero, .hero-inner { min-height: 445px; }
  .hero-inner { padding-top: 34px; padding-bottom: 24px; }
  .hero h1 { font-size: clamp(50px, 14vw, 64px); line-height: .97; }
  .hero-copy { font-size: 13px; line-height: 1.7; max-width: 300px; margin-top: 18px; }
  .hero-foot { margin-top: 24px; }
  .mode-card { min-height: 160px; }
  .mode-card h3 { font-size: 34px; }
  .section-title, .community-panel h2 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Clear receiving destinations and the primary tournament actions. */
.admin-main-action { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 11px 21px; border: 1px solid #4da3ff70!important; border-radius: 999px!important; background: #4da3ff26!important; color: #4da3ff!important; font-weight: 800; box-shadow: 0 5px 20px #1263e82b; }
.admin-main-action:hover { background: #4da3ff42!important; border-color: #4da3ffa3!important; color: #c8ddff!important; }
.admin-main-action svg { width: 20px; height: 20px; flex: 0 0 auto; }
.receiving-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-block: 20px; }
.receiving-choice { display: flex; align-items: center; gap: 12px; padding: 18px 15px; border: 1px solid #ffffff23; border-radius: 15px; background: #16293b; color: #e7f2fa; text-align: left; font: inherit; cursor: pointer; }
.receiving-choice:hover { border-color: #4da3ffa3; background: #4da3ff26; }
.receiving-choice > svg:first-child { width: 28px; height: 28px; color: #4da3ff; flex: 0 0 auto; }
.receiving-choice > svg:last-child { width: 18px; height: 18px; margin-left: auto; color: #93a4bf; flex: 0 0 auto; }
.receiving-choice span { min-width: 0; }
.receiving-choice strong { display: block; font-size: 14px; }
.receiving-choice small { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.receiving-choice:focus-visible { outline: 2px solid #4da3ff; outline-offset: 3px; }
.payout-brand.diamonds { background: linear-gradient(135deg,#183e72,#256891); color: #a1e4ff; }
.freefire-method-card { border-color: #5bc7fa33; background: linear-gradient(145deg,#172e45,#152338 65%); }
.freefire-recipient { min-width: 0; overflow-wrap: anywhere; }
.freefire-recipient .payout-details dd { font-variant-numeric: tabular-nums; }
.freefire-profile-image { max-height: 360px; object-fit: contain; }
.freefire-editor .qr-upload-button { min-height: 46px; padding-inline: 16px; }
.payout-intro-empty { font-size: 13px; color: var(--muted); margin-block: 0 18px; }
.participant-manage-actions { display: grid; gap: 9px; margin-block: 18px; }
.participant-manage-option { display: flex; align-items: start; gap: 10px; border: 1px solid var(--border); border-radius: 11px; padding: 12px; cursor: pointer; }
.participant-manage-option input { margin-top: 3px; width: auto; }
.participant-manage-option strong { display: block; font-size: 14px; }
.participant-manage-option small { display: block; color: var(--muted); font-size: 12px; line-height: 1.5; margin-top: 4px; }
.participant-moderation-note { padding-left: 10px; border-left: 2px solid #e6bb7055; }
@media (max-width: 600px) {
  .receiving-choice-grid { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .receiving-choice { min-height: 76px; }
  .admin-main-action { padding: 11px 17px; }
  .freefire-editor .qr-select-control { width: 100%; }
  .freefire-editor .qr-upload-button { width: 100%; justify-content: center; font-size: 12px; }
}

/* Private navigation stays in the right drawer; each tournament keeps its own controls. */
body.private-menu-ready #menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 11px; color: #4da3ff; background: #4da3ff26; border: 1px solid #4da3ff70; border-radius: 12px; flex: 0 0 auto; }
body.private-menu-ready #menu-toggle svg { width: 24px; height: 24px; }
body.private-menu-ready #menu-toggle:hover { background: #4da3ff42; border-color: #4da3ffa3; }
.signed-account-label { display: flex; align-items: center; gap: 9px; font-size: 13px; color: #dcebf2; max-width: 190px; }
.signed-account-label > span:last-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.private-menu-open { overflow: hidden; }
#private-workspace-menu { inset: 0 0 0 auto; margin: 0; padding: 22px; width: min(370px,100%); max-width: 100%; height: 100dvh; max-height: 100dvh; box-sizing: border-box; border: 0; border-left: 1px solid #4da3ff28; border-radius: 0; background: #101e30; color: #e9f2f8; overflow-y: auto; overflow-x: hidden; box-shadow: -20px 0 60px #0005; }
#private-workspace-menu::backdrop { background: #06121bbb; backdrop-filter: blur(3px); }
.private-menu-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.private-menu-head h2 { font: 800 23px/1.25 var(--font); letter-spacing: -.4px; margin-top: 5px; }
.private-menu-close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid var(--border-strong); border-radius: 10px; background: #ffffff08; color: #c8dce6; cursor: pointer; }
.private-menu-close svg { width: 21px; height: 21px; }
.private-menu-person { display: flex; gap: 12px; align-items: center; margin-block: 22px; padding: 15px; border: 1px solid #ffffff12; border-radius: 13px; background: #162c3d; min-width: 0; }
.private-menu-person .avatar { width: 39px; height: 39px; flex: 0 0 auto; }
.private-menu-person > div { min-width: 0; }
.private-menu-person strong { display: block; font-size: 14px; overflow-wrap: anywhere; }
.private-menu-person small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.private-menu-section { margin-top: 20px; }
.private-menu-section h3 { display: flex; align-items: center; gap: 7px; margin: 0 0 9px; font-size: 11px; color: #9eabbf; text-transform: uppercase; letter-spacing: 1px; }
.private-menu-section h3 svg { width: 15px; height: 15px; }
.private-menu-section nav { display: grid; gap: 3px; }
.private-menu-link { display: flex; align-items: center; gap: 11px; min-height: 46px; padding: 10px 13px; border-radius: 10px; color: #cadbe7; font-size: 14px; line-height: 1.5; text-decoration: none; box-sizing: border-box; overflow-wrap: anywhere; }
.private-menu-link svg { width: 20px; height: 20px; color: #91a2bd; flex: 0 0 auto; }
.private-menu-link:hover, .private-menu-link.active { color: #c8ddff; background: #4da3ff26; }
.private-menu-link.active svg { color: #4da3ff; }
.private-menu-context { margin-top: 12px; padding: 10px 13px; border-left: 2px solid #4da3ff55; }
.private-menu-footer { padding-top: 16px; margin-top: 22px; border-top: 1px solid var(--border); }
.private-menu-footer > .btn { width: 100%; text-align: left; justify-content: start; color: #eeaaa8; }
.private-menu-close:focus-visible, .private-menu-link:focus-visible, #menu-toggle:focus-visible { outline: 2px solid #4da3ff; outline-offset: 3px; }
.admin-shell.private-navigation-layout { display: block; margin-top: 0; }
.private-navigation-layout > .admin-workspace { min-width: 0; width: 100%; }
.feature-section-head { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; }
.feature-section-head > div { min-width: 0; flex: 1; }
.feature-section-head h2 { margin-bottom: 5px; }
.feature-section-head p { font-size: 13px; color: var(--muted); line-height: 1.6; }
.feature-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 14px; background: #4da3ff26; color: #88aeea; }
.feature-icon svg { width: 27px; height: 27px; }
.team-setup { border-color: #4da3ff35; background: linear-gradient(135deg,#132e3b,#101c2c 65%); }
.team-setup .btn, .team-invitation .btn, .referral-space .btn, .referral-welcome .btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: 999px; }
.team-setup .btn svg, .team-invitation .btn svg, .referral-space .btn svg, .referral-welcome .btn svg { width: 18px; height: 18px; flex: 0 0 auto; }
.teams-owned { margin-top: 23px; }
.teams-owned > .item-row { margin-bottom: 13px; }
.teams-owned h2 { font-size: 20px; }
.team-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(320px,100%),1fr)); gap: 16px; }
.team-card-grid .panel + .panel { margin-top: 0; }
.team-card { min-width: 0; }
.team-card h3 { margin: 4px 0!important; font-size: 20px!important; }
.team-card .item-row { align-items: start; gap: 12px; }
.team-card .item-row > div { min-width: 0; }
.team-member-list { list-style: none; display: grid; gap: 9px; margin: 17px 0; padding: 0; }
.team-member { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 11px; border-radius: 10px; background: #ffffff04; border: 1px solid #ffffff0c; }
.team-member .avatar { flex: 0 0 auto; width: 34px; height: 34px; }
.team-member > div { min-width: 0; flex: 1; }
.team-member strong { display: block; font-size: 13px; overflow-wrap: anywhere; }
.team-member small { display: block; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.team-member strong > small { display: inline; }
.team-member .btn { padding-inline: 10px; font-size: 11px; }
.team-slot-empty { border-style: dashed; }
.team-slot-empty .avatar { background: #ffffff08; color: #9aacbd; }
.team-slot-empty strong { color: #99afc1; font-weight: 550; }
.team-readiness { padding: 10px 0 0; border-top: 1px solid var(--border); color: #a5b8d7; }
.team-invitation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px; padding: 13px; border-radius: 11px; background: #10264a; border: 1px solid #4da3ff29; margin-top: 15px; }
.team-invitation > div { min-width: 0; flex: 1; }
.team-invitation strong { display: block; font-size: 19px; font-family: monospace; letter-spacing: 1.8px; overflow-wrap: anywhere; }
.team-invitation > .btn.ghost { flex-basis: 100%; }
.team-card footer { margin-top: 12px; }
.team-room-context { padding: 12px 14px; background: #142e50; border: 1px solid #4da3ff25; border-radius: 10px; }
.team-room-context p { font-size: 12px; color: var(--muted); margin-top: 5px; }
.room-team-section { margin-top: 18px; padding-top: 17px; border-top: 1px solid #4da3ff2b; }
.room-team-section > h3 { margin-bottom: 11px; }
.room-team-section .team-card.is-compact { padding: 0; border: 0; background: none; }
.room-team-section .team-card h3 { font-size: 17px!important; }
.room-team-section > .button-row { flex-wrap: wrap; }
.room-team-section > .button-row > .btn { flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px; }
.room-team-section > .button-row svg { width: 18px; height: 18px; flex: 0 0 auto; }
.room-team-section > p.small { margin-top: 10px; }
.referral-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-block: 16px; }
.referral-share { border-color: #4da3ff35; background: linear-gradient(135deg,#16323d,#101c2c 65%); }
.referral-link-box { display: flex; align-items: end; gap: 10px; }
.referral-link-box .field { min-width: 0; flex: 1; }
.referral-link-box input { color: #c7dcff; font-size: 13px; }
.referral-link-box > .btn { flex: 0 0 auto; }
.referral-welcome { padding: 28px!important; max-width: 750px; }
.referral-welcome .feature-icon { margin-bottom: 16px; }
.referral-welcome p { max-width: 620px; }
.referral-welcome > .btn { margin-top: 18px; }
.referral-how ol { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding: 0; margin: 20px 0; }
.referral-how li { display: flex; align-items: start; gap: 10px; }
.referral-how li > span { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; border-radius: 9px; background: #4da3ff20; color: #97baf1; font-size: 13px; font-weight: 800; flex: 0 0 auto; }
.referral-how strong { font-size: 13px; }
.referral-how li p { color: var(--muted); font-size: 12px; margin-top: 4px; }
.referral-event { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--border); padding: 15px 0; }
.referral-event > div { min-width: 0; }
.referral-event > div:last-child { display: flex; align-items: end; flex-direction: column; gap: 7px; }
.referral-event strong { overflow-wrap: anywhere; }
.referral-event p { margin-top: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
@media (max-width: 900px) {
  body.private-menu-ready #main-nav { display: none!important; }
  body.private-menu-ready .header-inner { gap: 15px; justify-content: space-between; }
  body.private-menu-ready #menu-toggle { margin-left: auto; }
  .referral-how ol { grid-template-columns: minmax(0,1fr); gap: 17px; }
}
@media (max-width: 600px) {
  #private-workspace-menu { padding: 20px 17px calc(20px + env(safe-area-inset-bottom)); width: min(350px,100%); }
  .feature-section-head { align-items: start; gap: 11px; }
  .feature-icon { width: 40px; height: 40px; border-radius: 12px; }
  .feature-icon svg { width: 23px; height: 23px; }
  .feature-section-head > .badge { align-self: start; }
  .team-setup .button-row { flex-direction: column; align-items: stretch; }
  .team-card-grid { grid-template-columns: minmax(0,1fr); }
  .team-invitation { align-items: stretch; flex-direction: column; }
  .team-invitation > .btn { width: 100%; }
  .referral-share .feature-section-head { flex-wrap: wrap; }
  .referral-share .feature-section-head > .badge { margin-left: 51px; }
  .referral-summary { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .referral-summary .stat-card { min-height: 0; }
  .referral-link-box { flex-direction: column; align-items: stretch; }
  .referral-event { align-items: start; flex-direction: column; gap: 8px; }
  .referral-event > div:last-child { align-items: start; flex-direction: row; flex-wrap: wrap; }
}

.referral-summary.has-four { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media(max-width:900px) { .referral-summary.has-four { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .referral-summary.has-four { grid-template-columns: minmax(0,1fr); } }

/* Public results use responsive cards and never combine different currencies. */
.leaderboard-filter-panel { margin-bottom: 18px; background: #13293a; border-color: #4da3ff29; }
.leaderboard-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.leaderboard-filters .field { flex: 1 1 160px; min-width: 0; margin: 0!important; }
.leaderboard-filters .field[hidden] { display: none; }
.referral-contact { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.referral-contact > div { min-width: 0; }
.referral-contact h2 { margin-block: 8px 9px; }
.referral-contact > .btn { min-height: 44px; flex: 0 0 auto; }
.affiliate-admin-views { margin-bottom: 20px; }
.affiliate-rule-note { margin: 0 0 21px; }
.affiliate-profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.affiliate-profile-grid > .panel + .panel { margin: 0; }
.affiliate-admin-card > header { padding-top: 0; align-items: start; }
.affiliate-admin-card > header > .badge { flex: 0 0 auto; }
.affiliate-admin-card h2 { margin-bottom: 7px; font-family: var(--font); font-size: 19px; line-height: 1.3; overflow-wrap: anywhere; }
.affiliate-contact-line { margin-top: 9px; font-size: 13px; color: #dbeaf4; }
.affiliate-admin-balance { padding: 18px 0; border-top: 1px solid var(--border); margin-top: 14px; }
.affiliate-admin-balance > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.affiliate-admin-balance h3 { font-family: var(--font); font-size: 13px; margin: 0; color: #bfd6e5; }
.affiliate-balance-counters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 16px 0 0; }
.affiliate-balance-counters > div { min-width: 0; }
.affiliate-balance-counters dt { font-size: 11px; color: var(--muted); line-height: 1.45; min-height: 32px; }
.affiliate-balance-counters dd { margin: 6px 0 0; }
.affiliate-balance-counters strong { display: block; font-size: 28px; line-height: 1.2; color: #e4f2ff; }
.affiliate-balance-counters small { display: block; font-size: 12px; margin-top: 6px; color: #a1c5db; overflow-wrap: anywhere; }
.affiliate-commission-row, .affiliate-payment-record { display: flex; justify-content: space-between; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.affiliate-commission-row > div, .affiliate-payment-record > div { min-width: 0; }
.affiliate-commission-row > div:last-child, .affiliate-payment-record > div:last-child { display: flex; flex-direction: column; align-items: end; gap: 8px; text-align: right; }
.affiliate-commission-row strong, .affiliate-commission-row p, .affiliate-payment-record strong, .affiliate-payment-record p { overflow-wrap: anywhere; }
.affiliate-payment-record:last-of-type { border-bottom: 0; }
.affiliate-payment-contact { padding: 14px 16px; background: #122b3c; border: 1px solid #4da3ff42; border-radius: 12px; margin-bottom: 18px; }
.affiliate-payment-contact strong, .affiliate-payment-contact p { font-size: 13px; }
.affiliate-payment-contact p { margin-block: 4px 8px; }
.affiliate-payment-selection > header { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 13px; margin-bottom: 13px; }
.affiliate-payment-selection > header strong { width: 100%; }
.affiliate-commission-choices { max-height: 280px; overflow-y: auto; padding: 1px 5px 1px 1px; }
.affiliate-commission-choice { display: flex; align-items: start; gap: 11px; min-height: 56px; padding: 13px; border: 1px solid var(--border); border-radius: 10px; margin-bottom: 8px; cursor: pointer; }
.affiliate-commission-choice:has(input:checked) { background: #4da3ff10; border-color: #4da3ff40; }
.affiliate-commission-choice input { flex: 0 0 auto; margin-top: 3px; }
.affiliate-commission-choice > span { min-width: 0; }
.affiliate-commission-choice strong { display: block; font-size: 12px; overflow-wrap: anywhere; }
.affiliate-commission-choice small { display: block; font-size: 11px; color: var(--muted); margin-top: 4px; overflow-wrap: anywhere; }
.affiliate-payment-total { border: 1px solid #4da3ff33; border-radius: 10px; padding: 14px 16px; background: #4da3ff10; font-size: 14px; color: #bfdae5; }
.affiliate-payment-total strong { color: #4da3ff; }
.affiliate-batch-form .field:has(input[name=reference]) { grid-column: 1 / -1; }
.affiliate-batch-form .btn[type=submit] { grid-column: 1 / -1; position: sticky; bottom: 0; min-height: 46px; background: #173444!important; color: #95b9f3!important; z-index: 1; }
@media (max-width: 900px) { .affiliate-profile-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 600px) {
  .referral-contact { align-items: stretch; flex-direction: column; }
  .referral-contact > .btn { width: 100%; }
  .affiliate-admin-card > header { flex-direction: column; gap: 12px; }
  .affiliate-balance-counters { gap: 8px; }
  .affiliate-balance-counters strong { font-size: 25px; }
  .affiliate-commission-row, .affiliate-payment-record { flex-direction: column; gap: 11px; }
  .affiliate-commission-row > div:last-child, .affiliate-payment-record > div:last-child { align-items: start; text-align: left; }
  .affiliate-admin-balance > header > .btn { width: 100%; }
}

/* Administration has its own identity, navigation and access security. */
body.admin-workspace-context #main-nav { display: flex!important; position: static; inset: auto; flex: 1; min-width: 0; max-height: none; padding: 0; border: 0; background: transparent; box-shadow: none; flex-direction: row; }
body.admin-workspace-context #main-nav .nav-links, .nav-links[hidden] { display: none!important; }
body.admin-workspace-context #account-nav { flex: 1; min-width: 0; justify-content: space-between; flex-wrap: nowrap; gap: 20px; }
.admin-header-context { display: flex; gap: 10px; align-items: center; min-width: 0; }
.admin-header-context > svg { width: 25px; height: 25px; color: #4da3ff; flex: 0 0 auto; }
.admin-header-context > span { min-width: 0; }
.admin-header-context strong { display: block; font-size: 14px; color: #e7f5ff; line-height: 1.35; }
.admin-header-context small { display: block; margin-top: 3px; color: #8fa7bd; font-size: 11px; }
.signed-account-label.is-administrator { display: grid; grid-template-columns: 30px minmax(0,1fr); column-gap: 8px; row-gap: 3px; max-width: 200px; }
.signed-account-label.is-administrator > .avatar { grid-row: 1 / 3; }
.signed-account-label.is-administrator > span:nth-child(2) { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.administrator-label { display: block; grid-column: 2; color: #4da3ff; font-size: 10px; line-height: 1.2; }
body.admin-workspace-context #menu-toggle { color: #4da3ff; border-color: #4da3ff70; background: #4da3ff26; }
body.admin-workspace-context #menu-toggle:hover { background: #4da3ff29; }
.private-menu-person.is-administrator { border-color: #4da3ff29; background: #122a4b; }
.private-menu-person.is-administrator small { color: #4da3ff; }
.private-menu-administration .private-menu-link.active { background: #4da3ff26; color: #d7e6ff; box-shadow: inset 3px 0 #4da3ff; }
.private-menu-administration .private-menu-link:hover { background: #4da3ff14; }
.private-menu-administration .private-menu-link.active svg { color: #4da3ff; }
.admin-workspace-identity { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 27px; padding: 16px 19px; border: 1px solid #4da3ff70; border-radius: 14px; background: linear-gradient(110deg,#112537,#0d1d2f); }
.admin-workspace-identity > div:first-child { display: flex; align-items: center; gap: 11px; min-width: 0; }
.admin-identity-icon { display: flex; justify-content: center; align-items: center; width: 39px; height: 39px; flex: 0 0 auto; border: 1px solid #4da3ff29; border-radius: 11px; background: #4da3ff10; color: #4da3ff; }
.admin-identity-icon svg { width: 23px; height: 23px; }
.admin-workspace-identity strong { display: block; color: #e3f3ff; font-size: 14px; line-height: 1.4; }
.admin-workspace-identity small { display: block; color: #92aec4; font-size: 11px; margin-top: 3px; overflow-wrap: anywhere; }
.admin-workspace-identity .button-row { margin: 0; gap: 10px; }
.administrator-badge { border-color: #4da3ff38; background: #4da3ff14; color: #4da3ff; }
.admin-overview-metrics .stat-card { border: 1px solid #759ab323; border-radius: 14px; background: linear-gradient(145deg,#132a3f,#101d30); }
.admin-overview-metrics .stat-card > strong { color: #dff4ff; }
.admin-overview-metrics .stat-card > small { line-height: 1.7; }
.admin-access-shortcut { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 22px; }
.admin-access-shortcut > div { min-width: 0; }
.admin-access-shortcut .btn { min-height: 44px; flex: 0 0 auto; }
.admin-access-shortcut .btn svg { width: 20px; height: 20px; }
.admin-access-layout { align-items: start; }
.admin-access-identity { display: flex; align-items: start; flex-direction: column; gap: 15px; }
.admin-access-shield { display: flex; align-items: center; justify-content: center; width: 49px; height: 49px; border: 1px solid #4da3ff38; border-radius: 14px; background: #4da3ff14; color: #4da3ff; }
.admin-access-shield svg { width: 30px; height: 30px; }
.admin-access-identity .eyebrow, .admin-access-identity h2 { margin: 0; }
.admin-access-identity dl { width: 100%; margin: 0; }
.admin-access-identity dl > div { padding: 13px 0; border-bottom: 1px solid var(--border); }
.admin-access-identity dt { font-size: 11px; color: var(--muted); margin-bottom: 5px; }
.admin-access-identity dd { margin: 0; font-size: 14px; color: #e1edf5; overflow-wrap: anywhere; }
body.admin-mode .btn.primary, body.admin-mode .admin-main-action { min-height: 44px; color: #4da3ff; background: #4da3ff26; border: 1px solid #4da3ff70; box-shadow: none; }
body.admin-mode .btn.primary:hover, body.admin-mode .admin-main-action:hover { color: #c8ddff; background: #4da3ff42; border-color: #4da3ffa3; }
body.admin-mode .btn.primary:focus-visible, body.admin-mode .admin-main-action:focus-visible { outline: 2px solid #4da3ff; outline-offset: 3px; }
@media (max-width: 900px) {
  body.admin-workspace-context .signed-account-label { display: none; }
  body.admin-workspace-context #menu-toggle { margin-left: 0; }
  body.admin-workspace-context #account-nav { justify-content: start; }
  .admin-access-layout { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 600px) {
  body.admin-workspace-context .header-inner { gap: 10px; }
  body.admin-workspace-context .brand, body.admin-workspace-context .brand img { width: 100px; }
  .admin-header-context { gap: 0; }
  .admin-header-context > svg { display: none; }
  .admin-header-context strong { font-size: 11px; }
  .admin-header-context small { font-size: 10px; }
  .admin-workspace-identity { align-items: start; flex-direction: column; padding: 15px; gap: 12px; margin-bottom: 23px; }
  .admin-workspace-identity .button-row { width: 100%; justify-content: space-between; }
  .admin-workspace-identity .btn { min-height: 44px; }
  .admin-access-shortcut { align-items: stretch; flex-direction: column; }
  .admin-access-shortcut .btn { width: 100%; }
}
.leaderboard-filters .btn { flex: 0 0 auto; }
.leaderboard-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; font-size: 13px; color: var(--muted); }
.leaderboard-list-heading strong { font-weight: 600; color: #d4deed; }
.leaderboard-list { display: grid; gap: 12px; }
.leaderboard-player { display: flex; align-items: center; gap: 22px; padding: 20px; border: 1px solid var(--border); border-radius: 14px; background: #111f31; }
.leaderboard-player.is-podium { border-color: #4da3ff34; background: linear-gradient(110deg,#17253b,#111f31 60%); }
.leaderboard-player-head { display: flex; align-items: center; gap: 11px; width: 28%; min-width: 0; }
.leaderboard-player-head > div { min-width: 0; }
.leaderboard-player-head h2 { font: 800 17px/1.35 var(--font); margin: 0; overflow-wrap: anywhere; }
.leaderboard-player-head p { font-size: 12px; color: var(--muted); margin-top: 3px; }
.leaderboard-rank { width: 28px; flex: 0 0 auto; font-size: 18px; font-weight: 800; color: #97b6c5; text-align: center; font-variant-numeric: tabular-nums; }
.leaderboard-player.is-podium .leaderboard-rank { color: #95b6ea; }
.leaderboard-avatar { width: 38px; height: 38px; flex: 0 0 auto; }
.leaderboard-player-stats { display: grid; grid-template-columns: minmax(90px,.65fr) minmax(140px,1fr) minmax(190px,1.3fr); align-items: start; gap: 20px; flex: 1; min-width: 0; }
.leaderboard-player-stats > div { min-width: 0; }
.leaderboard-player-stats > div > span { display: block; font-size: 11px; color: var(--muted); margin-bottom: 5px; }
.leaderboard-player-stats strong { font-size: 20px; line-height: 1.4; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.leaderboard-player-stats small { display: block; color: #95aabc; font-size: 11px; line-height: 1.5; margin-top: 3px; }
.leaderboard-currency + .leaderboard-currency { padding-top: 8px; margin-top: 8px; border-top: 1px solid var(--border); }
.leaderboard-currency strong { font-size: 16px; }
.leaderboard-currency strong small { display: inline; font-size: 10px; color: #a6b3c9; margin-left: 3px; }
.leaderboard-pagination { justify-content: center; margin-block: 20px; }
.leaderboard-explainer { margin-top: 20px; }
.leaderboard-explainer h2 { font-size: 17px; margin-bottom: 8px; }
@media(max-width:900px) {
  .leaderboard-player { align-items: stretch; flex-direction: column; gap: 17px; }
  .leaderboard-player-head { width: 100%; }
  .leaderboard-player-stats { padding-top: 15px; border-top: 1px solid var(--border); }
}
@media(max-width:600px) {
  .leaderboard-filter-panel { padding: 15px!important; }
  .leaderboard-filters { gap: 11px; }
  .leaderboard-filters .field { flex-basis: calc(50% - 12px); }
  .leaderboard-filters .btn { width: 100%; margin-top: 3px; }
  .leaderboard-list-heading { align-items: start; flex-direction: column; gap: 7px; }
  .leaderboard-player { padding: 17px; }
  .leaderboard-player-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
  .leaderboard-money { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid var(--border); }
  .leaderboard-currency { display: inline-flex; flex-direction: column; margin-right: 16px; max-width: 100%; }
  .leaderboard-currency + .leaderboard-currency { border: 0; padding-top: 0; margin-top: 0; }
}

/* Support handoff remains a user initiated action; the community channel stays separate. */
.whatsapp-support { gap: 9px; min-height: 44px; border-radius: 12px; }
.whatsapp-support svg { width: 21px; height: 21px; flex: 0 0 21px; }
.support-contact > .whatsapp-support { margin-block: 8px 16px; width: 100%; }
.support-contact > .text-link { display: block; overflow-wrap: anywhere; }
.support-human-option { border-top: 1px solid var(--border); margin-top: 18px; padding-top: 14px; }
.support-human-option p { margin-top: 8px; }
.ticket-human-support { max-width: 850px; margin: 16px auto 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.whatsapp-support-dialog { display: grid; gap: 12px; }
.whatsapp-support-dialog h2, .whatsapp-support-dialog p { margin: 0; }
.whatsapp-support-dialog textarea { min-height: 150px; }
.whatsapp-support-dialog .button-row { margin: 0; }
.phone-alert-panel, .admin-announcement-compose { margin-bottom: 18px; }
.phone-alert-panel .feature-section-head { align-items: start; }
.phone-alert-panel .feature-section-head > .badge { margin-left: auto; flex-shrink: 0; }
.phone-alert-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.phone-alert-preferences { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; font-size: 13px; color: var(--cyan); }
.phone-alert-privacy { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.phone-install-help { border: 1px solid var(--border); background: #4da3ff09; border-radius: 12px; padding: 14px; margin-bottom: 14px; }
.phone-install-help strong { font-size: 13px; }
.phone-install-help p { margin-top: 7px; font-size: 13px; line-height: 1.65; }
.phone-other-devices { margin-top: 16px; }
.phone-other-devices summary { min-height: 44px; display: flex; align-items: center; color: var(--muted); font-size: 13px; cursor: pointer; }
.phone-other-devices .item-row small { display: block; margin-top: 4px; }
.phone-consent-options { display: grid; gap: 12px; border: 1px solid var(--border); border-radius: 12px; padding: 16px; }
.phone-consent-options legend { font-size: 13px; padding-inline: 6px; }
.phone-consent-options .checkline { margin: 0; align-items: start; min-height: 44px; }
.announcement-history { margin-top: 18px; }
.announcement-history-row { border-top: 1px solid var(--border); padding-block: 16px; overflow-wrap: anywhere; }
.announcement-history-row .item-row { gap: 12px; flex-wrap: wrap; }
.announcement-history-row p { margin-top: 8px; }
.account-notifications .notification-row small { white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-announcement-compose .feature-section-head { margin-bottom: 16px; }
.phone-diagnostics { border-top: 1px solid var(--border); padding-top: 16px; margin-top: 16px; }
.phone-diagnostic-checks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 14px; }
.phone-diagnostic-checks dt, .phone-delivery-result dt { color: var(--muted); font-size: 12px; }
.phone-diagnostic-checks dd, .phone-delivery-result dd { margin: 5px 0 0; font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }
.phone-delivery-result { border: 1px solid #4da3ff70; border-radius: 12px; background: #4da3ff09; padding: 14px; margin-block: 12px; }
.phone-delivery-result.has-warning { border-color: #e6bb7055; }
.phone-delivery-result .item-row { flex-wrap: wrap; gap: 10px; }
.phone-delivery-result p { margin-top: 9px; }
.phone-delivery-result dl { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 12px; }
.phone-sound-help { margin-top: 10px; }
.phone-sound-help summary { min-height: 44px; display: flex; align-items: center; font-size: 13px; color: var(--cyan); cursor: pointer; }
.phone-sound-help p, .phone-sound-help li { font-size: 13px; line-height: 1.7; }
.phone-sound-help ol { margin-block: 12px; padding-left: 21px; display: grid; gap: 10px; }
.admin-push-health { margin-bottom: 18px; }
.admin-push-health .item-row { gap: 12px; flex-wrap: wrap; }
.admin-push-health h2 { margin-bottom: 0; }
.phone-health-counts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-block: 18px; }
.phone-health-counts > div { padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: #4da3ff09; }
.phone-health-counts span { display: block; color: var(--muted); font-size: 12px; }
.phone-health-counts strong { display: block; margin-top: 8px; font-size: 22px; color: var(--cyan); }
@media(max-width:600px) {
  .whatsapp-support-dialog .button-row { display: grid; grid-template-columns: minmax(0,1fr); }
  .ticket-human-support > .btn { width: 100%; }
  .phone-alert-panel .feature-section-head { flex-wrap: wrap; }
  .phone-alert-panel .feature-section-head > .badge { margin-left: 0; }
  .phone-alert-actions, .phone-alert-actions > .button-row { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; }
  .phone-alert-actions .btn { width: 100%; }
  .phone-diagnostic-checks { grid-template-columns: minmax(0,1fr); }
  .phone-health-counts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Free Fire server compatibility is separate from country, currency and time zone. */
.game-server-help { grid-column: 1 / -1; display: grid; gap: 7px; min-width: 0; padding: 12px 14px; border: 1px solid #4da3ff38; border-radius: 12px; background: #0d1d35; color: #bdcce1; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.game-server-help p { margin: 0; }
.game-server-help small { color: #a9bbd5; }
.game-server-help a { color: #8fc8ff; width: fit-content; text-decoration: underline; text-underline-offset: 3px; }
.game-server-panel { display: grid; gap: 10px; margin: 15px 0; padding: 16px; border: 1px solid #4da3ff70; border-radius: 16px; background: linear-gradient(130deg, #112a50, #0d1b31); min-width: 0; }
.game-server-panel > div:first-child { display: grid; gap: 5px; }
.game-server-panel strong { font-size: 18px; color: #deecff; }
.game-server-panel .eyebrow { color: #8fc8ff; }
.game-server-panel .game-server-help { background: #09162c; border-color: #4da3ff38; }
.game-server-panel .server-compatibility-note { margin: 0; }
.game-server-panel .btn { width: fit-content; }
.server-label { color: #8fc8ff; font-weight: 650; }
.legacy-server-note { grid-column: 1 / -1; display: grid; gap: 10px; }
.legacy-server-note p { margin: 0; }
.legacy-server-note .btn { width: fit-content; }
@media (max-width: 600px) { .game-server-panel { padding: 13px; } .game-server-panel .btn, .legacy-server-note .btn { width: 100%; } }

/* Public Free Fire presentation. Actual tournament and ranking data stay in the API. */
.btn { border-radius: 9px; font-weight: 700; min-height: 44px; }
.btn.primary { background: #1263e8; color: #fff; border-color: #1263e8; }
.btn.primary:hover { background: #0b51c8; border-color: #0b51c8; }
.btn:focus-visible, .ranking-player-link:focus-visible { outline: 3px solid #8fc8ff; outline-offset: 3px; }
body.catalogue-reference-mode, body.ranking-reference-mode { background: radial-gradient(ellipse at 80% 0,#17316155,transparent 45%),#171c27; }
.catalogue-reference-mode #page-view > .grid.three { gap: 24px; align-items: stretch; }
.catalogue-reference-mode .page-heading h1, .ranking-reference-mode .page-heading h1 { font-weight: 900; letter-spacing: -.025em; }
.room-card.tournament-catalogue-card { display: flex; flex-direction: column; position: relative; border: 0; border-radius: 14px; background: #fff; color: #152033; overflow: hidden; min-width: 0; margin: 0; box-shadow: 0 8px 28px #0002; }
.tournament-catalogue-card .room-cover { display: block; height: auto; aspect-ratio: 16 / 8; width: 100%; min-width: 0; padding: 0; background: #203356; }
.tournament-catalogue-card .room-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.tournament-catalogue-card .room-cover:hover img { transform: scale(1.025); }
.tournament-status { position: absolute; top: 12px; right: 12px; max-width: calc(100% - 24px); }
.tournament-status .badge { background: #d7eaff; border: 0; color: #114681; font-weight: 750; border-radius: 7px; padding: 7px 10px; box-shadow: 0 2px 8px #0003; }
.tournament-status .badge.warning { background: #fff1d2; color: #73510f; }
.tournament-status .badge.danger { background: #ffe3e6; color: #922638; }
.tournament-catalogue-card .room-content { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 20px; gap: 0; }
.tournament-catalogue-card h3 { font-family: var(--font); font-size: 19px; font-weight: 850; line-height: 1.35; letter-spacing: -.015em; margin: 0; min-height: 51px; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tournament-catalogue-card h3 a { color: #111927; }
.tournament-catalogue-card h3 a:hover { color: #1263e8; }
.tournament-organizer { margin: 7px 0 11px; font-size: 12px; color: #626c7b; }
.tournament-organizer strong { color: #1263e8; letter-spacing: .05em; }
.tournament-description { color: #586273; font-size: 13px; line-height: 1.55; min-height: 41px; margin: 0 0 13px; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tournament-schedule { display: flex; gap: 7px; align-items: start; color: #657083; font-size: 11px; margin-bottom: 17px; line-height: 1.5; }
.tournament-schedule svg, .tournament-card-facts svg { width: 17px; height: 17px; flex: 0 0 17px; }
.tournament-card-footer { display: flex; gap: 14px; align-items: end; justify-content: space-between; margin-top: auto; padding-top: 15px; border-top: 1px solid #e7ebf1; }
.tournament-card-facts { display: grid; gap: 7px; min-width: 0; flex: 1; }
.tournament-card-facts p { display: flex; align-items: start; gap: 7px; color: #536078; font-size: 11px; line-height: 1.4; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.tournament-card-facts svg { color: #c43784; }
.tournament-card-facts .room-prize { margin: 0; padding: 0; border: 0; font-weight: 650; }
.tournament-card-facts .room-prize span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tournament-entry.btn { flex: 0 0 112px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-width: 0; min-height: 66px; padding: 11px 10px; text-align: center; white-space: normal; }
.tournament-entry span { font-size: 10px; letter-spacing: .045em; font-weight: 800; }
.tournament-entry strong { font-size: 15px; line-height: 1.3; overflow-wrap: anywhere; }
#home-rooms { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
#home-rooms > .empty-state { grid-column: 1 / -1; }
.ff-home-hero.hero { min-height: 630px; position: relative; background: #101725; overflow: hidden; }
.ff-home-hero .hero-art { position: absolute; inset: 0; width: 100%; height: 100%; background: linear-gradient(90deg,#10172508 15%,#10172535 40%,#101725e8 68%,#101725 100%),linear-gradient(0deg,#101725,transparent 22%),url('/assets/free-fire/hero.png') center left / cover no-repeat; opacity: 1; mask-image: none; transform: none; }
.ff-home-hero .hero-inner { display: flex; align-items: center; justify-content: flex-end; min-height: 630px; padding-block: 65px; position: relative; }
.ff-home-hero .hero-main { width: 49%; max-width: 580px; position: relative; z-index: 1; }
.ff-home-hero .eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; color: #b6d9ff; font-size: 10px; margin-bottom: 25px; }
.ff-home-hero .eyebrow img { width: 154px; height: auto; }
.ff-home-hero h1 { font-size: clamp(43px,4.7vw,72px); font-family: var(--font); font-weight: 950; line-height: 1.06; letter-spacing: -.04em; margin: 0; }
.ff-home-hero h1 em { color: #79b4ff; font-style: normal; }
.ff-home-hero .hero-copy { color: #c1cbdc; font-size: 15px; line-height: 1.7; max-width: 470px; margin: 25px 0; }
.ff-home-hero .hero-actions { gap: 12px; display: flex; flex-wrap: wrap; }
.ff-home-hero .hero-actions .btn { min-height: 49px; padding: 14px 20px; font-size: 12px; }
.hero-community-note { color: #8c9db7; font-size: 10px; margin-top: 26px; letter-spacing: .07em; }
.home-featured-section { margin-top: 34px; }
.featured-event { display: flex; border: 1px solid #4da3ff30; border-radius: 15px; background: linear-gradient(120deg,#132544,#111b2d); overflow: hidden; }
.featured-event-image { flex: 0 0 36%; min-width: 0; }
.featured-event-image img { display: block; width: 100%; height: 100%; object-fit: cover; min-height: 230px; }
.featured-event-body { padding: 28px 32px; flex: 1; min-width: 0; }
.featured-event-body h2 { font-size: 23px; line-height: 1.3; overflow-wrap: anywhere; margin: 9px 0 12px; }
.featured-event-body > p:not(.eyebrow) { color: #b5c3d9; font-size: 12px; line-height: 1.6; margin: 12px 0; }
.featured-event-body .btn { margin-top: 5px; }
.ranking-page { max-width: 1180px; margin-inline: auto; }
.ranking-game-selection { display: flex; align-items: center; gap: 42px; margin: 22px 0 30px; }
.ranking-game { width: 135px; flex: 0 0 135px; border: 3px solid #4da3ff; border-radius: 12px; position: relative; overflow: hidden; background: #172a45; box-shadow: 0 0 25px #1263e830; }
.ranking-game img { width: 100%; height: auto; display: block; }
.ranking-game > span { display: flex; justify-content: space-between; font-size: 10px; font-weight: 800; padding: 8px 10px; background: #1263e8; color: #fff; }
.ranking-game-intro { color: #b8c8df; position: relative; }
.ranking-game-intro h2 { font-size: 27px; line-height: 1.2; font-weight: 850; letter-spacing: -.025em; margin: 0 0 12px; color: #f4f7ff; }
.ranking-game-intro p { font-size: 13px; margin: 0; }
.ff-emblem { display: block; width: 25px; height: 37px; background: #ffd348; mask: url('/assets/free-fire/emblem.svg') center / contain no-repeat; margin-bottom: 14px; }
.ranking-period.panel { display: flex; align-items: center; gap: 35px; border: 1px solid #4da3ff2b; border-radius: 14px; background: linear-gradient(120deg,#14213a,#111724); padding: 25px; margin-bottom: 20px; }
.ranking-period-tabs { display: flex; flex-direction: column; gap: 10px; width: 135px; flex: 0 0 135px; }
.ranking-current, .ranking-period-tabs button { border-radius: 8px; min-height: 42px; padding: 12px 18px; font-size: 13px; text-align: center; font-weight: 750; }
.ranking-current { background: #1263e8; color: #fff; }
.ranking-period-tabs button { background: #233046; border: 1px solid #31415c; color: #8ea0ba; cursor: default; }
.ranking-period h2 { font-size: 21px; margin: 8px 0; }
.ranking-period p { color: #b3c1d8; font-size: 12px; line-height: 1.6; margin: 0; }
.ranking-page .leaderboard-filter-panel { padding: 0!important; background: #141d2e; border-radius: 12px; }
.leaderboard-filter-panel summary { cursor: pointer; padding: 16px 20px; font-size: 13px; color: #b9d9ff; min-height: 48px; }
.ranking-page .leaderboard-filters { padding: 2px 20px 20px; }
.ranking-page .leaderboard-list-heading { display: flex; align-items: end; gap: 20px; justify-content: space-between; padding: 20px 0; }
.leaderboard-list-heading h2 { font-size: 25px; margin: 0 0 6px; }
.leaderboard-list-heading p { color: #b6c3d8; font-size: 12px; margin: 0; line-height: 1.7; }
.ranking-search { flex: 0 1 385px; min-width: 0; }
.ranking-search label { display: block; font-size: 11px; color: #aebdd3; margin-bottom: 8px; }
.ranking-search > div { display: flex; gap: 8px; }
.ranking-search input { flex: 1; min-width: 0; background: #101a2b; border: 1px solid #3c4b63; min-height: 44px; }
.ranking-page .leaderboard-list { display: grid; gap: 14px; }
.ranking-page .leaderboard-player { display: flex; flex-direction: column; align-items: stretch; padding: 0; gap: 0; border: 0; border-radius: 12px; background: #fff; color: #152033; min-width: 0; overflow: hidden; }
.ranking-player-summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 23px; }
.ranking-page .leaderboard-player-head { width: auto; min-width: 0; display: flex; flex: 1; gap: 15px; align-items: center; }
.ranking-page .leaderboard-rank { background: #1263e8; color: #fff; width: 43px; height: 43px; min-width: 43px; border: 0; font-size: 21px; border-radius: 7px; }
.ranking-page .leaderboard-avatar { background: #e7effb; color: #1b4a91; width: 41px; height: 41px; flex: 0 0 41px; font-size: 19px; border: 0; }
.ranking-player-identity { min-width: 0; }
.ranking-player-identity h2 { margin: 0; font-size: 19px; line-height: 1.3; }
.ranking-player-link { display: block; padding: 0; border: 0; background: transparent; color: #1263e8; text-align: left; font: inherit; font-weight: 800; cursor: pointer; overflow-wrap: anywhere; }
.ranking-player-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.ranking-page .leaderboard-player-head p { margin-top: 5px; color: #657086; font-size: 11px; }
.ranking-player-score { flex: 0 0 auto; text-align: right; }
.ranking-player-score strong { display: block; color: #111827; font-size: 25px; line-height: 1.3; overflow-wrap: anywhere; }
.ranking-player-score span { display: block; color: #657086; font-size: 10px; margin-top: 4px; }
.ranking-page .leaderboard-player-stats { display: grid; grid-template-columns: .7fr 1fr 1.6fr; padding: 15px 23px; gap: 22px; margin: 0; border-top: 1px solid #e6ebf2; background: #f9fbff; min-width: 0; }
.ranking-page .leaderboard-player-stats span, .ranking-page .leaderboard-player-stats small, .ranking-page .leaderboard-player-stats .muted { color: #616d80; }
.ranking-page .leaderboard-player-stats strong { color: #18263d; font-size: 17px; margin-top: 6px; }
.ranking-page .leaderboard-player-stats small { font-size: 10px; margin-top: 5px; display: block; }
.ranking-page .leaderboard-currency + .leaderboard-currency { border-color: #e0e7f1; }
.ranking-page .leaderboard-money { min-width: 0; }
.ranking-page .leaderboard-money p { font-size: 11px; }
.ranking-page .leaderboard-pagination { justify-content: center; margin: 26px 0; }
.ranking-page .leaderboard-explainer { margin-top: 25px; background: #121c2d; }
.ranking-page .leaderboard-explainer p { font-size: 12px; color: #afbed5; line-height: 1.8; }
.ranking-public-profile dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 22px 0; }
.ranking-public-profile dl > div { padding: 15px; border-radius: 10px; background: #16233b; min-width: 0; }
.ranking-public-profile dt { color: #aebed7; font-size: 11px; }
.ranking-public-profile dd { margin: 7px 0 0; font-size: 23px; color: #8fc8ff; font-weight: 800; overflow-wrap: anywhere; }
.ranking-public-profile small { font-size: 11px; color: #b6c4dc; }
@media(max-width:1100px) {
  .catalogue-reference-mode #page-view > .grid.three, #home-rooms { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ff-home-hero .hero-main { width: 55%; }
}
@media(max-width:720px) {
  .ff-home-hero.hero { min-height: 650px; }
  .ff-home-hero .hero-art { background: linear-gradient(0deg,#101725 3%,#101725eb 27%,#1017253a 72%,#10172528),url('/assets/free-fire/hero.png') 30% top / auto 440px no-repeat; }
  .ff-home-hero .hero-inner { min-height: 650px; padding-top: 260px; padding-bottom: 36px; align-items: end; }
  .ff-home-hero .hero-main { width: 100%; max-width: 100%; }
  .ff-home-hero .eyebrow { gap: 12px; margin-bottom: 17px; }
  .ff-home-hero .eyebrow img { width: 125px; }
  .ff-home-hero h1 { font-size: clamp(37px,8.5vw,54px); }
  .ff-home-hero .hero-copy { margin: 18px 0; font-size: 13px; }
  .ff-home-hero .hero-actions .btn { padding: 12px 14px; }
  .hero-community-note { font-size: 9px; margin-top: 20px; }
  .featured-event { flex-direction: column; }
  .featured-event-image { flex-basis: auto; height: 155px; }
  .featured-event-image img { min-height: 0; height: 100%; }
  .featured-event-body { padding: 22px; }
  .featured-event-body h2 { font-size: 20px; }
  .ranking-page .leaderboard-list-heading { align-items: stretch; flex-direction: column; gap: 15px; }
  .ranking-search { flex: 0 1 auto; }
}
@media(max-width:600px) {
  .catalogue-reference-mode #page-view > .grid.three, #home-rooms { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .room-card.tournament-catalogue-card { flex-direction: column; }
  .tournament-catalogue-card .room-cover { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 8; }
  .tournament-catalogue-card .room-content { padding: 19px; }
  .tournament-catalogue-card h3 { font-size: 18px; }
  .tournament-card-footer { gap: 12px; }
  .tournament-entry.btn { flex-basis: 104px; }
  .ranking-game-selection { gap: 20px; align-items: center; }
  .ranking-game { width: 110px; flex-basis: 110px; }
  .ranking-game-intro h2 { font-size: 20px; }
  .ranking-game-intro p { font-size: 11px; line-height: 1.6; }
  .ranking-period.panel { padding: 18px; gap: 18px; flex-direction: column; align-items: stretch; }
  .ranking-period-tabs { flex-direction: row; width: auto; flex-basis: auto; }
  .ranking-period-tabs > * { flex: 1; }
  .ranking-period h2 { font-size: 19px; }
  .ranking-player-summary { padding: 16px; gap: 10px; flex-wrap: wrap; }
  .ranking-page .leaderboard-player-head { width: 100%; gap: 10px; }
  .ranking-page .leaderboard-rank { width: 35px; height: 39px; min-width: 35px; font-size: 19px; }
  .ranking-page .leaderboard-avatar { width: 34px; height: 34px; flex-basis: 34px; }
  .ranking-player-identity h2 { font-size: 17px; }
  .ranking-player-score { margin-left: 0; padding-left: 45px; text-align: left; flex-basis: 100%; display: flex; gap: 10px; align-items: baseline; }
  .ranking-player-score strong { font-size: 22px; }
  .ranking-page .leaderboard-player-stats { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 14px 16px; gap: 15px; }
  .ranking-page .leaderboard-money { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid #e0e7f1; }
  .ranking-page .leaderboard-currency { display: inline-flex; margin-right: 16px; }
  .ranking-page .leaderboard-currency + .leaderboard-currency { border: 0; margin-top: 0; padding-top: 0; }
  .ranking-public-profile dl { grid-template-columns: minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { .tournament-catalogue-card .room-cover img { transition: none; } }
.ff-home-hero::before, .ff-home-hero::after { display: none; }
.ff-home-hero .hero-inner { flex-direction: row; }
.ff-home-hero h1 { font-style: normal; text-transform: none; }
.tournament-catalogue-card .tournament-description { color: #586273; }
.tournament-catalogue-card .tournament-organizer { color: #626c7b; }
.tournament-catalogue-card .tournament-card-facts .room-prize { color: #536078; }
svg.ff-emblem { width: 38px; height: 32px; mask: none; background: none; fill: #ffd348; }
.room-card.tournament-catalogue-card { padding: 0; gap: 0; }
.catalogue-reference-mode .page-head h1, .ranking-reference-mode .page-head h1 { font-size: clamp(32px,3.5vw,48px); font-weight: 900; letter-spacing: -.03em; }
@media(max-width:600px) { .catalogue-reference-mode .page-head h1, .ranking-reference-mode .page-head h1 { font-size: 32px; } }
.ranking-public-profile h2 { overflow-wrap: anywhere; white-space: normal; }
.tournament-catalogue-card a:focus-visible, .ranking-page .ranking-player-link:focus-visible { outline-color: #1263e8; }
/* Personal referral workspace: earnings are always shown by currency. */
.referral-v2 { max-width: 1060px; margin-inline: auto; display: grid; gap: 20px; }
.referral-v2.has-referral-dock { padding-bottom: calc(154px + env(safe-area-inset-bottom, 0px)); }
.referral-topbar { display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; align-items: center; gap: 14px; }
.referral-topbar h1 { font: 800 22px/1.3 var(--font); text-align: center; margin: 0; }
.referral-nav-button { display: inline-flex; align-items: center; justify-content: center; width: 48px; min-height: 48px; border-radius: 16px; border: 1px solid var(--border-strong); background: #14233d; color: var(--cyan); }
.referral-nav-button svg { width: 23px; height: 23px; }
.referral-hero { padding: 26px 12px 12px; text-align: center; }
.referral-hero .eyebrow { justify-content: center; margin-bottom: 17px; }
.referral-hero h2 { font: 800 clamp(31px,4.8vw,52px)/1.12 var(--font); letter-spacing: -1.7px; margin: 0; }
.referral-hero h2 em { font-style: normal; color: var(--cyan); }
.referral-hero p { max-width: 550px; margin: 22px auto 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.referral-hero p strong { color: var(--text); }
.referral-summary-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.referral-big-stat { display: flex; flex-direction: column; text-align: left; min-width: 0; padding: 26px; border: 1px solid #4da3ff2e; border-radius: 24px; background: linear-gradient(140deg,#182d50,#142138); color: var(--text); }
button.referral-big-stat:hover { background: #1b3154; border-color: #4da3ff80; }
.referral-big-stat > span { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: #c6d8f1; font-size: 15px; font-weight: 700; }
.referral-big-stat > span svg { width: 17px; height: 17px; }
.referral-big-stat > strong { display: block; margin: 17px 0 10px; font-size: clamp(26px,4.7vw,43px); font-weight: 800; line-height: 1.2; letter-spacing: -1px; overflow-wrap: anywhere; }
.referral-big-stat > small { color: var(--muted); font-size: 11px; line-height: 1.6; }
.referral-currency-total { display: block; }
.referral-currency-total + .referral-currency-total { margin-top: 8px; }
.referral-big-stat strong small { font-size: 12px; font-weight: 700; letter-spacing: 0; color: #b9d4f8; }
.referral-v2 .panel { margin: 0; border-radius: 22px; }
.referral-available { background: linear-gradient(120deg,#182d50,#12223c); border-color: #4da3ff47!important; }
.referral-available header h2 { margin: 8px 0 18px; }
.referral-available-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-block: 13px; border-top: 1px solid var(--border); }
.referral-available-row > div { min-width: 0; }
.referral-available-row strong { display: block; font-size: 27px; line-height: 1.4; font-weight: 800; overflow-wrap: anywhere; }
.referral-available-row strong small { color: #a8c7f0; font-size: 12px; }
.referral-available-row span { display: block; color: var(--muted); margin-top: 4px; font-size: 12px; }
.referral-available-row .btn { flex: 0 0 auto; min-height: 46px; }
.referral-available-row + .small { margin-top: 16px; }
.referral-details { min-width: 0; padding: 21px 24px; border: 1px solid var(--border-strong); background: var(--panel); border-radius: 22px; }
.referral-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; cursor: pointer; font-size: 15px; font-weight: 750; list-style: none; }
.referral-details > summary::-webkit-details-marker { display: none; }
.referral-details > summary svg { width: 18px; height: 18px; }
.referral-details > summary > span { color: var(--cyan); }
.referral-details[open] > summary { margin-bottom: 17px; }
.referral-request-record { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid var(--border); }
.referral-request-record > div { min-width: 0; }
.referral-request-record strong, .referral-request-record p { overflow-wrap: anywhere; }
.referral-request-amount { margin: 20px 0; font-size: 31px; font-weight: 800; color: var(--cyan); }
.referral-request-amount small { font-size: 13px; }
.referral-stage-counts { display: grid; gap: 0; margin-block: 20px; }
.referral-stage-counts > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 0; border-top: 1px solid var(--border); }
.referral-stage-counts dt { font-size: 13px; color: var(--muted); }
.referral-stage-counts dd { margin: 0; font-weight: 800; font-size: 22px; }
.referral-v2 .referral-how ol { grid-template-columns: minmax(0,1fr); gap: 22px; margin: 24px 0; }
.referral-v2 .referral-how li > span { width: 39px; height: 39px; border-radius: 50%; background: #1263e823; color: var(--cyan); font-size: 16px; }
.referral-v2 .referral-how li strong { font-size: 15px; }
.referral-v2 .referral-how li p { font-size: 13px; }
.referral-alias-input { display: flex; align-items: center; min-width: 0; width: 100%; border: 1px solid var(--border-strong); border-radius: 10px; background: #0c1626; }
.referral-alias-input > span { padding-left: 14px; font-size: 19px; font-weight: 800; color: var(--cyan); }
.referral-alias-input input { width: 100%; min-width: 0; border: 0; background: transparent; }
.referral-dock { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 24; display: flex; align-items: center; justify-content: space-between; gap: 22px; width: min(1060px,calc(100% - 32px)); padding: 18px 22px calc(18px + env(safe-area-inset-bottom, 0px)); border: 1px solid #4da3ff50; border-radius: 24px; background: #152743f5; box-shadow: 0 -12px 48px #040b1955; backdrop-filter: blur(16px); }
.referral-dock-identity { min-width: 0; }
.referral-dock-identity > span { color: #a9bedc; font-size: 11px; font-weight: 700; }
.referral-dock-identity > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.referral-alias-copy { display: inline-flex; align-items: center; gap: 11px; min-width: 0; min-height: 44px; padding: 3px 0; background: transparent; border: 0; color: var(--text); font-size: 22px; font-weight: 800; text-align: left; }
.referral-alias-copy > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.referral-alias-copy svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--cyan); }
.referral-alias-edit { min-height: 44px; padding: 8px!important; font-size: 11px; color: var(--cyan); flex: 0 0 auto; }
.referral-dock-actions { display: grid; grid-template-columns: repeat(3,auto); gap: 9px; flex: 0 0 auto; }
.referral-dock-actions .btn { min-height: 48px; padding: 12px 16px; font-size: 12px; white-space: nowrap; }
.referral-dock-actions svg { width: 19px; height: 19px; flex: 0 0 auto; }
body:has(dialog[open]) .referral-dock { visibility: hidden; }
.referral-qr-modal { text-align: center; }
.referral-qr-modal > p { margin-top: 13px; }
.referral-qr-image { width: fit-content; max-width: 100%; margin: 22px auto; padding: 10px; background: #fff; border-radius: 18px; }
.referral-qr-image svg { display: block; width: min(280px,100%); height: auto; max-width: 100%; }
.referral-qr-modal input { margin-top: 20px; width: 100%; }
.referral-qr-modal > .btn { margin-top: 14px; width: 100%; }
@media (max-width: 650px) {
  .referral-v2 { gap: 17px; }
  .referral-v2.has-referral-dock { padding-bottom: calc(210px + env(safe-area-inset-bottom, 0px)); }
  .referral-hero { padding: 23px 0 8px; }
  .referral-hero h2 { font-size: clamp(28px,7.9vw,39px); letter-spacing: -1px; }
  .referral-hero p { font-size: 12px; margin-top: 18px; }
  .referral-summary-pair { gap: 10px; }
  .referral-big-stat { padding: 19px 16px; border-radius: 20px; }
  .referral-big-stat > span { font-size: 13px; }
  .referral-big-stat > strong { font-size: 28px; letter-spacing: -.5px; margin-top: 13px; }
  .referral-big-stat > small { font-size: 10px; }
  .referral-available-row { flex-direction: column; align-items: stretch; gap: 12px; }
  .referral-available-row .btn { width: 100%; }
  .referral-details { padding: 16px 18px; }
  .referral-request-record { flex-direction: column; gap: 9px; }
  .referral-dock { bottom: 0; display: grid; grid-template-columns: minmax(0,1fr); width: 100%; gap: 10px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px)); border-radius: 24px 24px 0 0; border-bottom: 0; }
  .referral-dock-identity > div { justify-content: space-between; }
  .referral-alias-copy { flex: 0 1 auto; font-size: 21px; }
  .referral-dock-actions { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .referral-dock-actions .btn { min-width: 0; padding: 10px 7px; white-space: normal; font-size: 11px; gap: 6px; }
}
@media (max-width: 350px) { .referral-big-stat { padding: 16px 12px; } .referral-big-stat > strong { font-size: 25px; } .referral-dock-actions .btn { font-size: 10px; gap: 4px; } }
/* A simple inbox and an owner's private profile. */
.notification-sound-control{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 0;margin-top:20px;border-top:1px solid #638ec033}
.notification-sound-control>div{min-width:0}.notification-sound-control strong{font-size:14px}.notification-sound-control small{display:block;color:#a1b5d0;font-size:12px;line-height:1.5;max-width:470px;margin-top:6px}
.notification-sound-switch{display:flex;align-items:center;gap:10px;border:1px solid #6284ba66;background:#13273f;color:#d4e6ff;border-radius:30px;padding:8px 12px;min-height:44px;cursor:pointer;flex-shrink:0}.notification-sound-switch:focus-visible{outline:3px solid #4dc4ff;outline-offset:3px}.notification-sound-switch.is-on{background:#164e91;border-color:#4dc4ff;color:#e8f5ff}.notification-sound-switch:disabled{opacity:.55;cursor:default}
.sound-switch-track{display:flex;align-items:center;width:35px;height:22px;padding:3px;border-radius:20px;background:#3d5678}.sound-switch-track i{display:block;width:16px;height:16px;border-radius:50%;background:#c3d5ef;transition:transform .15s}.is-on .sound-switch-track{background:#287de5}.is-on .sound-switch-track i{transform:translateX(13px);background:#fff}
.notification-phone-options{padding:18px 22px;background:#122033;border:1px solid #507dad38;border-radius:18px;margin-top:18px}.notification-phone-options>summary,.notification-admin-diagnostics>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:600}.notification-phone-options>summary span{font-size:12px;color:#75bdff}.notification-phone-options[open]>summary{margin-bottom:12px}.notification-admin-diagnostics .panel{margin-top:16px}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.account-profile-header{display:flex;align-items:center;gap:20px;margin-bottom:22px;background:linear-gradient(120deg,#142f51,#102034)}.account-profile-header>div{flex:1;min-width:0}.account-profile-header h2{font-size:24px;overflow-wrap:anywhere;margin:6px 0}.profile-large-avatar{width:84px;height:84px;font-size:30px;flex-shrink:0;border:2px solid #4ba9ff88}.profile-creator-alias{margin:6px 0;color:#69bdff;font-weight:600}.profile-creator-alias small{font-weight:400;color:#9ab3d2;margin-left:6px}.profile-photo-current{display:block;width:150px;height:150px;object-fit:cover;border-radius:50%;margin:18px auto 24px;border:2px solid #75bbff55}.account-profile-data>header{margin-bottom:20px}.profile-game-fields{border-top:1px solid #6c95c733;margin-top:10px;padding-top:22px}.profile-game-fields>header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.profile-game-fields>header>span{width:44px;height:44px;background:#1761a533;border-radius:14px;display:grid;place-items:center;color:#66baff;flex-shrink:0}.profile-game-fields svg{width:22px;height:22px}.profile-game-fields h3{font-size:18px;margin:0}.profile-game-fields p{margin:5px 0}.profile-game-nickname{border-radius:14px;padding:14px;background:#0d1b2a;border:1px solid #4a76a233;display:grid;gap:7px}.profile-game-nickname span{font-size:12px;color:#92aac9}.profile-game-nickname strong{overflow-wrap:anywhere}
.referral-registration{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.referral-registration>p{grid-column:1/-1;margin:0}.referral-request-row{display:flex;gap:20px;justify-content:space-between;padding:20px 0;border-bottom:1px solid #678fc033}.referral-request-row>div{min-width:0}.referral-request-row>div:last-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.referral-request-row p{overflow-wrap:anywhere}
@media(max-width:650px){.account-profile-header{gap:14px;flex-wrap:wrap;padding:20px}.profile-large-avatar{width:64px;height:64px;font-size:24px}.account-profile-header>div{flex-basis:calc(100% - 80px)}.account-profile-header h2{font-size:21px}.account-profile-header>.btn{flex:1}.notification-sound-control{gap:12px}.notification-sound-control small{font-size:11px}.notification-sound-switch{gap:7px;padding:8px 10px}.referral-request-row{flex-direction:column;gap:10px}.referral-request-row>div:last-child{justify-content:flex-start}.referral-registration{grid-template-columns:1fr}.referral-registration>.btn{width:100%}}
.takenos-logo{width:36px;height:36px;object-fit:contain;border-radius:10px;flex-shrink:0}.payout-brand .takenos-logo{width:40px;height:40px;border-radius:12px}.payout-kind-option .takenos-logo{width:25px;height:25px;border-radius:7px}.receiving-choice .takenos-logo{width:38px;height:38px;border-radius:11px}.takenos-invitation{border:1px solid #6664b944;background:#231d423d;border-radius:18px;padding:18px;margin:8px 0}.takenos-invitation header,.takenos-recipient header{display:flex;align-items:center;gap:12px}.takenos-invitation h3{font-size:16px;margin:0 0 6px}.takenos-invitation header p{font-size:12px;color:#a3b4cf;margin:0;line-height:1.5}.takenos-invitation>.button-row{margin:16px 0 12px}.takenos-invitation>.small{margin-bottom:0}.takenos-recipient{display:grid;gap:10px;padding:16px;border-radius:16px;background:#121e35;border:1px solid #6680b43d;margin:14px 0}.takenos-recipient-value{font-size:18px;overflow-wrap:anywhere}.takenos-recipient .btn{justify-self:start}.takenos-recipient p{margin:0}.takenos-priority-note{font-size:11px;color:#85c4ff;border-left:2px solid #417fff;padding-left:10px;line-height:1.5}.referral-qr-display{background:#fff;border-radius:18px;padding:18px;text-align:center;margin:18px 0}.referral-qr-display svg{width:min(100%,280px);height:auto}.manual-copy{width:100%;padding:14px;color:#f2f7ff;background:#14273e;border:1px solid #638abb66;border-radius:12px}.payout-kind-picker:has([data-id=takenos]){grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:480px){.payout-kind-picker:has([data-id=takenos]){grid-template-columns:repeat(2,minmax(0,1fr))}.takenos-invitation>.button-row .btn{width:100%}}

/* Original payment logos retain their proportions; diamond art stays below its 64px source. */
.payment-mark { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: 0 0 36px; vertical-align: middle; }
.payment-mark img,.payment-mark svg { display: block; width: 100%; height: 100%; max-width: 40px; max-height: 40px; object-fit: contain; }
.payment-mark svg { color: #83bbff; }
.payment-mark--small { width: 24px; height: 24px; flex-basis: 24px; }
.payment-mark--diamond img { filter: drop-shadow(0 1px 4px #50caff2e); }
.payout-brand { min-width: 54px; height: 48px; padding-inline: 8px; }
.payout-brand .payment-mark svg { width: 30px; height: 30px; }
.payment-method-heading { display: flex; align-items: center; gap: 10px; min-width: 0; }
.payment-method-heading>strong,.payment-method-heading>span:not(.payment-mark),.payment-method-heading>h3 { min-width: 0; overflow-wrap: anywhere; }
.payment-method-heading>h3 { margin: 0; }
.collection-choice strong.payment-method-heading { margin-bottom: 5px; }
.method-selector-field { display: flex; align-items: center; gap: 12px; min-width: 0; }
.method-selector-field>.field { flex: 1; min-width: 0; }
.method-selector-field>[data-payment-mark-preview] { display: inline-flex; flex: 0 0 auto; align-self: center; padding: 7px; background: #14263d; border: 1px solid #508dd82b; border-radius: 12px; }
.diamond-value { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; }
.diamond-value>span:last-child { min-width: 0; overflow-wrap: anywhere; }
.tournament-card-facts .room-prize span.payment-mark { display: inline-flex; -webkit-line-clamp: unset; overflow: visible; }
.tournament-card-facts .room-prize .payment-mark { width: 20px; height: 20px; flex-basis: 20px; }
.leaderboard-diamonds>.payment-method-heading { justify-content: flex-start; gap: 7px; }
.diamond-reward-fields>h3 { margin: 0 0 6px; font-size: 15px; }
@media(max-width:480px) {
  .receiving-choice { gap: 10px; }
  .method-selector-field { gap: 9px; }
  .payment-method-heading { gap: 8px; }
  .event-facts .diamond-value { align-items: flex-start; gap: 5px; }
}

/* Organizational collection methods are grouped by their real currency. */
.collection-methods-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.collection-methods-heading>div:first-child { min-width: 0; }
.collection-methods-heading .button-row { flex-shrink: 0; margin: 0; }
.collection-currency-group { margin-top: 24px; }
.collection-currency-group>h3 { display: flex; align-items: center; gap: 9px; font-size: 15px; margin-bottom: 4px; }
.collection-currency-group>h3>span,.collection-currency-badge { background: #4da3ff26; color: #a9d8ff; border: 1px solid #4da3ff50; border-radius: 8px; padding: 4px 7px; font-size: 11px; font-weight: 700; flex-shrink: 0; }
.collection-method-card>div:first-child { flex: 1; min-width: 0; }
.collection-method-card>.button-row { flex-shrink: 0; align-self: start; justify-content: flex-end; }
.collection-method-card .takenos-recipient { margin-bottom: 0; }
.collection-choice.is-preparation { cursor: default; }
.collection-choice.is-preparation .small { color: #d6b47d; }
.takenos-legacy-reference { margin-block: 10px; color: var(--muted); }
@media(max-width:700px) {
  .collection-methods-heading,.collection-method-card { flex-direction: column; }
  .collection-methods-heading .button-row,.collection-method-card>.button-row { justify-content: flex-start; flex-wrap: wrap; width: 100%; }
  .collection-methods-heading .button-row>.btn { flex: 1; }
}

/* Administrative roles and payment origin share existing blue action styles. */
.administrator-management header { margin-bottom: 20px; }
.administrator-management .form-grid { margin: 16px 0 24px; }
.administrator-management h3 { margin: 24px 0 12px; }
.administrator-row, .delegated-room-shortcut { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(129,174,255,.15); }
.administrator-row > div:first-child, .delegated-room-shortcut > div { min-width: 0; }
.administrator-row strong, .administrator-row p, .delegated-room-shortcut strong { overflow-wrap: anywhere; }
.administrator-row p { margin: 6px 0 10px; }
.delegated-room-shortcut small { display: block; margin-top: 6px; color: var(--muted); }
.administrator-row .btn, .delegated-room-shortcut .btn { min-height: 44px; }
.tournament-owner { overflow-wrap: anywhere; }
.payment-origin-control { min-width: 0; padding: 16px; border: 1px solid rgba(55,159,255,.3); border-radius: 18px; background: rgba(28,90,200,.1); }
.payment-origin-control > .button-row { margin-top: 12px; }
.payment-origin-control .btn { min-height: 44px; }
.payment-origin-control .takenos-brand img { width: 26px; height: 26px; }
.takenos-bank-payment-help { padding-top: 16px; }
.takenos-bank-payment-help h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 1rem; }
.takenos-bank-payment-help p { margin: 10px 0; line-height: 1.6; }
.payment-origin-label { color: #88bdff; }
@media (max-width: 600px) {
  .administrator-row, .delegated-room-shortcut { flex-direction: column; align-items: stretch; gap: 12px; }
  .administrator-row .button-row, .administrator-row .btn, .delegated-room-shortcut .btn { width: 100%; }
  .administrator-row .button-row { display: flex; flex-direction: column; }
  .payment-origin-control { padding: 14px; }
  .payment-origin-control > .button-row { display: grid; grid-template-columns: 1fr; }
  .payment-origin-control > .button-row .btn { width: 100%; justify-content: center; }
  .administrator-label { max-width: 140px; overflow-wrap: anywhere; }
}
.proof-review-queue-summary { display: flex; flex-wrap: wrap; gap: 12px 18px; padding: 12px 0; color: var(--muted); font-size: .875rem; }
.proof-review-queue-summary strong { color: #a9caff; }

/* Libro: private case management and communication evidence. */
.complaint-management .form-grid { margin-top: 18px; }
.complaint-counts { display: flex; flex-wrap: wrap; gap: 12px 22px; padding-top: 16px; border-top: 1px solid var(--border); color: var(--muted); font-size: 13px; }
.complaint-counts strong { color: var(--text); margin-right: 5px; }
.complaint-response-status { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); overflow-wrap: anywhere; }
.complaint-response-status p { margin-top: 8px; }
.complaint-pagination { margin-top: 20px; align-items: center; }
#libro-receipt .form-note { margin-top: 18px; overflow-wrap: anywhere; }
#libro-receipt .form-note .recovery-code { margin-top: 12px; }
@media (max-width: 480px) {
  .complaint-management .form-grid { grid-template-columns: minmax(0,1fr); }
  .complaint-pagination { display: grid; grid-template-columns: minmax(0,1fr); }
  .complaint-pagination .btn, [data-libro-form] button[type=submit] { width: 100%; min-height: 44px; }
}

.previous-requests { margin-top: 24px; }
.previous-request-list { display: grid; gap: 14px; margin-block: 18px; }
.previous-request { padding: 18px; border: 1px solid var(--border); border-radius: 12px; background: #0b1725; min-width: 0; }
.previous-request h3 { margin: 5px 0; font-size: 16px; }
.previous-request .button-row { margin-top: 16px; }
.previous-request-detail { margin-top: 12px; }
.previous-request-detail summary { color: #9acfff; cursor: pointer; font-size: 13px; }
.previous-request-detail .freefire-recipient { margin-top: 12px; }
@media (max-width: 560px) {
  .previous-request { padding: 15px; }
  .previous-request > .item-row { flex-wrap: wrap; gap: 10px; align-items: flex-start; }
  .previous-request .button-row { align-items: stretch; }
  .previous-request .button-row .btn { flex: 1 1 180px; }
}

/* One clear review step before a new tournament reservation. */
.reservation-review-heading { margin-bottom: 18px; }
.reservation-review-heading > p { margin: 5px 0 0; color: #bcd1ec; overflow-wrap: anywhere; }
.reservation-review-summary { background: #10233d; border: 1px solid #4da3ff38; border-radius: 12px; padding: 16px; }
.reservation-review-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 18px; margin: 0; }
.reservation-review-facts > div { min-width: 0; }
.reservation-review-facts dt { color: #aac0dd; font-size: 12px; }
.reservation-review-facts dd { margin: 5px 0 0; font-weight: 700; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.reservation-review-facts small { display: block; font-weight: 400; color: #aac0dd; }
.reservation-review-summary h3, .reservation-review-rules h3 { font: 750 15px/1.4 var(--font); margin: 18px 0 8px; }
.reservation-review-summary .small, .reservation-review-rules .small { font-size: 13px; line-height: 1.65; }
.reservation-review-summary p { margin: 6px 0; }
.tournament-prize-list { margin: 0; display: grid; gap: 7px; }
.tournament-prize-list > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #4da3ff24; }
.tournament-prize-list dt { color: #bcd1ec; font-size: 13px; }
.tournament-prize-list dd { margin: 0; text-align: right; font-size: 14px; font-weight: 750; color: #e6f2ff; overflow-wrap: anywhere; }
.tournament-more { margin: 12px 0; }
.tournament-more > summary { color: #9fcfff; cursor: pointer; font-size: 13px; min-height: 32px; padding-block: 6px; }
.tournament-more > p { margin: 8px 0; }
.tournament-more > summary:focus-visible, .reservation-saved-conditions > summary:focus-visible, .event-rules > summary:focus-visible { outline: 2px solid #8fc8ff; outline-offset: 3px; border-radius: 3px; }
.reservation-review-rules { margin: 18px 0; scroll-margin-top: 16px; }
.reservation-review-rules > p { margin: 0; overflow-wrap: anywhere; }
.reservation-acceptance { align-items: flex-start; border: 1px solid #4da3ff48; border-radius: 10px; padding: 14px; background: #122943; line-height: 1.65; }
.reservation-acceptance input { flex-shrink: 0; width: 18px; height: 18px; margin-top: 3px; accent-color: #4da3ff; }
.reservation-data-note { margin: 0; font-size: 12px; }
.reservation-review-actions { border-top: 1px solid var(--border); padding-top: 12px; }
.reservation-review-actions .button-row { margin: 0; }
.reservation-review-actions .form-error:empty { margin: 0; }
.reservation-review-actions .small { font-size: 12px; margin-bottom: 0; }
.reservation-saved-conditions { margin-top: 16px; border-top: 1px solid var(--border); padding-top: 12px; }
.reservation-saved-conditions > summary { cursor: pointer; font-size: 13px; color: #9fcfff; min-height: 32px; padding-block: 6px; }
.reservation-saved-conditions[open] > .reservation-review-summary { margin-top: 12px; }
.event-prize-panel h2 { font: 800 19px/1.4 var(--font); }
.event-prize-panel + .event-rules { margin-top: 16px; }
.event-prize-panel .event-local-time { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); }
.server-guidance { margin: 0; }
.server-guidance .game-server-help { margin-top: 7px; }
.catalogue-entry-note { margin-top: 18px; }
@media(max-width:600px) {
  .reservation-review-summary { padding: 13px; }
  .reservation-review-facts { gap: 13px; }
  .reservation-review-facts > div:nth-child(n+3) { grid-column: 1 / -1; }
  .reservation-review-actions .button-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
  .reservation-review-actions .btn { width: 100%; }
  .reservation-acceptance { padding: 12px; }
  .tournament-prize-list dd { max-width: 65%; }
}

/* Private reservation management: real destinations and contextual conversations. */
.refund-destination { padding: 16px; margin-block: 14px; border: 1px solid #4da3ff45; border-radius: 12px; background: #101f34; overflow-wrap: anywhere; }
.refund-destination > header { display: flex; align-items: center; gap: 12px; }
.refund-destination h3 { margin: 3px 0; font: 750 16px/1.4 var(--font); }
.refund-destination .feature-icon { flex-shrink: 0; width: 38px; height: 38px; }
.refund-destination .feature-icon svg { width: 22px; height: 22px; }
.refund-destination .eyebrow { font-size: 10px; }
.refund-method-name { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 13px; }
.refund-destination-details dd { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.refund-destination-details dd > span { min-width: 0; flex: 1; }
.refund-destination .collection-qr-image { max-width: min(190px, 100%); height: auto; }
.refund-destination.is-compact { padding: 12px; }
.refund-confirmation-fields[hidden] { display: none; }
.refund-confirmation-fields .checkline { align-items: start; border: 1px solid #4da3ff48; background: #122943; border-radius: 10px; padding: 12px; }
.refund-confirmation-fields .checkline input { flex-shrink: 0; width: 18px; height: 18px; margin-top: 3px; accent-color: #4da3ff; }
#modal:has(.reservation-conversation) { width: min(1040px, calc(100% - 32px)); }
.reservation-conversation-head { display: flex; gap: 12px; align-items: center; padding: 0 30px 14px 0; border-bottom: 1px solid var(--border); }
.reservation-conversation-head > div { min-width: 0; flex: 1; }
.reservation-conversation-head h2 { margin: 3px 0; padding-right: 0 !important; overflow-wrap: anywhere; }
.reservation-conversation-head p { margin: 5px 0 0; overflow-wrap: anywhere; }
.conversation-avatar { background: #17365c; border: 1px solid #4da3ff60; color: #b2d9ff; flex-shrink: 0; }
.reservation-conversation-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 18px; padding-top: 16px; }
.reservation-conversation-main, .reservation-conversation-context { min-width: 0; }
.reservation-conversation-main .support-messages { max-height: 43dvh; min-height: 150px; padding: 8px 4px; }
.reservation-conversation-context { padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: #101b2c; align-self: start; overflow-wrap: anywhere; }
.reservation-conversation-context h3 { font: 750 16px/1.4 var(--font); margin-top: 0; }
.reservation-conversation-context .payout-details > div { display: block; }
.reservation-conversation-context .payout-details dd { margin-top: 5px; }
.reservation-conversation-context .refund-destination { margin-bottom: 0; }
.support-message.mine { background: #142e50; border-color: #4da3ff60; }
.support-message.received { background: #142338; }
.conversation-reply { margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--border); }
.conversation-reply .field { margin: 0; }
.conversation-reply textarea { min-height: 90px; resize: vertical; }
.conversation-compose-actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.conversation-compose-actions .btn, .conversation-archive-actions .btn { min-height: 44px; }
.conversation-archive-actions { margin-block: 10px 0; }
.conversation-readonly { margin-block: 14px; }
.reservation-history-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: end; margin-block: 18px 12px; }
.reservation-history-filters .field { margin: 0; }
.reservation-history-filters .btn { min-height: 44px; }
.reservation-history-list { display: grid; gap: 10px; }
.reservation-history-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr) minmax(80px, .65fr); gap: 16px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: #101e31; align-items: start; }
.reservation-history-identity { display: flex; align-items: start; gap: 12px; min-width: 0; }
.reservation-history-identity > div { min-width: 0; }
.reservation-history-identity h3 { font: 750 16px/1.4 var(--font); margin: 0 0 5px; overflow-wrap: anywhere; }
.reservation-history-identity p { margin: 3px 0; }
.reservation-history-art { width: 62px; height: 62px; border-radius: 10px; background: #173254; display: grid; place-items: center; flex-shrink: 0; overflow: hidden; color: #8bc9ff; }
.reservation-history-art img { width: 100%; height: 100%; object-fit: cover; }
.reservation-history-art svg { width: 28px; height: 28px; }
.reservation-history-state, .reservation-history-amount { display: grid; gap: 6px; align-items: start; justify-items: start; overflow-wrap: anywhere; }
.reservation-history-amount strong { font-size: 17px; }
.reservation-history-actions { grid-column: 1 / -1; border-top: 1px solid var(--border); padding-top: 12px; margin: 0; }
.reservation-history-actions .btn { min-height: 40px; }
.private-list-pages { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 18px; font-size: 13px; color: var(--muted); }
.notification-bell-link { position: relative; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #4da3ff55; background: #142e50; color: #9bceff; border-radius: 12px; flex-shrink: 0; }
.notification-bell-link svg { width: 22px; height: 22px; }
.notification-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding-inline: 4px; border-radius: 12px; background: #2e77c5; color: #fff; font: 750 11px/1 var(--font); }
.notification-count[hidden] { display: none; }
.notification-bell-link .notification-count { position: absolute; top: -4px; right: -5px; }
.private-menu-link .notification-count { margin-left: auto; }
.notification-center-heading { gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.notification-center-heading h2 { display: flex; align-items: center; gap: 9px; margin: 5px 0; }
.notification-center-heading h2 svg { width: 24px; height: 24px; color: #8bc9ff; }
.notification-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: start; gap: 12px; margin-block: 10px; padding: 15px; border: 1px solid #34465f; border-radius: 12px; background: #101d30; }
.notification-card.is-unread { background: #142c4c; border-color: #4da3ff66; box-shadow: inset 3px 0 #4da3ff; }
.notification-card.is-read { background: #101a2a; border-color: #29394e; }
.notification-event-icon { display: grid; place-items: center; width: 36px; height: 36px; color: #8bc9ff; background: #22466f55; border-radius: 10px; }
.notification-event-icon svg { width: 20px; height: 20px; }
.notification-card.is-read .notification-event-icon { background: #26354b; color: #a7b8d0; }
.notification-copy { min-width: 0; overflow-wrap: anywhere; }
.notification-copy header { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; }
.notification-copy header a { color: #e2efff; text-decoration: none; }
.notification-copy header a:hover { text-decoration: underline; }
.notification-copy time { color: var(--muted); font-size: 11px; }
.notification-copy p { margin: 8px 0 5px; font-size: 13px; line-height: 1.6; }
.notification-actions { margin: 0; justify-content: flex-end; }
.notification-actions .btn { min-height: 40px; }
.notification-recent-scope { margin-top: 14px; }
@media (max-width: 760px) {
  .reservation-conversation-layout { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .reservation-conversation-head { flex-wrap: wrap; }
  .reservation-conversation-head > .btn { margin-left: 50px; }
  .reservation-conversation-head h2 { font-size: 20px !important; }
  .reservation-conversation-context .payout-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .reservation-conversation-main .support-messages { max-height: 36dvh; }
  .reservation-history-row { grid-template-columns: minmax(0, 1fr) minmax(85px, .4fr); padding: 14px; gap: 12px; }
  .reservation-history-identity { grid-column: 1 / -1; }
  .reservation-history-identity h3 { font-size: 16px; }
  .reservation-history-state { min-width: 0; }
  .reservation-history-amount { text-align: right; justify-items: end; }
  .notification-card { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 13px; }
  .notification-event-icon { width: 32px; height: 32px; }
  .notification-actions { grid-column: 2; justify-content: start; }
  .notification-actions .btn { min-height: 44px; }
}
@media (max-width: 480px) {
  .reservation-history-filters { grid-template-columns: minmax(0, 1fr); }
  .reservation-history-actions .btn { min-height: 44px; flex: 1 1 auto; }
  .conversation-compose-actions { align-items: stretch; flex-direction: column; }
  .conversation-compose-actions .btn { width: 100%; }
  .refund-destination { padding: 12px; }
  .refund-destination-details dd { align-items: start; }
  #modal:has(.reservation-conversation) { width: calc(100% - 16px); padding: 18px 12px; }
}
