/* Stations: weigh-in, announcer, and concessions & vendors (vendor page and item editor) */

body.screen-station { background: #f3f5f9; }
.st-login { min-height: 100vh; display: grid; place-items: center; padding: 16px; }
.st-login-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px; width: min(420px, 100%); display: grid; gap: 10px; box-shadow: 0 10px 30px rgba(16,24,40,.08); }
.st-login-card h1 { margin: 0; font-size: 24px; }
.st-login-card form { display: grid; gap: 10px; }
.st-login-card input { font-size: 22px; letter-spacing: .12em; text-transform: uppercase; min-height: 48px; }
/* the hint in an empty box is plain text: spacing and capitals would cut it off */
.st-login-card input::placeholder { letter-spacing: 0; text-transform: none; font-size: 16px; }
.st-login-card .btn { min-height: 48px; font-size: 18px; justify-content: center; }
.st-brand { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #667085; }
.st-bar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 16px; background: #0f1b2d; color: #fff; }
.st-title { display: flex; flex-direction: column; }
.st-title b { font-size: 18px; }
.st-title span { font-size: 12px; color: #9fb0c7; }
.st-tools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.st-tools .check { color: #fff; }
.st-tools select { max-width: 180px; }
/* the same pill as the mat table's */
.st-conn { font-size: 11px; padding: 2px 9px; border-radius: 99px; font-weight: 700; background: #5a1a1f; color: #ffb4b9; white-space: nowrap; }
.st-conn.on { background: #134e2c; color: #7ef0ae; }
.st-tabs { display: flex; gap: 4px; padding: 8px 16px 0; background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 58px; z-index: 19; overflow-x: auto; }
.st-tabs button { border: 0; background: none; font: inherit; font-weight: 700; padding: 10px 14px; border-bottom: 3px solid transparent; cursor: pointer; color: #475467; white-space: nowrap; }
.st-tabs button.on { color: var(--accent, #2563eb); border-color: var(--accent, #2563eb); }
.st-main { padding: 16px; max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.st-main h2 { font-size: 16px; margin: 0 0 6px; }
.an-mats { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 12px; }
@media (max-width: 1100px) { .an-mats { grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); } }
.an-mat { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px; display: grid; gap: 8px; align-content: start; }
.an-mat-h { display: flex; gap: 8px; align-items: baseline; }
.an-mat-h b { font-size: 18px; }
.an-call { border: 1px solid var(--line2, #eef0f3); border-radius: 10px; padding: 8px 10px; display: grid; gap: 6px; }
.an-call.done { background: #f6fef9; border-color: #b7ebc8; }
.an-call-h { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.an-kind { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; background: #0f1b2d; color: #fff; border-radius: 6px; padding: 2px 6px; }
.an-names { line-height: 1.4; }
.an-names small { color: #667085; }
.an-done { font-size: 12px; color: #067647; font-weight: 700; margin-left: auto; }
.an-cols { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; }
@media (max-width: 900px) { .an-cols { grid-template-columns: 1fr; } }
.an-list { display: grid; gap: 6px; }
.an-res { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: 14px; }
.an-res > span:first-of-type { flex: 1; min-width: min(200px, 100%); }
.an-res .btn-sm { min-height: 36px; min-width: 36px; justify-content: center; }
.an-res.done { background: #f6fef9; }
.an-search { width: 100%; max-width: 420px; margin: 6px 0 10px; }
.an-custom { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px; display: grid; gap: 8px; }
.an-custom textarea { width: 100%; }
.an-custom .row { flex-wrap: wrap; }
.st-main.wi { grid-template-columns: 200px minmax(0, 1fr) minmax(0, 1.3fr); align-items: start; }
.wi-prog { font-weight: 700; color: #fde68a; }
.wi-search { width: 100%; margin-bottom: 8px; }
.wi-teams { display: grid; gap: 4px; }
/* tablet: the wrestler's box first, held under the bar (so the keyboard never covers it), then the teams in a row.
   A phone held sideways (short, not narrow) is a phone, not a tablet: no held box there (the box opens under the
   wrestler's name, as in portrait), or the box and the bar would fill the whole screen. */
@media (max-width: 1000px), (max-height: 520px) {
  .st-main.wi { grid-template-columns: minmax(0, 1fr); }
  .wi-teams { display: flex; overflow-x: auto; padding-bottom: 4px; }
  .wi-team { flex: 0 0 auto; }
}
@media (max-width: 1000px) and (min-height: 521px) {
  .wi-pane { order: -1; position: sticky; top: calc(var(--st-bar-h, 56px) + 8px); z-index: 10; }
  .wi-pane .wi-panel { position: static; box-shadow: 0 8px 24px rgba(16,24,40,.12); }
}
.wi-team { display: flex; justify-content: space-between; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; font: inherit; cursor: pointer; text-align: left; }
.wi-team.on { border-color: var(--accent, #2563eb); box-shadow: 0 0 0 2px rgba(37,99,235,.2); }
.wi-team.complete span { color: #067647; font-weight: 800; }
.wi-list { display: grid; gap: 6px; align-content: start; }
.wi-row { display: grid; grid-template-columns: 52px 1fr auto; gap: 8px; align-items: center; background: #fff; border: 1px solid var(--line); border-left: 5px solid #d0d5dd; border-radius: 10px; padding: 12px; font: inherit; font-size: 16px; text-align: left; cursor: pointer; }
.wi-row.on { box-shadow: 0 0 0 2px var(--accent, #2563eb); }
.wi-row.ok { border-left-color: #12b76a; } .wi-row.bad { border-left-color: #d92d20; background: #fff6f5; } .wi-row.warn { border-left-color: #f79009; } .wi-row.dim { opacity: .5; }
.wi-cls { font-weight: 900; color: #475467; }
.wi-st { font-size: 13px; font-weight: 700; color: #475467; }
.wi-panel { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px; display: grid; gap: 14px; position: sticky; top: 120px; }
.wi-panel.empty { text-align: center; padding: 40px; }
.wi-who { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.wi-who h2 { margin: 0; font-size: 24px; }
.wi-limit { text-align: right; font-size: 13px; color: #475467; display: flex; flex-direction: column; }
.wi-limit b { font-size: 28px; color: #101828; }
.wi-entry { display: flex; gap: 10px; }
.wi-entry input { flex: 1; width: 100%; font-size: clamp(24px, 3.2vw, 40px); font-weight: 800; padding: 10px 14px; border-radius: 12px; min-width: 0; }
.wi-entry input.over { border-color: #d92d20; color: #b42318; background: #fff6f5; }
.wi-entry .btn { font-size: 20px; padding: 0 24px; }
.wi-over { background: #fee4e2; color: #912018; border-radius: 10px; padding: 10px 12px; font-weight: 700; }
.wi-skin { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.wi-skin span { font-weight: 700; margin-right: 4px; }
.wi-skin .btn { padding: 12px 16px; font-size: 16px; }
/* a tablet: the label on its own line, the three answers side by side under it */
@media (max-width: 1100px) { .wi-skin > span { flex-basis: 100%; } .wi-skin .btn { padding: 12px; flex: 1 1 auto; justify-content: center; } }
.wi-note { width: 100%; }
.wi-foot { display: flex; justify-content: space-between; gap: 8px; }

/* the station's messages ("Weigh-ins close in 5 minutes…") sit at the top, under the bar: at the bottom they lay
   on top of the skin check buttons whenever the keyboard shrank the screen */
body.screen-station #toasts { top: calc(var(--st-bar-h, 56px) + 8px); bottom: auto; left: 12px; right: 12px; max-width: none; align-items: flex-end; pointer-events: none; }
body.screen-station #toasts .toast { pointer-events: auto; max-width: min(420px, 100%); }
@media (max-width: 700px) { body.screen-station #toasts { align-items: stretch; } body.screen-station #toasts .toast { max-width: none; } }
/* a phone (or a phone held sideways): a short bar. Row 1 is the way out and the connection: Main menu (just its
   icon), the title, ?, Connected, Sign out; row 2 is the weigh-in's closing time, Keep open longer and the count. */
@media (max-width: 700px), (max-height: 520px) {
  .st-bar { padding: 6px 12px; gap: 6px 8px; }
  .st-bar .st-home-t { display: none; }
  .st-bar .st-home { margin-right: 0; min-width: 40px; justify-content: center; }
  .st-title b { font-size: 16px; }
  .st-bar.st-compact .st-tools { display: contents; }
  .st-bar.st-compact .st-home { order: 1; }
  .st-bar.st-compact .st-title { order: 2; flex: 0 1 auto; min-width: 0; }
  .st-bar.st-compact .st-title b { white-space: nowrap; }
  .st-bar.st-compact .st-title span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .st-bar.st-compact .st-conn { order: 3; }
  .st-bar.st-compact [data-st-out], .st-bar.st-compact .st-tools > a.btn { order: 4; }
  .st-bar.st-compact .wi-dl, .st-bar.st-compact [data-keep], .st-bar.st-compact [data-reopen] { order: 6; }
  .st-bar.st-compact .wi-prog { order: 7; margin-left: auto; }
  .st-bar.st-compact .help-btn { order: 3; }
}
/* a narrow phone: one line for the title (no icon), a green dot while connected (the words come back if it drops) */
@media (max-width: 600px) {
  .st-bar.st-compact .st-title { flex: 1 1 0; }
  .st-bar.st-compact::after { content: ''; order: 5; flex: 1 0 100%; height: 0; margin-top: -6px; }
  .st-bar.st-compact .st-title b svg { display: none; }
  .st-bar.st-compact .wi-longer { display: none; }
  .st-bar.st-compact .wi-dl { font-size: 14px; }
  .st-bar.st-compact .st-conn.on { font-size: 0; padding: 0; width: 12px; height: 12px; background: #12b76a; box-shadow: 0 0 0 3px rgba(18,183,106,.25); }
}
.st-bar .st-home { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: #fff; margin-right: -4px; }
.st-bar { justify-content: flex-start; }
.st-bar .st-tools { margin-left: auto; }
.st-title b { display: inline-flex; align-items: center; gap: 8px; }
.vi-list { display: grid; gap: 8px; }
.vi-row { display: grid; grid-template-columns: minmax(0, 1fr) 96px 132px auto auto auto auto; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; background: #fff; }
.vi-row.is-out { background: #fafafa; }
.vi-row.is-out .vi-name { text-decoration: line-through; color: var(--muted); }
.vi-row.is-hidden { opacity: .6; }
.vi-row.is-sale { border-color: #aee3c3; }
.vi-main { display: grid; grid-template-columns: 1fr 140px; gap: 4px; }
.vi-main .vi-desc { grid-column: 1 / -1; font-size: 12.5px; }
.vi-row input { font: inherit; padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; width: 100%; min-width: 0; }
.vi-name { font-weight: 700; }
.vi-price { display: flex; align-items: center; gap: 4px; }
.vi-price span { font-size: 11px; color: var(--muted); }
.vi-sale { display: flex; gap: 4px; align-items: center; }
.vi-sale input { width: 76px; border-color: #16803c !important; }
.vi-tog { position: relative; display: inline-flex; align-items: center; cursor: pointer; }
.vi-tog input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.vi-tog span { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border-radius: 999px; border: 1.5px solid var(--line); font-size: 12.5px; font-weight: 700; color: var(--muted); background: #fff; white-space: nowrap; }
.vi-tog.on span { background: #dcf5e6; border-color: #16803c; color: #14532d; }
.vi-tog.out.on span { background: #fde2e1; border-color: #c0262d; color: #7f1d1d; }
.vi-tog.hq.on span { background: #fff1d6; border-color: #b45309; color: #7c2d12; }
.vi-tog.show:not(.on) span { background: #f2f4f7; }
.vi-tog input:focus-visible + span { outline: 3px solid #93c5fd; }
.vi-tog input:disabled + span { opacity: .5; cursor: not-allowed; }
.vi-tog.big span { font-size: 15px; padding: 9px 18px; }
.vi-tools { display: flex; gap: 2px; align-items: center; }
.vi-tools .icon-btn { min-width: 32px; min-height: 36px; }
/* delete sits apart from the move buttons, so a slip doesn't hit it */
.vi-tools [data-vdel] { margin-left: 14px; color: #b42318; }
.vi-add { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
@media (max-width: 900px) {
  .vi-row { grid-template-columns: 1fr 1fr; }
  .vi-main { grid-column: 1 / -1; grid-template-columns: 1fr; }
  .vi-tools { justify-content: flex-end; }
}
ul.tight { margin: 0; padding-left: 18px; }
.vd-settings .vd-set-row { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; }
.switch-row { display: flex; gap: 12px; align-items: flex-start; }
.switch-row small { display: block; color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.vd-card.off { opacity: .6; }
.vd-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.vd-title { display: flex; align-items: center; gap: 10px; min-width: min(220px, 100%); }
.vd-title svg.ic { width: 26px; height: 26px; color: var(--brand); }
.vd-title b { font-size: 16px; }
.vd-stats { display: flex; gap: 4px; flex-wrap: wrap; }
.vd-actions { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.vd-body { margin-top: 12px; border-top: 1px solid var(--line2); padding-top: 12px; display: grid; gap: 12px; }
.vd-code { display: flex; gap: 14px; align-items: center; }
.vd-qr svg { width: 96px; height: 96px; }
.empty-state { text-align: center; padding: 28px; }
.vendor-page .st-main { max-width: 1100px; }
.vd-profile > summary { cursor: pointer; font-weight: 700; list-style-position: inside; }
.vd-profile[open] > summary { margin-bottom: 10px; }
.vd-profile > summary small { font-weight: 400; color: var(--muted); margin-left: 6px; }
.vd-stand-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 8px; }
.vd-stand-head b { font-size: 18px; }
.vi-tog:has(input:checked) span { background: #dcf5e6; border-color: #16803c; color: #14532d; }
.vi-tog.out:has(input:checked) span { background: #fde2e1; border-color: #c0262d; color: #7f1d1d; }
.vi-tog.hq:has(input:checked) span { background: #fff1d6; border-color: #b45309; color: #7c2d12; }
.vd-icons { display: flex; flex-wrap: wrap; gap: 6px; }
.vd-icon { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; width: 66px; padding: 7px 2px 5px; border: 1.5px solid var(--line); border-radius: 10px; cursor: pointer; background: #fff; }
.vd-icon input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.vd-icon svg.ic { width: 22px; height: 22px; color: var(--muted); }
.vd-icon small { font-size: 10.5px; color: var(--muted); text-align: center; line-height: 1.1; }
.vd-icon:has(input:checked) { border-color: var(--brand, #2563eb); background: #f0f5ff; }
.vd-icon:has(input:checked) svg.ic, .vd-icon:has(input:checked) small { color: var(--brand, #2563eb); }
.vd-icon:has(input:focus-visible) { outline: 3px solid #93c5fd; }
.vd-pay { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.vd-news-now { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #fff8e6; border: 1px solid #f3cf92; border-radius: 10px; padding: 8px 10px; margin-bottom: 8px; }
.vd-news-now b { flex: 1 1 200px; }
.vd-news h2 { display: flex; align-items: center; gap: 6px; }
.vi-extra { grid-column: 1 / -1; }
.vi-more { font: inherit; font-size: 12.5px; color: var(--muted); background: none; border: 0; padding: 2px 0; cursor: pointer; display: inline-flex; gap: 5px; align-items: center; }
.vi-more:hover { color: var(--brand, #2563eb); }
.vi-caret { display: inline-block; transition: transform .15s; }
.vi-extra.open .vi-caret { transform: rotate(180deg); }
.vi-x-body { display: none; grid-template-columns: auto 1fr; gap: 10px 16px; padding: 8px 0 2px; border-top: 1px dashed var(--line); margin-top: 6px; }
.vi-extra.open .vi-x-body { display: grid; }
.vi-photo { display: flex; gap: 10px; align-items: center; grid-row: span 2; }
.vi-photo img, .vi-nophoto { width: 72px; height: 72px; border-radius: 10px; object-fit: cover; border: 1px solid var(--line); background: #f7f9fc; display: grid; place-items: center; }
.vi-nophoto svg.ic { width: 26px; height: 26px; color: #c0c9d6; }
.stack-sm { display: grid; gap: 4px; justify-items: start; }
.vi-sizes label { display: flex; gap: 8px; align-items: center; }
.vi-sizes label span { font-size: 12px; color: var(--muted); }
.vi-szs { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 6px; }
.vi-sz { font: inherit; font-size: 12px; font-weight: 700; border: 1.5px solid #16803c; background: #dcf5e6; color: #14532d; border-radius: 7px; padding: 3px 8px; cursor: pointer; }
.vi-sz.out { border-color: #c0262d; background: #fde2e1; color: #7f1d1d; text-decoration: line-through; }
.vi-diet { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.vi-danger { grid-column: 1 / -1; display: flex; justify-content: flex-end; border-top: 1px dashed var(--line, #e2e8f0); padding-top: 8px; }
.vi-danger .btn { color: #b42318; }
@media (max-width: 720px) { .vi-x-body { grid-template-columns: 1fr; } .vi-photo { grid-row: auto; } }
.vi-row input.vi-desc, .vi-row input.vi-cat { font-size: 12.5px; padding: 4px 8px; }
.vi-cat { color: var(--muted); }
.ws-closed { background: #fef3f2; border: 1px solid #fecdca; color: #912018; border-radius: 10px; padding: 10px 12px; font-weight: 600; margin-bottom: 10px; }
.wi-grace { background: #fffaeb; border: 1px solid #fedf89; color: #93370d; border-radius: 10px; padding: 8px 12px; font-weight: 700; }
.wi-grace.late { background: #fef3f2; border-color: #fecdca; color: #912018; }
.wi-dl { font-weight: 700; color: #dbeafe; white-space: nowrap; }
.wi-dl b { font-variant-numeric: tabular-nums; color: #fff; }
.wi-dl small { font-weight: 500; opacity: .8; }
.wi-dl.soon { color: #fecaca; } .wi-dl.soon b { color: #fde68a; }
.wi-dl.closed { color: #fecaca; }
.st-bar [data-keep], .st-bar [data-reopen] { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); color: #fff; }
.wi-tools { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 12px; flex-wrap: wrap; }
.wi-tools p { flex: 1 1 500px; margin: 0; }
.wi-saved { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; background: #ecfdf3; border: 1px solid #abefc6; color: #05603a; border-radius: 10px; padding: 7px 10px; margin-bottom: 8px; font-size: 14px; }
.wi-saved > span { flex: 1; min-width: 180px; }
.wi-saved small { color: #3b7a57; }
.vd-codechip { display: flex; align-items: center; gap: 6px; padding: 4px 8px; border: 1px dashed var(--line); border-radius: 8px; }
.vd-codechip small { color: var(--muted); font-size: 11px; line-height: 1.1; max-width: 48px; }
.wi-inline .wi-panel { position: static; margin: -2px 0 6px; border-top-left-radius: 0; border-top-right-radius: 0; border-color: var(--accent, #2563eb); box-shadow: 0 0 0 1px var(--accent, #2563eb); padding: 12px; gap: 10px; }
.wi-inline .wi-who h2 { font-size: 18px; }
.wi-inline .wi-entry input { font-size: 22px; }
.wi-inline .wi-skin { flex-wrap: wrap; }
@media (max-width: 700px), (max-height: 520px) { .wi-row.on[aria-expanded="true"] { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } }
.vi-price, .vi-sale { position: relative; }
.vi-prev { position: absolute; left: 0; right: 0; top: 100%; font-size: 11px; font-weight: 700; color: var(--brand); white-space: nowrap; text-align: right; pointer-events: none; }
.vi-prev:empty { display: none; }
/* announcer: Speak (the computer's voice) and ✓ Mark read (a person read it on the PA) side by side */
.an-btns { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.an-call .an-btns .btn:first-child { flex: 1; }
div.an-btns { margin-top: 8px; }
.an-call > .an-btns { margin-top: 0; display: flex; }
.an-undo-toast { display: flex; align-items: center; gap: 14px; }
.an-undo { margin-left: auto; background: transparent; color: #fde68a; border: 1px solid #fde68a; border-radius: 7px; padding: 5px 12px; font: inherit; font-weight: 700; cursor: pointer; min-height: 34px; }
.an-undo:hover { background: rgba(253, 230, 138, .12); }
/* ---- announcer in a dual meet ("Dual calls", views/announce/dual.js) */
.an-dualblock + .an-dualblock { margin-top: 14px; }
.an-dual { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 12px; align-items: start; }
@media (max-width: 900px) { .an-dual { grid-template-columns: minmax(0, 1fr); } }
.an-dual .an-mat-h { flex-wrap: wrap; }
.an-say { font-size: 15px; line-height: 1.4; color: #101828; background: #f8fafc; border-left: 3px solid #2563eb; border-radius: 6px; padding: 6px 11px; }
.an-call.done .an-say, .an-say.read { border-left-color: #12b76a; background: #fff; }
.an-ts { display: flex; align-items: center; gap: 8px; font-size: 15px; flex-wrap: wrap; }
.an-ts b.n { font-size: 26px; font-weight: 900; font-variant-numeric: tabular-nums; }
.an-ts b.n.lead { color: #b54708; }
.an-ts .muted { margin-left: auto; }
.an-call.ts { border-color: #fcd34d; background: #fffbeb; }
.an-call.ts .an-kind { background: #b54708; }
.an-call.ts.done { background: #f6fef9; border-color: #b7ebc8; }
.an-call.ded .an-kind { background: #b42318; }
.an-call.ex .an-kind { background: #6941c6; }
.an-pre .an-mat-h b { font-size: 18px; }
.an-lu { width: 100%; border-collapse: collapse; font-size: 13px; }
.an-lu th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #667085; padding: 3px 6px; border-bottom: 1px solid var(--line); }
.an-lu td { padding: 2.5px 6px; border-bottom: 1px solid #f2f4f7; overflow-wrap: anywhere; }
.an-lu td:first-child { font-weight: 700; width: 44px; }
.an-lu tr.start td { background: #eff4ff; }
.an-lu .ff { color: #b42318; }
.tbl { display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; color: #344054; border: 1px solid #d0d5dd; background: #f9fafb; border-radius: 4px; padding: 0 4px; line-height: 1.5; }
.an-dual.one { grid-template-columns: minmax(0, 1fr); }
.an-round { margin-bottom: 0; }
.an-round .an-lu td:first-child { width: 60px; }
.an-dualblock > .an-round { max-width: none; }

/* ---- Announcer, dual events (0.39): one dual at a time — chips pick it; once started the welcome folds to one line
   and the calls take the full width (team score left, the bouts right) */
.an-chips { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.an-chips .lbl { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #667085; margin-right: 4px; }
.an-chip { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #d0d5dd; border-radius: 999px; padding: 7px 14px; font: inherit; font-size: 14px; color: #344054; cursor: pointer; }
.an-chip b { color: #101828; }
.an-chip .n { font-weight: 800; font-variant-numeric: tabular-nums; color: #101828; }
.an-chip .m { color: #667085; font-size: 12.5px; }
.an-chip.on { border: 2px solid #2563eb; background: #eef4ff; padding: 6px 13px; }
.an-chip:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
.an-chip .live { width: 8px; height: 8px; border-radius: 50%; background: #dc2626; display: inline-block; }
.an-dualblock + .an-dualblock:has(> .an-dual) { margin-top: 18px; }
.an-fold { border-color: #b7ebc8; }
.an-fold:not(.done) { border-color: #fcd34d; background: #fffbeb; }
.an-fold .an-call-h { flex-wrap: wrap; }
.an-fold .an-fold-note { flex: 1; min-width: 180px; }
.an-fold .an-call-h .an-btns .btn { flex: none; }
.an-fold .an-pre { display: grid; gap: 8px; }
.an-cols2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.an-col { display: grid; gap: 8px; align-content: start; }
@media (max-width: 900px) { .an-cols2 { grid-template-columns: minmax(0, 1fr); } }
.an-rec td:nth-child(n+2), .an-rec th:nth-child(n+2) { text-align: right; font-variant-numeric: tabular-nums; }
.an-res .an-ts { flex: 1; min-width: 0; }
.an-cols section > h2:not(:first-child) { margin-top: 18px; }

/* ---- Wrestlers & Weigh-in › Weigh-in tab on a phone: reach the first wrestler sooner. Export / Import / Add wrestler
   wait in a ⋯ (Weigh-in settings stays), the status line is one compact row and the three filters share a row. */
.wi-more-only { display: none; }
@media (max-width: 640px) {
  .wr-head.wi-on .head-actions > [data-act="exportCsv"], .wr-head.wi-on .head-actions > [data-act="import"], .wr-head.wi-on .head-actions > [data-act="add"] { display: none; }
  .wr-head.wi-on .head-actions > .wi-more-only { display: block; order: 1; }
  .wr-head.wi-on { margin-bottom: 8px; gap: 8px; }
  .wr-head.wi-on .wr-title .page-sub { display: none; }
  .wi-tools { margin-bottom: 8px; }
  .wi-tools p { margin: 0; font-size: 13px; line-height: 1.9; }
  .wi-tools p .btn-sm { min-height: 30px; padding: 3px 10px; }
  .filters.wi-filters { gap: 6px; margin-bottom: 8px; }
  .filters.wi-filters select { flex: 1 1 0; min-width: 0; padding-left: 7px; padding-right: 3px; font-size: 14px; text-overflow: ellipsis; }
}
/* the weigh-in table on a tablet (or a laptop with the menu open): tighter cells, so Made weight and the ⋯ stay on the card */
@media (min-width: 641px) and (max-width: 1150px) {
  .wi-table th, .wi-table td { padding-left: 7px; padding-right: 7px; }
  .wi-table th { white-space: normal; line-height: 1.25; }
  .wi-table td.wc-in input { width: 84px; }
  .wi-table td.wc-skin select { padding-left: 6px; padding-right: 22px; }
}

/* ---- Mat Control › Break dialog: quick notes and "back in" chips */
.brk-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.brk-chips .chip { min-height: 34px; font: inherit; font-size: 13px; }
.modal input[type="time"][name="until"] { max-width: 160px; }

/* ---- Live Results › After the event */
.lr-page .lr-h2 { margin: 0 0 2px; font-size: 16px; }

/* 0.51 — on a phone the teams are a grid of big tiles (they scrolled off the edge in one row) */
@media (max-width: 760px) {
  .wi-teams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow: visible; }
  .wi-team { flex: none; min-height: 52px; align-items: center; }
  .wi-team b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
