@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root {
  --ink: #172021;
  --muted: #6c7775;
  --line: #dfe5e2;
  --paper: #f6f8f6;
  --white: #fff;
  --forest: #143b32;
  --mint: #bfe8d3;
  --coral: #f26f52;
  --gold: #f2c55b;
  --violet: #b8a7ec;
  --shadow: 0 18px 50px rgba(31, 48, 43, .08);
}

.draw-result-score {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin: 8px 0 4px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #dff7ed;
  color: #116149;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}

.matrix-score {
  display: inline-flex;
  justify-content: center;
  min-width: 38px;
  margin: 4px auto;
  padding: 4px 6px;
  border-radius: 8px;
  background: #f0f2f6;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.matrix-score.winner {
  background: #dff7ed;
  color: #116149;
}

.standings-wrap {
  margin-top: 18px;
  overflow-x: auto;
  border: 1px solid #e6e9ef;
  border-radius: 14px;
  background: #fff;
}

.standings-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px 10px;
}

.standings-title strong { color: #152238; }
.standings-title small { color: #7b8494; }

.standings-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.standings-table th,
.standings-table td {
  padding: 9px 12px;
  border-top: 1px solid #eef0f4;
  text-align: center;
  white-space: nowrap;
}

.standings-table th:nth-child(2) { text-align: left; }
.standings-table tbody tr:first-child { background: #f3fbf8; }

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 252px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 30px 20px 20px; color: #eef6f1; background: var(--forest); overflow: auto; }
.brand { display: flex; align-items: center; gap: 13px; color: inherit; text-decoration: none; padding: 0 10px 34px; }
.brand-mark { position: relative; width: 34px; height: 34px; display: grid; place-items: center; }
.brand-mark i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.brand-mark i:nth-child(1) { top: 3px; left: 4px; }.brand-mark i:nth-child(2) { right: 2px; top: 12px; background: var(--gold); }.brand-mark i:nth-child(3) { bottom: 2px; left: 8px; background: var(--mint); }
.brand strong { display: block; font: 800 20px/1 "Manrope", sans-serif; letter-spacing: .08em; }.brand small { display: block; margin-top: 5px; font-size: 9px; letter-spacing: .24em; opacity: .65; }
.main-nav { display: grid; gap: 5px; }
.nav-item { width: 100%; min-height: 46px; border: 0; border-radius: 12px; background: transparent; color: #c7d7d1; display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 7px; padding: 0 12px; text-align: left; font-weight: 600; transition: .2s ease; }
.nav-item:hover:not(.disabled), .nav-item.active { color: #fff; background: rgba(255,255,255,.1); }.nav-item.active { box-shadow: inset 3px 0 var(--coral); }
.nav-icon { font-size: 18px; color: #98b4aa; }.nav-state { min-width: 22px; padding: 3px 6px; border-radius: 10px; background: rgba(191,232,211,.13); color: var(--mint); text-align: center; font-size: 11px; }
.nav-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }.nav-item.disabled { opacity: .45; cursor: default; }.soon { font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.sidebar-bottom { margin-top: auto; display: grid; gap: 10px; }.sync-card, .user-card { display: flex; align-items: center; gap: 10px; padding: 13px; border-radius: 13px; background: rgba(255,255,255,.07); }
.sync-icon { color: var(--gold); }.sync-card div, .user-card div { min-width: 0; flex: 1; }.sync-card strong, .user-card strong { display: block; font-size: 12px; }.sync-card small, .user-card small { display: block; margin-top: 3px; font-size: 10px; color: #9db1aa; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }.avatar { flex: 0 0 34px !important; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: var(--forest); background: var(--mint); font-weight: 800; font-size: 11px; }.user-card button { border: 0; background: none; color: #9db1aa; }
main { min-width: 0; padding: 0 38px 60px; }
.topbar { min-height: 105px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--line); }.eyebrow, .card-kicker { margin: 0 0 7px; color: #74817d; font-size: 10px; letter-spacing: .18em; font-weight: 800; }.topbar h1 { margin: 0; font: 700 26px/1.1 "Manrope", sans-serif; }.top-actions { display: flex; align-items: center; gap: 10px; }.save-state { display: flex; align-items: center; gap: 7px; margin-right: 5px; font-size: 11px; color: var(--muted); }.save-state i { width: 7px; height: 7px; border-radius: 50%; background: #4cad78; }
.save-state[data-status="pending"] i { background: var(--gold); box-shadow: 0 0 0 4px rgba(244,196,78,.17); }
.save-state[data-status="central"] { color: #28684f; }.save-state[data-status="central"] i { background: #2f9e68; }
.save-state[data-status="readonly"] i { background: #8c80bb; }
.save-state[data-status="error"] { color: #a44e35; }.save-state[data-status="error"] i { background: #d85b3e; }
.button { border: 0; border-radius: 11px; padding: 11px 17px; font-weight: 700; font-size: 12px; transition: transform .18s, box-shadow .18s; }.button:hover { transform: translateY(-1px); }.button.primary { color: white; background: var(--coral); box-shadow: 0 8px 20px rgba(242,111,82,.22); }.button.secondary { color: var(--ink); background: white; border: 1px solid var(--line); }.button.light { color: var(--forest); background: #fff; justify-self: start; }.text-button { border: 0; background: none; color: var(--coral); font-weight: 700; }
.button.save-button { min-width: 98px; color: var(--forest); border: 1px solid #b89a5e; background: #fff8e8; }
.button.save-button:hover { border-color: #9b7a38; background: #fff2d1; }
.button.save-button[data-state="saved"] { color: #28684f; border-color: #79b698; background: #edf8f2; }
.button.save-button[data-state="error"] { color: #a44e35; border-color: #d68c7b; background: #fff1ed; }
.button.danger-button { color: white; background: #b74734; box-shadow: 0 8px 20px rgba(183,71,52,.2); }.button:disabled { cursor: not-allowed; opacity: .5; transform: none; box-shadow: none; }
.test-banner { min-height: 46px; margin: 22px 0; padding: 10px 15px; border: 1px solid #f0d897; border-radius: 12px; display: flex; align-items: center; gap: 11px; color: #6c5823; background: #fff9e7; font-size: 12px; }.test-banner span:last-child { color: #8b7b4e; }.test-badge { padding: 5px 8px; border-radius: 6px; color: #604a0d; background: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.page { display: none; animation: enter .25s ease both; }.page.active { display: block; }@keyframes enter { from { opacity: 0; transform: translateY(5px); } }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); gap: 20px; }.hero-card { position: relative; min-height: 290px; overflow: hidden; padding: 38px; border-radius: 22px; color: white; background: linear-gradient(135deg, #194a3e, #0f2f28); box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: space-between; }.hero-card h2 { max-width: 520px; margin: 7px 0 13px; font: 700 34px/1.12 "Manrope", sans-serif; }.hero-card p { max-width: 560px; margin: 0; color: #bdd0ca; line-height: 1.6; }.hero-card .card-kicker { color: var(--mint); }.court-lines { position: absolute; width: 245px; height: 245px; right: -65px; bottom: -80px; transform: rotate(-10deg); border: 2px solid rgba(191,232,211,.12); }.court-lines:before, .court-lines:after, .court-lines span { content: ""; position: absolute; background: rgba(191,232,211,.11); }.court-lines:before { top: 50%; left: 0; right: 0; height: 2px; }.court-lines:after { left: 50%; top: 0; bottom: 0; width: 2px; }.court-lines span:first-child { top: 25%; left: 0; right: 0; height: 2px; }.court-lines span:nth-child(2) { bottom: 25%; left: 0; right: 0; height: 2px; }
.progress-card, .panel, .form-card, .competition-edit, .draw-empty, .draw-results { border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 10px 30px rgba(30,50,44,.035); }.progress-card { padding: 25px; }.progress-head { display: flex; justify-content: space-between; font-size: 12px; }.progress-head strong { color: var(--forest); }.progress-track { height: 5px; margin: 12px 0 18px; border-radius: 5px; background: #edf1ef; overflow: hidden; }.progress-track i { display: block; width: 40%; height: 100%; background: var(--coral); transition: width .3s ease; }.setup-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 5px; }.setup-list li { min-height: 48px; display: grid; grid-template-columns: 28px 1fr 20px; align-items: center; gap: 10px; padding: 6px; color: #8a9491; border-radius: 10px; }.setup-list li > span { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: #eef2f0; font-size: 10px; font-weight: 800; }.setup-list strong { display: block; color: var(--ink); font-size: 12px; }.setup-list small { display: block; margin-top: 2px; font-size: 10px; }.setup-list b { font-size: 12px; }.setup-list .done > span { color: white; background: #4cad78; }.setup-list .done b { color: #4cad78; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 20px 0; }.metrics article { display: flex; align-items: center; gap: 14px; min-height: 100px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: white; }.metric-icon { flex: 0 0 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; font-size: 19px; }.metric-icon.coral { background: #fee3dd; color: #d7573b; }.metric-icon.mint { background: #e0f3ea; color: #247253; }.metric-icon.violet { background: #eee9fb; color: #6752aa; }.metric-icon.gold { background: #fff1cb; color: #8a6818; }.metrics small { display: block; font-size: 10px; color: var(--muted); }.metrics strong { display: block; margin-top: 2px; font: 700 24px/1 "Manrope", sans-serif; }.metrics p { margin: 5px 0 0; color: #8b9592; font-size: 9px; }
.tournament-portfolio { margin-top: 20px; }
.tournament-portfolio .panel-head { align-items: flex-start; }
.tournament-portfolio .panel-head p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.tournament-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; }
.tournament-list-card { min-height: 92px; display: grid; grid-template-columns: 56px 1fr auto; align-items: center; gap: 13px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfb; }
.template-library { margin-top: 20px; }
.template-library .panel-head p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.template-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.template-card { min-height: 126px; display: flex; flex-direction: column; gap: 8px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfb; }
.template-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.template-card-icon { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: #28684f; background: #e3f2ea; font-weight: 800; }
.template-card h4 { flex: 1; margin: 2px 0 0; font: 700 12px "Manrope", sans-serif; }
.template-card > p { min-height: 26px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.template-card-meta { display: flex; flex-wrap: wrap; gap: 5px; }
.template-card-meta span { padding: 4px 6px; border-radius: 6px; color: #46635a; background: #eef4f1; font-size: 7px; font-weight: 800; }
.template-card-actions { display: flex; gap: 7px; margin-top: auto; }
.template-card-actions .button { flex: 1; padding: 8px 10px; }
.template-empty { grid-column: 1 / -1; padding: 24px; border: 1px dashed #cdd8d4; border-radius: 12px; color: var(--muted); background: #fafcfb; text-align: center; font-size: 10px; }
.tournament-list-card.active { border-color: #79b099; background: #f2faf6; box-shadow: inset 0 0 0 1px #79b099; }
.tournament-list-card > div:nth-child(2) > span { color: #54806f; font-size: 6px; font-weight: 900; letter-spacing: .1em; }
.tournament-list-card h4 { margin: 4px 0 3px; font: 700 12px "Manrope", sans-serif; }
.tournament-list-card p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.tournament-card-actions { display: grid; gap: 6px; min-width: 112px; }.tournament-card-actions .button { width: 100%; padding: 8px 10px; font-size: 9px; }.tournament-card-actions .delete-test-button { color: #a33e2e; border-color: #efc4bb; background: #fff7f5; }
.tournament-date { width: 52px; height: 55px; display: grid; place-items: center; align-content: center; border-radius: 11px; color: #365c4f; background: #e2f1e9; }
.tournament-date strong, .tournament-date small { display: block; text-align: center; }
.tournament-date strong { font-size: 10px; text-transform: uppercase; }
.tournament-date small { margin-top: 2px; font-size: 7px; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, .65fr); gap: 20px; }.panel { padding: 24px; }.panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }.panel h3 { margin: 0; font: 700 17px "Manrope", sans-serif; }.competition-row { display: grid; grid-template-columns: 44px minmax(150px,1fr) 85px 85px 70px; align-items: center; gap: 12px; padding: 15px 0; border-top: 1px solid #edf0ef; }.level-badge { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; font: 800 15px "Manrope", sans-serif; }.level-a { color: #553ca2; background: #e9e2fb; }.level-b { color: #b14a32; background: #fee0d9; }.competition-name strong, .competition-stat strong { display: block; font-size: 12px; }.competition-name small, .competition-stat small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }.pill { justify-self: end; padding: 5px 8px; border-radius: 6px; font-size: 8px; font-weight: 800; letter-spacing: .08em; }.pill.waiting { color: #7d6d42; background: #fff4d5; }.pill.ready { color: #2b7758; background: #def3e8; }.activity { display: flex; gap: 12px; padding: 14px 0; border-top: 1px solid #edf0ef; }.activity-icon { flex: 0 0 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: #eff4f1; }.activity strong { display: block; font-size: 11px; }.activity small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }.activity.muted { opacity: .55; }
.section-intro { min-height: 120px; display: flex; align-items: center; gap: 22px; padding: 10px 4px 22px; }.step-number { flex: 0 0 54px; width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; color: var(--forest); background: var(--mint); font: 800 17px "Manrope", sans-serif; }.section-intro h2 { margin: 0; font: 700 26px "Manrope", sans-serif; }.section-intro p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 12px; }.actions-intro > .button { margin-left: auto; }.form-card { padding: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.field { display: grid; gap: 7px; }.field.span-2 { grid-column: span 2; }.field label { color: #5f6a67; font-size: 11px; font-weight: 700; }.field > small { color: var(--muted); font-size: 9px; }.field input, .field select, .compact-select { width: 100%; min-height: 44px; border: 1px solid #d7dedb; border-radius: 10px; padding: 0 13px; color: var(--ink); background: #fff; outline: none; }.field input:focus, .field select:focus { border-color: #5e9f87; box-shadow: 0 0 0 3px rgba(94,159,135,.12); }.toggle-field { grid-template-columns: 1fr auto; align-items: center; padding: 15px; border: 1px solid var(--line); border-radius: 12px; }.toggle-field strong, .toggle-field small { display: block; }.toggle-field strong { font-size: 12px; }.toggle-field small { margin-top: 4px; color: var(--muted); font-size: 10px; }.switch input { display: none; }.switch span { display: block; position: relative; width: 43px; height: 24px; border-radius: 14px; background: #ccd5d2; }.switch span:after { content: ""; position: absolute; width: 18px; height: 18px; top: 3px; left: 3px; border-radius: 50%; background: white; transition: .2s; }.switch input:checked + span { background: #4cad78; }.switch input:checked + span:after { transform: translateX(19px); }
.registration-rule-card { display: flex; align-items: center; gap: 11px; min-height: 58px; padding: 13px 15px; border: 1px solid #cfe3da; border-radius: 12px; color: #315f4f; background: #f2faf6; font-size: 10px; line-height: 1.5; }
.registration-rule-card::before { content: "✓"; flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: #28684f; background: #dcefe5; font-weight: 900; }
.registration-rule-card.warning { color: #914b34; border-color: #efc7ba; background: #fff4ef; }
.registration-rule-card.warning::before { content: "!"; color: #a44e35; background: #f8dcd2; }
.automatic-format-policy { align-items: flex-start; }
.automatic-format-policy::before { content: "A"; }
.automatic-format-policy strong, .automatic-format-policy small { display: block; }
.automatic-format-policy small { margin-top: 3px; color: var(--muted); }
.calendar-publication-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; border: 1px solid #d5ddd9; border-radius: 14px; background: #f7f9f8; }
.calendar-publication-card > div { display: grid; gap: 5px; }
.calendar-publication-card strong { font: 800 13px "Manrope", sans-serif; }
.calendar-publication-card span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.calendar-publication-card > div.published { color: #215f49; }
.calendar-publication-card > div.warning { color: #8b513d; }
.calendar-publication-card .button { flex: 0 0 auto; }
.overview-publication { margin-top: 20px; border-color: #c9d9d2; background: linear-gradient(135deg, #f7fbf9, #fffaf1); box-shadow: 0 10px 30px rgba(30,50,44,.035); }
.overview-publication > div { flex: 1 1 420px; }
.competition-cards { display: grid; gap: 18px; }.competition-edit { display: grid; grid-template-columns: 70px 1fr 230px; align-items: center; gap: 24px; padding: 26px; }.level-badge.large { width: 60px; height: 60px; border-radius: 17px; font-size: 23px; }.competition-fields { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }.competition-note { padding: 15px; border-left: 1px solid var(--line); }.competition-note strong, .competition-note span { display: block; }.competition-note strong { font-size: 12px; }.competition-note span { margin-top: 6px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.competition-format-notice { grid-column: 1 / -1; display: grid; gap: 3px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; font-size: 9px; line-height: 1.45; }
.competition-format-notice strong { font-size: 10px; }
.competition-format-notice span { color: var(--muted); }
.competition-format-notice.automatic { color: #28684f; border-color: #bcdccc; background: #eef8f3; }
.competition-format-notice.warning { color: #875027; border-color: #e5c48a; background: #fff7e7; }
.players-panel { padding: 0; overflow: hidden; }.table-tools { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; border-bottom: 1px solid var(--line); }.player-table-filters { flex: 1; display: flex; align-items: flex-end; gap: 12px; }.search { width: min(320px, 42%); position: relative; }.search span { position: absolute; left: 12px; top: 10px; color: var(--muted); }.search input { width: 100%; height: 38px; padding: 0 12px 0 35px; border: 1px solid var(--line); border-radius: 10px; }.player-sort { min-width: 430px; display: grid; gap: 4px; }.player-sort > span { color: #50635c; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.player-sort-controls { display:grid; grid-template-columns:minmax(170px,1fr) minmax(150px,.8fr); gap:8px; }.player-sort-controls label { display:grid; gap:3px; color:var(--muted); font-size:7px; font-weight:800; }.player-sort select { min-height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: white; font-size: 9px; }.player-sort small { color: var(--muted); font-size: 7px; }.table-summary { flex: 0 0 auto; color: var(--muted); font-size: 11px; }.empty-state, .draw-empty { min-height: 360px; display: grid; place-items: center; align-content: center; text-align: center; padding: 40px; }.empty-state > span { font-size: 35px; color: #9da9a5; }.empty-state h3, .draw-empty h3 { margin: 15px 0 5px; font: 700 18px "Manrope", sans-serif; }.empty-state p, .draw-empty p { margin: 0; color: var(--muted); font-size: 12px; }.table-wrap { overflow: auto; }table { width: 100%; border-collapse: collapse; }th { padding: 11px 18px; background: #f8faf9; color: #77827f; font-size: 9px; letter-spacing: .08em; text-align: left; }td { padding: 13px 18px; border-top: 1px solid #edf0ef; font-size: 11px; }.seed { width: 25px; height: 25px; border-radius: 8px; display: grid; place-items: center; background: #edf2ef; font-weight: 800; }.player-name { display: flex; align-items: center; gap: 10px; }.player-name span { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; color: var(--forest); background: var(--mint); font-size: 9px; font-weight: 800; }.guest, .source-tag { padding: 4px 7px; border-radius: 5px; font-size: 8px; font-weight: 800; }.guest { color: #73642f; background: #fff1c7; }.source-tag { color: #50645e; background: #edf2f0; }.compact-select { min-width: 100px; min-height: 34px; font-size: 10px; }
.draw-symbol { width: 65px; height: 65px; border-radius: 20px; display: grid; place-items: center; color: #6047ad; background: #ece6fb; font-size: 27px; }.draw-results { padding: 24px; }.draw-tabs { display: flex; gap: 5px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }.draw-tabs button { border: 0; border-bottom: 2px solid transparent; padding: 11px 14px; color: var(--muted); background: none; font-weight: 700; }.draw-tabs button.active { color: var(--ink); border-color: var(--coral); }.draw-view { display: none; }.draw-view.active { display: block; }.draw-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }.draw-header h3 { margin: 8px 0 0; font: 700 18px "Manrope", sans-serif; }.draw-meta { display: flex; gap: 28px; }.draw-meta span { text-align: right; }.draw-meta small, .draw-meta strong { display: block; }.draw-meta small { color: var(--muted); font-size: 9px; }.draw-meta strong { margin-top: 3px; font-size: 15px; }.bracket { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.bracket-match { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }.bracket-match > small { display: block; padding: 7px 10px; color: #8b9592; background: #f6f8f7; font-size: 8px; }.draw-player { min-height: 48px; display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 7px; padding: 8px 10px; border-top: 1px solid var(--line); }.draw-player > span { grid-row: span 2; width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; background: #edf2ef; font-size: 9px; font-weight: 800; }.draw-player strong { font-size: 10px; }.draw-player small { color: var(--muted); font-size: 8px; }.draw-player.bye { color: #8a9491; background: #fbfcfb; }.round-grid { display: grid; grid-template-columns: repeat(5, minmax(145px, 1fr)); gap: 10px; overflow: auto; }.round-column { padding: 10px; border-radius: 12px; background: #f6f8f7; }.round-column h4 { margin: 2px 2px 10px; font-size: 11px; }.rr-match { padding: 10px; margin-top: 8px; border: 1px solid var(--line); border-radius: 9px; background: white; }.rr-match small { color: var(--muted); font-size: 7px; }.rr-match span { display: block; margin-top: 7px; font-size: 9px; font-weight: 700; }.rr-match b { display: block; margin: 4px 0; color: var(--coral); font-size: 7px; text-transform: uppercase; }
.pool-draws { display: grid; gap: 18px; }
.pool-section { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfb; }
.pool-section > h4 { margin: 0 0 12px; font: 700 13px "Manrope", sans-serif; }
.placement-stage { margin-top: 20px; padding: 18px; border: 1px solid #f0c9bf; border-radius: 15px; background: #fff9f7; }
.placement-stage h4 { margin: 8px 0 3px; font: 700 14px "Manrope", sans-serif; }
.placement-stage p { margin: 0; color: var(--muted); font-size: 9px; }
.placement-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; margin-top: 14px; }
.placement-match { padding: 12px; border: 1px solid #efd8d2; border-radius: 11px; background: white; }
.placement-match small, .placement-match strong, .placement-match span { display: block; }
.placement-match small { margin-bottom: 9px; color: var(--coral); font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.placement-match strong { font-size: 9px; }
.placement-match b { display: block; margin: 5px 0; color: var(--coral); font-size: 7px; text-transform: uppercase; }
.placement-match span { margin-top: 6px; color: var(--muted); font-size: 8px; }
.placement-match.automatic { background: #f7faf8; }
.match-format-badge { display: block; width: fit-content; margin: 7px 9px 0; padding: 3px 6px; border-radius: 999px; color: #6047ad; background: #eee9fb; font-size: 7px; font-weight: 800; letter-spacing: .03em; }
.matrix-match .match-format-badge { margin: 3px auto; font-size: 6px; }
.phase-rule strong { display: block; min-height: 42px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; color: #28684f; background: #f4f8f6; font-size: 10px; line-height: 1.35; }
.pill.readonly { color: #5c4a94; background: #eee9fb; }
.draw-description { max-width: 610px; margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.readonly-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 14px; }
.readonly-overview-card { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfb; }
.readonly-overview-card > header { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.readonly-overview-card > header strong, .readonly-overview-card > header small { display: block; }
.readonly-overview-card > header strong { font-size: 12px; }
.readonly-overview-card > header small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.overview-pools { display: grid; grid-template-columns: repeat(2, minmax(130px, 1fr)); gap: 9px; }
.overview-pools > section { padding: 10px; border-radius: 10px; background: white; }
.overview-pools h4 { margin: 0 0 7px; color: var(--muted); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.overview-pools section > div { display: flex; align-items: center; gap: 7px; min-height: 26px; border-top: 1px solid #edf0ef; }
.overview-pools section > div span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; background: #edf2ef; font-size: 7px; font-weight: 800; }
.overview-pools section > div strong { font-size: 8px; }
.monrad-raster { display: grid; gap: 14px; overflow-x: auto; padding-bottom: 8px; }
.monrad-round { min-width: 220px; padding: 12px; border-radius: 14px; background: #f6f8f7; }
.monrad-round > h4 { margin: 0 0 10px; font: 700 12px "Manrope", sans-serif; }
.monrad-path { padding: 8px; border-radius: 10px; background: rgba(255,255,255,.78); }
.monrad-path + .monrad-path { margin-top: 9px; }
.monrad-path > small { display: block; margin-bottom: 7px; color: #6b7773; font-size: 7px; font-weight: 800; letter-spacing: .06em; }
.monrad-match + .monrad-match { margin-top: 8px; }
.monrad-match .draw-player.pending > span { color: #5c4a94; background: #eee9fb; }
.matrix-section { padding: 16px; }
.matrix-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.matrix-heading h4 { margin: 0; font: 700 13px "Manrope", sans-serif; }
.matrix-heading small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.matrix-heading > span { color: #6651a8; font-size: 18px; }
.draw-court-pool { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; margin-top: 9px; padding: 7px 9px; border-radius: 8px; color: #28684f; background: #e4f3eb; }
.draw-court-pool small { flex: 0 0 auto; color: inherit; font-size: 7px; font-weight: 800; letter-spacing: .07em; }
.draw-court-pool strong { overflow: hidden; color: inherit; font-size: 8px; line-height: 1.35; text-overflow: ellipsis; }
.draw-court-pool.draft { color: #7d6425; background: #fff2cc; }
.draw-court-pool.pending { color: #6d7774; background: #edf1ef; }
.rr-matrix-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 11px; background: white; }
.rr-matrix { min-width: 520px; table-layout: fixed; }
.rr-matrix th, .rr-matrix td { padding: 9px; text-align: center; border: 1px solid #edf0ef; }
.rr-matrix thead th { background: #f4f7f5; }
.rr-matrix thead th:first-child { width: 150px; text-align: left; }
.rr-matrix thead th span { display: block; color: var(--ink); font-size: 9px; }
.rr-matrix tbody th { width: 150px; background: #f8faf9; text-align: left; }
.rr-matrix tbody th span { display: inline-grid; width: 21px; height: 21px; margin-right: 7px; place-items: center; border-radius: 6px; color: var(--ink); background: #e7eeea; }
.rr-matrix tbody th strong { color: var(--ink); font-size: 8px; letter-spacing: 0; }
.rr-matrix td { height: 52px; }
.rr-matrix .matrix-diagonal { color: #aab3b0; background: #f0f3f2; font-weight: 800; }
.rr-matrix .matrix-match strong, .rr-matrix .matrix-match small { display: block; }
.rr-matrix .matrix-match strong { color: #5c4a94; font-size: 8px; }
.rr-matrix .matrix-match small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.toast { position: fixed; left: 50%; bottom: 25px; z-index: 10; transform: translate(-50%, 20px); padding: 12px 18px; border-radius: 10px; color: white; background: #162d27; box-shadow: var(--shadow); font-size: 11px; opacity: 0; pointer-events: none; transition: .25s; }.toast.show { opacity: 1; transform: translate(-50%, 0); }
.wizard-modal[hidden] { display: none; }
.wizard-modal { position: fixed; z-index: 31; inset: 0; display: grid; place-items: center; padding: 20px; }
.wizard-backdrop { position: absolute; inset: 0; border: 0; background: rgba(10,31,25,.6); backdrop-filter: blur(3px); }
.wizard-dialog { position: relative; width: min(760px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 24px; border-radius: 20px; background: white; box-shadow: 0 24px 70px rgba(8,28,22,.28); }
.wizard-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.wizard-dialog > header h3 { margin: 5px 0 4px; font: 700 21px "Manrope", sans-serif; }
.wizard-dialog > header p { margin: 0; color: var(--muted); font-size: 9px; }
.wizard-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 20px 0; padding: 0; list-style: none; }
.wizard-progress li { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: 8px; }
.wizard-progress li > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #edf1ef; font-size: 7px; font-weight: 900; }
.wizard-progress li.active { color: #285f4d; border-color: #75ad97; background: #f2faf6; }
.wizard-progress li.done > span { color: white; background: #4cad78; }
.wizard-body { min-height: 280px; padding: 20px; border-radius: 15px; background: #f7f9f8; }
.wizard-copy h4 { margin: 0; font: 700 17px "Manrope", sans-serif; }
.wizard-copy p { margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.wizard-source-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 20px; }
.wizard-source { min-height: 145px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: white; text-align: center; }
.wizard-source > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: #28684f; background: #e3f2ea; font: 800 16px "Manrope", sans-serif; }
.wizard-source strong { font-size: 10px; }
.wizard-source small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.wizard-source.selected { border-color: #68a68d; background: #f2faf6; box-shadow: inset 0 0 0 1px #68a68d; }
.wizard-template-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 22px; }
.wizard-template-heading strong { font-size: 10px; }
.wizard-template-heading small { color: var(--muted); font-size: 8px; }
.saved-template-grid { margin-top: 9px; }
.wizard-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
.wizard-summary { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 10px; margin-top: 18px; padding: 12px; border: 1px solid #cae1d6; border-radius: 11px; background: #f1faf5; }
.wizard-summary > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: white; background: #4cad78; font-weight: 900; }
.wizard-summary strong, .wizard-summary small { display: block; }
.wizard-summary strong { font-size: 9px; }
.wizard-summary small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.wizard-dialog > footer { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; }
.template-dialog { width: min(620px, 100%); }
.delete-tournament-dialog { width: min(560px, 100%); }.delete-tournament-dialog .wizard-body { min-height: 0; display: grid; gap: 18px; margin-top: 20px; }.delete-warning { padding: 14px; border: 1px solid #efc4bb; border-radius: 12px; color: #84392c; background: #fff6f3; }.delete-warning strong { display: block; font-size: 12px; }.delete-warning p { margin: 6px 0 0; font-size: 10px; line-height: 1.5; }

@media (max-width: 1100px) { .app-shell { grid-template-columns: 82px 1fr; }.sidebar { padding: 25px 12px; }.brand > span:last-child, .nav-item > span:nth-child(2), .nav-state, .nav-dot, .soon, .sidebar-bottom { display: none; }.brand { padding-left: 9px; }.nav-item { grid-template-columns: 1fr; place-items: center; padding: 0; }.hero-grid, .content-grid { grid-template-columns: 1fr; }.metrics { grid-template-columns: 1fr 1fr; }.competition-edit { grid-template-columns: 65px 1fr; }.competition-note { grid-column: 2; border-left: 0; border-top: 1px solid var(--line); }.bracket { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .app-shell { display: block; }.sidebar { position: fixed; z-index: 5; top: auto; bottom: 0; width: 100%; height: 64px; padding: 7px 10px; }.brand, .sidebar-bottom { display: none; }.main-nav { display: grid; grid-template-columns: repeat(6, 1fr); }.nav-item { min-height: 50px; }.nav-item.disabled { display: none; }main { padding: 0 16px 85px; }.topbar { min-height: 90px; }.topbar .eyebrow, .save-state, .button.secondary { display: none; }.topbar h1 { font-size: 20px; }.top-actions { gap: 6px; }.top-actions .button { padding: 10px 12px; }.button.save-button { min-width: 0; }.test-banner { align-items: flex-start; flex-wrap: wrap; }.test-banner span:last-child { width: 100%; }.hero-card { min-height: 320px; padding: 28px; }.hero-card h2 { font-size: 28px; }.metrics { grid-template-columns: 1fr 1fr; }.metrics article { align-items: flex-start; padding: 14px; }.metric-icon { flex-basis: 34px; height: 34px; }.content-grid { display: block; }.activity-panel { margin-top: 16px; }.competition-row { grid-template-columns: 40px 1fr auto; }.competition-row .competition-stat { display: none; }.form-card { grid-template-columns: 1fr; padding: 20px; }.field.span-2 { grid-column: auto; }.section-intro { align-items: flex-start; padding-top: 22px; }.section-intro h2 { font-size: 21px; }.actions-intro { flex-wrap: wrap; }.actions-intro .button { margin-left: 76px; }.competition-edit { grid-template-columns: 50px 1fr; padding: 20px; gap: 15px; }.level-badge.large { width: 48px; height: 48px; }.competition-fields { grid-template-columns: 1fr; }.competition-note { grid-column: 1 / -1; }.bracket { grid-template-columns: 1fr; }.draw-header { align-items: flex-start; gap: 15px; }.draw-meta { gap: 12px; }.round-grid { grid-template-columns: repeat(5, 165px); }.players-panel { margin-bottom: 20px; }.table-tools, .player-table-filters { align-items: stretch; flex-direction: column; }.table-tools { padding: 12px; }.search, .player-sort { width: 100%; min-width: 0; }.player-sort-controls{grid-template-columns:1fr} }

/* Dynamic classes and participant management */
.level-c { color: #226b53; background: #dff3ea; }
.level-d { color: #775b17; background: #fff0c4; }
.empty-inline { padding: 26px 8px; color: var(--muted); font-size: 11px; border-top: 1px solid #edf0ef; }
.action-group { margin-left: auto; display: flex; gap: 9px; }
.competition-edit { grid-template-columns: 70px 1fr 250px; }
.level-badge.large { font-size: 20px; }
.competition-note { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.icon-button { width: 30px; height: 30px; flex: 0 0 30px; border: 0; border-radius: 9px; display: grid; place-items: center; background: #edf2f0; color: var(--muted); font-size: 18px; }
.icon-button.danger:hover { color: #ad3f2c; background: #fee5df; }
.player-name-input { min-width: 150px; border: 1px solid transparent; border-radius: 7px; padding: 7px 8px; color: var(--ink); background: transparent; font-weight: 700; }
.player-name-input:hover, .player-name-input:focus { border-color: var(--line); background: var(--white); outline: none; }
.eligibility-title { grid-column: 1 / -1; margin-top: 5px; padding-top: 15px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.eligibility-title strong, .eligibility-title small { display: block; }
.eligibility-title strong { font-size: 12px; }
.eligibility-title small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.eligibility-title > span { padding: 5px 8px; border-radius: 7px; color: #28684f; background: #def3e8; font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.rule-summary { margin-top: 10px !important; padding-top: 9px; border-top: 1px solid var(--line); color: var(--forest) !important; font-weight: 700; }
.classification-bar { min-height: 82px; margin-bottom: 16px; padding: 15px 18px; border: 1px solid #cfe5db; border-radius: 15px; background: #f4fbf7; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.classification-bar > div:first-child { display: grid; grid-template-columns: 10px 1fr; column-gap: 10px; align-items: center; }
.classification-bar .status-dot { grid-row: span 2; background: var(--forest); }
.classification-bar strong, .classification-bar small { display: block; }
.classification-bar strong { font-size: 12px; }
.classification-bar small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.assignment-table { min-width: 1730px; }
.compact-input { width: 82px; min-height: 34px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; }
.club-input { width: 125px; }
.roster-select { min-width: 115px; }
.compact-select.narrow { min-width: 85px; }
.source-select { min-width: 165px; }
.age-input { width: 62px; }
.suggestion { min-width: 120px; display: inline-flex; flex-direction: column; gap: 2px; padding: 7px 9px; border-radius: 9px; }
.suggestion strong { font-size: 9px; }
.suggestion small { font-size: 7px; }
.suggestion.matched { color: #25694f; background: #e0f3ea; }
.suggestion.review { color: #775f20; background: #fff2ce; }
.suggestion.neutral { color: #65706d; background: #edf2f0; }
.decision { display: inline-block; padding: 6px 8px; border-radius: 7px; font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.decision.confirmed { color: #25694f; background: #def3e8; }
.decision-button { min-width: 120px; padding: 8px 10px; border: 1px solid #d9a841; border-radius: 8px; color: #715616; background: #fff7df; font-size: 8px; font-weight: 800; }
.switch { position: relative; }
.switch input { display: block; position: absolute; width: 1px; min-height: 1px; height: 1px; padding: 0; opacity: 0; }
.switch input:focus-visible + span { outline: 3px solid rgba(94,159,135,.25); }
.structure-assistant { margin-bottom: 16px; padding: 20px; border: 1px solid #ded8f0; border-radius: 16px; background: linear-gradient(135deg, #fbf9ff 0%, #f5fbf8 100%); }
.registration-inbox { margin-bottom: 16px; padding: 20px; border: 1px solid #d8e6df; border-radius: 16px; background: #fff; box-shadow: 0 9px 28px rgba(21,67,52,.05); }
.registration-inbox-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.registration-inbox-head > div:first-child { display: flex; align-items: center; gap: 13px; }
.registration-inbox-head h3 { margin: 2px 0 4px; font: 700 17px "Manrope", sans-serif; }
.registration-inbox-head p { margin: 0; color: var(--muted); font-size: 11px; }
.registration-inbox-head strong { font-size: 10px; color: var(--forest); text-align:right; }
.registration-share { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 13px 18px; margin-top: 16px; padding: 15px; border: 1px solid #d7e5df; border-radius: 13px; background: linear-gradient(135deg, #f5faf7, #fbfcfb); }
.registration-share-copy { display: flex; align-items: center; gap: 11px; }
.registration-share-icon { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: white; background: var(--forest); font-size: 14px; font-weight: 900; }
.registration-share-copy strong { display: block; font: 750 12px "Manrope", sans-serif; }
.registration-share-copy p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.registration-share-badges { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.registration-share-status, .registration-share-audience { padding: 6px 9px; border-radius: 999px; color: #4e625b; background: #e7eeeb; font-size: 8px; font-weight: 850; white-space: nowrap; }
.registration-share-status.open { color: #18543e; background: #dff3e8; }
.registration-share-status.warning { color: #8b5131; background: #f9e8dc; }
.registration-share-audience { color: #55448c; background: #eee9fa; }
.registration-share-link { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(180px, 1fr) auto auto auto; gap: 8px; }
.registration-share-link input { min-width: 0; min-height: 40px; padding: 0 12px; border: 1px solid #cedbd5; border-radius: 10px; color: #40544d; background: white; font: 600 9px "Manrope", sans-serif; }
.registration-share-link .button { white-space: nowrap; }
.registration-share-link .button.is-disabled { opacity: .45; cursor: not-allowed; pointer-events: none; }
.registration-embed { grid-column:1 / -1; display:grid; grid-template-columns:minmax(240px,1fr) minmax(420px,1.5fr); align-items:center; gap:14px; padding-top:14px; border-top:1px solid #dce7e2; }
.registration-embed > div:first-child { display:flex; align-items:center; gap:10px; }
.registration-embed > div:first-child > span { flex:0 0 32px; width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:#55448c; background:#eee9fa; font-size:12px; }
.registration-embed strong, .registration-embed p { display:block; }
.registration-embed strong { font-size:10px; }
.registration-embed p { margin:3px 0 0; color:var(--muted); font-size:8px; line-height:1.45; }
.registration-embed-code { display:grid; grid-template-columns:minmax(130px,1fr) auto auto; gap:8px; }
.registration-embed-code input { min-width:0; min-height:40px; padding:0 12px; border:1px solid #cedbd5; border-radius:10px; color:#40544d; background:white; font:600 8px "Manrope",sans-serif; }
.registration-embed-code .button { white-space:nowrap; }
.registration-embed-code .is-disabled { opacity:.45; cursor:not-allowed; pointer-events:none; }
.registration-inbox-list { display: grid; gap: 8px; margin-top: 16px; }
.registration-tools { display:grid; grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(135px,.7fr)) auto; align-items:end; gap:9px; margin-top:16px; padding:12px; border:1px solid #e1e9e5; border-radius:12px; background:#f7faf8; }
.registration-tools label { display:grid; gap:5px; color:var(--muted); font-size:7px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.registration-tools select { min-height:38px; padding:0 10px; border:1px solid #d7e0dc; border-radius:9px; color:var(--ink); background:#fff; font:inherit; }
.registration-tools .search { min-height:38px; }
.registration-tools > strong { align-self:center; color:var(--forest); font-size:9px; white-space:nowrap; }
.registration-entry { display: grid; grid-template-columns: minmax(180px, 1.1fr) minmax(210px, 1.25fr) minmax(255px,auto); align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid #e8eeeb; border-radius: 12px; background: #fafcfb; }
.registration-entry h4 { margin: 0 0 3px; font: 700 12px "Manrope", sans-serif; }.registration-entry p,.registration-entry small { margin: 0; color: var(--muted); font-size: 9px; }.registration-entry .action-group { justify-content: flex-end; }
.registration-status { display: inline-flex; width: max-content; margin-bottom: 4px; padding: 4px 7px; border-radius: 999px; background: #edf2ef; color: #50645e; font-size: 8px; font-weight: 800; }.registration-status.pending { background: #fff1c7; color: #73642f; }.registration-status.waitlist { background: #f6e9f0; color: #7c4562; }.registration-status.accepted { background: #dff3e8; color: #18543e; }
.registration-flags { display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.registration-flag { display:inline-flex; padding:4px 6px; border-radius:999px; color:#53655e; background:#edf2ef; font-size:7px; font-weight:800; }
.registration-flag.warning { color:#805523; background:#fff0d6; }
.registration-flag.ready { color:#18543e; background:#dff3e8; }
.registration-class-control { display:grid; gap:4px; min-width:155px; color:var(--muted); font-size:7px; font-weight:850; text-transform:uppercase; }
.registration-class-control select { min-height:34px; padding:0 8px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; font:inherit; }
.registration-form-message { min-height: 18px; color: #a33; font-size: 10px; }
.structure-head, .structure-head > div { display: flex; align-items: center; gap: 14px; }
.structure-head { justify-content: space-between; }
.structure-head h3 { margin: 2px 0 4px; font: 700 17px "Manrope", sans-serif; }
.structure-head p { margin: 0; color: var(--muted); font-size: 10px; }
.structure-head .eyebrow { color: #6651a8; font-size: 8px; }
.assistant-mark { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: #6651a8; font: 800 16px "Manrope", sans-serif; }
.structure-grid { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 10px; margin-top: 18px; }
.structure-format { min-height: 70px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: white; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; }
.structure-format > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: var(--forest); background: var(--mint); font-weight: 800; }
.structure-format strong, .structure-format small { display: block; }
.structure-format strong { font-size: 10px; }
.structure-format small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.35; }
.structure-format b { grid-column: 2; color: #6c5aa0; font-size: 7px; letter-spacing: .06em; }
.structure-format.move_up { border-color: #e7c989; background: #fffaf0; }
.structure-format.review { border-color: #d8ccef; }
.structure-moves { margin-top: 14px; padding-top: 12px; border-top: 1px solid #ded8f0; }
.structure-moves h4 { margin: 0 0 8px; font-size: 10px; }
.structure-move { display: flex; align-items: center; gap: 9px; padding: 8px 10px; border-radius: 10px; background: white; }
.structure-move + .structure-move { margin-top: 6px; }
.structure-move > span { color: var(--coral); font-size: 18px; }
.structure-move strong, .structure-move small { display: block; }
.structure-move strong { font-size: 9px; }
.structure-move small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.structure-warning { margin-top: 15px; padding: 10px 12px; border-radius: 10px; color: #715616; background: #fff2ce; }
.structure-warning strong, .structure-warning span { display: block; font-size: 9px; }
.structure-warning span { margin-top: 3px; }
.structure-capacity-decision { margin-top: 14px; padding: 13px; border: 1px solid #d8b75b; border-radius: 12px; background: rgba(216,183,91,.12); }
.structure-capacity-decision strong, .structure-capacity-decision span, .structure-capacity-decision small { display: block; }
.structure-capacity-decision strong { font-size: 12px; }
.structure-capacity-decision span, .structure-capacity-decision small { margin-top: 4px; font-size: 10px; color: var(--muted); }
.structure-capacity-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }

.workflow-panel { margin-bottom: 18px; padding: 22px; border: 1px solid #d9e4df; border-radius: 17px; background: #fbfdfc; }
.workflow-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.workflow-heading h3 { margin: 4px 0 5px; font: 700 17px "Manrope", sans-serif; }
.workflow-heading p { margin: 0; color: var(--muted); font-size: 9px; }
.workflow-version { padding: 7px 10px; border-radius: 8px; color: #5c4a94; background: #eee9fb; font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.workflow-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 20px 0; padding: 0; list-style: none; }
.workflow-steps li { min-height: 62px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; display: grid; grid-template-columns: 26px 1fr; align-items: center; gap: 8px; background: white; }
.workflow-steps li > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; color: #71807b; background: #edf2f0; font-size: 8px; font-weight: 800; }
.workflow-steps strong, .workflow-steps small { display: block; }
.workflow-steps strong { font-size: 9px; }
.workflow-steps small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.35; }
.workflow-steps li.done { border-color: #cfe5db; background: #f4fbf7; }
.workflow-steps li.done > span { color: #28684f; background: #def3e8; }
.workflow-steps li.active { border-color: #d8ccef; box-shadow: inset 0 0 0 1px #d8ccef; }
.workflow-steps li.active > span { color: white; background: #6651a8; }
.workflow-reason { display: grid; gap: 6px; margin: 0 0 15px; color: #5f6a67; font-size: 9px; font-weight: 700; }
.workflow-reason input { min-height: 40px; padding: 0 12px; border: 1px solid #e0c487; border-radius: 9px; background: #fffaf0; }
.roster-readiness { margin: 0 0 18px; padding: 15px; border: 1px solid #dfe6e2; border-radius: 12px; background: white; }
.roster-readiness-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.roster-readiness-head h4 { margin: 3px 0 0; font: 700 12px "Manrope", sans-serif; }
.roster-readiness-state { padding: 6px 8px; border-radius: 7px; font-size: 7px; font-weight: 900; letter-spacing: .07em; }
.roster-readiness-state.ready { color: #28684f; background: #def3e8; }
.roster-readiness-state.block { color: #9b3d31; background: #fde6e1; }
.roster-readiness ul { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; margin: 0; padding: 0; list-style: none; }
.roster-readiness li { display: grid; grid-template-columns: 22px 1fr; align-items: start; gap: 7px; min-height: 60px; padding: 9px; border: 1px solid var(--line); border-radius: 9px; }
.roster-readiness li > span,.roster-readiness.locked > div > span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 7px; font-size: 8px; font-weight: 900; }
.roster-readiness li strong,.roster-readiness li small,.roster-readiness.locked strong,.roster-readiness.locked small { display: block; }
.roster-readiness li strong,.roster-readiness.locked strong { font-size: 8px; }
.roster-readiness li small,.roster-readiness.locked small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.roster-readiness li.ready > span,.roster-readiness.locked > div > span { color: #28684f; background: #def3e8; }
.roster-readiness li.warning > span { color: #775a16; background: #fff0c7; }
.roster-readiness li.block { border-color: #efc9c2; background: #fff8f6; }
.roster-readiness li.block > span { color: #9b3d31; background: #fde6e1; }
.roster-readiness.locked { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-color: #cfe5db; background: #f4fbf7; }
.roster-readiness.locked > div { display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 8px; }
.roster-readiness.locked p { margin: 0; color: #28684f; font-size: 8px; font-weight: 700; }
.workflow-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.workflow-audit { margin: 0; padding: 0; list-style: none; }
.workflow-audit li { display: flex; align-items: center; gap: 8px; }
.workflow-audit li + li { margin-top: 6px; }
.workflow-audit li > span { color: #28684f; font-size: 9px; }
.workflow-audit strong, .workflow-audit small { display: block; }
.workflow-audit strong { font-size: 8px; }
.workflow-audit small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.draw-rule { display: inline-block; margin: 8px 0 0; padding: 6px 8px; border-radius: 7px; color: #5c4a94; background: #f2eefb; font-size: 8px; }
.overview-pools section > div small { margin-left: auto; color: var(--muted); font-size: 7px; }
.button:disabled, input:disabled, select:disabled { cursor: not-allowed; opacity: .52; }

.court-layout { display: grid; grid-template-columns: minmax(420px, .8fr) minmax(560px, 1.2fr); gap: 16px; align-items: start; }
.court-setup-panel, .court-plan-panel { padding: 20px; }
.location-card { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfb; }
.location-card + .location-card { margin-top: 12px; }
.location-card > header { display: grid; grid-template-columns: 1fr 105px 32px; align-items: end; gap: 10px; margin-bottom: 14px; }
.location-card .field input { min-height: 39px; }
.court-grid { display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 8px; }
.court-card { padding: 10px; border: 1px solid #cfe5db; border-radius: 11px; background: #f4fbf7; }
.court-card.unavailable { border-color: #efd2ca; background: #fff7f4; }
.court-card > div { display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 7px; }
.court-card > div span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 7px; color: #28684f; background: #def3e8; font-size: 8px; font-weight: 800; }
.court-card.unavailable > div span { color: #a34531; background: #fee5df; }
.court-card input { width: 100%; min-height: 31px; border: 1px solid transparent; border-radius: 7px; padding: 0 7px; background: transparent; font-size: 9px; font-weight: 700; }
.court-card input:focus { border-color: var(--line); background: white; outline: none; }
.court-card > button { width: 100%; margin-top: 7px; border: 0; border-radius: 7px; padding: 6px; color: #28684f; background: #def3e8; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.court-card.unavailable > button { color: #a34531; background: #fee5df; }
.court-card .court-reason { margin-top: 6px; border-color: #efd2ca; background: white; font-weight: 500; }
.court-plan-controls { display: grid; grid-template-columns: 1.4fr 1fr 130px auto; align-items: end; gap: 10px; padding: 14px; border-radius: 13px; background: #f6f8f7; }
.court-plan-controls .button { margin-bottom: 1px; white-space: nowrap; }
.court-allocation-row { display: grid; grid-template-columns: 190px 1fr 85px; align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.allocation-name strong, .allocation-name small { display: block; }
.allocation-name strong { font-size: 10px; }
.allocation-name small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.court-choice-list { display: flex; flex-wrap: wrap; gap: 6px; }
.court-choice { min-width: 78px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: white; text-align: left; }
.court-choice span, .court-choice small { display: block; }
.court-choice span { font-size: 8px; font-weight: 800; }
.court-choice small { margin-top: 2px; font-size: 6px; }
.court-choice.selected { border-color: #73ad96; color: #225f48; background: #e7f5ed; box-shadow: inset 0 0 0 1px #73ad96; }
.court-choice.disabled { opacity: .42; }
.parallel-limit { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 5px; color: var(--muted); font-size: 7px; }
.parallel-limit input { grid-row: span 2; width: 42px; min-height: 35px; border: 1px solid var(--line); border-radius: 8px; text-align: center; }
.parallel-limit small { font-size: 7px; }
.court-plan-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 16px; }
.court-plan-footer p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.schedule-builder { margin-top: 18px; }
.schedule-mode-switch { display: grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 10px; margin-bottom: 20px; }
.schedule-mode-card { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 11px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: #fbfcfb; text-align: left; }
.schedule-mode-card > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: #50635c; background: #edf2ef; font-size: 16px; }
.schedule-mode-card strong, .schedule-mode-card small { display: block; }
.schedule-mode-card strong { font-size: 10px; }
.schedule-mode-card small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.schedule-mode-card b { color: var(--muted); font-size: 6px; letter-spacing: .08em; }
.schedule-mode-card.active { border-color: #73ad96; background: #f2faf6; box-shadow: inset 0 0 0 1px #73ad96; }
.schedule-mode-card.active > span { color: #28684f; background: #dff2e8; }
.schedule-mode-card.active b { color: #28684f; }
.schedule-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.schedule-heading h3 { margin-top: 4px; }
.schedule-heading p { max-width: 660px; margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.schedule-actions { display: flex; gap: 8px; }
.schedule-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; margin-top: 18px; padding: 14px; border-radius: 13px; background: #f6f8f7; }
.input-suffix { display: grid; grid-template-columns: 1fr 42px; }
.input-suffix input { border-radius: 10px 0 0 10px; }
.input-suffix span { display: grid; place-items: center; border: 1px solid #d7dedb; border-left: 0; border-radius: 0 10px 10px 0; color: var(--muted); background: white; font-size: 8px; }
.schedule-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-top: 14px; }
.schedule-summary article { padding: 11px 13px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.schedule-summary small, .schedule-summary strong { display: block; }
.schedule-summary small { color: var(--muted); font-size: 7px; letter-spacing: .08em; }
.schedule-summary strong { margin-top: 4px; font: 700 14px "Manrope", sans-serif; }
.schedule-summary article.ready, .schedule-summary article.saved { border-color: #bcdcca; color: #28684f; background: #f2faf6; }
.schedule-summary article.warning { border-color: #edc9bf; color: #a34531; background: #fff7f4; }
.schedule-review { margin-top: 12px; padding: 15px; border: 1px solid #d8e3de; border-radius: 13px; background: #fbfdfc; }
.schedule-review:empty { display: none; }
.schedule-review-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.schedule-review-head strong { display: block; margin-top: 3px; font: 700 13px "Manrope", sans-serif; }
.schedule-review-state { padding: 5px 8px; border-radius: 999px; color: #6c7773; background: #edf1ef; font-size: 6px; font-weight: 900; letter-spacing: .08em; }
.schedule-review-state.state-1 { color: #a34531; background: #fff0eb; }
.schedule-review-state.state-2, .schedule-review-state.state-3 { color: #28684f; background: #e2f2e9; }
.schedule-review ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 13px 0 0; padding: 0; list-style: none; }
.schedule-review li { display: grid; grid-template-columns: 27px 1fr; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.schedule-review li > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #72807b; background: #edf1ef; font-size: 8px; font-weight: 900; }
.schedule-review li strong, .schedule-review li small { display: block; }
.schedule-review li strong { font-size: 8px; }
.schedule-review li small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.schedule-review li.done { border-color: #c9e0d5; background: #f4faf7; }
.schedule-review li.done > span { color: white; background: #4cad78; }
.schedule-review li.active { border-color: #75ad97; box-shadow: inset 0 0 0 1px #75ad97; }
.schedule-warning { margin: 12px 0; padding: 9px 11px; border-radius: 9px; color: #5f6a67; background: #f6f8f7; font-size: 8px; }
.schedule-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 10px; align-items: start; }
.timeline-court { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfb; }
.timeline-court > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 12px; border-bottom: 1px solid var(--line); background: #f1f6f3; }
.timeline-court > header strong, .timeline-court > header small { display: block; }
.timeline-court > header strong { font-size: 10px; }
.timeline-court > header small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.timeline-court > header > span { color: #28684f; font-size: 7px; font-weight: 800; }
.timeline-court > div { padding: 8px; }
.timeline-court > div > p { margin: 7px; color: var(--muted); font-size: 8px; }
.timeline-match { position: relative; padding: 9px; border: 1px solid #dfe8e4; border-radius: 9px; background: white; }
.timeline-match + .timeline-match { margin-top: 6px; }
.timeline-match time, .timeline-match strong, .timeline-match small { display: block; }
.timeline-match time { color: var(--coral); font-size: 8px; font-weight: 800; }
.timeline-match strong { margin-top: 4px; font-size: 8px; line-height: 1.35; }
.timeline-match small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.timeline-match em { display: block; margin-top: 5px; color: #50635c; font-size: 7px; font-style: normal; font-weight: 800; }
.timeline-match b { position: absolute; top: 8px; right: 8px; color: #7d6425; font-size: 6px; letter-spacing: .06em; }
.timeline-match.conflict { border-color: #e8b8aa; background: #fff7f4; }
.schedule-format { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; font-weight: 700; }
.schedule-empty { grid-column: 1 / -1; min-height: 150px; display: grid; place-items: center; align-content: center; gap: 6px; border: 1px dashed #ccd7d3; border-radius: 13px; color: var(--muted); text-align: center; }
.schedule-empty span { font-size: 24px; }
.schedule-empty strong { color: var(--ink); font-size: 11px; }
.schedule-empty small { font-size: 8px; }
.schedule-table-wrap { margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); }
.schedule-table-wrap .panel-head { margin-bottom: 9px; }
.schedule-table th, .schedule-table td { padding: 9px 10px; }
.schedule-table td { font-size: 8px; }
.schedule-table tr.conflict td { background: #fff7f4; }
.schedule-time-input { min-height: 34px; width: 92px; border: 1px solid var(--line); border-radius: 8px; padding: 0 7px; }
.schedule-conflict { color: #a34531; font-size: 7px; font-weight: 800; }
.schedule-ok { color: #28684f; font-size: 7px; font-weight: 800; }
.match-schedule-slot { display: block; padding: 5px 9px; color: #28684f; background: #e4f3eb; font-size: 7px; font-weight: 800; }
.matrix-match .match-schedule-slot { margin-top: 3px; padding: 3px 4px; border-radius: 4px; font-size: 6px; }
.placement-match .match-schedule-slot { margin: -3px 0 8px; border-radius: 6px; }
.open-booking-board { display: block; }
.open-booking-rules { display: grid; grid-template-columns: 28px 1fr 28px 1fr 28px 1fr; align-items: center; gap: 9px; margin-bottom: 12px; padding: 13px; border: 1px solid #cfe5db; border-radius: 13px; background: #f2faf6; }
.open-booking-rules > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: white; background: #28684f; font-size: 8px; font-weight: 800; }
.open-booking-rules strong, .open-booking-rules small { display: block; }
.open-booking-rules strong { font-size: 8px; }
.open-booking-rules small { margin-top: 2px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.open-match-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 9px; }
.open-match-card { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.open-match-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.open-match-card header span { color: var(--coral); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.open-match-card header b { padding: 4px 6px; border-radius: 5px; color: #28684f; background: #e3f3ea; font-size: 6px; letter-spacing: .05em; }
.open-match-card.waiting header b { color: #7d6425; background: #f8f1d9; }
.open-match-card.blocked { border-color: #e8b8aa; background: #fff9f7; }
.open-match-card.blocked header b { color: #a34531; background: #fee5df; }
.open-match-card h4 { margin: 10px 0 4px; font-size: 10px; }
.open-match-card p { min-height: 28px; margin: 0; color: #50635c; font-size: 8px; line-height: 1.45; }
.open-match-card dl { margin: 10px 0 0; padding-top: 8px; border-top: 1px solid var(--line); }
.open-match-card dl > div { display: grid; grid-template-columns: 48px 1fr; gap: 7px; margin-top: 4px; }
.open-match-card dt { color: var(--muted); font-size: 7px; }
.open-match-card dd { margin: 0; font-size: 7px; font-weight: 700; }
.open-match-note { display: block; margin-top: 9px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.organizer-start { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.organizer-start label { color: #28684f; font-size: 7px; font-weight: 800; }
.organizer-start select { width: 100%; min-height: 32px; margin-top: 5px; padding: 0 8px; border: 1px solid #cfd9d5; border-radius: 8px; color: var(--ink); background: white; font-size: 8px; }
.organizer-start-status { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.organizer-start-status strong { color: #28684f; font-size: 7px; }

.match-center-intro { align-items: center; }
.match-live-tools { display: grid; justify-items: end; gap: 5px; margin-left: auto; }
.match-live-tools small { color: var(--muted); font-size: 7px; }
.match-clock { min-width: 190px; margin-left: auto; padding: 12px 14px; border: 1px solid #cfe5db; border-radius: 13px; background: #f2faf6; }
.match-clock span, .match-clock small { display: block; }
.match-clock span { color: #28684f; font-size: 7px; font-weight: 800; letter-spacing: .09em; }
.match-clock input { width: 100%; min-height: 35px; margin: 5px 0 2px; padding: 0; border: 0; color: var(--ink); background: transparent; font: 800 20px "Manrope", sans-serif; }
.match-clock small { color: var(--muted); font-size: 7px; }
.match-center-empty { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 9px; padding: 40px; border: 1px dashed #c9d6d1; border-radius: 18px; background: #fbfdfc; text-align: center; }
.match-center-empty > span { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 17px; color: #28684f; background: #e2f2e9; font-size: 26px; }
.match-center-empty h3 { margin: 8px 0 0; font: 700 18px "Manrope", sans-serif; }
.match-center-empty p { max-width: 560px; margin: 0 0 10px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.match-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 12px; }
.match-summary article { min-height: 92px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.match-summary small, .match-summary strong, .match-summary span { display: block; }
.match-summary small { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.match-summary strong { margin-top: 6px; font: 800 25px "Manrope", sans-serif; }
.match-summary span { margin-top: 5px; color: var(--muted); font-size: 8px; }
.match-summary article.live { border-color: #a9d5c2; color: #28684f; background: #f2faf6; }
.match-summary article.warning { border-color: #efc7bb; color: #a34531; background: #fff8f5; }
.match-alerts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.match-alerts article { min-width: 240px; flex: 1; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 9px; padding: 10px 12px; border-radius: 11px; }
.match-alerts article > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; font-size: 9px; font-weight: 900; }
.match-alerts strong, .match-alerts small { display: block; }
.match-alerts strong { font-size: 9px; }
.match-alerts small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.match-alerts .warning { color: #8b4b2f; background: #fff1e9; }
.match-alerts .warning > span { background: #f9d8c7; }
.match-alerts .info { color: #55448c; background: #f1edfb; }
.match-alerts .info > span { background: #ded5f4; }
.match-alerts .ok { color: #28684f; background: #edf8f2; }
.match-alerts .ok > span { background: #d7eee2; }
.match-center-grid { display: grid; grid-template-columns: minmax(610px, 1.65fr) minmax(300px, .75fr); gap: 14px; align-items: start; }
.match-courts-panel, .match-queue-panel { padding: 20px; }
.match-court-board { display: grid; grid-template-columns: repeat(2, minmax(270px, 1fr)); gap: 11px; }
.match-court-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfb; }
.match-court-card > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-bottom: 1px solid var(--line); background: #f2f6f4; }
.match-court-card > header strong, .match-court-card > header small { display: block; }
.match-court-card > header strong { font-size: 11px; }
.match-court-card > header small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.match-court-card > header b { padding: 5px 7px; border-radius: 6px; color: #596660; background: #e5ebe8; font-size: 6px; letter-spacing: .08em; }
.match-court-card.playing { border-color: #75b398; box-shadow: 0 8px 24px rgba(39,102,77,.08); }
.match-court-card.playing > header { background: #e8f6ee; }
.match-court-card.playing > header b { color: white; background: #28684f; }
.match-court-card.called > header b { color: #5b478f; background: #e9e2f8; }
.match-court-card.delayed { border-color: #e6b39f; }
.match-court-card.delayed > header b { color: #9a432d; background: #fee2d9; }
.match-court-card.completed { opacity: .72; }
.match-court-time { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 12px 13px 0; }
.match-court-time time { color: var(--coral); font: 800 20px "Manrope", sans-serif; }
.match-court-time span { color: var(--muted); font-size: 7px; font-weight: 800; }
.match-court-main { padding: 9px 13px 12px; }
.match-court-main > span { color: #28684f; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.match-court-main h4 { margin: 6px 0 5px; font: 700 12px "Manrope", sans-serif; line-height: 1.35; }
.match-court-main small { color: var(--muted); font-size: 8px; }
.match-official { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 9px; margin: 0 13px 11px; padding: 9px; border-radius: 10px; background: #f1edfb; }
.match-official > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: white; background: #6651a8; font-size: 9px; font-weight: 900; }
.match-official strong, .match-official small { display: block; }
.match-official strong { font-size: 8px; }
.match-official small { margin-top: 2px; color: var(--muted); font-size: 7px; line-height: 1.35; }
.match-official.none { background: #f3f5f4; }
.match-official.none > span { background: #85908c; }
.match-official.pool { background: #edf7f2; }
.match-official.pool > span { background: #39785f; }
.official-controls { display: grid; grid-template-columns: auto 1fr auto; gap: 6px; margin: -5px 13px 11px; padding: 8px; border: 1px solid #e8e1f6; border-radius: 10px; background: #fbf9ff; }
.official-controls label { grid-column: 1 / 3; color: var(--muted); font-size: 7px; font-weight: 800; }
.official-controls select { width: 100%; min-height: 30px; margin-top: 4px; padding: 0 7px; border: 1px solid var(--line); border-radius: 7px; background: white; font: 600 7px "Manrope", sans-serif; }
.official-controls button { min-height: 30px; padding: 0 8px; border: 1px solid #dcd3ef; border-radius: 7px; color: #5b478f; background: white; font: 800 6px "Manrope", sans-serif; }
.official-controls button:disabled { opacity: .45; }
.official-controls button[data-official-waive] { grid-column: 1 / -1; }
.official-status { display: inline-flex; align-items: center; padding: 0 8px; border-radius: 7px; color: #28684f; background: #e3f3ea; font-size: 6px; font-weight: 900; }
.match-card-actions { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 13px 12px; }
.match-action { min-height: 31px; padding: 0 10px; border: 1px solid #cfd9d5; border-radius: 8px; color: #50605a; background: white; font-size: 7px; font-weight: 800; }
.match-action.primary { border-color: #28684f; color: white; background: #28684f; }
.match-action.court-pair-action { border-color: #e77360; color: #9c3e30; background: #fff2ef; }
.match-action.court-pair-action:hover,.match-action.court-pair-action:focus-visible { color: white; background: #e77360; outline: 0; }
.court-code-modal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; }
.court-code-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(12,32,26,.68); backdrop-filter: blur(5px); }
.court-code-dialog { position: relative; width: min(570px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 28px; border-radius: 22px; background: white; box-shadow: 0 28px 90px rgba(8,28,22,.32); }
.court-code-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.court-code-dialog h3 { margin: 4px 0; font: 800 22px "Manrope", sans-serif; }
.court-code-dialog header p { margin: 0; color: var(--muted); font-size: 10px; }
.court-code-dialog .icon-button { width: 34px; height: 34px; border: 0; border-radius: 50%; color: var(--ink); background: #eef3f0; font-size: 21px; }
.court-code-loading { padding: 42px 0 18px; color: var(--muted); text-align: center; font-size: 11px; }
.court-code-value { margin: 26px 0 8px; color: var(--forest); font: 800 clamp(38px, 9vw, 62px) "Manrope", sans-serif; letter-spacing: .14em; text-align: center; }
.court-code-validity { display: block; color: #9c3e30; font-size: 9px; text-align: center; text-transform: uppercase; letter-spacing: .08em; }
.court-code-steps { display: grid; gap: 10px; margin: 24px 0; padding-left: 22px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.court-code-steps b { color: var(--ink); overflow-wrap: anywhere; }
.court-code-dialog > footer { display: flex; justify-content: flex-end; gap: 9px; padding-top: 16px; border-top: 1px solid var(--line); }
.match-finished { color: #28684f; font-size: 8px; font-weight: 800; }
.match-court-card footer { display: grid; gap: 3px; padding: 9px 13px; border-top: 1px solid var(--line); background: white; }
.match-court-card footer span { color: var(--muted); font-size: 6px; font-weight: 800; letter-spacing: .08em; }
.match-court-card footer strong { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.court-free-message { min-height: 180px; display: grid; place-items: center; color: var(--muted); font-size: 9px; }
.official-rule-card { display: grid; grid-template-columns: 38px 1fr; gap: 11px; padding: 13px; border-radius: 12px; color: #55448c; background: #f1edfb; }
.official-rule-card > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; color: white; background: #6651a8; font-weight: 900; }
.official-rule-card small, .official-rule-card strong { display: block; }
.official-rule-card small { font-size: 6px; font-weight: 800; letter-spacing: .08em; }
.official-rule-card strong { margin-top: 3px; font-size: 9px; }
.official-rule-card p { margin: 5px 0 0; color: #756b91; font-size: 7px; line-height: 1.4; }
.match-queue { margin-top: 12px; }
.match-queue article { display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 9px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.match-queue article > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; color: #50605a; background: #edf2f0; font-size: 7px; font-weight: 800; }
.match-queue strong, .match-queue small { display: block; }
.match-queue strong { font-size: 8px; }
.match-queue small { max-width: 150px; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.match-queue b { padding: 4px 6px; border-radius: 5px; color: #596660; background: #e9eeec; font-size: 5px; letter-spacing: .06em; }
.match-queue b.playing { color: white; background: #28684f; }
.match-queue b.called { color: #5b478f; background: #e9e2f8; }
.match-queue b.delayed { color: #9a432d; background: #fee2d9; }
.match-queue b.completed { color: #28684f; background: #e3f3ea; }
.queue-result { padding: 5px 7px; border: 0; border-radius: 5px; color: #28684f; background: #e3f3ea; font-size: 5px; font-weight: 800; letter-spacing: .05em; }
.queue-result.called { color: #5b478f; background: #e9e2f8; }
.queue-empty { padding: 25px 10px; color: var(--muted); font-size: 8px; text-align: center; }
.match-result-strip { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 13px 11px; padding: 9px 10px; border-radius: 9px; color: #28684f; background: #eaf6f0; }
.match-result-strip strong { font-size: 11px; }
.match-result-strip small { font-size: 7px; }
.result-modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; }
.result-modal[hidden] { display: none; }
.result-modal-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(12,32,26,.58); }
.result-dialog { position: relative; width: min(650px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 22px; border-radius: 18px; background: white; box-shadow: 0 24px 70px rgba(8,28,22,.25); }
.result-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.result-dialog h3 { margin: 4px 0; font: 700 18px "Manrope", sans-serif; }
.result-dialog header p { margin: 0; color: var(--muted); font-size: 9px; }
.result-close { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: white; font-size: 20px; }
.result-source-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 12px; margin: 16px 0; }
.result-source-grid label, .result-note { color: var(--muted); font-size: 8px; font-weight: 800; }
.result-source-grid select, .result-note textarea { width: 100%; margin-top: 6px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; font: 600 9px "Manrope", sans-serif; }
.result-source-grid select { min-height: 38px; padding: 0 9px; }
.result-source-note { display: grid; align-content: center; padding: 10px 12px; border-radius: 10px; color: #55448c; background: #f1edfb; font-size: 8px; line-height: 1.45; }
.result-outcome-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 14px; }
.result-outcome-grid label { color: var(--muted); font-size: 8px; font-weight: 800; }
.result-outcome-grid select { width: 100%; min-height: 38px; margin-top: 6px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; font: 600 9px "Manrope", sans-serif; }
.result-outcome-note { grid-column: 1 / -1; padding: 9px 11px; border-radius: 9px; color: #6b5840; background: #fff6e6; font-size: 8px; line-height: 1.45; }
.result-score-head { display: grid; grid-template-columns: 1fr 52px 1fr; align-items: center; gap: 8px; padding: 10px 0; text-align: center; }
.result-score-head strong { font-size: 10px; }
.result-score-head span { color: var(--muted); font-size: 7px; font-weight: 800; }
.result-games { display: grid; gap: 7px; }
.result-game-row { display: grid; grid-template-columns: 1fr 52px 1fr; align-items: center; gap: 8px; }
.result-game-row input { width: 68px; min-height: 39px; padding: 0 8px; border: 1px solid var(--line); border-radius: 9px; text-align: center; font: 800 14px "Manrope", sans-serif; appearance: textfield; }
.result-game-row input:first-child { justify-self: end; }
.result-game-row input:last-child { justify-self: start; }
.result-game-row input::-webkit-inner-spin-button,
.result-game-row input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.result-game-row span { color: var(--muted); font-size: 8px; font-weight: 800; text-align: center; }
.result-confirm { display: flex; align-items: center; gap: 8px; margin: 14px 0; padding: 11px; border-radius: 10px; color: #28684f; background: #edf8f2; font-size: 8px; font-weight: 800; }
.result-note { display: block; margin-top: 14px; }
.result-note textarea { resize: vertical; padding: 9px; }
.result-validation { min-height: 18px; margin-top: 10px; color: #a34531; font-size: 8px; font-weight: 800; }
.result-dialog > footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
.check-in-panel { margin-bottom: 18px; padding: 20px; border: 1px solid #dce9e3; border-radius: 17px; background: linear-gradient(135deg, #f7fbf9, #fff); box-shadow: 0 9px 28px rgba(21,67,52,.05); }
.check-in-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.check-in-head > div { display: flex; align-items: center; gap: 12px; }
.check-in-head h3 { margin: 2px 0 3px; font: 700 16px "Manrope", sans-serif; }
.check-in-head p { margin: 0; color: var(--muted); font-size: 8px; }
.check-in-head > strong { padding: 8px 11px; border-radius: 9px; color: #28684f; background: #e7f4ed; font-size: 8px; white-space: nowrap; }
.check-in-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .75fr); gap: 15px; }
.check-in-list { display: grid; gap: 7px; max-height: 365px; overflow: auto; padding-right: 4px; }
.check-in-player { display: grid; grid-template-columns: minmax(150px, 1fr) 92px auto; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--line); border-left: 4px solid #c8d1cd; border-radius: 10px; background: white; }
.check-in-player.checked-in { border-left-color: #49a87c; }
.check-in-player.late { border-left-color: #e6a84e; }
.check-in-player.no-show { border-left-color: #d16c58; }
.check-in-player div:first-child { display: grid; gap: 2px; }
.check-in-player strong { font-size: 9px; }
.check-in-player small { color: var(--muted); font-size: 7px; }
.check-in-player > span { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.check-in-actions { display: flex; gap: 5px; }
.check-in-actions button { padding: 6px 7px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: white; font-size: 6px; font-weight: 800; }
.check-in-actions button:hover { border-color: #4d9076; color: #28684f; background: #f0f8f4; }
.check-in-empty { display: grid; place-items: center; min-height: 140px; color: var(--muted); font-size: 8px; }
.replacement-desk { align-self: start; padding: 15px; border: 1px solid var(--ap-line, var(--line)); border-radius: 13px; color: var(--ap-text, var(--ink)); background: var(--ap-surface, var(--white)); box-shadow: var(--ap-shadow, var(--shadow)); }
.replacement-desk h4 { margin: 4px 0 13px; font: 700 14px "Manrope", sans-serif; }
.replacement-desk label { display: grid; gap: 5px; margin-top: 9px; color: var(--ap-muted, var(--muted)); font-size: 7px; font-weight: 800; }
.replacement-desk select { min-height: 37px; padding: 0 9px; border: 1px solid var(--ap-line, var(--line)); border-radius: 8px; color: var(--ap-text, var(--ink)); background: var(--ap-deep, var(--paper)); font: 600 8px "Manrope", sans-serif; }
.replacement-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; }
.replacement-actions .button { min-height: 35px; padding: 0 8px; font-size: 7px; }
.replacement-actions .button.secondary { border-color: var(--ap-line, var(--line)); color: var(--ap-text, var(--ink)); background: transparent; }
.replacement-impact { display: grid; gap: 4px; margin-top: 11px; padding: 10px; border: 1px solid var(--ap-line, var(--line)); border-radius: 9px; color: var(--ap-muted, var(--muted)); background: var(--ap-deep, var(--paper)); font-size: 7px; line-height: 1.45; }
.replacement-impact strong { font-size: 8px; }
.replacement-impact.ready { color: color-mix(in srgb,#4f9b73 72%,var(--ap-text, var(--ink))); border-color: color-mix(in srgb,#4f9b73 58%,var(--ap-line, var(--line))); background: color-mix(in srgb,#4f9b73 15%,var(--ap-surface, var(--white))); }
.replacement-impact.blocked { color: color-mix(in srgb,#c96452 72%,var(--ap-text, var(--ink))); border-color: color-mix(in srgb,#c96452 58%,var(--ap-line, var(--line))); background: color-mix(in srgb,#c96452 15%,var(--ap-surface, var(--white))); }
.audience-panel { margin-top: 18px; padding: 19px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.audience-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.audience-head h3 { margin: 3px 0; font: 700 15px "Manrope", sans-serif; }
.audience-head p { margin: 0; color: var(--muted); font-size: 8px; }
.audience-tabs { display: flex; gap: 5px; padding: 4px; border-radius: 10px; background: #edf3f0; }
.audience-tabs button { min-height: 31px; padding: 0 10px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font-size: 7px; font-weight: 800; }
.audience-tabs button.active { color: white; background: #245548; box-shadow: 0 4px 11px rgba(24,69,56,.18); }
.audience-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(270px, .7fr); gap: 14px; margin-top: 15px; }
.audience-preview { min-height: 230px; padding: 15px; border-radius: 13px; background: #f6f9f8; }
.role-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.role-preview-head > span { color: #28684f; font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.role-preview-head b { color: var(--muted); font-size: 7px; }
.role-preview-head label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 7px; font-weight: 800; }
.role-preview-head select { min-height: 31px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; background: white; font-size: 8px; }
.role-identity { display: grid; gap: 2px; margin-bottom: 10px; }
.role-identity strong { font-size: 13px; }
.role-identity small { color: var(--muted); font-size: 7px; }
.role-match-list { display: grid; gap: 7px; }
.role-match-list article { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 9px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.role-match-list article > div { display: grid; gap: 2px; }
.role-match-list article strong { font-size: 8px; }
.role-match-list article small { color: var(--muted); font-size: 7px; }
.role-match-list article > span { color: #28684f; font-size: 7px; font-weight: 900; }
.role-match-list button { min-height: 28px; padding: 0 8px; border: 0; border-radius: 7px; color: white; background: #e45e49; font-size: 7px; font-weight: 900; }
.role-match-list button:disabled { color: #60716a; background: #dfe8e4; }
.role-empty { display: grid; place-items: center; min-height: 75px; color: var(--muted); font-size: 8px; text-align: center; }
.public-live, .public-results { display: grid; gap: 7px; }
.public-results { margin-top: 13px; }
.public-live h4, .public-results h4 { margin: 0; font: 700 10px "Manrope", sans-serif; }
.public-live article, .public-results article { display: grid; grid-template-columns: 70px 1fr auto; gap: 9px; padding: 8px 9px; border-radius: 8px; background: white; font-size: 8px; }
.public-live article b { color: #d54e39; font-size: 7px; }
.public-results article { grid-template-columns: 1fr auto; }
.notification-outbox { padding: 15px; border-radius: 13px; color: white; background: #173f34; }
.notification-outbox > div:first-child { display: flex; justify-content: space-between; gap: 10px; }
.notification-outbox > div:first-child strong { font-size: 9px; }
.notification-outbox > p { margin: 8px 0 11px; color: #bdd5cd; font-size: 7px; line-height: 1.45; }
.notification-outbox #notificationOutbox { display: grid; gap: 6px; max-height: 260px; overflow: auto; }
.notification-outbox article { display: grid; grid-template-columns: auto 1fr; gap: 8px; padding: 8px; border-radius: 8px; background: rgba(255,255,255,.08); }
.notification-outbox article > span { align-self: start; padding: 3px 5px; border-radius: 4px; color: #173f34; background: #cde9dd; font-size: 5px; font-weight: 900; }
.notification-outbox article div { display: grid; gap: 2px; }
.notification-outbox article strong { font-size: 7px; }
.notification-outbox article small { color: #c9ddd6; font-size: 6px; line-height: 1.4; }

@media (max-width: 1100px) {
  .competition-edit { grid-template-columns: 65px 1fr; }
  .competition-note { grid-column: 2; border-left: 0; border-top: 1px solid var(--line); }
  .structure-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .placement-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .readonly-overview-grid { grid-template-columns: 1fr; }
  .workflow-steps { grid-template-columns: repeat(3, 1fr); }
  .roster-readiness ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .court-layout { grid-template-columns: 1fr; }
  .court-plan-controls { grid-template-columns: 1fr 1fr; }
  .schedule-controls { grid-template-columns: repeat(3, 1fr); }
  .match-center-grid { grid-template-columns: 1fr; }
  .check-in-grid { grid-template-columns: 1fr; }
  .audience-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .actions-intro > .action-group { margin-left: 76px; flex-wrap: wrap; }
  .competition-edit { grid-template-columns: 50px 1fr; }
  .competition-note { grid-column: 1 / -1; }
  .classification-bar { align-items: flex-start; flex-direction: column; }
  .classification-bar .action-group { margin-left: 0; }
  .structure-head { align-items: flex-start; flex-direction: column; }
  .structure-grid { grid-template-columns: 1fr; }
  .placement-grid { grid-template-columns: 1fr; }
  .overview-pools { grid-template-columns: 1fr; }
  .draw-results { padding: 16px; }
  .workflow-steps { grid-template-columns: 1fr; }
  .roster-readiness ul { grid-template-columns: 1fr; }
  .roster-readiness.locked { align-items: flex-start; flex-direction: column; }
  .workflow-footer, .workflow-heading { align-items: flex-start; flex-direction: column; }
  .workflow-footer .action-group { margin-left: 0; }
  .court-grid { grid-template-columns: 1fr; }
  .schedule-heading { align-items: flex-start; flex-direction: column; }
  .schedule-mode-switch { grid-template-columns: 1fr; }
  .schedule-actions { width: 100%; flex-wrap: wrap; }
  .schedule-controls, .schedule-summary { grid-template-columns: 1fr 1fr; }
  .schedule-review ol { grid-template-columns: 1fr; }
  .schedule-timeline { grid-template-columns: 1fr; }
  .open-booking-rules { grid-template-columns: 28px 1fr; }
  .organizer-start { grid-template-columns: 1fr; }
  .match-center-intro { align-items: flex-start; }
  .match-live-tools { width: calc(100% - 76px); justify-items: stretch; margin-left: 76px; }
  .match-clock { width: calc(100% - 76px); margin-left: 76px; }
  .match-summary, .match-court-board { grid-template-columns: 1fr; }
  .result-source-grid { grid-template-columns: 1fr; }
  .check-in-head { align-items: flex-start; flex-direction: column; }
  .check-in-player { grid-template-columns: 1fr auto; }
  .check-in-actions { grid-column: 1 / -1; flex-wrap: wrap; }
  .audience-head { flex-direction: column; }
  .audience-tabs { width: 100%; }
  .audience-tabs button { flex: 1; }
  .court-plan-controls, .court-allocation-row { grid-template-columns: 1fr; }
  .court-plan-footer { align-items: flex-start; flex-direction: column; }
  .tournament-portfolio .panel-head { gap: 12px; flex-direction: column; }
  .tournament-list { grid-template-columns: 1fr; }
  .tournament-list-card { grid-template-columns: 52px 1fr; }
  .tournament-list-card .button { grid-column: 1 / -1; }.tournament-card-actions { grid-column: 1 / -1; width: 100%; }
  .wizard-modal { padding: 8px; }
  .wizard-dialog { max-height: calc(100vh - 16px); padding: 18px; }
  .wizard-progress, .wizard-source-grid, .wizard-form { grid-template-columns: 1fr; }
  .wizard-body { padding: 15px; }
}

/* APODOT TOURNAMENTS · ORGANIZER */
html[data-theme="dark"] {
  color-scheme: dark;
  --ap-bg: #252729;
  --ap-surface: #343638;
  --ap-raised: #3d3f41;
  --ap-deep: #1f2122;
  --ap-gold: #dfbe78;
  --ap-gold-strong: #f0d59d;
  --ap-text: #f5f3ed;
  --ap-muted: #b8b6ae;
  --ap-line: #575952;
  --ap-shadow: 0 16px 40px rgba(0,0,0,.24);
  --ink: var(--ap-text);
  --muted: var(--ap-muted);
  --line: var(--ap-line);
  --paper: var(--ap-bg);
  --white: var(--ap-surface);
  --forest: var(--ap-deep);
  --mint: rgba(223,190,120,.16);
  --coral: var(--ap-gold);
  --gold: var(--ap-gold);
  --violet: #a795c9;
  --shadow: var(--ap-shadow);
}
html[data-theme="light"] {
  color-scheme: light;
  --ap-bg: #f7f4ed;
  --ap-surface: #fcfaf5;
  --ap-raised: #eee9df;
  --ap-deep: #e7e1d5;
  --ap-gold: #806022;
  --ap-gold-strong: #694c18;
  --ap-text: #282c2e;
  --ap-muted: #62635c;
  --ap-line: #c8bfae;
  --ap-shadow: 0 14px 34px rgba(57,49,38,.1);
  --ink: var(--ap-text);
  --muted: var(--ap-muted);
  --line: var(--ap-line);
  --paper: var(--ap-bg);
  --white: var(--ap-surface);
  --forest: #343638;
  --mint: rgba(128,96,34,.12);
  --coral: var(--ap-gold);
  --gold: #b8872b;
  --violet: #786799;
  --shadow: var(--ap-shadow);
}
body {
  background:
    radial-gradient(circle at 85% -8%, color-mix(in srgb, var(--ap-gold) 12%, transparent), transparent 32rem),
    linear-gradient(145deg, var(--ap-bg), var(--ap-deep));
  background-attachment: fixed;
  transition: background-color .2s ease, color .2s ease;
}
.sidebar { color: #f5f3ed; background: linear-gradient(180deg,#303234,#222425); }
.brand { gap: 12px; padding-bottom: 31px; }
.brand-emblem { display: block; flex: 0 0 43px; width: 43px; height: 43px; object-fit: contain; }
.brand-copy { min-width: 0; display: grid; gap: 4px; }
.brand-wordmark { display: block; width: 126px; height: auto; }
.brand-copy small { color: #dfbe78; font-size: 7px; font-weight: 700; letter-spacing: .17em; white-space: nowrap; }
.nav-item { color: #cbc8bf; border-radius: 4px; }
.nav-item:hover:not(.disabled), .nav-item.active { color: #fff; background: rgba(223,190,120,.1); }
.nav-item.active { box-shadow: inset 3px 0 #dfbe78; }
.nav-icon,.sync-icon { color: #dfbe78; }
.nav-state { color: #dfbe78; background: rgba(223,190,120,.12); }
.sync-card,.user-card { border: 1px solid rgba(223,190,120,.16); border-radius: 4px; background: rgba(255,255,255,.04); }
.avatar { color: #2b2d2e; border-radius: 4px; background: #dfbe78; }
.topbar { border-color: var(--ap-line); }
.theme-toggle {
  min-height: 39px;
  padding: 0 13px;
  border: 1px solid var(--ap-line);
  border-radius: 3px;
  color: var(--ap-text);
  background: transparent;
  font-size: 10px;
  font-weight: 700;
}
.theme-toggle:hover { color: var(--ap-gold); border-color: var(--ap-gold); }
.button { border-radius: 3px; }
.button.primary { color: #282a2b; border: 1px solid #dfbe78; background: #dfbe78; box-shadow: none; }
.button.primary:hover { background: #ecd299; }
.button.save-button { color: var(--ap-text); border-color: #9f895c; background: color-mix(in srgb,var(--ap-gold) 10%,var(--ap-surface)); }
.button.save-button:hover { color: #282a2b; border-color: #dfbe78; background: #dfbe78; }
.button.save-button[data-state="saved"] { color: #bfe8d4; border-color: #4f8d6e; background: rgba(64,129,93,.18); }
.button.save-button[data-state="error"] { color: #ffc0b1; border-color: #a95b49; background: rgba(169,91,73,.16); }
.button.secondary,.account-top-button,.result-close {
  color: var(--ap-text);
  border-color: var(--ap-line);
  background: var(--ap-surface);
}
.text-button,.eyebrow,.card-kicker { color: var(--ap-gold); }
.hero-card,.account-profile {
  color: #f5f3ed;
  border: 1px solid #756d5c;
  border-radius: 6px;
  background:
    radial-gradient(circle at 88% 10%,rgba(223,190,120,.18),transparent 32%),
    linear-gradient(145deg,#292b2d,#3c3e3f);
}
.hero-card .card-kicker { color: #dfbe78; }
.hero-card p,.account-profile small { color: #d4d1c8; }
.progress-card,.panel,.form-card,.competition-edit,.draw-empty,.draw-results,
.metrics article,.registration-inbox,.wizard-dialog,.court-code-dialog,.result-dialog,.account-dialog,.workflow-panel {
  color: var(--ap-text);
  border-color: var(--ap-line);
  border-radius: 5px;
  background: var(--ap-surface);
  box-shadow: var(--ap-shadow);
}
.wizard-body,.account-section,.round-column,.structure-assistant,.check-in-panel,
.schedule-builder,.match-operations,.settings-section,.central-tournaments-section,.import-section,.roster-readiness {
  color: var(--ap-text);
  border-color: var(--ap-line);
  background: var(--ap-deep);
}
.wizard-source,.rr-match,.placement-match,.overview-pools>section,.rr-matrix-wrap,.readonly-overview-card,.pool-section,.standings-wrap,
.structure-format,.structure-move,.workflow-steps li,.court-choice,.schedule-summary article,
.schedule-review li,.timeline-match,.open-match-card,.match-summary article,.match-court-card footer,
.check-in-player,.member-row,.local-import-summary>div,.local-import-card,.import-review,
.pending-invitation,.organization-settings,.central-tournament-row,.roster-readiness li,.registration-entry {
  color: var(--ap-text);
  border-color: var(--ap-line);
  background: var(--ap-surface);
}
.roster-readiness.locked { color: var(--ap-text); border-color: color-mix(in srgb,#4f8d6e 55%,var(--ap-line)); background: color-mix(in srgb,#4f8d6e 12%,var(--ap-surface)); }
.roster-readiness li.block { color: var(--ap-text); border-color: color-mix(in srgb,#a4493a 55%,var(--ap-line)); background: color-mix(in srgb,#a4493a 12%,var(--ap-surface)); }
.field input,.field select,.compact-select,.search input,.player-sort select,.compact-input,
.registration-share-link input,.registration-embed-code input,.official-controls select,
.organizer-start select,.result-source-grid select,.result-note textarea,.result-outcome-grid select,
.account-form input,.account-form select,.account-section-head select,.member-row select,
.invite-form input,.invite-form select,.settings-grid select,.organization-settings select {
  color: var(--ap-text);
  border-color: var(--ap-line);
  border-radius: 3px;
  background: var(--ap-deep);
}
.player-name-input {
  color: var(--ap-text);
}
.player-name-input:hover,.player-name-input:focus {
  color: var(--ap-text);
  border-color: var(--ap-line);
  background: var(--ap-deep);
}
.field input:focus,.field select:focus,.compact-select:focus {
  border-color: var(--ap-gold);
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--ap-gold) 20%,transparent);
}
.field label,.player-sort>span,.account-form label { color: var(--ap-muted); }
.toggle-field { border-radius: 4px; }
.test-tournament-choice { border-color: color-mix(in srgb,var(--ap-gold) 55%,var(--ap-line)); background: color-mix(in srgb,var(--ap-gold) 8%,var(--ap-surface)); }
.switch span { background: var(--ap-line); }
.switch input:checked+span { background: #dfbe78; }
.switch input:checked+span::after { background: #292b2d; }
.test-banner { color: var(--ap-text); border-color: color-mix(in srgb,var(--ap-gold) 55%,var(--ap-line)); border-radius: 3px; background: color-mix(in srgb,var(--ap-gold) 12%,var(--ap-surface)); }
.test-banner span:last-child { color: var(--ap-muted); }
.test-badge { color: #282a2b; border-radius: 2px; background: #dfbe78; }
.tournament-list-card,.template-card { color: var(--ap-text); border-color: var(--ap-line); background: var(--ap-surface); }
.tournament-list-card.active { border-color: var(--ap-gold); box-shadow: inset 3px 0 var(--ap-gold); }
.tournament-card-actions .delete-test-button { color: #e7a497; border-color: #8f554b; background: color-mix(in srgb,#a4493a 13%,var(--ap-surface)); }
.wizard-source.selected,.wizard-progress li.active,.wizard-summary {
  color: var(--ap-text);
  border-color: var(--ap-gold);
  background: color-mix(in srgb,var(--ap-gold) 10%,var(--ap-surface));
}
.wizard-source>span,.wizard-progress li>span,.setup-list li>span,.activity-icon,.seed,.draw-player>span {
  color: var(--ap-gold);
  background: var(--ap-deep);
}
.wizard-summary>span,.wizard-progress li.done>span,.setup-list .done>span { color: #282a2b; background: #dfbe78; }
th,.bracket-match>small { color: var(--ap-muted); background: var(--ap-deep); }
td,.competition-row,.activity { border-color: var(--ap-line); }
.draw-player.bye { color: var(--ap-muted); background: var(--ap-deep); }
.workflow-steps li.done {
  color: var(--ap-text);
  border-color: color-mix(in srgb,#4f8d6e 45%,var(--ap-line));
  background: color-mix(in srgb,#4f8d6e 10%,var(--ap-surface));
}
.readonly-overview-card,.pool-section,.standings-wrap { color: var(--ap-text); }
.overview-pools section>div { border-color: var(--ap-line); }
.overview-pools section>div span {
  color: var(--ap-gold);
  background: var(--ap-deep);
}
.monrad-round {
  color: var(--ap-text);
  background: var(--ap-deep);
}
.monrad-path {
  color: var(--ap-text);
  background: var(--ap-surface);
}
.monrad-path>small { color: var(--ap-muted); }
.rr-matrix th,.rr-matrix td,.standings-table th,.standings-table td { border-color: var(--ap-line); }
.rr-matrix thead th,.rr-matrix tbody th {
  color: var(--ap-text);
  background: var(--ap-deep);
}
.rr-matrix thead th span,.rr-matrix tbody th strong,.standings-title strong { color: var(--ap-text); }
.rr-matrix tbody th span {
  color: var(--ap-gold);
  background: var(--ap-surface);
}
.rr-matrix .matrix-diagonal {
  color: var(--ap-muted);
  background: var(--ap-deep);
}
.standings-title small { color: var(--ap-muted); }
.standings-table tbody tr:first-child { background: color-mix(in srgb,#4f8d6e 10%,var(--ap-surface)); }
.toast { color: #282a2b; border-radius: 3px; background: #dfbe78; }
.delete-warning { color: #e7a497; border-color: #8f554b; border-radius: 3px; background: color-mix(in srgb,#a4493a 13%,var(--ap-surface)); }
html[data-theme="light"] .brand-emblem,html[data-theme="light"] .brand-wordmark { filter: brightness(.65); }
@media (max-width: 1100px) {
  .brand-emblem { width: 38px; height: 38px; }
}
@media (max-width: 720px) {
  .theme-toggle { min-width: 39px; padding: 0 9px; font-size: 0; }
  .theme-toggle::first-letter { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { transition-duration: .01ms!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; }
}

.user-card { width: 100%; border: 0; color: #eef6f1; font: inherit; text-align: left; cursor: pointer; }
.user-card:hover { background: rgba(255,255,255,.12); }
.user-card > span:last-child { color: #9db1aa; }
.account-top-button { max-width: 190px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 11px; padding: 6px 10px 6px 7px; color: var(--ink); background: white; }
.account-top-button > span { flex: 0 0 27px; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; color: #28684f; background: #e2f2e9; font-size: 8px; font-weight: 900; }
.account-top-button strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.account-modal { position: fixed; z-index: 60; inset: 0; display: grid; place-items: center; padding: 20px; }
.account-modal[hidden] { display: none; }
.account-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(12,32,26,.62); }
.account-dialog { position: relative; width: min(760px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 28px; border-radius: 22px; background: #fff; box-shadow: 0 28px 80px rgba(11,34,27,.25); }
.account-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.account-dialog > header h3 { margin: 3px 0 5px; font: 700 22px "Manrope", sans-serif; }
.account-dialog > header p { margin: 0; color: var(--muted); font-size: 10px; }
.account-body { padding-top: 20px; }
.account-notice { margin-bottom: 14px; padding: 11px 13px; border-radius: 10px; font-size: 9px; line-height: 1.45; }
.account-notice.success { color: #28684f; background: #e8f6ee; }
.account-notice.error { color: #9a402d; background: #fff0eb; }
.account-intro { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 13px; margin-bottom: 18px; padding: 16px; border: 1px solid #cfe5db; border-radius: 14px; background: #f4fbf7; }
.account-intro > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #28684f; background: #def3e8; font-size: 18px; }
.account-intro strong, .account-intro p { display: block; }
.account-intro strong { font: 700 13px "Manrope", sans-serif; }
.account-intro p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.account-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; }
.account-form label { display: grid; gap: 7px; color: #5f6a67; font-size: 9px; font-weight: 700; }
.account-form label small { color: var(--muted); font-weight: 500; }
.account-form input, .account-form select, .account-section-head select, .member-row select, .invite-form input, .invite-form select { min-height: 42px; border: 1px solid #d7dedb; border-radius: 10px; padding: 0 12px; color: var(--ink); background: white; outline: none; font: inherit; }
.account-form input:focus, .account-form select:focus, .member-row select:focus, .invite-form input:focus, .invite-form select:focus { border-color: #5e9f87; box-shadow: 0 0 0 3px rgba(94,159,135,.12); }
.account-form .login-code { font: 800 17px "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.account-security { margin: 15px 0 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.account-back-link { margin-bottom: 12px; border: 0; padding: 0; color: #28684f; background: none; font-size: 9px; font-weight: 800; }
.account-profile { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; margin-bottom: 16px; padding: 14px; border-radius: 14px; color: white; background: linear-gradient(135deg, #194a3e, #12372e); }
.account-profile-avatar { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: #194a3e; background: var(--mint); font: 800 13px "Manrope", sans-serif; }
.account-view-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0 0 16px; padding:5px; border:1px solid var(--ap-line); background:color-mix(in srgb,var(--ap-gold) 3%,var(--ap-surface)); }
.account-view-tab { display:grid; grid-template-columns:28px 1fr; grid-template-rows:auto auto; column-gap:9px; align-items:center; border:1px solid transparent; padding:10px 12px; color:var(--ap-muted); background:transparent; text-align:left; cursor:pointer; }
.account-view-tab>span { grid-row:1 / 3; display:grid; place-items:center; width:28px; height:28px; color:var(--ap-gold); border:1px solid color-mix(in srgb,var(--ap-gold) 35%,transparent); }
.account-view-tab strong { color:var(--ap-text); font-size:9px; }
.account-view-tab small { margin-top:2px; font-size:7px; }
.account-view-tab.active { border-color:var(--ap-gold); background:color-mix(in srgb,var(--ap-gold) 10%,var(--ap-surface)); box-shadow:inset 3px 0 0 var(--ap-gold); }
.account-view-panel>.account-section:first-child { margin-top:0; }
.account-profile strong, .account-profile small { display: block; }
.account-profile strong { font-size: 12px; }
.account-profile small { margin-top: 4px; color: #b9cec6; font-size: 8px; }
.button.compact { padding: 8px 11px; font-size: 9px; }
.account-section { margin-top: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: #fbfcfb; }
.account-section h4 { margin: 3px 0 0; font: 700 15px "Manrope", sans-serif; }
.account-section > p { color: var(--muted); font-size: 9px; line-height: 1.5; }
.account-section-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.account-section-head label { display: grid; gap: 5px; min-width: 250px; color: var(--muted); font-size: 7px; font-weight: 800; }
.account-section-head select { min-height: 36px; font-size: 9px; }
.member-list { display: grid; gap: 7px; }
.member-row { display: grid; grid-template-columns: 34px 1fr minmax(130px, auto); align-items: center; gap: 10px; padding: 10px; border: 1px solid #e4eae7; border-radius: 11px; background: white; }
.member-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #28684f; background: #e2f2e9; font-size: 8px; font-weight: 900; }
.member-row strong, .member-row small { display: block; }
.member-row strong { font-size: 9px; }
.member-row small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.member-row select { min-height: 34px; font-size: 8px; }
.role-pill { justify-self: end; padding: 6px 8px; border-radius: 7px; color: #28684f; background: #e7f5ed; font-size: 7px; font-weight: 800; }
.invite-form { display: grid; grid-template-columns: 1.2fr 1fr 170px auto; align-items: end; gap: 9px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.invite-form strong, .invite-form small { display: block; }
.invite-form strong { font-size: 9px; }
.invite-form small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.invite-form input, .invite-form select { min-height: 36px; font-size: 8px; }
.account-sync-note { display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 9px; margin-top: 14px; padding: 11px; border-radius: 10px; color: #55448c; background: #f1edfb; }
.account-sync-note > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #ded5f4; font-size: 10px; font-weight: 900; }
.account-sync-note strong { display: block; font-size: 8px; }
.account-sync-note p { margin: 3px 0 0; font-size: 7px; line-height: 1.45; }
.import-section { background: linear-gradient(180deg, #fbfcfb, #f5faf7); }
.import-target { padding: 7px 10px; border-radius: 999px; color: #28684f; background: #e4f3eb; font-size: 8px; font-weight: 800; }
.local-import-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 10px; }
.local-import-summary > div { display: flex; align-items: baseline; gap: 7px; padding: 10px 12px; border: 1px solid #dce7e2; border-radius: 10px; background: white; }
.local-import-summary strong { color: #194a3e; font: 800 17px "Manrope", sans-serif; }
.local-import-summary small { color: var(--muted); font-size: 8px; }
.local-import-list { display: grid; gap: 7px; max-height: 210px; overflow: auto; padding-right: 3px; }
.local-import-card { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid #e2e8e5; border-radius: 10px; background: white; }
.local-import-card > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: #28684f; background: #e8f4ed; font-size: 9px; font-weight: 900; }
.local-import-card small, .local-import-card strong, .local-import-card p { display: block; }
.local-import-card small { color: #82908b; font-size: 6px; font-weight: 900; letter-spacing: .08em; }
.local-import-card strong { margin-top: 2px; font-size: 9px; }
.local-import-card p { margin: 3px 0 0; color: var(--muted); font-size: 7px; }
.import-review { margin-top: 12px; overflow: hidden; border: 1px solid #dce5e1; border-radius: 11px; background: white; }
.import-review-head, .import-review-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; }
.import-review-head { color: white; background: #194a3e; }
.import-review-head strong { font-size: 9px; }
.import-review-head small { color: #bdd0c8; font-size: 7px; }
.import-review-row + .import-review-row { border-top: 1px solid #e6ebe9; }
.import-review-row div small, .import-review-row div strong { display: block; }
.import-review-row div small { color: #82908b; font-size: 6px; font-weight: 900; }
.import-review-row div strong { margin-top: 2px; font-size: 8px; }
.import-status { flex: 0 0 auto; padding: 5px 7px; border-radius: 999px; font-size: 7px; font-weight: 800; }
.import-status.ready { color: #28684f; background: #e4f3eb; }
.import-status.done { color: #53655e; background: #edf1ef; }
.import-status.warning { color: #9a5b22; background: #fff1df; }
.import-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.pending-invitation { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 9px; padding: 10px; border-radius: 10px; background: white; }
.pending-invitation strong, .pending-invitation small { display: block; }
.pending-invitation strong { font-size: 9px; }
.pending-invitation small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.account-muted { color: var(--muted); font-size: 9px; }
.settings-section { background: linear-gradient(180deg, #fbfcfb, #f4faf7); }
.settings-scope { padding: 6px 9px; border-radius: 999px; color: #55448c; background: #eee9fa; font-size: 7px; font-weight: 800; }
.settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 9px; }
.settings-grid label { display: grid; gap: 6px; color: var(--muted); font-size: 8px; font-weight: 800; }
.settings-grid select, .organization-settings select { min-height: 38px; border: 1px solid #d7dedb; border-radius: 10px; padding: 0 10px; color: var(--ink); background: white; font: inherit; }
.organization-settings { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 11px 12px; border: 1px solid #dce7e2; border-radius: 11px; background: white; }
.organization-settings strong, .organization-settings small { display: block; }
.organization-settings strong { font-size: 9px; }
.organization-settings small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.organization-settings form { display: flex; align-items: center; gap: 8px; }
.organization-create-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.organization-create-form > .button { grid-column:1 / -1; justify-self:start; }
.organization-defaults { display:block; }
.organization-defaults-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:12px; }
.organization-defaults-form { display:grid !important; gap:12px !important; }
.organization-defaults-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; width:100%; }
.organization-defaults-grid label { display:grid; gap:6px; color:var(--muted); font-size:8px; font-weight:800; }
.organization-defaults-grid input,.organization-defaults-grid select { min-height:38px; width:100%; border:1px solid var(--ap-line); border-radius:3px; padding:0 10px; color:var(--ap-text); background:var(--ap-deep); }
.organization-capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; margin:0; padding:12px; border:1px solid var(--ap-line); }
.organization-capabilities legend { padding:0 6px; color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.organization-capability { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px; border:1px solid var(--ap-line); background:color-mix(in srgb,var(--ap-gold) 4%,var(--ap-surface)); }
.organization-capability span { min-width:0; }
.organization-capability input { width:18px; height:18px; accent-color:var(--ap-gold); }
.organization-defaults-form > .button { justify-self:end; }
.central-tournaments-section { background: linear-gradient(180deg, #fbfcfb, #f2f8f5); }
.central-tournament-list { display: grid; gap: 7px; }
.central-tournament-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 1px solid #dce7e2; border-radius: 10px; background: white; }
.central-tournament-row strong, .central-tournament-row small { display: block; }
.central-tournament-row strong { font-size: 9px; }.central-tournament-row small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.central-tournament-row > span { flex: 0 0 auto; padding: 5px 7px; border-radius: 999px; color: #28684f; background: #e4f3eb; font-size: 7px; font-weight: 800; }
.platform-billing-section { border-color:#c8a85f; background:linear-gradient(145deg,rgba(212,177,99,.09),#fbfcfb); }
.billing-orders { display:grid; gap:8px; }
.billing-order { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:11px; border:1px solid #dce7e2; border-radius:10px; background:white; }
.billing-order>div { display:grid; gap:3px; }
.billing-order small { color:var(--muted); font-size:7px; }
.billing-order code { margin-top:3px; color:#745f2b; font:800 9px "Manrope",sans-serif; letter-spacing:.06em; }
.billing-status { justify-self:start; padding:5px 7px; border-radius:999px; color:#72530e; background:#fbf0ce; font-size:7px; font-weight:900; text-transform:uppercase; }
.billing-status.active { color:#28684f; background:#e4f3eb; }
@media(max-width:720px){.billing-order{grid-template-columns:1fr}.billing-order .button{justify-self:start}}

@media (max-width: 1320px) {
  .registration-inbox { min-width: 0; overflow: hidden; }
  .registration-inbox-head { align-items: flex-start; flex-direction: column; }
  .registration-inbox-head .action-group { width: 100%; margin-left: 0; justify-content: flex-start; flex-wrap: wrap; }
  .registration-share-link { grid-template-columns: minmax(0, 1fr) auto auto; }
  .registration-share-link input { grid-column: 1 / -1; }
  .registration-embed { grid-template-columns: 1fr; }
  .registration-tools { grid-template-columns: minmax(180px, 1.4fr) repeat(3, minmax(120px, .7fr)); }
  .registration-tools > strong { grid-column: 1 / -1; justify-self: start; }
  .registration-entry { grid-template-columns: minmax(180px, 1fr) minmax(210px, 1fr); align-items: start; }
  .registration-entry > .action-group { grid-column: 1 / -1; width: 100%; margin-left: 0; justify-content: flex-start; flex-wrap: wrap; }
  .registration-entry > .action-group > .button { white-space: normal; }
  .registration-class-control, .payment-status-control { flex: 1 1 155px; min-width: min(155px, 100%); }
}

@media (max-width: 720px) {
  .registration-inbox-head { align-items: flex-start; flex-direction: column; }
  .registration-inbox-head .action-group { width: 100%; flex-wrap: wrap; }
  .registration-inbox-head .button.secondary, .registration-share .button.secondary { display: inline-flex; }
  .registration-share { grid-template-columns: 1fr; }
  .registration-share-badges { justify-content: flex-start; }
  .registration-share-link { grid-template-columns: 1fr 1fr; }
  .registration-share-link input { grid-column: 1 / -1; }
  .registration-share-link .button, .registration-share-link .button.primary { width: 100%; }
  .registration-embed { grid-template-columns:1fr; }
  .registration-embed-code { grid-template-columns:1fr 1fr; }
  .registration-embed-code input { grid-column:1 / -1; }
  .registration-embed-code .button { width:100%; }
  .registration-tools { grid-template-columns:1fr 1fr; }
  .registration-tools .search, .registration-tools > strong { grid-column:1 / -1; }
  .registration-entry { grid-template-columns:1fr; align-items:start; }
  .registration-entry .action-group { width:100%; margin-left:0; justify-content:flex-start; flex-wrap:wrap; }
  .account-modal { padding: 8px; }
  .account-dialog { max-height: calc(100vh - 16px); padding: 18px; }
  .account-form, .account-profile, .member-row, .invite-form, .settings-grid { grid-template-columns: 1fr; }
  .account-form .button, .account-profile .button, .invite-form .button { width: 100%; }
  .account-dialog .button.secondary { display: inline-flex; }
  .account-view-tabs { grid-template-columns:1fr; }
  .account-top-button strong { display: none; }
  .account-top-button { padding-right: 7px; }
  .account-section-head { align-items: stretch; flex-direction: column; }
  .account-section-head label { min-width: 0; }
  .account-section-head .import-target { align-self: flex-start; }
  .import-actions { align-items: stretch; flex-direction: column; }
  .import-actions .button { width: 100%; }
  .role-pill { justify-self: start; }
  .organization-settings { align-items: stretch; flex-direction: column; }
  .organization-settings form { align-items: stretch; flex-direction: column; }
  .organization-create-form,.organization-defaults-grid,.organization-capabilities { grid-template-columns:1fr; }
  .organization-defaults-head { flex-direction:column; }
  .organization-defaults-form > .button { justify-self:stretch; }
}

/* Account surfaces load after the main façade rules. */
.account-top-button,.account-dialog,.account-section,.member-row,.local-import-summary>div,
.local-import-card,.import-review,.pending-invitation,.organization-settings,.central-tournament-row {
  color: var(--ap-text);
  border-color: var(--ap-line);
  border-radius: 4px;
  background: var(--ap-surface);
}
.account-form input,.account-form select,.account-section-head select,.member-row select,
.invite-form input,.invite-form select,.settings-grid select,.organization-settings select {
  color: var(--ap-text);
  border-color: var(--ap-line);
  border-radius: 3px;
  background: var(--ap-deep);
}
.account-intro,.account-sync-note {
  color: var(--ap-text);
  border-color: var(--ap-line);
  border-radius: 4px;
  background: color-mix(in srgb,var(--ap-gold) 9%,var(--ap-surface));
}
.account-profile {
  color: #f5f3ed;
  border: 1px solid #756d5c;
  border-radius: 5px;
  background: linear-gradient(145deg,#292b2d,#3c3e3f);
}
.account-profile-avatar,.account-top-button>span,.member-avatar,.account-intro>span {
  color: #282a2b;
  border-radius: 3px;
  background: #dfbe78;
}
.role-pill,.settings-scope,.import-target {
  color: var(--ap-gold);
  background: color-mix(in srgb,var(--ap-gold) 12%,var(--ap-surface));
}

.payment-methods { display:flex; flex-wrap:wrap; gap:10px 18px; padding:14px; border:1px solid var(--ap-line); border-radius:4px; }
.payment-methods legend { padding:0 6px; color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.payment-methods label { display:flex; align-items:center; gap:7px; color:var(--ap-text); font-size:9px; font-weight:700; }
.payment-methods input { width:16px; height:16px; }
.payment-status-control { display:grid; gap:4px; color:var(--muted); font-size:7px; font-weight:800; text-transform:uppercase; }
.payment-status-control select { min-height:34px; border:1px solid var(--ap-line); border-radius:3px; padding:0 8px; color:var(--ap-text); background:var(--ap-deep); }
#manageLocations,#wizardManageLocations { justify-self:start; padding:0; }

/* Keep every Organizer surface readable after switching between day and night. */
.step-number {
  color: var(--ap-gold);
  background: color-mix(in srgb,var(--ap-gold) 15%,var(--ap-surface));
}
.progress-head strong,.registration-inbox-head strong,.registration-tools>strong,
.rule-summary {
  color: var(--ap-text) !important;
}
.progress-track,.setup-list li>span {
  color: var(--ap-gold);
  background: var(--ap-deep);
}
.structure-format>span,.player-name>span {
  color: var(--ap-gold);
  background: color-mix(in srgb,var(--ap-gold) 15%,var(--ap-surface));
}
.icon-button {
  color: var(--ap-muted);
  background: var(--ap-deep);
}
.tournament-list-card.active,.classification-bar,.registration-tools,
.location-card,.court-card,.court-plan-controls,.schedule-mode-card,.schedule-controls,
.schedule-review,.timeline-court,.match-clock,.match-center-empty,.audience-panel,
.audience-preview,.check-in-panel,.workflow-panel,.roster-readiness,
.registration-share,.overview-publication {
  color: var(--ap-text);
  border-color: var(--ap-line);
  background: var(--ap-surface);
  background-image: none;
}
.tournament-list-card.active,.schedule-mode-card.active {
  border-color: var(--ap-gold);
  background: color-mix(in srgb,var(--ap-gold) 9%,var(--ap-surface));
}
.court-card.unavailable {
  border-color: color-mix(in srgb,#a4493a 55%,var(--ap-line));
  background: color-mix(in srgb,#a4493a 10%,var(--ap-surface));
}
.schedule-mode-card>span,.match-center-empty>span {
  color: var(--ap-gold);
  background: var(--ap-deep);
}
.schedule-mode-card.active>span {
  color: #282a2b;
  background: #dfbe78;
}
.schedule-mode-card.active b { color: var(--ap-gold); }
.timeline-court>header,.match-court-card>header,.match-court-card footer,
.schedule-review li,.role-match-list article,.public-live article,.public-results article,
.check-in-player,.check-in-actions button,.official-controls,.official-controls button,
.match-action,.court-code-dialog,.result-dialog,.result-close {
  color: var(--ap-text);
  border-color: var(--ap-line);
  background: var(--ap-surface);
}
.match-official,.match-official.none,.official-rule-card,.account-sync-note {
  color: var(--ap-text);
  background: color-mix(in srgb,var(--violet) 12%,var(--ap-surface));
}
.local-import-summary strong,.court-code-value { color: var(--ap-text); }
.account-sync-note>span {
  color: #282a2b;
  background: #dfbe78;
}
.replacement-desk .card-kicker { color: #dfbe78; }
.section input:not([type="checkbox"]):not([type="radio"]),
.section select,.section textarea,main input:not([type="checkbox"]):not([type="radio"]),
main select,main textarea,.wizard-modal input:not([type="checkbox"]):not([type="radio"]),
.wizard-modal select,.wizard-modal textarea,.account-modal input:not([type="checkbox"]):not([type="radio"]),
.account-modal select,.account-modal textarea,.result-modal input:not([type="checkbox"]):not([type="radio"]),
.result-modal select,.result-modal textarea {
  color: var(--ap-text) !important;
  border-color: var(--ap-line);
  background-color: var(--ap-deep) !important;
}
.structure-format.move_up,.structure-move,.input-suffix span {
  color: var(--ap-text);
  border-color: var(--ap-line);
  background: var(--ap-surface);
}
.structure-format b { color: var(--ap-gold); }
.template-empty {
  color: var(--ap-muted);
  border-color: var(--ap-line);
  background: var(--ap-surface);
}
.structure-warning {
  color: var(--ap-text);
  background: color-mix(in srgb,var(--ap-gold) 12%,var(--ap-surface));
}
.automatic-format-policy,.competition-format-notice {
  color: var(--ap-text);
  border-color: var(--ap-line);
  background: var(--ap-surface);
}
.automatic-format-policy::before {
  color: #282a2b;
  background: #dfbe78;
}
.competition-format-notice.automatic {
  color: var(--ap-text);
  border-color: color-mix(in srgb,#4cad78 48%,var(--ap-line));
  background: color-mix(in srgb,#4cad78 11%,var(--ap-surface));
}
.competition-format-notice.warning {
  color: var(--ap-text);
  border-color: color-mix(in srgb,var(--ap-gold) 55%,var(--ap-line));
  background: color-mix(in srgb,var(--ap-gold) 12%,var(--ap-surface));
}
.schedule-summary article.ready {
  color: var(--ap-text);
  border-color: color-mix(in srgb,#4cad78 45%,var(--ap-line));
  background: color-mix(in srgb,#4cad78 12%,var(--ap-surface));
}
.schedule-review li.done {
  color: var(--ap-text);
  border-color: color-mix(in srgb,#4cad78 45%,var(--ap-line));
  background: color-mix(in srgb,#4cad78 12%,var(--ap-surface));
}
html[data-theme="dark"] .match-clock>span,
html[data-theme="dark"] .schedule-review li.ready small,
html[data-theme="dark"] .schedule-summary article.ready small,
html[data-theme="dark"] .workflow-audit li>span {
  color: #8fd0ad;
}
html[data-theme="dark"] .overview-publication .warning { color: #e7a497; }
html[data-theme="dark"] .overview-publication .published { color: #8fd0ad; }
html[data-theme="light"] .match-clock>span,
html[data-theme="light"] .schedule-review li.ready small,
html[data-theme="light"] .schedule-summary article.ready small,
html[data-theme="light"] .workflow-audit li>span {
  color: #28684f;
}
html[data-theme="light"] .overview-publication .warning { color: #8b513d; }
html[data-theme="light"] .overview-publication .published { color: #215f49; }
.section input::placeholder,.section textarea::placeholder,.wizard-modal input::placeholder,
.wizard-modal textarea::placeholder,.account-modal input::placeholder,.account-modal textarea::placeholder,
.result-modal input::placeholder,.result-modal textarea::placeholder {
  color: var(--ap-muted);
  opacity: 1;
}
.field label,.registration-tools label,.registration-class-control,.payment-status-control,
.court-plan-controls label,.schedule-controls label,.match-clock small,.match-center-empty p {
  color: var(--ap-muted);
}

/* Match information must remain readable from a normal viewing distance. */
.bracket-match > small {
  padding: 9px 11px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}
.draw-player {
  min-height: 62px;
  grid-template-columns: 30px minmax(0,1fr);
  gap: 9px;
  padding: 10px 11px;
}
.draw-player > span {
  width: 28px;
  height: 28px;
  font-size: 11px;
}
.draw-player strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.25;
}
.draw-player small {
  font-size: 11px;
  line-height: 1.35;
}
.match-format-badge {
  margin-top: 9px;
  padding: 5px 8px;
  font-size: 10px;
}
.match-schedule-slot {
  padding: 7px 10px;
  font-size: 10px;
}
.timeline-match { padding: 12px; }
.timeline-match time { font-size: 11px; }
.timeline-match strong { margin-top: 6px; font-size: 12px; }
.timeline-match small { margin-top: 5px; font-size: 12px; line-height: 1.35; }
.timeline-match em { margin-top: 7px; font-size: 10px; }
.timeline-match b { font-size: 8px; }
.match-court-main > span { font-size: 10px; }
.match-court-main h4 { font-size: 16px; line-height: 1.3; }
.match-court-main small { font-size: 11px; }
.match-court-card > header small { font-size: 9px; }
.match-court-time span { font-size: 10px; }
.match-official strong { font-size: 11px; }
.match-official small { font-size: 9px; }
.match-court-card footer span { font-size: 8px; }
.match-court-card footer strong { font-size: 11px; }

@media (max-width: 720px) {
  .draw-player strong { font-size: 13px; }
  .draw-player small,.timeline-match small { font-size: 10px; }
  .match-court-main h4 { font-size: 15px; }
}

/* Five-second APODOT opening sequence. It runs once per open browser tab. */
body.startup-intro-open { overflow: hidden; }
.startup-intro {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #f5f3ed;
  background: #08090b;
  opacity: 0;
  visibility: hidden;
  transition: opacity .42s ease, visibility .42s ease;
}
.startup-intro.is-visible { opacity: 1; visibility: visible; }
.startup-intro.is-leaving { opacity: 0; visibility: hidden; }
.startup-intro video {
  width: 100vw;
  height: 100vh;
  object-fit: contain;
  background: #08090b;
}
.startup-intro-controls {
  position: absolute;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  display: flex;
  gap: 9px;
}
.startup-intro-controls button {
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid rgba(223,190,120,.58);
  border-radius: 3px;
  color: #f5f3ed;
  background: rgba(20,21,22,.72);
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
  backdrop-filter: blur(8px);
  font-size: 11px;
  font-weight: 800;
}
.startup-intro-controls button:hover,
.startup-intro-controls button:focus-visible {
  color: #282a2b;
  background: #dfbe78;
  outline: none;
}
.startup-intro-controls button[aria-pressed="true"] {
  color: #282a2b;
  background: #dfbe78;
}
@media (max-width: 600px) {
  .startup-intro-controls {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
  .startup-intro-controls button { min-height: 38px; padding: 0 12px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .startup-intro { transition: none; }
}
