/* Sistema visual "Pulso" — carregado por último. Só apresentação: nenhuma regra de negócio.
   Claro e arejado nas telas de consulta e organização; azul-marinho com limão nos destaques, judge e telão.
   Prefixo .antialiased (classe do body): vence as camadas antigas sem !important. */
:root {
  --font-inter: "Plus Jakarta Sans", "Segoe UI", system-ui, Arial, sans-serif;
  --font-anton: var(--font-inter);
  --font-logo: "Anton", Impact, sans-serif;
  --background: #f4f6fb;
  --foreground: #0f172a;
  --surface: #ffffff;
  --surface-2: #eef2f8;
  --line: #d9e0ea;
  --line-strong: #7c8aa0;
  --muted: #475569;
  --brand: #1769e0;
  --brand-ink: #0f4fb0;
  --brand-soft: #e6f0ff;
  --brand-line: #5b8fdf;
  --navy: #0b1b33;
  --navy-2: #15294a;
  --navy-line: #33486b;
  --on-navy: #ffffff;
  --on-navy-muted: #c9d5e8;
  --lime: #c8f31d;
  --lime-ink: #a9d40a;
  --ok: #166534;
  --ok-soft: #dcfce7;
  --warn: #92400e;
  --warn-soft: #fef3c7;
  --danger: #b91c1c;
  --danger-soft: #fee2e2;
  --radius: 16px;
  --radius-control: 12px;
  --shadow: 0 1px 2px rgb(15 23 42 / .06), 0 6px 20px rgb(15 23 42 / .06);
  --shadow-up: 0 2px 4px rgb(15 23 42 / .08), 0 12px 28px rgb(15 23 42 / .1);
}

/* ---------- base ---------- */
body.antialiased { background: var(--background); color: var(--foreground); font-family: var(--font-inter); font-size: 16px; line-height: 1.5; }
.antialiased h1, .antialiased h2, .antialiased h3 { font-family: var(--font-inter); letter-spacing: -.015em; text-transform: none; }
.antialiased .title, .antialiased .organizer .title, .antialiased .desk-heading h1, .antialiased .start-heading h1, .antialiased .page-head h1 { font-family: var(--font-inter); font-size: clamp(26px, 3.2vw, 36px); font-weight: 800; line-height: 1.15; letter-spacing: -.02em; text-transform: none; color: var(--foreground); overflow-wrap: anywhere; }
.antialiased .sched-wod-title { font-family: var(--font-inter); font-size: 22px; font-weight: 800; text-transform: none; letter-spacing: -.01em; }
.antialiased .section-title { margin-top: 8px; font-size: 20px; font-weight: 800; color: var(--foreground); }
.antialiased .subtitle, .antialiased .muted, .antialiased .meta, .antialiased .hint { color: var(--muted); }
.antialiased .subtitle { font-size: 16px; }
.antialiased .small, .antialiased .hint { font-size: 14px; }
.antialiased .eyebrow { color: var(--brand-ink); font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.antialiased .crumb { min-height: 32px; color: var(--muted); font-size: 14px; font-weight: 600; }
.antialiased .crumb:hover { color: var(--brand-ink); }
.antialiased .link { color: var(--brand-ink); font-weight: 600; }
.antialiased :focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.antialiased input[type=checkbox], .antialiased input[type=radio] { accent-color: var(--brand); width: 20px; height: 20px; }

/* Barra superior */
.antialiased .topbar, .antialiased.organizer .topbar, .antialiased.starter .topbar { height: 68px; max-width: none; padding: 0 clamp(16px, 3vw, 32px); background: rgb(255 255 255 / .94); border-bottom: 1px solid var(--line); color: var(--foreground); box-shadow: 0 1px 2px rgb(15 23 42 / .04); }
.antialiased .topbar .logo, .logo { font-family: var(--font-logo); font-size: 24px; font-weight: 400; letter-spacing: .01em; text-transform: none; color: var(--foreground); }
.antialiased .topbar .logo span, .logo span { color: var(--brand); }
.antialiased .topbar-area { margin-left: 8px; padding: 4px 12px; background: var(--brand-soft); border-radius: 999px; color: var(--brand-ink); font-size: 13px; font-weight: 700; }
.antialiased .profile-switch { margin-right: 12px; color: var(--muted); font-size: 14px; font-weight: 600; }
.antialiased .topbar .who { color: var(--foreground); font-size: 14px; font-weight: 700; }
.antialiased .topbar .link { color: var(--brand-ink); font-size: 15px; }

/* Largura das páginas */
.antialiased .page { max-width: 760px; gap: 18px; padding: 24px 20px 56px; }
.antialiased.organizer .page { max-width: 1160px; padding: 28px 24px 56px; gap: 20px; }
.antialiased .page-head { display: flex; flex-direction: column; gap: 6px; }

/* ---------- botões: três tipos, sempre visíveis ---------- */
.antialiased .btn { min-height: 48px; padding: 10px 20px; background: var(--brand); border: 1.5px solid var(--brand); border-radius: var(--radius-control); color: #fff; font-size: 15px; font-weight: 700; box-shadow: 0 1px 2px rgb(15 23 42 / .15); transition: background .12s, border-color .12s, transform .06s; }
.antialiased .btn:hover { background: var(--brand-ink); border-color: var(--brand-ink); color: #fff; }
.antialiased .btn:active { transform: translateY(1px); }
.antialiased .btn.ghost, .antialiased .card .btn.ghost { background: var(--brand-soft); border-color: var(--brand-line); color: var(--brand-ink); box-shadow: none; }
.antialiased .btn.ghost:hover, .antialiased .card .btn.ghost:hover { background: #d3e4ff; border-color: var(--brand); color: var(--brand-ink); }
.antialiased .btn.danger, .antialiased .btn.danger-text, .antialiased .btn.ghost.danger-text { background: #fff; border-color: var(--danger); color: var(--danger) !important; box-shadow: none; }
.antialiased .btn.danger:hover, .antialiased .btn.ghost.danger-text:hover { background: var(--danger-soft); border-color: var(--danger); }
.antialiased .btn.small { min-height: 44px; padding: 8px 14px; font-size: 14px; }
.antialiased .btn:disabled, .antialiased .btn[disabled], .antialiased .btn:disabled:hover { background: #e2e8f0; border-color: #94a3b8; color: #475569; opacity: 1; box-shadow: none; }
.antialiased .icon-btn { min-width: 44px; min-height: 44px; background: var(--surface-2); border: 1.5px solid var(--line-strong); border-radius: 10px; color: var(--foreground); }
.antialiased .icon-btn.sm { min-width: 36px; min-height: 36px; }

/* Selos */
.antialiased .badge { padding: 4px 10px; background: #e2e8f0; border-radius: 999px; color: #334155; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.antialiased .badge.blue { background: var(--brand-soft); color: var(--brand-ink); }
.antialiased .badge.green { background: var(--ok-soft); color: var(--ok); }
.antialiased .badge.amber { background: var(--warn-soft); color: var(--warn); }
.antialiased .badge.red { background: var(--danger-soft); color: var(--danger); }
.antialiased .chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; background: var(--surface); border: 1.5px solid var(--line-strong); border-radius: 999px; color: var(--foreground); font-size: 14px; font-weight: 600; white-space: nowrap; }
.antialiased .chip:hover { border-color: var(--brand); color: var(--brand-ink); }
.antialiased .chip[aria-current] { background: var(--brand); border-color: var(--brand); color: #fff; }

/* Cartões e listas */
.antialiased .card, .antialiased.organizer .card { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.antialiased .card.soft { background: var(--surface-2); box-shadow: none; }
.antialiased .list { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.antialiased .list > li, .antialiased .list > a { min-height: 64px; padding: 14px 18px; border-color: var(--line); }
.antialiased .list .name { font-size: 16px; font-weight: 700; }
.antialiased .list .meta { font-size: 14px; color: var(--muted); }
.antialiased .chev { color: var(--muted); font-size: 20px; }
.antialiased .empty { padding: 32px 20px; background: var(--surface); border: 1.5px dashed var(--line-strong); border-radius: var(--radius); color: var(--muted); font-size: 15px; }
.antialiased div.empty { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.antialiased .flash { border-radius: var(--radius-control); font-size: 15px; font-weight: 500; }
.antialiased details.disclosure > summary { min-height: 44px; color: var(--brand-ink); font-size: 15px; font-weight: 700; }

/* Formulários */
.antialiased .field > label, .antialiased .label, .antialiased .field legend { color: var(--foreground); font-size: 14px; font-weight: 700; }
.antialiased .input, .antialiased .select, .antialiased .textarea, .antialiased.organizer .input, .antialiased.organizer .select { min-height: 48px; padding: 10px 14px; background: #fff; border: 1.5px solid var(--line-strong); border-radius: var(--radius-control); color: var(--foreground); font-size: 16px; }
.antialiased .input:focus, .antialiased .select:focus, .antialiased .textarea:focus { border-color: var(--brand); outline: 3px solid rgb(23 105 224 / .25); outline-offset: 0; }
.antialiased input::placeholder, .antialiased textarea::placeholder { color: #5b6880; opacity: 1; }
.antialiased .choice label { min-height: 48px; background: #fff; border: 1.5px solid var(--line-strong); border-radius: var(--radius-control); color: var(--foreground); font-size: 15px; font-weight: 600; }
.antialiased .choice label:has(input:checked) { background: var(--brand-soft); border-color: var(--brand); color: var(--brand-ink); }
.city-fields { display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 12px; }

/* Abas */
.antialiased .tabs, .antialiased.organizer .tabs { gap: 6px; margin-inline: 0; padding: 4px; background: var(--surface-2); border: 0; border-radius: 14px; }
.antialiased .tabs a, .antialiased.organizer .tabs a { display: flex; align-items: center; min-height: 40px; padding: 0 14px; background: transparent; border: 0; border-radius: 10px; color: var(--muted); font-size: 14px; font-weight: 700; }
.antialiased .tabs a:hover { color: var(--foreground); }
.antialiased .tabs a[aria-current], .antialiased.organizer .tabs a[aria-current] { background: #fff; color: var(--brand-ink); box-shadow: 0 1px 3px rgb(15 23 42 / .14); }
.antialiased .event-sections { gap: 28px; margin: 0; border-bottom: 1.5px solid var(--line); overflow-y: hidden; scrollbar-width: none; }
.antialiased .event-sections::-webkit-scrollbar { display: none; }
.antialiased .event-sections a { display: flex; align-items: center; min-height: 48px; padding: 0 2px; color: var(--muted); font-size: 16px; font-weight: 700; border-bottom-width: 3px; }
.antialiased .event-sections a[aria-current] { color: var(--brand-ink); border-color: var(--brand); }

/* Destaques em azul-marinho */
.antialiased .hero, .antialiased .overview-stage, .antialiased .live-stage, .antialiased .start-stage, .antialiased .nearby-event { background: var(--navy); border: 0; border-radius: 20px; color: var(--on-navy); box-shadow: var(--shadow-up); }
.antialiased .hero { padding: 24px; }
.antialiased .hero .title, .antialiased .overview-stage h2, .antialiased .live-stage h2, .antialiased .start-stage h2, .antialiased .nearby-event h2 { color: var(--on-navy); font-family: var(--font-inter); font-weight: 800; letter-spacing: -.02em; text-transform: none; }
.antialiased .hero p, .antialiased .hero .hero-k, .antialiased .overview-stage p, .antialiased .live-stage > p, .antialiased .stage-stats, .antialiased .start-stage .small, .antialiased .start-screen p, .antialiased .stage-footnote { color: var(--on-navy-muted); font-size: 14px; letter-spacing: 0; text-transform: none; }
.antialiased .hero .eyebrow, .antialiased .overview-stage .eyebrow, .antialiased .live-stage .eyebrow, .antialiased .start-stage .eyebrow, .antialiased .nearby-event .eyebrow { color: var(--lime); }
.antialiased .hero .btn, .antialiased .overview-stage .btn, .antialiased .live-stage .btn, .antialiased .nearby-event .btn, .antialiased .hero-stage .btn { background: var(--lime); border-color: var(--lime); color: var(--navy); }
.antialiased .hero .btn:hover, .antialiased .overview-stage .btn:hover, .antialiased .live-stage .btn:hover, .antialiased .nearby-event .btn:hover { background: var(--lime-ink); border-color: var(--lime-ink); color: var(--navy); }
.antialiased .hero .btn.ghost, .antialiased .overview-stage .btn.ghost, .antialiased .nearby-event .btn.ghost { background: var(--navy-2); border-color: #8ea3c4; color: #fff; }
.antialiased .hero .btn.ghost:hover, .antialiased .nearby-event .btn.ghost:hover { background: var(--navy-line); border-color: #fff; color: #fff; }
.antialiased .start-stage .stage-issue-link { color: #cfe2ff; }
.antialiased .start-stage .btn.ghost, .antialiased .start-finish { background: var(--navy-2) !important; border: 1.5px solid #8ea3c4 !important; color: #fff !important; }
.antialiased .start-play { background: var(--lime) !important; border-color: var(--lime) !important; color: var(--navy) !important; font-weight: 800; }
.antialiased .start-play:hover { background: var(--lime-ink) !important; }
.antialiased .stage-idle-clock, .antialiased .start-screen .countdown { color: #fff; font-family: var(--font-inter); font-weight: 800; letter-spacing: -.03em; }
.antialiased .stage-clock { font-family: var(--font-inter); font-weight: 800; letter-spacing: -.02em; }

/* ---------- entrada ---------- */
.antialiased .role-home { max-width: 1080px; margin: 0 auto; padding: 32px 24px 48px; gap: 24px; }
.antialiased .role-welcome { margin: 0; color: var(--muted); font-size: 15px; }
.antialiased .role-heading h1 { margin: 2px 0 4px; color: var(--foreground); font-size: clamp(28px, 3.6vw, 40px); font-weight: 800; letter-spacing: -.025em; }
.antialiased .role-heading > p:last-child { color: var(--muted); font-size: 16px; }
.antialiased .nearby-events { display: grid; gap: 16px; }
.antialiased .nearby-event { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: clamp(20px, 3vw, 32px); }
.nearby-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; font-size: 14px; }
.nearby-when { padding: 4px 12px; background: var(--lime); border-radius: 999px; color: var(--navy); font-size: 13px; font-weight: 800; }
.nearby-meta { color: var(--on-navy-muted); font-variant-numeric: tabular-nums; }
.antialiased .nearby-event h2 { margin: 0; font-size: clamp(24px, 3vw, 32px); }
.next-heat { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr); align-items: end; gap: 12px 40px; padding-top: 16px; border-top: 1px solid var(--navy-line); }
.next-heat-label { grid-column: 1 / -1; color: var(--on-navy-muted); font-size: 15px; font-weight: 500; }
.next-heat-time { font-size: clamp(60px, 10vw, 88px); font-weight: 800; line-height: .95; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.next-heat-facts { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 0 0 6px; }
.next-heat-facts dt { color: var(--on-navy-muted); font-size: 13px; }
.next-heat-facts dd { margin: 2px 0 0; font-size: 22px; font-weight: 800; overflow-wrap: anywhere; }
.nearby-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.antialiased .nearby-actions .btn { white-space: normal; }
.my-events { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.my-events h2 { margin: 0 0 8px; font-size: 20px; font-weight: 800; }
.my-events ul { margin: 0; padding: 0; list-style: none; }
.my-events li { border-top: 1px solid var(--line); }
.my-events li:first-child { border-top: 0; }
.my-events a { display: grid; grid-template-columns: 60px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 68px; padding: 10px 4px; border-radius: 10px; color: var(--foreground); }
.my-events a:hover { background: var(--brand-soft); }
.my-event-date { color: var(--brand-ink); font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.my-event-name strong { display: block; font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.my-event-name span { display: block; margin-top: 2px; color: var(--muted); font-size: 14px; }
.my-event-role { padding: 4px 10px; background: var(--brand-soft); border-radius: 999px; color: var(--brand-ink); font-size: 13px; font-weight: 700; }
.antialiased .home-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.antialiased .role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; background: none; border: 0; border-radius: 0; }
.antialiased .role-card, .antialiased .role-card:first-child { position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 0; padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); color: var(--foreground); }
.antialiased .role-card:last-child { border: 1px solid var(--line); }
.antialiased .role-card:hover { background: var(--surface); border-color: var(--brand); box-shadow: var(--shadow-up); transform: translateY(-2px); }
.antialiased .role-icon, .antialiased .role-card:nth-child(2) .role-icon, .antialiased .role-card:nth-child(3) .role-icon { position: static; display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 6px; background: var(--brand-soft); border-radius: 14px; color: var(--brand-ink); }
.antialiased .role-icon svg { width: 26px; height: 26px; }
.antialiased .role-card h2 { color: var(--foreground); font-size: 20px; font-weight: 800; }
.antialiased .role-card p { max-width: none; color: var(--muted); font-size: 15px; line-height: 1.5; }
.antialiased .role-link { position: static; margin-top: auto; padding-top: 12px; color: var(--brand-ink); font-size: 15px; font-weight: 700; transform: none; }
.antialiased .role-home-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 0; border: 0; }
.antialiased .role-home-footer > .link { color: var(--brand-ink); font-size: 15px; }
.antialiased .account-details { color: var(--muted); font-size: 15px; text-align: right; }
.antialiased .account-details summary { display: flex; align-items: center; justify-content: flex-end; min-height: 44px; font-weight: 600; }

/* ---------- busca de eventos ---------- */
.antialiased .events-page { max-width: 1080px; }
.event-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto; align-items: end; gap: 12px 16px; padding: 18px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.filter-check { display: flex; align-items: center; gap: 8px; min-height: 48px; font-size: 14px; font-weight: 600; white-space: nowrap; }
.filter-actions { display: flex; gap: 8px; }
.quick-dates { display: flex; gap: 8px; overflow-x: auto; padding: 2px; scrollbar-width: none; }
.event-results { display: flex; flex-direction: column; gap: 12px; }
.results-count { color: var(--muted); font-size: 14px; font-weight: 600; }
.event-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 460px), 1fr)); gap: 14px; }
.event-card { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px 16px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); color: var(--foreground); transition: border-color .12s, box-shadow .12s, transform .12s; }
.event-card:hover { border-color: var(--brand); box-shadow: var(--shadow-up); transform: translateY(-2px); }
.event-date { display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: start; padding: 8px 0; background: var(--navy); border-radius: 14px; color: #fff; line-height: 1.1; }
.event-date strong { font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; }
.event-date small { color: var(--on-navy-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.event-date small:last-child { color: var(--lime); }
.event-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.event-name { font-size: 18px; font-weight: 800; letter-spacing: -.01em; overflow-wrap: anywhere; }
.event-meta { color: var(--muted); font-size: 14px; }
.event-side { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.event-go { color: var(--brand-ink); font-size: 15px; font-weight: 700; }

/* ---------- classificação ---------- */
.antialiased .lb-page { max-width: 1240px; padding: 24px; gap: 18px; }
.lb-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; }
.lb-head h1 { margin: 0; font-size: clamp(26px, 3.2vw, 36px); font-weight: 800; line-height: 1.12; overflow-wrap: anywhere; }
.lb-head p { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
.lb-state { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: 14px; font-weight: 600; }
.lb-updated { color: var(--muted); font-variant-numeric: tabular-nums; }
.lb-updated.is-stale { color: var(--warn); font-weight: 700; }
.antialiased .sync-light { color: var(--ok); font-size: 14px; font-weight: 700; }
.antialiased .sync-light[hidden] { display: none; }
.lb-status { padding: 6px 12px; border-radius: 999px; font-size: 14px; font-weight: 700; }
.lb-status.is-provisional { background: var(--warn-soft); color: var(--warn); }
.lb-status.is-final { background: var(--ok-soft); color: var(--ok); }
.lb-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 2px; scrollbar-width: thin; }
.lb-tabs a { display: flex; align-items: center; flex: none; min-height: 44px; padding: 0 18px; background: var(--surface); border: 1.5px solid var(--line-strong); border-radius: 999px; color: var(--foreground); font-size: 15px; font-weight: 700; white-space: nowrap; }
.lb-tabs a:hover { border-color: var(--brand); color: var(--brand-ink); }
.lb-tabs a[aria-current] { background: var(--brand); border-color: var(--brand); color: #fff; }
.antialiased .lb-empty { padding: 32px 16px; background: var(--surface); border: 1.5px dashed var(--line-strong); border-radius: var(--radius); color: var(--muted); text-align: center; }
.lb-page #board { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.lb-scroll { position: relative; overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.lb-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px; text-align: left; }
.lb-table th, .lb-table td { padding: 14px 16px; border-top: 1px solid var(--line); vertical-align: middle; background: var(--surface); }
.lb-table thead th { border-top: 0; background: var(--navy); color: #fff; font-size: 13px; font-weight: 700; }
.lb-table .is-pos { position: sticky; left: 0; width: 72px; min-width: 72px; box-sizing: border-box; font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lb-table thead .is-pos, .lb-table thead .is-team, .lb-table thead .is-pts { font-size: 13px; font-weight: 700; }
.lb-table .is-team { position: sticky; left: 72px; min-width: 220px; font-size: 16px; font-weight: 700; overflow-wrap: anywhere; border-right: 1px solid var(--line); }
.lb-table .is-pts { width: 84px; color: var(--brand-ink); font-size: 24px; font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
.lb-table thead .is-pts { color: #fff; }
.lb-table .is-wod { min-width: 190px; border-left: 1px solid var(--line); }
.lb-table thead .is-wod { color: #fff; font-size: 15px; border-color: var(--navy-line); }
.lb-table thead .is-team { border-color: var(--navy-line); }
.lb-table tbody tr:nth-child(-n+3) .is-pos { color: var(--brand-ink); }
.lb-table tbody tr:hover td, .lb-table tbody tr:hover th { background: #f7faff; }
.lb-wod-index { display: block; margin-bottom: 2px; color: var(--on-navy-muted); font-size: 12px; font-weight: 600; }
.lb-result { display: flex; justify-content: space-between; gap: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lb-note { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; font-weight: 500; }
.lb-note.is-ok { color: var(--ok); font-weight: 600; }
.lb-note.is-wait { color: var(--warn); font-weight: 600; }
.lb-list { display: none; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.lb-columns, .lb-row > summary { display: grid; grid-template-columns: 44px minmax(0, 1fr) 60px 24px; align-items: center; column-gap: 4px; padding-inline: 14px; }
.lb-columns { padding-block: 10px; background: var(--navy); color: #fff; font-size: 13px; font-weight: 700; }
.lb-columns .is-right, .lb-row-pts { text-align: right; }
.lb-row { border-top: 1px solid var(--line); }
.lb-row > summary { min-height: 64px; padding-block: 8px; list-style: none; cursor: pointer; }
.lb-row > summary::-webkit-details-marker { display: none; }
.lb-row[open] { background: #f7faff; }
.lb-row-pos { font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lb-row-name { font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.lb-row-pts { color: var(--brand-ink); font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lb-chevron { justify-self: end; width: 9px; height: 9px; border-right: 2.5px solid var(--muted); border-bottom: 2.5px solid var(--muted); transform: rotate(45deg); transition: transform .12s; }
.lb-row[open] .lb-chevron { transform: rotate(225deg); }
.lb-row-detail { display: flex; flex-direction: column; gap: 12px; padding: 2px 14px 16px 62px; font-size: 15px; }
.lb-row-detail strong { display: block; margin-bottom: 2px; font-weight: 700; }
.lb-tap-hint { display: none; }
.lb-rule { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }

/* ---------- central do organizador ---------- */
.mesa-page { max-width: 1240px; margin: 0 auto; }
.antialiased .workspace-main.mesa-main { max-width: none; padding: 24px; gap: 18px; }
.antialiased .workspace-main .crumb { margin: 0; }
.antialiased .desk-heading, .antialiased .start-heading { align-items: flex-start; }
.mesa-kicker { color: var(--muted); font-size: 14px; font-weight: 600; }
.antialiased .desk-heading p, .antialiased .start-heading p { color: var(--muted); font-size: 15px; }
.mesa-nav { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 4px 24px; border-bottom: 1.5px solid var(--line); }
.antialiased .mesa-nav .event-sections { border: 0; }
.mesa-links { display: flex; flex-wrap: wrap; gap: 0 18px; }
.mesa-links a { display: flex; align-items: center; min-height: 44px; color: var(--brand-ink); font-size: 14px; font-weight: 700; }
.mesa-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 20px; }
.mesa-grid > * { min-width: 0; }
.mesa-heat { padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.mesa-heat-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; padding-bottom: 16px; }
.mesa-heat-head h2 { margin: 2px 0 4px; font-size: clamp(24px, 3vw, 32px); font-weight: 800; line-height: 1.12; overflow-wrap: anywhere; }
.mesa-heat-head p { color: var(--muted); font-size: 15px; }
.mesa-heat-go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.mesa-clock span { display: block; color: var(--muted); font-size: 13px; font-weight: 600; }
.antialiased .mesa-clock .stage-clock { display: block; padding: 0; color: var(--foreground); font-size: 40px; line-height: 1.05; font-variant-numeric: tabular-nums; }
.antialiased .stage-button { display: inline-flex; align-items: center; margin: 0; min-height: 52px; padding: 0 22px; font-size: 16px; }
.antialiased .mesa-lanes-wrap { position: relative; margin: 0; padding: 0; max-width: 100%; overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.mesa-lanes { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; text-align: left; }
.mesa-lanes thead th { padding: 10px 14px; background: var(--surface-2); color: #334155; font-size: 13px; font-weight: 700; }
.mesa-lanes tbody th, .mesa-lanes td { padding: 12px 14px; border-top: 1px solid var(--line); }
.mesa-lanes tbody th { font-weight: 700; overflow-wrap: anywhere; }
.mesa-lane-n { font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.mesa-sub { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }
.antialiased .is-good { color: var(--ok); font-weight: 700; }
.antialiased .is-warn { color: var(--warn); font-weight: 700; }
.mesa-lane-action a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand-ink); font-weight: 700; white-space: nowrap; }
.mesa-todo { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.mesa-todo h2 { margin: 0; font-size: 18px; font-weight: 800; }
.mesa-todo-list { margin-top: 10px; }
.mesa-todo-list a { display: flex; justify-content: space-between; gap: 12px; padding: 12px; margin-bottom: 8px; background: var(--warn-soft); border-radius: 12px; color: var(--foreground); }
.mesa-todo-list a:hover { outline: 2px solid var(--warn); outline-offset: -2px; }
.mesa-todo-list strong { display: block; font-size: 15px; font-weight: 700; }
.mesa-todo-list em { display: block; margin-top: 2px; color: var(--warn); font-size: 14px; font-style: normal; font-weight: 700; }
.mesa-todo-list b { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.mesa-todo-list p { padding: 12px; background: var(--ok-soft); border-radius: 12px; color: var(--ok); font-size: 15px; font-weight: 600; }
.mesa-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 6px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.mesa-stats dd { margin: 0; font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.mesa-stats dt { color: var(--muted); font-size: 13px; }

/* Tabelas e seções antigas de operação e organização */
.antialiased .section-heading h2, .antialiased .closing-card h2, .antialiased .results-entry h2, .antialiased .publication-card h2, .antialiased .queue-result h2 { font-size: 19px; font-weight: 800; letter-spacing: -.01em; }
.antialiased .section-heading p, .antialiased .closing-card p, .antialiased .queue-empty p { font-size: 14px; color: var(--muted); }
.antialiased .table th, .antialiased .operation-table th { padding: 12px 14px; background: var(--surface-2); color: #334155; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.antialiased .table td, .antialiased .operation-table td { padding: 14px; border-color: var(--line); font-size: 15px; }
.antialiased .operation-table .small, .antialiased .operation-table .muted { font-size: 13px; }
.antialiased .operation-table .btn { min-height: 44px; font-size: 14px; }
.antialiased .current-row { background: var(--brand-soft); }
.antialiased .schedule-adjust summary { color: var(--brand-ink); font-size: 15px; font-weight: 700; }
.antialiased .checkin-person { background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.antialiased .checkin-person strong { font-size: 16px; font-weight: 700; }
.antialiased .checkin-person .small { font-size: 14px; }
.antialiased .checkin-person.is-present { background: #f0fdf4; border-color: #86efac; }
.antialiased .checkin-person.is-withdrawn { background: var(--surface-2); border: 1.5px dashed var(--line-strong); }
.antialiased .checkin-person.is-withdrawn strong { color: var(--muted); }
.antialiased .checkin-person button.link { min-height: 44px; color: var(--brand-ink); font-size: 14px; font-weight: 700; }
.antialiased #console-connection { color: var(--muted); font-size: 14px; }
.antialiased .review-progress { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.antialiased .review-step { color: var(--muted); font-size: 14px; font-weight: 600; }
.antialiased .review-step b { background: var(--surface-2); color: #334155; }
.antialiased .review-step.active { color: var(--brand-ink); font-weight: 700; }
.antialiased .review-step.active b { background: var(--brand); color: #fff; }
.antialiased .review-step strong { background: var(--brand-soft); color: var(--brand-ink); font-size: 13px; }
.antialiased .queue-card { background: var(--surface); }
.antialiased .queue-filters .label { font-size: 14px; }
.antialiased .queue-tabs { background: transparent; border-color: var(--line); }
.antialiased .queue-tabs a { min-height: 48px; color: var(--muted); font-size: 14px; font-weight: 700; }
.antialiased .queue-tabs a[aria-current=page] { border-color: var(--brand); color: var(--brand-ink); }
.antialiased .queue-tabs span { background: var(--surface-2); color: #334155; font-size: 12px; font-weight: 700; }
.antialiased .queue-result { border-color: var(--line); }
.antialiased .queue-result-top .small { color: var(--muted); font-size: 14px; }
.antialiased .queue-result-score > strong { font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; }
.antialiased .queue-secondary > .link, .antialiased .queue-secondary summary, .antialiased .queue-history summary { color: var(--brand-ink); font-size: 14px; font-weight: 600; }
.antialiased .dispute-note { background: var(--warn-soft); border-left-color: var(--warn); color: #713f12; font-size: 14px; }
.antialiased .publication-pending { background: var(--warn-soft); color: #713f12; font-size: 14px; }
.antialiased .empty-check { background: var(--ok-soft); color: var(--ok); }
.antialiased .queue-empty h2 { font-weight: 800; }
.antialiased .start-issues { background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #d97706; }
.antialiased .start-issues h2 { color: var(--warn); font-weight: 800; }
.antialiased .start-issues > div > p, .antialiased .issue-list span { color: var(--foreground); font-size: 14px; }
.antialiased .start-issues > div > p { color: var(--muted); }
.antialiased .issue-list li { border-color: var(--line); }
.antialiased .issue-list a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand-ink); font-size: 14px; font-weight: 700; }
.antialiased.starter { background: var(--background); color: var(--foreground); }
.antialiased .start-workspace { max-width: 1240px; }
.antialiased.starter .topbar .jbtn { min-height: 44px; background: var(--brand-soft); border: 1.5px solid var(--brand-line); border-radius: var(--radius-control); color: var(--brand-ink); font-size: 14px; font-weight: 700; display: inline-flex; align-items: center; }
.antialiased .start-brief, .antialiased .start-lanes, .antialiased .ready-controls { background: var(--surface); border-color: var(--line); border-radius: var(--radius); box-shadow: var(--shadow); color: var(--foreground); }
.antialiased .start-brief h2 { font-weight: 800; }
.antialiased .briefing-checklist { color: var(--muted); font-size: 15px; }
.antialiased .start-screen h2 { color: #fff; }
.antialiased .start-lanes .live-lane { background: #fff; border-color: var(--line); color: var(--foreground); }
.antialiased .lane-number { background: var(--surface-2); color: #334155; font-weight: 800; }
.antialiased .live-lane .small { font-size: 14px; }
.antialiased .lane-score > strong { font-weight: 800; }
.antialiased .ready-controls summary { min-height: 44px; font-weight: 700; }
.antialiased .reg-grip { color: var(--muted); }
.antialiased button.badge, .antialiased .badge.reg-roster-toggle { min-height: 36px; padding: 4px 12px; border: 1.5px solid currentColor; cursor: pointer; }
.antialiased .reg-roster-toggle:hover { filter: brightness(.96); }
.antialiased .review-status-label { color: var(--muted); font-size: 13px; }
.antialiased .preview { background: var(--navy); font-family: var(--font-inter); font-weight: 800; text-transform: none; }
.antialiased .prose h2 { font-family: var(--font-inter); font-weight: 800; text-transform: none; }

/* Telas de acesso */
.auth-page { display: flex; flex-direction: column; justify-content: center; gap: 18px; width: 100%; max-width: 440px; min-height: 100vh; margin: 0 auto; padding: 24px 16px; }
.auth-logo { align-self: center; font-size: 36px; }
.auth-card { display: flex; flex-direction: column; gap: 14px; padding: 28px 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-up); }
.auth-card h1 { font-size: 26px; font-weight: 800; letter-spacing: -.02em; }
.auth-card form { display: flex; flex-direction: column; gap: 14px; }
.auth-card .btn { width: 100%; }
.auth-switch { color: var(--brand-ink); font-size: 15px; font-weight: 700; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.auth-error { color: var(--danger); font-size: 14px; font-weight: 600; }
.auth-info { color: var(--brand-ink); font-size: 14px; font-weight: 600; }
.auth-boxes { display: flex; flex-direction: column; gap: 6px; max-height: 14rem; overflow-y: auto; padding: 8px; border: 1.5px solid var(--line-strong); border-radius: var(--radius-control); }
.auth-boxes label { display: flex; align-items: center; gap: 8px; min-height: 40px; }
.auth-card fieldset { display: flex; flex-direction: column; gap: 8px; }
.auth-card legend { font-size: 14px; font-weight: 700; }

/* ---------- judge: escuro, alto contraste, toque com pressa ---------- */
body.antialiased.judge:not(.starter) { background: var(--navy); color: #fff; }
.antialiased.judge:not(.starter) .topbar { height: 60px; background: var(--navy); border-color: var(--navy-line); box-shadow: none; color: #fff; }
.antialiased.judge:not(.starter) .logo { color: #fff; }
.antialiased.judge:not(.starter) .logo span { color: #6fb0f5; }
.antialiased.judge:not(.starter) .topbar-area { background: var(--navy-2); color: #fff; }
.antialiased.judge:not(.starter) .topbar .who, .antialiased.judge:not(.starter) .profile-switch { color: #fff; }
.antialiased.judge:not(.starter) .topbar .jbtn { min-height: 44px; background: var(--navy-2); border: 1.5px solid #8ea3c4; border-radius: var(--radius-control); color: #fff; display: inline-flex; align-items: center; font-size: 14px; font-weight: 700; }
.antialiased .jwrap { gap: 12px; padding: 12px 16px max(16px, env(safe-area-inset-bottom)); }
.antialiased .jhead { align-items: flex-start; padding-bottom: 12px; border-bottom: 1px solid var(--navy-line); }
.antialiased .jhead .lane { color: var(--on-navy-muted); font-size: 14px; }
.antialiased .jhead .athlete { margin-top: 2px; font-size: 19px; font-weight: 800; overflow-wrap: anywhere; }
.antialiased .jwrap .sync { flex: none; color: #fff; font-size: 13px; font-weight: 700; }
.antialiased .jwrap .jstat { gap: 8px; }
.antialiased .jwrap .jstat > div { padding: 10px 12px; background: var(--navy-2); border: 0; border-radius: 12px; }
.antialiased .jwrap .jstat .k { color: var(--on-navy-muted); font-size: 13px; letter-spacing: 0; text-transform: none; }
.antialiased .jwrap .jstat .v { margin-top: 2px; font-family: var(--font-inter); font-size: 34px; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.antialiased .jwrap .bigbtn, .antialiased .jwrap .bigbtn.green { background: var(--lime); border-radius: 20px; color: var(--navy); font-family: var(--font-inter); font-size: clamp(30px, 9vw, 52px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; text-transform: none; }
.antialiased .jwrap .bigbtn small { margin-top: 4px; color: var(--navy); font-size: 16px; font-weight: 600; opacity: 1; }
.antialiased .jwrap .bigbtn:active, .antialiased .jwrap .bigbtn.green:active { background: var(--lime-ink); }
.antialiased .jwrap .bigbtn.rest, .antialiased .jwrap .bigbtn:disabled.rest { background: var(--navy-2); color: var(--on-navy-muted); }
.antialiased .jwrap .bigbtn:disabled { background: var(--navy-2); color: var(--on-navy-muted); opacity: 1; }
.antialiased .jwrap .bigbtn:disabled small { color: var(--on-navy-muted); }
.antialiased .jwrap .countdown { color: var(--lime); font-family: var(--font-inter); font-weight: 800; letter-spacing: -.03em; }
.antialiased .jwrap .jstate { padding: 12px 0; }
.antialiased .jwrap .jstate h2 { color: #fff; font-size: 28px; font-weight: 800; line-height: 1.15; }
.antialiased .jwrap .jstate p { color: #e2e8f0; font-size: 15px; line-height: 1.45; }
.antialiased .jwrap .jstate label { width: 100%; color: #fff; font-size: 14px; font-weight: 700; text-align: left; }
.antialiased .jwrap .jfoot { width: 100%; }
.antialiased .jwrap .jfoot .grow { color: var(--on-navy-muted); font-size: 14px; text-align: left; }
.antialiased .jwrap .jbtn { min-height: 52px; background: var(--navy-2); border: 1.5px solid #8ea3c4; border-radius: var(--radius-control); color: #fff; font-size: 15px; font-weight: 700; }
.antialiased .jwrap .jbtn:active { background: var(--navy-line); }
.antialiased .jwrap .jbtn.primary, .antialiased .jwrap .jbtn#confirm { background: var(--lime); border-color: var(--lime); color: var(--navy); }
.antialiased .jwrap .jbtn.primary:active, .antialiased .jwrap .jbtn#confirm:active { background: var(--lime-ink); }
.antialiased .jwrap .jbtn.ok { background: #15803d; border-color: #15803d; color: #fff; }
.antialiased .jwrap .jbtn.block { min-height: 56px; font-size: 16px; }
.antialiased .jwrap .jbtn#confirm { min-height: 64px; font-size: 17px; font-weight: 800; }
.antialiased .jwrap .jbtn:disabled { background: var(--navy-2); border-color: var(--navy-line); color: var(--on-navy-muted); opacity: 1; }
.antialiased .jwrap .loadpad button { min-height: 52px; background: var(--navy-2); border: 1.5px solid #8ea3c4; border-radius: var(--radius-control); color: #fff; }
.antialiased .jwrap .loadpad button:active { background: var(--navy-line); }
.antialiased .jwrap .loadval { color: #fff; font-family: var(--font-inter); font-weight: 800; letter-spacing: -.02em; }
.antialiased .jwrap .loadval small { color: var(--on-navy-muted); }
.antialiased .jwrap .jinput { background: var(--navy-2); border: 1.5px solid #8ea3c4; border-radius: var(--radius-control); color: #fff; font-family: var(--font-inter); font-weight: 800; }
.antialiased .jwrap .jinput::placeholder { color: var(--on-navy-muted); }
.antialiased .jwrap .jinput#dispute-reason { margin-top: 6px; min-height: 48px; padding: 12px; font-size: 16px; font-weight: 500; text-align: left; }
.antialiased .jwrap .summary { padding: 8px 0; background: none; text-align: center; }
.antialiased .jwrap .summary .lane { color: var(--on-navy-muted); font-size: 14px; }
.antialiased .jwrap .summary .big { color: #fff; font-family: var(--font-inter); font-size: clamp(44px, 15vw, 72px); font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.antialiased .jwrap .partnow { background: var(--navy-2); border-radius: 16px; }
.antialiased .jwrap .partnow.rest { background: #101f38; }
.antialiased .jwrap .partnow .step { color: var(--on-navy-muted); letter-spacing: 0; text-transform: none; }
.antialiased .jwrap .partnow .title { color: #fff; font-family: var(--font-inter); font-size: clamp(22px, 7vw, 30px); font-weight: 800; line-height: 1.15; text-transform: none; }
.antialiased .jwrap .partnow .left { color: var(--lime); font-family: var(--font-inter); font-weight: 800; letter-spacing: -.02em; }
.antialiased .jwrap .partlist { color: #e2e8f0; }
.antialiased .jwrap .partlist > div { align-items: center; min-height: 44px; padding: 6px 12px; background: #101f38; border-radius: 10px; }
.antialiased .jwrap .partlist > div.now { background: var(--navy-line); color: #fff; }
.antialiased .jwrap .lanes > div { background: var(--navy-2); border-radius: 12px; }
.antialiased .jwrap .lanes .lv { font-family: var(--font-inter); font-weight: 800; }
.antialiased.judge .flash.error { background: #4c1518; color: #fecaca; }

/* ---------- telão: leitura à distância, escala pela altura da tela ---------- */
.antialiased.judge:has(.telao-arena) { background: var(--navy); }
.telao-arena { --u: min(1vh, .5625vw); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto minmax(0, 1fr); background: var(--navy); color: #fff; font-family: var(--font-inter); }
.t-top { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: calc(var(--u) * 3); padding: calc(var(--u) * 2.2) calc(var(--u) * 5); border-bottom: 2px solid var(--navy-line); }
.t-brand { display: flex; align-items: center; gap: calc(var(--u) * 3); min-width: 0; }
.telao-arena .logo { flex: none; color: #fff; font-size: calc(var(--u) * 4); }
.telao-arena .logo span { color: #6fb0f5; }
.telao-arena .t-event { overflow: hidden; color: #fff; font-size: calc(var(--u) * 3.2); font-weight: 800; letter-spacing: -.01em; text-overflow: ellipsis; text-transform: none; white-space: nowrap; }
.t-state { display: flex; flex: none; align-items: center; gap: calc(var(--u) * 2.5); font-size: calc(var(--u) * 2.4); font-weight: 700; font-variant-numeric: tabular-nums; }
.t-status { padding: calc(var(--u) * .7) calc(var(--u) * 1.8); background: var(--warn-soft); border-radius: 999px; color: var(--warn); }
.t-status.is-final { background: var(--ok-soft); color: var(--ok); }
.t-live.is-stale { color: #fcd34d; }
.t-standings { display: flex; flex-direction: column; min-height: 0; padding: calc(var(--u) * 3) calc(var(--u) * 5); }
.t-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: calc(var(--u) * 2); }
.t-section-head h1 { margin: 0; overflow: hidden; color: #fff; font-size: calc(var(--u) * 4.6); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.t-section-head span { flex: none; color: var(--on-navy-muted); font-size: calc(var(--u) * 2.5); font-weight: 600; }
.t-standings-cols, #t-standings li { display: grid; grid-template-columns: calc(var(--u) * 10) minmax(0, 1fr) calc(var(--u) * 14); align-items: center; }
.t-standings-cols { padding-block: calc(var(--u) * 2) calc(var(--u) * 1); border-bottom: 2px solid var(--navy-line); color: var(--on-navy-muted); font-size: calc(var(--u) * 2.3); font-weight: 700; }
.t-standings-cols span:last-child { text-align: right; }
#t-standings { flex: 1 1 auto; display: grid; grid-template-rows: repeat(8, minmax(0, 1fr)); min-height: 0; margin: 0; padding: 0; list-style: none; }
#t-standings li { min-height: 0; border-bottom: 1px solid var(--navy-line); }
#t-standings li.t-empty { display: block; padding-top: calc(var(--u) * 3); border: 0; color: var(--on-navy-muted); font-size: calc(var(--u) * 3); }
.t-rank { font-size: calc(var(--u) * 4.4); font-weight: 800; font-variant-numeric: tabular-nums; }
#t-standings li:nth-child(-n+3) .t-rank { color: var(--lime); }
.t-standings .t-name { font-size: calc(var(--u) * 3.8); font-weight: 700; }
.t-points { font-size: calc(var(--u) * 5); font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
.t-court { display: flex; flex-direction: column; min-height: 0; padding: calc(var(--u) * 3) calc(var(--u) * 5); background: var(--navy-2); }
.telao-arena .t-clock { display: block; padding: 0; text-align: left; }
.telao-arena .t-heat { overflow-wrap: anywhere; font-family: var(--font-inter); font-size: calc(var(--u) * 3.6); font-weight: 800; line-height: 1.15; text-transform: none; }
.telao-arena .t-time { margin-top: calc(var(--u) * .8); color: var(--lime); font-family: var(--font-inter); font-size: calc(var(--u) * 15); font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.telao-arena .t-time.over { color: #fcd34d; }
.telao-arena .t-sub { margin-top: calc(var(--u) * .6); color: var(--on-navy-muted); font-size: calc(var(--u) * 2.4); }
.telao-arena .t-board { flex: 1 1 auto; min-height: 0; margin-top: calc(var(--u) * 2); padding: 0; }
.telao-arena .t-board ol { height: 100%; margin: 0; padding: 0; list-style: none; gap: 0; grid-auto-rows: minmax(0, calc(100% / var(--rows))); }
.telao-arena .t-board li { grid-template-columns: calc(var(--u) * 7) minmax(0, 1fr) auto; gap: calc(var(--u) * 1.5); min-height: 0; padding: 0; background: none; border-top: 1px solid var(--navy-line); border-radius: 0; font-family: var(--font-inter); font-size: min(calc(var(--u) * 3.4), calc(var(--u) * 24 / var(--rows))); font-weight: 700; text-transform: none; }
.telao-arena .t-board li:first-child .t-pos, .telao-arena .t-pos { color: var(--on-navy-muted); font-weight: 800; }
.telao-arena .t-score { font-size: 1.2em; font-weight: 800; }
/* Nome longo quebra em até 2 linhas no mesmo tamanho (legível de longe), em vez de cortar com "…". */
.telao-arena .t-name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; overflow-wrap: break-word; white-space: normal; line-height: 1.15; }
.telao-arena .t-board li.t-empty { grid-template-columns: 1fr; color: var(--on-navy-muted); text-align: left; }
.telao-arena .t-exit { top: calc(var(--u) * .5); right: calc(var(--u) * .8); color: var(--on-navy-muted); }
@media (orientation: portrait) {
  .telao-arena { --u: min(.62vh, 1vw); position: static; min-height: 100dvh; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; align-content: start; }
  .antialiased.judge:has(.telao-arena) { overflow: auto; }
  .telao-arena .t-top { padding-right: 40px; }
  .t-court { order: 1; }
  .t-standings { order: 2; }
  #t-standings { grid-template-rows: none; grid-auto-rows: calc(var(--u) * 11); }
  .telao-arena .t-board ol { height: auto; grid-auto-rows: calc(var(--u) * 9); }
}

/* ---------- celular e telas médias ---------- */
@media (max-width: 1000px) {
  .mesa-grid { grid-template-columns: minmax(0, 1fr); }
  .mesa-todo { order: -1; }
  .event-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-filters .field:nth-child(3), .filter-check, .filter-actions { grid-column: 1 / -1; }
  .antialiased .role-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .antialiased .lb-page { padding: 16px; }
  .lb-scroll { display: none; }
  .lb-list { display: block; }
  .lb-tap-hint { display: block; margin: 0; color: var(--muted); font-size: 14px; }
}
@media (max-width: 600px) {
  .antialiased .topbar, .antialiased.organizer .topbar, .antialiased.starter .topbar { height: 60px; gap: 8px; }
  .antialiased .topbar .logo, .logo { font-size: 22px; }
  .antialiased .topbar-area { margin-left: 2px; padding: 3px 9px; font-size: 12px; }
  .antialiased .profile-switch { margin-right: 2px; font-size: 13px; }
  .antialiased .page, .antialiased.organizer .page { padding: 18px 16px 40px; gap: 16px; }
  .antialiased .role-home { padding: 20px 16px 32px; gap: 18px; }
  .antialiased .workspace-main.mesa-main { padding: 16px; }
  .mesa-heat { padding: 16px; }
  .mesa-heat-go { width: 100%; justify-content: space-between; }
  .next-heat { grid-template-columns: minmax(0, 1fr); }
  .antialiased .account-details { text-align: left; }
  .antialiased .account-details summary { justify-content: flex-start; }
  .antialiased .role-home-footer { flex-direction: column; }
  .filter-actions .btn { flex: 1; }
  .event-filters input[type=date] { padding-inline: 8px; font-size: 14px; }
  .event-card { grid-template-columns: 64px minmax(0, 1fr); padding: 16px; }
  .antialiased.judge:not(.starter) .profile-switch { display: none; }
  .antialiased .reg-status, .antialiased .reg-name { min-height: 44px; }
  .antialiased .reg-actions .icon-btn, .antialiased .reg-actions .icon-btn.sm, .antialiased .reg-del { min-width: 44px; min-height: 44px; }
  .antialiased .badge.reg-roster-toggle { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .event-card, .antialiased .btn, .lb-chevron, .antialiased .role-card { transition: none; }
  .event-card:hover, .antialiased .role-card:hover { transform: none; }
}
