:root {
  color-scheme:light;
  --bg:#f7f8fb;
  --paper:#fff;
  --ink:#202738;
  --muted:#677083;
  --line:#e2e6ee;
  --accent:#3f4f99;
  --accent-soft:#edf0fa;
  --good:#326b51;
  --warn:#855e24;
  --danger:#ad383f;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:14px;
  line-height:1.55;
  color:var(--ink);
  background:var(--bg);
  font-synthesis:none;
}

* {
  box-sizing:border-box;
}

body {
  margin:0;
}

button,input,select,textarea {
  font:inherit;
  color:inherit;
}

button,a,summary {
  touch-action:manipulation;
}

button,summary {
  cursor:pointer;
}

button:disabled {
  cursor:not-allowed;
  opacity:.48;
}

a {
  color:var(--accent);
  text-decoration:none;
}

a:hover {
  text-decoration:underline;
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #7a8bdd;
  outline-offset:3px;
}

h1,h2,h3,p {
  margin:0;
}

h1 {
  font-size:26px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:-.5px;
}

h2 {
  font-size:17px;
  font-weight:600;
}

h3 {
  font-size:14px;
  font-weight:600;
}

p+p {
  margin-top:12px;
}

small,.small {
  font-size:12px;
}

strong,b {
  font-weight:600;
}

.muted {
  color:var(--muted);
}

.center {
  text-align:center;
}

.section-gap {
  margin-top:24px;
}

.app-shell {
  max-width:1480px;
  margin:0 auto;
  min-height:100vh;
  background:var(--bg);
}

.topbar {
  display:flex;
  align-items:center;
  gap:19px;
  padding:15px 32px;
  background:var(--paper);
  flex-wrap:wrap;
}

.brand {
  font-size:23px;
  font-weight:650;
  letter-spacing:-.8px;
  color:var(--accent);
  white-space:nowrap;
}

.meet-name {
  padding-left:19px;
  border-left:1px solid var(--line);
  font-size:14px;
}

.top-actions {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.identity-field select {
  max-width:250px;
  font-size:13px;
}

.nav {
  display:flex;
  align-items:center;
  gap:25px;
  padding:0 32px;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  flex-wrap:wrap;
}

.nav a {
  padding:11px 0 10px;
  border-bottom:2px solid transparent;
  color:var(--muted);
  white-space:nowrap;
}

.nav a[aria-current=page] {
  color:var(--accent);
  border-bottom-color:var(--accent);
  font-weight:600;
}

.nav .public-link {
  margin-left:auto;
  font-size:12px;
}

.demo-strip {
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:6px 32px;
  color:var(--muted);
  background:#f4f5f8;
  font-size:12px;
  border-bottom:1px solid var(--line);
}

.sync-status {
  min-height:29px;
  padding:5px 32px;
  font-size:12px;
  color:var(--muted);
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.sync-status.warning {
  background:#fff3d9;
  color:#785313;
}

.content {
  padding:17px 32px 34px;
}

.heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  flex-wrap:wrap;
  margin-bottom:20px;
}

.heading p {
  margin-top:6px;
}

.actions {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.actions.center {
  justify-content:center;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:36px;
  border:1px solid #ccd3e0;
  background:var(--paper);
  border-radius:4px;
  padding:7px 12px;
  line-height:1.4;
  font-weight:500;
  white-space:normal;
  text-align:center;
}

.button:hover:not(:disabled) {
  background:#f1f3f9;
  text-decoration:none;
}

.button.primary {
  background:var(--accent);
  border-color:var(--accent);
  color:white;
}

.button.primary:hover:not(:disabled) {
  background:#344381;
}

.button.danger {
  color:var(--danger);
  border-color:#e0b5b9;
  background:#fff8f8;
}

.button.ghost {
  border-color:transparent;
  background:transparent;
}

.button.small {
  font-size:12px;
  min-height:30px;
  padding:5px 9px;
}

.badge {
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:3px 7px;
  border-radius:3px;
  background:#f0f2f6;
  color:#596278;
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.badge.published {
  color:#2d6548;
  background:#eaf5ed;
}

.badge.review {
  color:#845d23;
  background:#fbf2dd;
}

.badge.scoring {
  color:#3c4f95;
  background:#edf0fc;
}

.badge-row {
  display:inline-flex;
  gap:5px;
  flex-wrap:wrap;
}

.notice {
  background:var(--accent-soft);
  border-left:3px solid var(--accent);
  padding:12px 15px;
  margin-bottom:18px;
  overflow-wrap:anywhere;
}

.notice p {
  margin-top:7px;
}

.notice ul {
  margin:8px 0;
  padding-left:20px;
}

.grid {
  display:grid;
  gap:20px;
}

.grid.two {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.panel {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:5px;
  min-width:0;
  overflow-wrap:anywhere;
}

.panel-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:15px 18px;
  border-bottom:1px solid var(--line);
}

.panel-body {
  padding:18px;
}

.panel-body>p {
  margin-bottom:13px;
}

.panel-note {
  padding:14px 18px;
  font-size:12px;
  color:var(--muted);
  border-top:1px solid var(--line);
}

.section-title {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:13px;
}

.segmented {
  display:flex;
  gap:2px;
  border:1px solid var(--line);
  padding:3px;
  border-radius:4px;
  background:var(--paper);
}

.segmented button {
  border:0;
  padding:5px 14px;
  min-height:29px;
  font-size:12px;
  background:transparent;
  border-radius:2px;
  color:var(--muted);
}

.segmented button[aria-pressed=true] {
  background:var(--accent-soft);
  color:var(--accent);
}

.schedule {
  margin:0 18px;
  border-bottom:1px solid var(--line);
}

.schedule:last-child {
  border-bottom:0;
}

.schedule>summary {
  list-style:none;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 20px;
  gap:13px;
  align-items:start;
  padding:17px 0;
}

.schedule>summary::-webkit-details-marker {
  display:none;
}

.schedule-time {
  font-variant-numeric:tabular-nums;
  padding-top:1px;
}

.schedule-title {
  font-weight:600;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.schedule-title>small {
  width:100%;
  font-weight:400;
  color:var(--muted);
}

.schedule-title>.badge-row {
  width:100%;
  margin-top:3px;
}

.expand-mark {
  font-size:18px;
  color:var(--muted);
}

.schedule[open] .expand-mark {
  transform:rotate(45deg);
}

.detail-body {
  padding:0 0 17px;
}

.detail-body p {
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.detail-body p b {
  white-space:nowrap;
}

.standing {
  padding:0 18px;
  border-bottom:1px solid var(--line);
}

.standing:last-of-type {
  border-bottom:0;
}

.standing>summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  list-style:none;
  padding:13px 0;
}

.standing>summary::-webkit-details-marker {
  display:none;
}

.standing strong {
  font-size:23px;
  font-variant-numeric:tabular-nums;
}

.standing strong small {
  font-size:12px;
  color:var(--muted);
  font-weight:400;
}

.match-score {
  align-items:center;
  justify-content:center!important;
  flex-wrap:wrap;
  font-size:13px;
  margin:16px 0;
}

.match-score strong {
  font-size:25px;
  font-variant-numeric:tabular-nums;
}

.table-wrap {
  overflow-x:auto;
  width:100%;
  max-width:100%;
}

table {
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  text-align:left;
}

th {
  font-size:12px;
  font-weight:500;
  color:var(--muted);
  background:#fafbfe;
}

td,th {
  padding:11px 14px;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
}

td small {
  display:block;
  margin-top:3px;
  color:var(--muted);
}

tbody tr:last-child td {
  border-bottom:0;
}

td input,td select {
  max-width:100%;
}

.result-entry {
  min-width:540px;
}

.result-entry input {
  width:105px;
}

.result-entry select {
  width:135px;
}

.empty {
  padding:20px 0;
  color:var(--muted);
  font-size:13px;
}

.choice-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
  margin:15px 0;
}

.check-option {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--paper);
  min-width:0;
}

.check-option small {
  display:block;
  color:var(--muted);
  margin-top:2px;
}

.check-option input {
  width:17px;
  height:17px;
  flex-shrink:0;
  accent-color:var(--accent);
}

.check-option.warning {
  background:#fff6e4;
  margin:16px 0;
  border-color:#e8cea0;
}

.field {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:15px 0;
}

.field:first-child {
  margin-top:0;
}

input:not([type=checkbox]),select,textarea {
  border:1px solid #ccd3e0;
  border-radius:4px;
  background:white;
  padding:8px 10px;
  min-height:37px;
  min-width:0;
  max-width:100%;
}

input:disabled,select:disabled {
  background:#f0f2f6;
  color:#788093;
}

textarea {
  resize:vertical;
  min-height:95px;
  width:100%;
}

.form-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:17px;
}

.inline-form {
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.inline-form label,.match-time-row>label {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
}

.lane-list {
  margin-top:18px;
}

.lane-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 90px 60px;
  align-items:center;
  gap:12px;
  padding:10px 0;
  border-top:1px solid var(--line);
}

.lane-row>span small {
  display:block;
  color:var(--muted);
  font-size:12px;
}

.lane-row label {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
}

.lane-row select {
  padding:6px;
  min-width:44px;
}

.match-time-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 125px 95px;
  gap:15px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}

.match-time-row:first-child {
  padding-top:0;
}

.match-time-row .badge-row {
  margin-top:7px;
}

.device-strip {
  margin-top:20px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:14px 18px;
  background:#eef2f7;
  border:1px solid var(--line);
  border-radius:4px;
  flex-wrap:wrap;
}

.device-strip>div:first-child {
  margin-right:auto;
}

.device-strip h2 {
  font-size:14px;
}

.checkin-list {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:15px 0;
}

.scoreboard {
  display:grid;
  grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);
  gap:12px;
  align-items:center;
  text-align:center;
  padding:13px 0;
}

.scoreboard h3 {
  font-size:15px;
}

.scoreboard strong {
  display:block;
  font-size:54px;
  font-variant-numeric:tabular-nums;
  line-height:1.25;
  color:var(--accent);
  margin:8px 0;
}

.score-divider {
  font-size:30px;
  color:var(--muted);
}

.score-buttons {
  display:flex;
  justify-content:center;
  gap:5px;
  flex-wrap:wrap;
}

.score-buttons .button {
  min-width:38px;
}

.team-detail {
  border-top:1px solid var(--line);
  padding-top:14px;
  margin-top:20px;
}

.team-detail summary {
  font-size:13px;
  color:var(--muted);
}

.team-detail .grid {
  margin-top:14px;
}

.team-detail p {
  font-size:12px;
  margin-top:6px;
}

.correction+.correction {
  border-top:1px solid var(--line);
  padding-top:22px;
  margin-top:22px;
}

.correction .notice {
  margin-top:14px;
}

.history-item {
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

.history-item p {
  margin-top:8px;
}

.audit {
  padding-left:20px;
}

.audit li {
  padding:8px 0;
}

.audit li small {
  display:block;
  color:var(--muted);
}

.footer {
  font-size:12px;
  color:var(--muted);
  text-align:center;
  padding:20px 24px;
  border-top:1px solid var(--line);
}

.form-error,.page-error {
  color:var(--danger);
  white-space:pre-wrap;
  margin-top:12px;
}

.form-error:empty,.page-error:empty {
  display:none;
}

dialog {
  border:1px solid var(--line);
  border-radius:7px;
  padding:0;
  width:min(500px,calc(100% - 32px));
  max-height:calc(100dvh - 40px);
  overflow:auto;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 20px 80px #18244426;
}

dialog.wide-modal {
  width:min(850px,calc(100% - 32px));
}

dialog::backdrop {
  background:#18223870;
}

.modal-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:16px 20px;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  background:var(--paper);
  z-index:1;
}

.modal-body {
  padding:20px;
}

.guide-list {
  padding-left:22px;
  margin:20px 0;
}

.guide-list li {
  margin:16px 0;
}

.guide-list li p {
  font-size:13px;
  color:var(--muted);
  margin-top:4px;
}

.loading {
  max-width:560px;
  margin:12vh auto;
  padding:24px;
}

.loading p {
  margin:15px 0;
}

#toast {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translate(-50%,15px);
  background:#253350;
  color:white;
  padding:12px 18px;
  border-radius:5px;
  max-width:min(640px,calc(100% - 32px));
  opacity:0;
  pointer-events:none;
  z-index:100;
  box-shadow:0 6px 25px #17244120;
  transition:opacity .16s,transform .16s;
}

#toast.show {
  opacity:1;
  transform:translate(-50%,0);
}

#toast.error {
  background:#87343b;
}

.busy .button {
  cursor:wait;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.screen-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  flex-wrap:wrap;
  margin-bottom:19px;
}

.screen-kicker {
  font-size:12px;
  color:var(--muted);
  letter-spacing:1px;
}

.screen-header h1 {
  margin-top:5px;
}

.stadium-screen {
  background:#171f35;
  color:#f3f5fc;
  aspect-ratio:16/9;
  padding:28px 32px;
  border-radius:5px;
  display:flex;
  flex-direction:column;
  gap:22px;
  overflow-wrap:anywhere;
}

.screen-top,.screen-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.screen-top {
  padding-bottom:16px;
  border-bottom:1px solid #384258;
}

.screen-top h2 {
  font-size:24px;
}

.screen-top span,.screen-bottom {
  font-size:12px;
  color:#b9c2d8;
}

.screen-grid {
  display:grid;
  grid-template-columns:1.06fr 1fr;
  gap:35px;
  flex:1;
}

.screen-grid h2 {
  font-size:19px;
  color:#d0dbfb;
  margin-bottom:12px;
}

.screen-grid h3 {
  margin-bottom:8px;
}

.stadium-screen table {
  font-size:14px;
}

.stadium-screen th {
  background:transparent;
  color:#aebbd7;
}

.stadium-screen th,.stadium-screen td {
  border-color:#343e55;
  padding:9px 8px;
}

.stadium-screen td small {
  color:#abb9d4;
}

.screen-note {
  color:#b4c0dc;
  font-size:12px;
  margin-top:16px;
}

.screen-match {
  padding:10px 0;
  border-bottom:1px solid #343e55;
}

.screen-match>span {
  font-size:12px;
  color:#b9c2d8;
}

.screen-match p {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:14px;
  margin-top:6px;
}

.screen-match strong {
  font-size:28px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.screen-points {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}

.screen-points>div {
  border-left:2px solid #788fca;
  padding-left:10px;
}

.screen-points span {
  font-size:12px;
  color:#b9c2d8;
}

.screen-points strong {
  display:block;
  font-size:27px;
}

.screen-empty {
  padding:30px 0;
  color:#bdc8dd;
}

.screen-bottom {
  margin-top:auto;
  border-top:1px solid #384258;
  padding-top:15px;
}

.stadium-screen:fullscreen {
  width:100%;
  height:100%;
  aspect-ratio:auto;
  padding:4vh 4vw;
  border-radius:0;
  justify-content:space-between;
}

.stadium-screen:fullscreen .screen-grid {
  align-content:center;
}

.stadium-screen:fullscreen h2 {
  font-size:clamp(22px,2vw,40px);
}

.stadium-screen:fullscreen table {
  font-size:clamp(14px,1.2vw,24px);
}

.stadium-screen:fullscreen .screen-match strong {
  font-size:clamp(32px,3vw,65px);
}

@media(max-width:980px) {
  .topbar {
    gap:12px;
    padding:14px 24px;
  }
  .top-actions {
    width:100%;
    margin-left:0;
  }
  .nav {
    padding:0 24px;
    gap:20px;
  }
  .nav .public-link {
    margin-left:0;
  }
  .content {
    padding:16px 24px 28px;
  }
  .demo-strip,.sync-status {
    padding-left:24px;
    padding-right:24px;
  }
  .grid.two {
    gap:15px;
  }
  .panel-body {
    padding:16px;
  }
  .panel-head {
    padding:14px 16px;
  }
  .stadium-screen {
    padding:23px;
    aspect-ratio:auto;
    min-height:540px;
  }
  .screen-grid {
    gap:20px;
  }
}

@media(max-width:700px) {
  .grid.two {
    grid-template-columns:1fr;
  }
  .topbar {
    padding:14px 17px;
  }
  .brand {
    font-size:22px;
  }
  .meet-name {
    font-size:12px;
    padding-left:12px;
  }
  .top-actions {
    gap:6px;
  }
  .identity-field {
    flex:1;
    min-width:140px;
  }
  .identity-field select {
    width:100%;
    max-width:none;
  }
  .nav {
    padding:0 17px;
    gap:0 18px;
  }
  .nav a {
    font-size:13px;
    padding:11px 0 10px;
  }
  .nav .public-link {
    font-size:12px;
  }
  .content {
    padding:15px 17px 25px;
  }
  .demo-strip,.sync-status {
    padding-left:17px;
    padding-right:17px;
  }
  .heading {
    margin-bottom:18px;
  }
  .heading h1 {
    font-size:24px;
  }
  .heading p {
    font-size:13px;
  }
  .section-gap {
    margin-top:20px;
  }
  .panel-head h2 {
    font-size:16px;
  }
  .schedule {
    margin:0 15px;
  }
  .schedule>summary {
    grid-template-columns:44px minmax(0,1fr) 18px;
    gap:10px;
  }
  .match-time-row {
    grid-template-columns:minmax(0,1fr) 110px;
    gap:10px;
  }
  .match-time-row>button {
    grid-column:2;
  }
  .match-time-row>div {
    grid-row:span 2;
  }
  .scoreboard strong {
    font-size:48px;
  }
  .screen-grid {
    grid-template-columns:1fr;
  }
  .stadium-screen {
    padding:18px;
    gap:20px;
  }
  .screen-top h2 {
    font-size:20px;
  }
  .screen-top span {
    font-size:11px;
  }
  .screen-header h1 {
    font-size:21px;
  }
  .screen-points {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
  }
  .table-wrap table:not(.result-entry) {
    min-width:420px;
  }
  .stadium-screen table {
    min-width:430px!important;
  }
  .modal-body {
    padding:16px;
  }
  .modal-head {
    padding:14px 16px;
  }
  .choice-grid {
    grid-template-columns:1fr 1fr;
  }
  .check-option {
    padding:9px;
    gap:7px;
  }
  .check-option span {
    font-size:13px;
  }
  .lane-row {
    grid-template-columns:minmax(0,1fr) 83px 55px;
    gap:8px;
  }
  .lane-row>span {
    font-size:13px;
  }
  .button {
    padding:8px 10px;
  }
  .form-actions {
    gap:8px;
  }
  .device-strip {
    padding:14px;
  }
}

@media(max-width:380px) {
  .meet-name {
    padding-left:0;
    border-left:0;
    width:100%;
  }
  .choice-grid {
    grid-template-columns:1fr;
  }
  .scoreboard {
    gap:7px;
  }
  .score-buttons .button {
    min-width:32px;
    padding:6px 8px;
  }
  .identity-field select {
    font-size:12px;
  }
  .top-actions>.button {
    padding:7px;
  }
  .lane-row {
    grid-template-columns:minmax(0,1fr) 80px;
  }
  .lane-row>button {
    grid-column:2;
  }
  .lane-row>span {
    grid-row:span 2;
  }
  .match-time-row {
    grid-template-columns:1fr;
  }
  .match-time-row>div {
    grid-row:auto;
  }
  .match-time-row>button {
    grid-column:auto;
  }
  .panel-body {
    padding:14px;
  }
  .content {
    padding-left:13px;
    padding-right:13px;
  }
}

@media(pointer:coarse) {
  .button,.button.small,.segmented button {
    min-height:44px;
  }
  input:not([type=checkbox]),select,textarea {
    font-size:16px;
    min-height:44px;
  }
  .identity-field select {
    font-size:16px;
  }
  .check-option {
    min-height:44px;
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
}

@media print {
  .topbar,.nav,.demo-strip,.sync-status,.footer,.heading-actions,.button {
    display:none;
  }
  .content {
    padding:0;
  }
  .app-shell {
    max-width:none;
  }
  .panel {
    break-inside:avoid;
  }
}

.draft-label {
  font-size:12px;
  color:var(--warn);
  background:#fbf2dd;
  padding:7px 10px;
  margin:8px 0;
}

.match-time-row input[type=time] {
  width:100%;
}

.screen-correction {
  font-size:13px;
  color:#f1d399;
  border-left:3px solid #cda456;
  padding:8px 11px;
  margin-top:12px;
  background:#342d22;
}

/* Shared task workspace: task selection stays quiet; the current operation leads. */
.workbench-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin:0 0 15px;
}

.workbench-filters {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  padding:3px;
  background:#e9ecf3;
  border:1px solid #e3e7ef;
  border-radius:6px;
}

.workbench-filters button {
  border:1px solid transparent;
  border-radius:4px;
  background:transparent;
  color:var(--muted);
  min-height:34px;
  padding:6px 15px;
  font-size:13px;
  line-height:1.5;
}

.workbench-filters button:hover {
  color:var(--ink);
  background:#f4f5f9;
}

.workbench-filters button[aria-pressed=true],
.workbench-filters button[aria-current=true],
.workbench-filters button.active {
  color:var(--accent);
  background:var(--paper);
  border-color:#dce1ed;
  font-weight:600;
  box-shadow:0 1px 2px #23355b08;
}

.workbench-summary {
  color:var(--muted);
  font-size:12px;
  overflow-wrap:anywhere;
}

.workbench-summary strong {
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}

.task-workbench {
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  min-height:540px;
  border:1px solid #dce1eb;
  border-radius:8px;
  background:var(--paper);
  box-shadow:0 3px 12px #20355904;
}

.task-rail {
  min-width:0;
  padding:17px 13px 20px;
  background:#f1f3f7;
  border-right:1px solid var(--line);
  border-radius:7px 0 0 7px;
}

.task-rail-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  color:var(--muted);
  font-size:12px;
  margin:0 9px 15px;
}

.task-rail-heading h2,.task-rail-heading h3 {
  font-size:12px;
  font-weight:500;
  color:var(--muted);
}

.task-group+.task-group {
  margin-top:16px;
  padding-top:13px;
  border-top:1px solid #e0e4ed;
}

.task-group>h3 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  font-size:12px;
  font-weight:500;
  color:var(--muted);
  margin:0 10px 8px;
}

.task-group>h3>span {
  font-variant-numeric:tabular-nums;
  font-size:11px;
}

.task-list-toggle {
  display:none;
}

.task-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:7px;
  row-gap:5px;
  width:100%;
  min-width:0;
  border:1px solid transparent;
  border-radius:5px;
  padding:10px 11px;
  background:transparent;
  color:var(--ink);
  text-align:left;
  overflow-wrap:anywhere;
}

.task-item+.task-item {
  margin-top:3px;
}

.task-item:hover:not(:disabled) {
  background:#e8ecf4;
}

.task-item[aria-current=true],.task-item.active {
  background:var(--paper);
  border-color:#d8deeb;
  box-shadow:inset 3px 0 0 var(--accent),0 2px 5px #263b6807;
}

.task-item[aria-current=true]:hover,.task-item.active:hover {
  background:var(--paper);
}

.task-item-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:6px 8px;
  min-width:0;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
}

.task-item-top .badge {
  margin-top:1px;
  padding:2px 5px;
  font-size:11px;
}

.task-item[aria-current=true] .task-item-top>strong,
.task-item.active .task-item-top>strong {
  color:var(--accent);
}

.task-item-meta {
  grid-column:1/-1;
  grid-row:2;
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:400;
  line-height:1.6;
  margin-top:0;
}

.task-item-status {
  display:block;
  grid-column:2;
  grid-row:1;
  align-self:start;
  max-width:110px;
  margin-top:0;
}

.task-item-status .badge {
  font-size:11px;
  padding:2px 6px;
}

.task-archive>summary {
  display:flex;
  align-items:center;
  gap:7px;
  padding:5px 9px;
  color:var(--muted);
  font-size:12px;
  list-style:none;
}

.task-archive>summary::-webkit-details-marker {
  display:none;
}

.task-archive>summary::before {
  content:"▸";
  font-size:12px;
}

.task-archive[open]>summary::before {
  content:"▾";
}

.task-archive>summary>span:first-of-type {
  flex:1;
}

.task-archive[open]>summary {
  margin-bottom:7px;
}

.task-archive>summary:hover {
  color:var(--accent);
}

.task-detail {
  min-width:0;
  border-radius:0 7px 7px 0;
  background:var(--paper);
}

.task-context {
  padding:25px 27px 21px;
  border-bottom:1px solid var(--line);
  overflow-wrap:anywhere;
}

.task-kicker {
  display:block;
  font-size:12px;
  color:var(--accent);
  margin-bottom:7px;
  font-weight:500;
}

.task-context h2 {
  font-size:23px;
  font-weight:600;
  letter-spacing:-.4px;
  line-height:1.4;
}

.task-context .section-title {
  align-items:flex-start;
  margin-bottom:0;
}

.task-context .section-title>.badge-row {
  margin-top:4px;
}

.task-kicker>span {
  color:var(--muted);
  font-weight:400;
}

.task-context p {
  color:var(--muted);
  font-size:13px;
  margin-top:7px;
  max-width:70ch;
}

.task-context>.badge-row,.task-context>.actions {
  margin-top:12px;
}

.task-path {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:18px;
  font-size:12px;
  color:var(--muted);
}

.task-path>span {
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.task-path>span::before {
  content:"";
  width:6px;
  height:6px;
  background:#cbd1dd;
  border-radius:50%;
  flex-shrink:0;
}

.task-path>.done {
  color:var(--good);
}

.task-path>.done::before {
  background:#75a58a;
}

.task-path>.current {
  color:var(--accent);
  font-weight:600;
}

.task-path>.current::before {
  background:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
}

.task-body {
  padding:23px 27px 27px;
  min-width:0;
}

.task-body>.panel {
  border:0;
  border-radius:0;
  margin-top:0;
  background:transparent;
}

.task-body>.panel+.panel {
  border-top:1px solid var(--line);
  margin-top:24px;
  padding-top:20px;
}

.task-body>.panel>.panel-head {
  padding:0 0 17px;
  border:0;
}

.task-body>.panel>.panel-head h2 {
  font-size:16px;
}

.task-body>.panel>.panel-body {
  padding:0;
}

.task-body>.panel>.panel-note {
  padding:12px 0 0;
}

.task-detail .notice {
  font-size:13px;
  padding:11px 13px;
  margin-bottom:18px;
}

.task-detail .form-actions {
  padding-top:19px;
  margin-top:19px;
  border-top:1px solid var(--line);
}

.task-detail .inline-form {
  gap:16px;
}

.task-detail .inline-form label {
  min-width:150px;
}

.task-detail .inline-form input {
  width:100%;
}

.task-detail .inline-form+p,
.arrangement-main>p {
  margin-top:13px;
}

.checkin-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}

.checkin-summary h3 {
  font-size:16px;
}

.checkin-summary p {
  margin-top:4px;
}

.checkin-summary+.task-support {
  margin-top:12px;
  margin-bottom:20px;
}

.readiness-summary {
  margin-bottom:20px;
}

.readiness-summary h3 {
  font-size:19px;
  font-weight:600;
  line-height:1.5;
  margin-bottom:8px;
}

.readiness-summary p {
  font-size:13px;
  color:var(--muted);
  line-height:1.8;
}

.team-readiness {
  max-width:640px;
  margin:15px 0 23px;
}

.team-readiness>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:5px 16px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}

.team-readiness>div:first-child {
  border-top:1px solid var(--line);
}

.team-readiness strong {
  font-size:14px;
  font-weight:500;
}

.team-readiness span {
  color:var(--muted);
  font-size:13px;
}

.match-pair {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:16px;
  padding:24px 20px;
  margin:0 0 24px;
  background:#f5f7fb;
  border-radius:5px;
  text-align:center;
  overflow-wrap:anywhere;
}

.match-pair strong {
  font-size:19px;
  font-weight:600;
}

.match-pair>span {
  font-size:12px;
  color:var(--muted);
  letter-spacing:1px;
}

.arrangement-main {
  padding:2px 0 0;
}

.registration-detail h3 {
  font-size:20px;
  line-height:1.5;
}

.registration-detail>p {
  color:var(--muted);
  font-size:13px;
  margin-top:4px;
}

.registration-detail dl {
  display:grid;
  grid-template-columns:85px minmax(0,1fr);
  gap:12px 17px;
  margin:23px 0 0;
  padding:19px 0;
  border-top:1px solid var(--line);
  font-size:13px;
  line-height:1.8;
}

.registration-detail dt {
  color:var(--muted);
}

.registration-detail dd {
  margin:0;
  overflow-wrap:anywhere;
}

.task-detail th {
  background:#f5f7fa;
  color:#606b7f;
}

.task-detail td,.task-detail th {
  padding:11px 12px;
}

.task-detail tbody tr:hover {
  background:#fafbfe;
}

.task-detail .scoreboard {
  padding:24px 0;
}

.task-detail .scoreboard strong {
  font-size:64px;
  letter-spacing:-1px;
  margin:12px 0;
}

.task-support {
  border-top:1px solid var(--line);
  margin-top:22px;
  color:var(--ink);
  min-width:0;
}

.task-support>summary {
  padding:14px 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.task-support>summary:hover,.task-support[open]>summary {
  color:var(--accent);
}

.task-support>summary small {
  margin-left:7px;
}

.task-support>.panel {
  margin:0 0 6px;
  border:0;
  background:transparent;
}

.task-support>.panel>.panel-head {
  padding:6px 0 14px;
  border:0;
}

.task-support>.panel>.panel-head h2 {
  font-size:15px;
}

.task-support>.panel>.panel-body {
  padding:0 0 12px;
}

.task-support>.device-strip {
  margin:0 0 12px;
  background:#f5f7fa;
}

.task-support .lane-list {
  margin-top:0;
}

.workspace-footer {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:15px;
  padding:0 2px;
  font-size:12px;
  line-height:1.7;
  color:var(--muted);
  overflow-wrap:anywhere;
}

.workspace-footer strong {
  color:var(--ink);
}

.overview-lead {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  padding:25px 28px;
  margin-bottom:24px;
  border:1px solid #dce2f0;
  border-radius:7px;
  background:var(--accent-soft);
}

.overview-lead h2 {
  font-size:22px;
  line-height:1.4;
  letter-spacing:-.3px;
}

.overview-lead p {
  color:var(--muted);
  font-size:13px;
  margin-top:7px;
}

.overview-next {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
}

@media(max-width:980px) {
  .task-workbench {
    grid-template-columns:224px minmax(0,1fr);
  }
  .task-context {
    padding:22px 21px 19px;
  }
  .task-body {
    padding:21px;
  }
  .task-rail {
    padding:17px 10px 20px;
  }
  .task-item {
    padding:10px;
  }
  .task-detail .grid.two {
    grid-template-columns:1fr;
  }
}

@media(max-width:760px) {
  .task-workbench {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
  }
  .task-rail {
    border-right:0;
    border-bottom:1px solid var(--line);
    border-radius:7px 7px 0 0;
    padding:15px 12px 16px;
  }
  .task-rail-heading {
    margin-bottom:10px;
  }
  .task-list-toggle {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:4px 10px;
    width:100%;
    padding:10px 12px;
    min-height:44px;
    background:var(--paper);
    border:1px solid #d8deeb;
    border-radius:5px;
    color:var(--accent);
    font-size:13px;
    line-height:1.6;
    text-align:left;
    overflow-wrap:anywhere;
  }
  .task-list-toggle strong {
    font-size:12px;
    font-weight:500;
    white-space:nowrap;
  }
  .task-list-toggle:hover {
    background:#f9faff;
  }
  .task-rail:not(.expanded) .task-group {
    display:none;
  }
  .task-rail.expanded .task-group {
    margin-top:14px;
  }
  .task-group {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .task-group+.task-group {
    margin-top:15px;
    padding-top:13px;
  }
  .task-group>h3 {
    grid-column:1/-1;
    margin-bottom:3px;
  }
  .task-archive>summary {
    grid-column:1/-1;
  }
  .task-item+.task-item {
    margin-top:0;
  }
  .task-item-top {
    font-size:13px;
  }
  .task-detail {
    border-radius:0 0 7px 7px;
  }
  .task-context {
    padding:21px 19px 18px;
  }
  .task-context h2 {
    font-size:21px;
  }
  .task-body {
    padding:20px 19px 22px;
  }
  .task-path {
    gap:8px 14px;
  }
  .workbench-toolbar {
    gap:10px;
    margin-bottom:13px;
  }
  .workbench-filters button {
    padding:6px 12px;
  }
  .task-detail .inline-form label {
    min-width:130px;
  }
  .overview-lead {
    padding:20px;
  }
  .overview-lead h2 {
    font-size:20px;
  }
}

@media(max-width:420px) {
  .task-group {
    grid-template-columns:minmax(0,1fr);
    gap:4px;
  }
  .task-item {
    padding:11px 10px;
  }
  .task-item-top {
    align-items:center;
  }
  .task-item-meta {
    margin-top:0;
  }
  .task-context {
    padding:18px 15px;
  }
  .task-context h2 {
    font-size:20px;
  }
  .task-body {
    padding:18px 15px 20px;
  }
  .workbench-filters {
    gap:2px;
  }
  .workbench-filters button {
    padding:6px 10px;
  }
  .task-detail .scoreboard {
    gap:7px;
  }
  .task-detail .scoreboard strong {
    font-size:48px;
  }
  .task-detail .scoreboard h3 {
    font-size:13px;
  }
  .task-detail .score-buttons .button {
    min-width:34px;
  }
  .match-pair {
    gap:10px;
    padding:20px 10px;
  }
  .match-pair strong {
    font-size:16px;
  }
  .registration-detail dl {
    grid-template-columns:minmax(0,1fr);
    gap:5px;
  }
  .overview-lead {
    padding:18px;
  }
}

@media(pointer:coarse) {
  .workbench-filters button,.task-item,.task-support>summary,.task-archive>summary {
    min-height:44px;
  }
}

@media print {
  .workbench-toolbar,.task-rail,.workspace-footer {
    display:none;
  }
  .task-workbench {
    display:block;
    border:0;
    box-shadow:none;
  }
  .task-context,.task-body {
    padding:15px 0;
  }
}

.sports-diagram {
  margin:0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
  min-width:0;
}
.sports-diagram-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.sports-eyebrow { display:block; margin-bottom:4px; color:var(--muted); font-size:11px; font-weight:600; letter-spacing:1.2px; }
.sports-diagram-heading h3 { font-size:15px; letter-spacing:-.2px; }
.sports-diagram-meta { color:var(--muted); font-size:12px; }
.sports-diagram-note { margin-top:12px; color:var(--muted); font-size:12px; }
.sports-correcting .sports-diagram-note { color:var(--warn); }
.basketball-bracket { container-type:inline-size; container-name:bracket; }
.track-ruler { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 8px 8px; font-size:11px; letter-spacing:.6px; color:#90695d; }
.track-ruler span:nth-child(2) { flex:1; text-align:center; border-bottom:1px solid #e4d0c7; padding-bottom:4px; }
.track-lanes { border:1px solid #ddc6bd; border-radius:8px; overflow:hidden; background:#faf3ee; }
.track-lane { display:grid; grid-template-columns:38px minmax(0,1fr) minmax(64px,auto) 13px; align-items:center; gap:12px; width:100%; min-height:47px; margin:0; padding:0; border:0; border-bottom:2px solid #fff; border-radius:0; color:var(--ink); background:#f5e7df; text-align:left; }
.track-lane:last-child { border-bottom:0; }
.track-lane:nth-child(even) { background:#f8ede7; }
.track-lane-number { display:grid; align-self:stretch; place-items:center; border-right:2px solid #fff; color:#9c6755; font-size:24px; font-weight:600; font-variant-numeric:tabular-nums; }
.track-athlete { min-width:0; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; padding:6px 0; }
.track-athlete strong { font-size:13px; }
.track-athlete small { color:#79635c; font-size:11px; }
.track-athlete em { display:inline-block; margin-left:6px; font-size:11px; font-style:normal; color:var(--accent); }
.track-lane-result { display:grid; justify-items:end; gap:0; padding:5px 0; font-variant-numeric:tabular-nums; }
.track-lane-result strong { font-size:12px; font-weight:500; }
.track-lane-result small { font-size:11px; color:#79635c; }
.track-finish { align-self:stretch; border-left:3px solid #fff; margin-right:6px; }
.track-lane.is-own { background:#e9ecfa; }
.track-lane.is-own .track-lane-number { color:var(--accent); }
button.track-lane { cursor:pointer; transition:background-color .15s ease,box-shadow .15s ease; }
button.track-lane:hover { background:#eedad0; }
button.track-lane.is-selected { background:#e8eaf8; box-shadow:inset 4px 0 var(--accent); }
button.track-lane.is-selected .track-lane-number { color:var(--accent); }
button.track-lane:focus-visible { outline:3px solid var(--accent); outline-offset:-3px; }
.track-empty { display:grid; gap:6px; min-height:140px; align-content:center; text-align:center; padding:20px; color:#79635c; }
.track-empty strong { font-size:14px; }
.track-empty span { font-size:12px; }
.bracket-stage { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.85fr); gap:34px; }
.bracket-round { min-width:0; display:flex; flex-direction:column; }
.bracket-round h4 { display:flex; align-items:baseline; gap:7px; margin:0 0 12px; color:var(--ink); font-size:12px; font-weight:600; }
.bracket-round h4>span { color:#a0a8b9; font-size:11px; letter-spacing:.5px; }
.bracket-round h4 small { color:var(--muted); font-size:11px; font-weight:400; }
.bracket-cards { position:relative; display:flex; flex:1; flex-direction:column; justify-content:center; gap:22px; }
.bracket-match { display:block; position:relative; min-width:0; width:100%; border:1px solid var(--line); border-radius:9px; padding:11px; background:#fff; text-align:left; color:var(--ink); }
.bracket-match-heading { display:flex; justify-content:space-between; align-items:center; gap:6px; margin-bottom:9px; }
.bracket-match-heading>strong { font-size:11px; font-weight:600; }
.bracket-match-heading>span { color:var(--muted); font-size:11px; }
.bracket-team { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:31px; }
.bracket-team+.bracket-team { border-top:1px solid #edf0f5; }
.bracket-team-name { min-width:0; font-size:12px; overflow-wrap:anywhere; }
.bracket-team-name small,.bracket-team-name em { margin-left:5px; font-size:11px; font-style:normal; font-weight:500; color:var(--accent); white-space:nowrap; }
.bracket-score { font-size:16px; font-weight:600; font-variant-numeric:tabular-nums; }
.bracket-team.is-winner { color:var(--accent); }
.bracket-team.is-winner .bracket-team-name { font-weight:600; }
.bracket-team.is-own .bracket-team-name { text-decoration:underline; text-decoration-color:#b5bfea; text-underline-offset:4px; }
.bracket-match-foot { display:block; margin-top:8px; padding-top:7px; border-top:1px solid #edf0f5; color:var(--muted); font-size:11px; }
button.bracket-match { cursor:pointer; transition:border-color .15s ease,background-color .15s ease; }
button.bracket-match:hover { border-color:#a9b3dc; background:#fafbff; }
.bracket-match.is-active { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); background:#f8f9ff; }
.bracket-match.is-blocked .bracket-match-heading>span,.bracket-match.is-blocked .bracket-match-foot { color:var(--warn); }
.bracket-semifinals .bracket-match::after,.bracket-final .bracket-match::before,.bracket-final .bracket-match::after { content:""; position:absolute; top:50%; width:18px; border-top:1px solid #c4ccdf; pointer-events:none; }
.bracket-semifinals .bracket-match::after,.bracket-final .bracket-match::after { left:100%; }
.bracket-final .bracket-match::before { right:100%; }
.bracket-semifinals .bracket-cards::after { content:""; position:absolute; left:calc(100% + 17px); top:calc(25% - 6px); bottom:calc(25% - 6px); width:1px; background:#c4ccdf; pointer-events:none; }
.bracket-champion { position:relative; display:grid; gap:8px; text-align:center; padding:26px 10px; border:1px dashed #cbd2e3; border-radius:10px; background:#f8f9fc; }
.bracket-champion::before { content:""; position:absolute; top:50%; right:100%; width:18px; border-top:1px solid #c4ccdf; pointer-events:none; }
.bracket-champion-label { font-size:11px; color:var(--muted); letter-spacing:1px; }
.bracket-champion>strong { font-size:16px; font-weight:600; overflow-wrap:anywhere; }
.bracket-champion>small { font-size:11px; color:var(--muted); }
.bracket-champion.is-confirmed { background:#f5f0e4; border:1px solid #deceaa; }
.bracket-champion.is-confirmed .bracket-champion-label,.bracket-champion.is-confirmed>strong { color:#876526; }
.bracket-placeholder { color:var(--muted); font-size:12px; padding:20px 12px; }
.basketball-bracket.is-compact { padding:16px; }
.basketball-bracket.is-compact .sports-diagram-heading { margin-bottom:14px; }
.basketball-bracket.is-compact .bracket-stage { gap:26px; }
.basketball-bracket.is-compact .bracket-match { padding:9px; }
.basketball-bracket.is-compact .bracket-cards { gap:14px; }
.basketball-bracket.is-compact .bracket-semifinals .bracket-match::after,.basketball-bracket.is-compact .bracket-final .bracket-match::before,.basketball-bracket.is-compact .bracket-final .bracket-match::after,.basketball-bracket.is-compact .bracket-champion::before { width:14px; }
.basketball-bracket.is-compact .bracket-semifinals .bracket-cards::after { left:calc(100% + 13px); top:calc(25% - 4px); bottom:calc(25% - 4px); }
@media (max-width:760px) {
  .bracket-stage,.basketball-bracket.is-compact .bracket-stage { gap:22px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .bracket-winner { grid-column:1 / -1; }
  .bracket-winner h4 { margin-bottom:8px; }
  .bracket-champion { padding:16px; grid-template-columns:1fr auto; text-align:left; align-items:center; gap:4px 12px; }
  .bracket-champion>strong { grid-column:2; grid-row:1 / span 2; }
  .bracket-champion>small { grid-column:1; }
  .bracket-champion::before,.bracket-final .bracket-match::after { display:none; }
  .bracket-semifinals .bracket-match::after,.bracket-final .bracket-match::before,.basketball-bracket.is-compact .bracket-semifinals .bracket-match::after,.basketball-bracket.is-compact .bracket-final .bracket-match::before { width:12px; }
  .bracket-semifinals .bracket-cards::after,.basketball-bracket.is-compact .bracket-semifinals .bracket-cards::after { left:calc(100% + 11px); }
}
@media (max-width:520px) {
  .sports-diagram,.basketball-bracket.is-compact { padding:14px; border-radius:10px; }
  .sports-diagram-heading { margin-bottom:12px; gap:7px; }
  .sports-diagram-meta { font-size:11px; }
  .sports-diagram-heading h3 { font-size:14px; }
  .track-lane { grid-template-columns:30px minmax(0,1fr) minmax(57px,auto) 8px; gap:7px; min-height:50px; }
  .track-lane-number { font-size:21px; }
  .track-athlete { display:grid; gap:0; }
  .track-athlete strong { font-size:12px; }
  .track-athlete small { font-size:11px; }
  .track-lane-result strong { font-size:11px; }
  .track-finish { margin-right:3px; }
  .sports-diagram-note { font-size:11px; }
  .bracket-stage,.basketball-bracket.is-compact .bracket-stage { grid-template-columns:minmax(0,1fr); gap:18px; }
  .bracket-cards,.basketball-bracket.is-compact .bracket-cards { gap:10px; }
  .bracket-round h4 { padding-bottom:7px; margin-bottom:9px; border-bottom:1px solid var(--line); }
  .bracket-match { padding:11px 13px; }
  .bracket-team-name { font-size:13px; }
  .bracket-match-heading>strong { font-size:12px; }
  .bracket-score { font-size:18px; }
  .bracket-semifinals .bracket-match::after,.bracket-final .bracket-match::before,.bracket-semifinals .bracket-cards::after { display:none; }
  .bracket-final h4::after,.bracket-winner h4::after { content:"↓"; margin-left:auto; font-size:16px; color:var(--muted); }
  .bracket-champion { grid-template-columns:minmax(0,1fr); text-align:center; padding:20px 12px; }
  .bracket-champion>strong,.bracket-champion>small { grid-column:1; grid-row:auto; }
}
@media (pointer:coarse) {
  button.track-lane { min-height:50px; }
  button.bracket-match { min-height:120px; }
}
@container bracket (max-width:650px) {
  .bracket-stage,.basketball-bracket.is-compact .bracket-stage { gap:22px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .bracket-winner { grid-column:1 / -1; }
  .bracket-winner h4 { margin-bottom:8px; }
  .bracket-champion { padding:16px; grid-template-columns:minmax(0,1fr) auto; text-align:left; align-items:center; gap:4px 12px; }
  .bracket-champion>strong { grid-column:2; grid-row:1 / span 2; }
  .bracket-champion>small { grid-column:1; }
  .bracket-champion::before,.bracket-final .bracket-match::after { display:none; }
  .bracket-semifinals .bracket-match::after,.bracket-final .bracket-match::before,.basketball-bracket.is-compact .bracket-semifinals .bracket-match::after,.basketball-bracket.is-compact .bracket-final .bracket-match::before { width:12px; }
  .bracket-semifinals .bracket-cards::after,.basketball-bracket.is-compact .bracket-semifinals .bracket-cards::after { left:calc(100% + 11px); }
}
@container bracket (max-width:360px) {
  .bracket-stage,.basketball-bracket.is-compact .bracket-stage { grid-template-columns:minmax(0,1fr); gap:18px; }
  .bracket-cards,.basketball-bracket.is-compact .bracket-cards { gap:10px; }
  .bracket-round h4 { padding-bottom:7px; margin-bottom:9px; border-bottom:1px solid var(--line); }
  .bracket-semifinals .bracket-match::after,.bracket-final .bracket-match::before,.bracket-semifinals .bracket-cards::after { display:none; }
  .bracket-final h4::after,.bracket-winner h4::after { content:"↓"; margin-left:auto; font-size:16px; color:var(--muted); }
  .bracket-champion { grid-template-columns:minmax(0,1fr); text-align:center; padding:20px 12px; }
  .bracket-champion>strong,.bracket-champion>small { grid-column:1; grid-row:auto; }
}
@media (prefers-reduced-motion:reduce) {
  button.track-lane,button.bracket-match { transition:none; }
}

/* Page hierarchy: one focal area, quieter supporting information. */
.pages-eyebrow {
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:600;
  letter-spacing:1.4px;
  line-height:1.7;
}
.pages-event-lead,.pages-student-focus {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:27px;
  padding:26px 30px;
  border:1px solid #dbe1ee;
  border-radius:8px;
  background:linear-gradient(105deg,#edf0fa 0%,#f7f8fc 100%);
}
.pages-event-lead h2,.pages-student-focus h2 {
  margin-top:6px;
  font-size:25px;
  line-height:1.45;
  letter-spacing:-.5px;
}
.pages-event-lead p,.pages-student-focus p {
  margin-top:7px;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}
.pages-event-metrics {
  display:flex;
  align-items:center;
  flex-shrink:0;
  gap:25px;
}
.pages-event-metrics>div {
  min-width:75px;
  padding-left:22px;
  border-left:1px solid #d6ddeb;
}
.pages-event-metrics strong {
  display:block;
  font-size:29px;
  font-variant-numeric:tabular-nums;
  font-weight:500;
  line-height:1.3;
}
.pages-event-metrics strong small {
  color:var(--muted);
  font-size:15px;
  font-weight:400;
}
.pages-event-metrics span {
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:11px;
}
.pages-overview-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  align-items:start;
  gap:25px;
}
.pages-main,.pages-aside {
  min-width:0;
}
.pages-section-line {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:15px;
}
.pages-section-line h2 {
  font-size:16px;
}
.pages-section-line h3 {
  font-size:22px;
}
.pages-competition {
  overflow:hidden;
  min-width:0;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
}
.pages-competition+.pages-competition {
  margin-top:22px;
}
.pages-block-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:22px 24px 18px;
}
.pages-block-head h2 {
  margin-top:2px;
  font-size:22px;
  letter-spacing:-.4px;
}
.pages-block-head p {
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}
.pages-fraction {
  color:var(--muted);
  white-space:nowrap;
  font-size:11px;
}
.pages-fraction strong {
  font-size:17px;
  color:var(--ink);
}
.pages-race-tabs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  padding:0 24px;
}
.pages-race-tabs button {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-width:0;
  padding:10px 13px;
  border:1px solid var(--line);
  border-radius:5px;
  background:#f8f9fb;
  text-align:left;
  line-height:1.5;
}
.pages-race-tabs button span {
  font-size:13px;
  font-weight:600;
}
.pages-race-tabs button small {
  color:var(--muted);
  font-size:10px;
}
.pages-race-tabs button[aria-pressed=true] {
  background:var(--accent-soft);
  border-color:#aab6dc;
  color:var(--accent);
  box-shadow:inset 0 2px 0 var(--accent);
}
.pages-race-tabs button[aria-pressed=true] small {
  color:var(--accent);
}
.pages-selected-race,.pages-bracket-area {
  padding:20px 24px 0;
}
.pages-bracket-area {
  padding-top:0;
  padding-bottom:22px;
}
.pages-race-caption {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:4px 14px;
  margin-bottom:13px;
  font-size:12px;
}
.pages-race-caption span {
  color:var(--muted);
  font-size:11px;
}
.pages-note {
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.8;
}
.pages-qualification {
  padding:13px 24px 17px;
  border-top:1px solid var(--line);
  background:#fafbfe;
}
.pages-fold {
  border-top:1px solid var(--line);
  color:var(--ink);
  font-size:12px;
}
.pages-fold>summary {
  padding:13px 0;
  color:var(--muted);
  line-height:1.7;
}
.pages-fold>summary:hover,.pages-fold[open]>summary {
  color:var(--accent);
}
.pages-fold>div {
  padding-bottom:17px;
}
.pages-fold>div p {
  line-height:1.8;
}
.pages-selected-race>.pages-fold {
  margin-top:17px;
}
.pages-points {
  border-top:2px solid #6b79ab;
}
.pages-points .pages-block-head {
  padding:19px 0 10px;
}
.pages-points .pages-block-head h2 {
  font-size:17px;
}
.pages-points .badge {
  font-size:10px;
}
.pages-standing {
  padding:0;
}
.pages-standing>summary {
  padding:16px 0;
}
.pages-standing-name {
  display:flex;
  align-items:center;
  gap:11px;
  font-size:13px;
}
.pages-rank {
  width:17px;
  color:var(--muted);
  font-size:11px;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.pages-standing>summary strong {
  font-size:21px;
  font-variant-numeric:tabular-nums;
}
.pages-standing>summary small {
  font-size:10px;
  font-weight:400;
}
.pages-standing .detail-body {
  color:var(--muted);
  font-size:11px;
}
.pages-points>.pages-note {
  padding:14px 0;
}
.pages-side-note {
  margin-top:24px;
  padding:20px 18px 0;
  border-radius:6px;
  background:#edf0f5;
}
.pages-side-note h3 {
  margin-bottom:9px;
  font-size:13px;
}
.pages-side-note>p {
  padding-bottom:14px;
  color:var(--muted);
  font-size:12px;
  line-height:1.9;
}
.pages-side-schedule {
  margin-top:21px;
}
.pages-side-schedule>summary span {
  float:right;
  color:var(--muted);
  font-size:11px;
}
.pages-side-schedule .schedule>summary {
  display:grid;
  grid-template-columns:45px minmax(0,1fr);
  gap:8px;
  padding:14px 0;
}
.pages-side-schedule .schedule-title {
  font-size:12px;
}
.pages-side-schedule .schedule-time {
  font-size:13px;
}
.pages-side-schedule .expand-mark {
  display:none;
}
.pages-side-schedule .table-wrap {
  margin-left:0;
  margin-right:0;
}
.pages-student-focus .actions {
  flex-shrink:0;
}
.pages-registration-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:20px;
}
.pages-registration {
  min-width:0;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  scroll-margin-top:20px;
}
.pages-registration.is-actionable {
  border-color:#bcc6df;
}
.pages-registration>header {
  padding:22px 23px 17px;
  border-bottom:1px solid var(--line);
}
.pages-registration>header .pages-section-line {
  margin-top:6px;
  margin-bottom:0;
}
.pages-registration-body {
  padding:18px 23px 22px;
}
.pages-registration-description {
  margin-bottom:19px;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}
.pages-registration-body textarea {
  min-height:85px;
}
.pages-registration-body .notice {
  margin-bottom:17px;
}
.pages-registration-body>.small {
  margin-top:13px;
}
.pages-status-message {
  padding:16px 17px;
  border-left:2px solid #c5ccde;
  background:#f6f7fa;
}
.pages-status-message strong {
  font-size:13px;
}
.pages-status-message p,.pages-team-state {
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
  line-height:1.8;
}
.pages-registration-body>.pages-fold {
  margin-top:17px;
}
.pages-registration-body>.pages-fold>div {
  padding-bottom:0;
  overflow-wrap:anywhere;
}
.pages-student-schedule {
  margin-top:29px;
  scroll-margin-top:20px;
}
.pages-personal-races {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px;
  align-items:start;
}
.pages-personal-race {
  min-width:0;
  padding:21px 23px 0;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--paper);
}
.pages-personal-race-head {
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:18px;
  padding-bottom:19px;
}
.pages-start-time {
  padding-right:15px;
  border-right:1px solid var(--line);
}
.pages-start-time strong {
  display:block;
  font-size:19px;
  font-variant-numeric:tabular-nums;
}
.pages-start-time span {
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}
.pages-personal-race h3 {
  font-size:15px;
}
.pages-personal-race-head p {
  margin-top:7px;
  margin-bottom:8px;
  color:var(--muted);
  font-size:12px;
}
.pages-personal-race-head p strong {
  color:var(--accent);
}
.pages-my-score {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px;
  padding:13px 0 17px;
  border-top:1px solid var(--line);
}
.pages-my-score strong {
  font-size:23px;
  font-variant-numeric:tabular-nums;
}
.pages-my-score span {
  color:var(--muted);
  font-size:11px;
}
.pages-schedule-empty {
  padding:28px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:center;
}
.pages-schedule-empty strong {
  font-size:14px;
  font-weight:500;
}
.pages-schedule-empty p {
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
}
.pages-student-bracket {
  margin-top:22px;
}
.pages-student-bracket>div {
  padding:16px 22px 22px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:6px;
}
/* Broadcast uses the same semantic diagrams with a restrained dark surface. */
.pages-broadcast {
  --paper:#202d45;
  --ink:#eef2ff;
  --muted:#aebcd5;
  --line:#39465e;
  --accent:#b6c6ff;
  --accent-soft:#2b3b5e;
  background:#182338;
  padding:26px 30px;
  gap:23px;
}
.pages-broadcast .screen-top {
  padding-bottom:17px;
}
.pages-broadcast .screen-top h2 {
  margin-top:5px;
  font-size:23px;
}
.pages-broadcast .screen-top>span {
  font-size:10px;
  line-height:1.9;
  text-align:right;
}
.pages-broadcast-kicker {
  display:block;
  font-size:9px!important;
  color:#9faccc!important;
  letter-spacing:2px;
}
.pages-broadcast-grid {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);
  gap:27px;
  flex:1;
}
.pages-broadcast-track,.pages-broadcast-side {
  min-width:0;
}
.pages-broadcast-track {
  padding-right:26px;
  border-right:1px solid #36425a;
}
.pages-broadcast-heading {
  margin-bottom:15px;
}
.pages-broadcast-heading>span {
  display:block;
  margin-bottom:6px;
  font-size:9px;
  font-weight:600;
  letter-spacing:1.7px;
  color:#94a5c7;
}
.pages-broadcast-heading h2 {
  font-size:18px;
  color:#eef2ff;
}
.pages-broadcast-event {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.pages-broadcast-event h3 {
  font-size:14px;
}
.pages-broadcast-event>span {
  font-size:10px;
  color:#aebcd5;
}
.pages-broadcast .badge {
  padding:3px 7px;
  font-size:10px;
  color:#d3defb;
  background:#2b3b5e;
}
.pages-broadcast .badge.published {
  color:#c0e1d3;
  background:#26473f;
}
.pages-broadcast .badge.review {
  color:#eed3a4;
  background:#50432b;
}
.pages-broadcast .table-wrap {
  margin-top:12px;
}
.pages-broadcast table {
  width:100%;
  font-size:13px;
}
.pages-broadcast th,.pages-broadcast td {
  padding:8px 7px;
  white-space:normal;
}
.pages-broadcast th {
  font-size:10px;
  font-weight:400;
}
.pages-broadcast td small {
  font-size:9px;
}
.pages-broadcast .screen-note {
  font-size:10px;
  line-height:1.8;
}
.pages-broadcast-side {
  display:flex;
  flex-direction:column;
  gap:21px;
}
.pages-broadcast-points {
  padding-top:17px;
  border-top:1px solid #36425a;
}
.pages-broadcast .screen-points {
  gap:10px;
}
.pages-broadcast .screen-points>div {
  padding-left:10px;
  border-left-color:#7284b4;
}
.pages-broadcast .screen-points span {
  font-size:11px;
}
.pages-broadcast .screen-points strong {
  font-size:25px;
  font-weight:500;
}
.pages-broadcast .screen-points small {
  font-size:10px;
  color:#aebcd5;
}
.pages-broadcast .screen-bottom {
  padding-top:15px;
  font-size:9px;
}
.pages-broadcast-wait {
  padding:34px 0 39px;
}
.pages-broadcast-wait>span {
  display:block;
  color:#aebcd5;
  font-size:12px;
}
.pages-broadcast-wait h3 {
  margin-top:9px;
  font-size:21px;
}
.pages-broadcast-wait>strong {
  display:block;
  margin-top:23px;
  font-size:48px;
  font-weight:500;
  font-variant-numeric:tabular-nums;
}
.pages-broadcast-wait p {
  margin-top:9px;
  color:#b9c6e0;
  font-size:12px;
}
.pages-broadcast:fullscreen {
  padding:3.5vh 3.5vw;
  gap:3vh;
  justify-content:flex-start;
}
.pages-broadcast:fullscreen .pages-broadcast-grid {
  gap:3vw;
  align-items:start;
}
.pages-broadcast:fullscreen .screen-top h2 {
  font-size:clamp(24px,2.05vw,40px);
}
.pages-broadcast:fullscreen .pages-broadcast-heading h2 {
  font-size:clamp(22px,1.5vw,30px);
}
.pages-broadcast:fullscreen .pages-broadcast-heading>span {
  font-size:clamp(10px,.7vw,14px);
}
.pages-broadcast:fullscreen .pages-broadcast-event h3 {
  font-size:clamp(16px,1.25vw,25px);
}
.pages-broadcast:fullscreen .pages-broadcast-event>span,.pages-broadcast:fullscreen .screen-note,.pages-broadcast:fullscreen .screen-bottom,.pages-broadcast:fullscreen .screen-top>span {
  font-size:clamp(11px,.85vw,17px);
}
.pages-broadcast:fullscreen .pages-broadcast-track {
  padding-right:3vw;
}
.pages-broadcast:fullscreen table {
  font-size:clamp(15px,1.2vw,24px);
}
.pages-broadcast:fullscreen th {
  font-size:clamp(11px,.8vw,16px);
}
.pages-broadcast:fullscreen td small {
  font-size:clamp(11px,.78vw,16px);
}
.pages-broadcast:fullscreen th,.pages-broadcast:fullscreen td {
  padding:1.1vh .6vw;
}
.pages-broadcast:fullscreen .pages-broadcast-side {
  gap:3vh;
}
.pages-broadcast:fullscreen .screen-points span {
  font-size:clamp(12px,.95vw,20px);
}
.pages-broadcast:fullscreen .screen-points strong {
  font-size:clamp(27px,2.2vw,44px);
}
.pages-broadcast:fullscreen .screen-points small {
  font-size:clamp(11px,.8vw,16px);
}
@media(max-width:1000px) {
  .pages-overview-layout { grid-template-columns:minmax(0,1fr) 230px; gap:20px; }
  .pages-event-lead,.pages-student-focus { padding:23px; }
  .pages-event-metrics { gap:17px; }
  .pages-event-metrics>div { padding-left:17px; min-width:65px; }
  .pages-block-head { padding:20px 18px 17px; }
  .pages-race-tabs { padding:0 18px; }
  .pages-selected-race { padding:18px 18px 0; }
  .pages-bracket-area { padding:0 18px 20px; }
  .pages-qualification { padding:13px 18px 16px; }
  .pages-broadcast { padding:24px; }
  .pages-broadcast-grid { gap:21px; }
  .pages-broadcast-track { padding-right:20px; }
}
@media(max-width:800px) {
  .pages-overview-layout { grid-template-columns:minmax(0,1fr); }
  .pages-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:20px; }
  .pages-side-note { margin-top:0; }
  .pages-side-schedule { grid-column:1/-1; margin-top:0; }
  .pages-event-lead { flex-wrap:wrap; }
  .pages-event-metrics { width:100%; gap:22px; padding-top:17px; border-top:1px solid #d6ddeb; }
  .pages-event-metrics>div { flex:1; padding-left:0; border:0; }
  .pages-event-metrics strong { font-size:26px; }
  .pages-broadcast { aspect-ratio:auto; }
  .pages-broadcast-grid { grid-template-columns:minmax(0,1fr); }
  .pages-broadcast-track { padding-right:0; padding-bottom:22px; border-right:0; border-bottom:1px solid #36425a; }
  .pages-broadcast .screen-points strong { font-size:28px; }
  .pages-broadcast table { font-size:14px; }
  .pages-broadcast th,.pages-broadcast td { padding:10px 8px; }
  .pages-broadcast td small { font-size:11px; }
}
@media(max-width:600px) {
  .pages-event-lead,.pages-student-focus { padding:21px 19px; margin-bottom:22px; }
  .pages-event-lead h2,.pages-student-focus h2 { font-size:22px; }
  .pages-student-focus { align-items:flex-start; flex-direction:column; gap:16px; }
  .pages-aside,.pages-registration-grid,.pages-personal-races { grid-template-columns:minmax(0,1fr); }
  .pages-aside { gap:19px; }
  .pages-block-head h2 { font-size:20px; }
  .pages-registration>header { padding:20px; }
  .pages-registration-body { padding:17px 20px 20px; }
  .pages-personal-race { padding:19px 20px 0; }
  .pages-student-bracket>div { padding:14px; }
  .pages-broadcast { padding:21px 18px; }
  .pages-broadcast .screen-top h2 { font-size:19px; }
  .pages-broadcast .screen-top>span { text-align:left; }
  .pages-broadcast .screen-top { align-items:flex-start; }
}
@media(max-width:420px) {
  .pages-event-lead h2,.pages-student-focus h2 { font-size:20px; }
  .pages-event-metrics { gap:12px; }
  .pages-event-metrics strong { font-size:24px; }
  .pages-event-metrics span { font-size:10px; }
  .pages-block-head { align-items:flex-start; gap:10px; padding:18px 15px 15px; }
  .pages-fraction { font-size:10px; }
  .pages-fraction strong { font-size:14px; }
  .pages-race-tabs { padding:0 15px; gap:4px; }
  .pages-race-tabs button { padding:8px; }
  .pages-race-tabs button span { font-size:12px; }
  .pages-race-tabs button small { font-size:9px; }
  .pages-selected-race { padding:16px 15px 0; }
  .pages-bracket-area { padding:0 15px 18px; }
  .pages-qualification { padding:12px 15px 15px; }
  .pages-personal-race-head { grid-template-columns:59px minmax(0,1fr); gap:13px; }
  .pages-start-time { padding-right:10px; }
  .pages-start-time strong { font-size:17px; }
  .pages-personal-race h3 { font-size:14px; }
  .pages-registration>header,.pages-registration-body { padding-left:16px; padding-right:16px; }
  .pages-personal-race { padding-left:16px; padding-right:16px; }
  .pages-broadcast .screen-points { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .pages-broadcast-event { flex-wrap:wrap; }
}
@media print {
  .pages-event-lead,.pages-student-focus { break-inside:avoid; }
  .pages-race-tabs,.pages-main>.pages-section-line .segmented { display:none; }
  .pages-overview-layout { display:block; }
  .pages-aside { margin-top:20px; }
}
.pages-broadcast .sports-diagram {
  padding:15px;
  border-color:#39465e;
  border-radius:7px;
  background:#202d45;
  color:#eef2ff;
}
.pages-broadcast .sports-diagram-heading {
  margin-bottom:13px;
}
.pages-broadcast .sports-diagram-heading h3 {
  font-size:13px;
}
.pages-broadcast .sports-eyebrow {
  display:none;
}
.pages-broadcast .bracket-match {
  border-color:#42506a;
  background:#26364f;
  color:#eef2ff;
}
.pages-broadcast .bracket-team+.bracket-team,.pages-broadcast .bracket-match-foot {
  border-color:#42506a;
}
.pages-broadcast .bracket-team-name,.pages-broadcast .bracket-score {
  color:#eef2ff;
}
.pages-broadcast .bracket-team-name small,.pages-broadcast .bracket-team-name em,.pages-broadcast .bracket-team.is-winner .bracket-team-name,.pages-broadcast .bracket-team.is-winner .bracket-score {
  color:#c8d4ff;
}
.pages-broadcast .bracket-champion {
  border-color:#5e6c86;
  background:#283650;
  color:#eef2ff;
}
.pages-broadcast .bracket-champion.is-confirmed {
  border-color:#8d7950;
  background:#3d3a2b;
}
.pages-broadcast .bracket-champion.is-confirmed .bracket-champion-label,.pages-broadcast .bracket-champion.is-confirmed>strong {
  color:#eed6a4;
}
.pages-broadcast .bracket-match.is-blocked .bracket-match-heading>span,.pages-broadcast .bracket-match.is-blocked .bracket-match-foot,.pages-broadcast .sports-correcting .sports-diagram-note {
  color:#efd19b;
}
.pages-broadcast .sports-diagram-note {
  font-size:11px;
}
.pages-broadcast:fullscreen .sports-diagram {
  padding:20px;
}
.pages-broadcast:fullscreen .sports-diagram-heading h3 {
  font-size:17px;
}
.pages-broadcast:fullscreen .bracket-team-name {
  font-size:clamp(13px,.85vw,18px);
}
.pages-broadcast:fullscreen .bracket-score {
  font-size:clamp(20px,1.4vw,30px);
}
.pages-broadcast:fullscreen .bracket-team {
  min-height:39px;
}
.pages-broadcast:fullscreen .bracket-match-foot,.pages-broadcast:fullscreen .bracket-match-heading>strong,.pages-broadcast:fullscreen .bracket-match-heading>span,.pages-broadcast:fullscreen .sports-diagram-note {
  font-size:clamp(11px,.7vw,14px);
}
/* Embedded diagrams share the page surface and do not repeat its heading. */
.pages-selected-race>.sports-diagram,.pages-bracket-area>.sports-diagram {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.pages-selected-race>.sports-diagram>.sports-diagram-heading,.pages-bracket-area>.sports-diagram>.sports-diagram-heading {
  display:none;
}
.pages-competition>.pages-block-head {
  padding-top:18px;
  padding-bottom:14px;
}
.pages-selected-race {
  padding-top:15px;
}
.pages-selected-race .sports-diagram-note,.pages-bracket-area .sports-diagram-note {
  font-size:11px;
  margin-top:9px;
}
.pages-broadcast .basketball-bracket>.sports-diagram-heading {
  display:none;
}
.pages-broadcast:fullscreen {
  padding-top:3vh;
  padding-bottom:3vh;
  gap:2.1vh;
}
.pages-broadcast:fullscreen .pages-broadcast-heading {
  margin-bottom:12px;
}
.pages-broadcast:fullscreen table {
  font-size:clamp(15px,1.1vw,22px);
  line-height:1.35;
}
.pages-broadcast:fullscreen th,.pages-broadcast:fullscreen td {
  padding:.58vh .6vw;
}
.pages-broadcast:fullscreen td small {
  font-size:clamp(11px,.76vw,15px);
  line-height:1.35;
  margin-top:3px;
}
.pages-broadcast:fullscreen .pages-broadcast-side {
  gap:2vh;
}
.pages-broadcast:fullscreen .sports-diagram {
  padding:16px;
}
.pages-broadcast:fullscreen .bracket-team {
  min-height:33px;
}
.pages-broadcast:fullscreen .screen-note {
  margin-top:12px;
}
.pages-broadcast:fullscreen .screen-correction {
  margin-top:9px;
  padding:7px 10px;
  font-size:clamp(12px,.78vw,16px);
  line-height:1.5;
}
.pages-broadcast:fullscreen .screen-bottom {
  padding-top:12px;
}

/* Contextual inspection preserves the current form and its unsaved values. */
.task-body > .basketball-bracket, .task-body > .track-diagram { margin-bottom: 26px; }
.lane-row.is-inspected, tr.is-inspected { background: #eef1ff; box-shadow: inset 3px 0 0 var(--accent); }
.lane-row.is-inspected { padding-left: 10px; padding-right: 10px; }
.college-overview { display: flex; align-items: center; gap: 18px; padding: 22px 25px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }
.college-emblem { width: 49px; height: 54px; display: grid; place-items: center; flex-shrink: 0; font-size: 23px; font-weight: 600; color: var(--accent); background: #edf0fb; border-radius: 5px 5px 14px 14px; }
.college-identity h2 { font-size: 18px; }
.college-identity p { color: var(--muted); font-size: 12px; margin-top: 5px; }
.college-overview dl { display: flex; gap: 32px; margin: 0 0 0 auto; }
.college-overview dt { color: var(--muted); font-size: 12px; }
.college-overview dd { margin: 3px 0 0; font-size: 24px; font-weight: 600; font-variant-numeric: tabular-nums; }
.college-overview dd small { margin-left: 6px; color: var(--muted); font-size: 12px; font-weight: 400; }
.roster-summary { display: flex; gap: 13px; align-items: baseline; padding: 0 0 15px; border-bottom: 1px solid var(--line); margin-bottom: 16px; }
.roster-summary strong { color: var(--accent); font-size: 24px; font-variant-numeric: tabular-nums; }
.roster-summary span { color: var(--muted); font-size: 12px; }
@media (max-width: 760px) {
 .college-overview { flex-wrap: wrap; padding: 18px; gap: 14px; }
 .college-overview dl { width: 100%; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
 .college-overview dd { font-size: 21px; }
 .college-overview dd small { display: block; margin-left: 0; }
 .college-identity { min-width: 0; }
 .task-body > .basketball-bracket, .task-body > .track-diagram { margin-bottom: 20px; }
}

/* Collaboration handoffs, scenario recovery and report entry. */
.handoff-card { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 16px; margin-top:17px; border-left:3px solid #6c79ad; background:#f2f4fa; border-radius:0 6px 6px 0; }
.handoff-card>div { display:grid; gap:4px; min-width:0; }
.handoff-card strong { font-size:13px; font-weight:600; }
.handoff-owner { font-size:11px; color:#46558f; font-weight:700; }
.handoff-card small,.handoff-current { font-size:11px; color:#657087; }
.handoff-card .button { flex-shrink:0; }
.scenario-current { margin:16px 0; font-size:13px; color:#53617c; }
.scenario-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.scenario-option { border:1px solid #dce1ed; border-radius:8px; padding:18px; display:flex; flex-direction:column; align-items:flex-start; }
.scenario-option h3 { margin:0; font-size:16px; }
.scenario-option p { flex:1; font-size:13px; color:#647087; margin:10px 0 16px; }
.scenario-snapshots { margin-top:22px; border-top:1px solid #dce1ed; padding-top:18px; }
.scenario-snapshots summary { cursor:pointer; font-weight:600; }
.scenario-snapshots article { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; border-bottom:1px solid #e5e8ef; }
.scenario-snapshots article small { display:block; color:#657087; margin-top:4px; }
.scenario-preview { padding:20px; border:1px solid #dce1ed; border-radius:8px; margin-bottom:16px; }
.scenario-preview h3 { font-size:21px; margin:8px 0; }
.report-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
.report-controls .segmented { flex-wrap:wrap; }
.report-controls .segmented .button { border:0; }
.task-body>.qualification-explainer { margin-bottom:18px; }
@media(max-width:600px) { .handoff-card { align-items:flex-start; flex-direction:column; gap:10px; } .scenario-grid { grid-template-columns:1fr; } .report-controls { align-items:stretch; flex-direction:column; } .report-controls .segmented { display:grid; grid-template-columns:1fr; } }


/* BEGIN RESULT STYLES */
/* StartLine result awards, qualification explanations and print documents. */
.award-rank { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; color: var(--ink, #233047); vertical-align: middle; line-height: 1.45; }
.award-medallion { position: relative; display: inline-grid; place-items: center; flex: 0 0 27px; width: 27px; height: 27px; border: 2px solid currentColor; border-radius: 50%; font-size: 12px; font-weight: 750; box-shadow: inset 0 0 0 2px #ffffff80; }
.award-medallion::after { content: ''; position: absolute; width: 13px; height: 7px; z-index: -1; bottom: -6px; background: currentColor; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 66%, 0 100%); opacity: .6; }
.award-label { display: inline-block; font-size: 12px; font-weight: 600; }
.award-label small { display: block; max-width: 155px; margin-top: 2px; color: #79581c; font-size: 10px; font-weight: 400; white-space: normal; }
.award-gold .award-medallion { color: #987016; background: #fff0c3; }
.award-silver .award-medallion { color: #64748a; background: #edf1f6; }
.award-bronze .award-medallion { color: #985b36; background: #f8e5d7; }
.award-pending .award-medallion { border-style: dashed; box-shadow: none; }
.award-compact { gap: 5px; }
.award-compact .award-medallion { flex-basis: 19px; width: 19px; height: 19px; border-width: 1px; font-size: 10px; box-shadow: none; }
.award-compact .award-medallion::after { width: 9px; height: 4px; bottom: -4px; }
.award-compact .award-label { font-size: 11px; font-weight: 500; }
.track-lane-result .award-rank { justify-content: flex-end; }
.track-lane-result .award-label { text-align: right; }
.track-lane-result .award-label small { max-width: 112px; }
.results-table th:first-child { min-width: 126px; }
.results-table td:first-child { white-space: normal; }
.results-correction-note { padding: 10px 12px; border-left: 3px solid #b48a36; background: #fff7e3; color: #72511a; line-height: 1.6; font-size: 12px; }
.pages-broadcast .award-rank { color: #eef2ff; }
.pages-broadcast .award-label small { color: #efd39c; }
.pages-broadcast .award-medallion { width: 23px; height: 23px; flex-basis: 23px; }
.pages-broadcast .results-correction-note { background: #50432b; color: #ffdda4; }
.pages-broadcast .results-table th:first-child { min-width: 110px; }
.qualification-explainer { margin: 18px 0; padding: 18px; border: 1px solid var(--line, #dde3ee); border-radius: 6px; background: var(--paper, #fff); }
.qualification-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.qualification-heading h3 { margin: 4px 0 0; font-size: 16px; }
.qualification-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line, #dde3ee); border-bottom: 1px solid var(--line, #dde3ee); }
.qualification-rules > div { padding: 14px 12px; min-width: 0; }
.qualification-rules > div + div { border-left: 1px solid var(--line, #dde3ee); }
.qualification-rules strong { font-size: 13px; }
.qualification-rules p { margin: 7px 0 0; color: var(--muted, #68758c); font-size: 12px; line-height: 1.7; }
.qualification-rules small { display: block; margin-top: 6px; color: #8a6122; font-size: 11px; }
.qualification-reason { margin: 14px 0; font-size: 12px; line-height: 1.7; }
.qualification-candidates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; }
.qualification-person { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line, #dde3ee); font-size: 12px; }
.qualification-person > span:first-child { flex: 0 0 110px; }
.qualification-person > span:last-child { align-self: center; text-align: right; color: var(--muted, #68758c); font-size: 11px; }
.qualification-person small { display: block; margin-top: 3px; color: var(--muted, #68758c); font-size: 11px; }
.correction-comparison-context { font-size: 12px; color: var(--muted, #68758c); line-height: 1.65; }
.correction-comparison tr.is-changed { background: #fff7e8; }
.correction-score-comparison { display: grid; grid-template-columns: 1fr 30px 1fr; align-items: center; gap: 12px; padding: 18px 0; }
.correction-score-comparison > div { padding: 18px; border: 1px solid var(--line, #dde3ee); border-radius: 5px; }
.correction-score-comparison > div:last-child { border-color: #d7bd86; background: #fff8eb; }
.correction-score-comparison span:not(.correction-arrow) { display: block; font-size: 12px; color: var(--muted, #68758c); }
.correction-score-comparison strong { display: block; margin-top: 8px; font-size: 24px; letter-spacing: 2px; font-variant-numeric: tabular-nums; }
.correction-arrow { text-align: center; color: var(--muted, #68758c); }
.print-document { margin: 0 auto; max-width: 900px; padding: 30px; color: #202c40; background: white; font-size: 13px; line-height: 1.6; }
.print-header { margin-bottom: 28px; padding-bottom: 18px; border-bottom: 2px solid #35466d; }
.print-brand { font-size: 11px; letter-spacing: 2px; color: #56657e; }
.print-document h1 { margin: 8px 0; font-size: 28px; }
.print-document h2 { margin: 18px 0 10px; font-size: 18px; }
.print-document h3 { margin: 12px 0 5px; font-size: 14px; }
.print-meta { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 11px; color: #53627a; }
.print-demo { margin: 12px 0 0; color: #775621; font-size: 11px; }
.print-section { margin: 22px 0; max-width: 100%; overflow-x: auto; }
.print-document table { width: 100%; margin: 12px 0; border-collapse: collapse; font-size: 11px; }
.print-document th, .print-document td { padding: 9px 7px; border: 1px solid #d4dbe6; text-align: left; white-space: normal; }
.print-document th { background: #f0f3f8; color: #34435b; }
.print-document td small { display: block; margin-top: 3px; color: #5f6d82; }
.print-note, .print-footer { font-size: 11px; color: #5b687b; }
.print-footer { margin-top: 28px; padding-top: 12px; border-top: 1px solid #ccd5e3; }
.print-team { padding: 2px 0 10px; border-bottom: 1px solid #d4dbe6; }
.print-document .award-label { font-size: 11px; }
.print-document .results-table th:first-child { min-width: 100px; }
.print-document .table-wrap { max-width: 100%; }
@media (max-width: 600px) {
  .qualification-explainer { padding: 14px; }
  .qualification-rules, .qualification-candidates { grid-template-columns: 1fr; }
  .qualification-rules > div { padding: 12px 0; }
  .qualification-rules > div + div { border-left: 0; border-top: 1px solid var(--line, #dde3ee); }
  .qualification-person > span:first-child { flex-basis: 98px; }
  .correction-score-comparison { grid-template-columns: 1fr; gap: 5px; }
  .correction-arrow { transform: rotate(90deg); }
  .print-document { padding: 12px; }
  .print-meta { display: grid; }
  .print-document table { min-width: 420px; }
}
@media print {
  @page { size: A4 portrait; margin: 14mm 12mm; }
  html:has(.print-document), body:has(.print-document) { height: auto !important; min-height: 0 !important; overflow: visible !important; background: white !important; }
  body:has(.print-document) > :not(#modal) { display: none !important; }
  #modal:has(.print-document) { display: block !important; position: static !important; inset: auto !important; width: auto !important; height: auto !important; max-width: none !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: #111 !important; background: white !important; }
  #modal::backdrop { display: none !important; }
  #modal:has(.print-document) > :not(.modal-body), #modal:has(.print-document) .modal-body > :not(.print-document) { display: none !important; }
  #modal:has(.print-document) .modal-body { display: block !important; padding: 0 !important; max-height: none !important; overflow: visible !important; }
  .print-document { display: block !important; max-width: none !important; padding: 0 !important; font-size: 10pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .print-header, .print-team { break-inside: avoid; }
  .print-document .print-section { overflow: visible !important; }
  .print-document h1, .print-document h2, .print-document h3 { break-after: avoid; }
  .print-document h1 { font-size: 22pt; }
  .print-document h2 { font-size: 14pt; }
  .print-document p { orphans: 3; widows: 3; }
  .print-document .table-wrap { overflow: visible !important; }
  .print-document table { width: 100% !important; min-width: 0 !important; table-layout: auto; border-collapse: collapse; font-size: 9pt; }
  .print-document thead { display: table-header-group; }
  .print-document tfoot { display: table-footer-group; }
  .print-document tr { break-inside: avoid; page-break-inside: avoid; }
  .print-document th, .print-document td { padding: 6pt 5pt; min-width: 0 !important; overflow-wrap: anywhere; }
  .print-document .award-rank { break-inside: avoid; }
  .print-document .award-medallion { width: 18pt; height: 18pt; flex-basis: 18pt; }
  .print-document button, .print-document input, .print-document select, .print-document textarea { display: none !important; }
  .print-footer { position: static; break-inside: avoid; }
}
@media screen and (min-width: 1000px) {
  .pages-broadcast:fullscreen .results-table .award-medallion { width: 33px; height: 33px; flex-basis: 33px; font-size: 17px; border-width: 2px; }
  .pages-broadcast:fullscreen .results-table .award-label { font-size: 18px; line-height: 1.45; }
  .pages-broadcast:fullscreen .results-table .award-label small { font-size: 12px; }
  .pages-broadcast:fullscreen .results-table tr:has(.award-gold) { background: rgb(219 171 64 / 12%); }
  .pages-broadcast:fullscreen .results-table tr:has(.award-gold) > td:first-child { box-shadow: inset 3px 0 #dbab40; }
  .pages-broadcast:fullscreen .results-table tr:has(.award-silver) { background: rgb(166 184 211 / 10%); }
  .pages-broadcast:fullscreen .results-table tr:has(.award-silver) > td:first-child { box-shadow: inset 3px 0 #a6b8d3; }
  .pages-broadcast:fullscreen .results-table tr:has(.award-bronze) { background: rgb(186 128 89 / 13%); }
  .pages-broadcast:fullscreen .results-table tr:has(.award-bronze) > td:first-child { box-shadow: inset 3px 0 #ba8059; }
}
/* END RESULT STYLES */

/* BEGIN STARTLINE FOCUS V4 */
/* Focus each match on the operation available at its current stage. */
.focus-visual.task-support {
  margin:0 0 20px;
  border-top:0;
  border-bottom:1px solid var(--line);
}
.focus-visual>summary {
  padding:4px 0 14px;
  font-size:12px;
}
.focus-visual>summary>span {
  margin-left:8px;
  color:var(--muted);
  font-weight:400;
}
.focus-visual .sports-diagram {
  margin:0 0 10px;
}
.focus-eyebrow {
  display:block;
  color:var(--accent);
  font-size:11px;
  font-weight:600;
  line-height:1.6;
  margin-bottom:6px;
}
.focus-checkin-summary {
  padding:17px 18px;
  background:var(--accent-soft);
  border:1px solid #dce2f0;
  border-radius:6px;
  margin-bottom:19px;
}
.focus-checkin-summary h3 {
  font-size:25px;
  font-variant-numeric:tabular-nums;
}
.focus-checkin-summary h3 small {
  font-size:13px;
  color:var(--muted);
  font-weight:400;
}
.focus-checkin-track {
  margin-bottom:19px;
}
.focus-checkin-track>.track-diagram {
  padding:0;
  border:0;
  border-radius:0;
}
.focus-checkin-track .sports-diagram-heading {
  margin-bottom:12px;
}
.focus-checkin-track .sports-eyebrow {
  display:none;
}
.focus-entry-fold>summary {
  color:var(--accent);
  font-weight:600;
}
.focus-entry-fold>summary small {
  font-weight:400;
  color:var(--muted);
}
.focus-entry-fold>.task-support-body {
  padding-top:13px;
}
.focus-entry-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}
.focus-entry-head h3 {
  font-size:19px;
}
.focus-keyboard-help,.focus-score-rules {
  color:var(--muted);
  font-size:12px;
  line-height:1.8;
}
.focus-keyboard-help {
  margin-bottom:15px;
}
.focus-score-rules {
  margin:12px 0 0;
}
.focus-results-table td:first-child strong {
  font-size:13px;
  font-weight:500;
}
.focus-results-table .seconds-input {
  width:114px;
  font-variant-numeric:tabular-nums;
  font-size:15px;
}
.focus-results-table input:focus,.focus-results-table select:focus {
  background:#fff;
}
.focus-unchecked {
  color:var(--muted);
  font-size:12px;
}
.focus-results-table [aria-invalid=true] {
  border-color:var(--danger);
  background:#fff7f7;
}
.focus-results-table tr.has-score-error td {
  background:#fffafa;
}
.score-field-error {
  display:block;
  max-width:190px;
  margin-top:7px;
  color:var(--danger);
  font-size:11px;
  line-height:1.55;
  white-space:normal;
}
.score-field-error[hidden] {
  display:none;
}
.focus-score-form input,.focus-score-form select,.focus-score-form button {
  scroll-margin-block:25px 120px;
}
.task-detail .focus-actions {
  position:sticky;
  bottom:0;
  z-index:5;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:13px 18px;
  margin:19px -1px 0;
  padding:15px 16px;
  border:1px solid #dce2ee;
  border-radius:6px;
  background:#fff;
  box-shadow:0 -6px 22px #1a2d5410;
}
.focus-action-copy {
  min-width:110px;
  flex:1;
}
.focus-action-copy strong {
  display:block;
  font-size:13px;
  line-height:1.6;
}
.focus-action-copy>span:not(.sr-only) {
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.65;
  margin-top:3px;
}
.focus-action-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.focus-action-buttons>.button {
  min-height:38px;
}
.focus-score-form+.task-support {
  margin-top:23px;
}
.task-detail>.task-body>.match-panel>.panel-body>.actions.center.section-gap {
  position:sticky;
  bottom:0;
  z-index:5;
  padding:14px 12px;
  background:#fff;
  border:1px solid #dce2ee;
  border-radius:6px;
  box-shadow:0 -6px 22px #1a2d5410;
}
@media(max-width:800px) {
  .task-detail .focus-actions {
    padding:12px 13px;
    gap:10px;
  }
  .focus-action-copy {
    min-width:100%;
  }
  .focus-action-copy strong {
    display:none;
  }
  .focus-action-copy>span:not(.sr-only) {
    margin-top:0;
  }
  .focus-action-buttons {
    width:100%;
  }
  .focus-action-buttons>.button {
    flex:1;
    min-height:42px;
  }
}
@media(max-width:620px) {
  .focus-checkin-summary {
    padding:16px;
    align-items:flex-start;
    gap:14px;
  }
  .focus-checkin-summary .button.primary {
    min-height:42px;
  }
  .focus-checkin-summary h3 {
    font-size:22px;
  }
  .focus-score-form .focus-results-wrap {
    overflow:visible;
    border:0;
  }
  .focus-score-form .focus-results-table {
    display:block;
    width:100%;
    min-width:0;
  }
  .focus-score-form .focus-results-table thead {
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
  }
  .focus-score-form .focus-results-table tbody {
    display:grid;
    gap:10px;
  }
  .focus-score-form .focus-results-table tr {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:11px 12px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:6px;
    background:#fafbfe;
  }
  .focus-score-form .focus-results-table td {
    display:block;
    min-width:0;
    border:0;
    padding:0;
    background:transparent;
  }
  .focus-score-form .focus-results-table td:nth-child(2) {
    align-self:start;
    text-align:right;
  }
  .focus-score-form .focus-results-table td:nth-child(n+3)::before {
    content:attr(data-label);
    display:block;
    color:var(--muted);
    font-size:11px;
    margin-bottom:6px;
  }
  .focus-score-form .focus-results-table input,.focus-score-form .focus-results-table select {
    width:100%;
    min-height:43px;
    font-size:16px;
    padding:8px;
  }
  .focus-score-form .focus-results-table tr.has-score-error {
    background:#fffafa;
    border-color:#dfb5b8;
  }
  .focus-score-form .focus-results-table td:first-child strong {
    font-size:13px;
  }
  .focus-score-form .focus-results-table td small {
    font-size:11px;
  }
  .focus-score-form .score-field-error {
    font-size:11px;
  }
  .focus-keyboard-help {
    font-size:11px;
  }
  .focus-entry-head h3 {
    font-size:18px;
  }
}
@media(max-width:380px) {
  .focus-score-form .focus-results-table tr {
    padding:12px;
    column-gap:9px;
  }
  .focus-action-buttons>.button {
    font-size:12px;
    padding-left:8px;
    padding-right:8px;
  }
  .task-detail .focus-actions {
    padding:10px;
  }
}
@media print {
  .focus-actions,.task-detail>.task-body>.match-panel>.panel-body>.actions.center.section-gap {
    position:static;
    box-shadow:none;
  }
}
/* END STARTLINE FOCUS V4 */

/* Multi-meet and event configuration */
.meet-picker { flex: 0 1 285px; min-width: 0; }
.meet-picker select { width: 100%; min-width: 0; font-size: 13px; }
.meet-context { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 32px; color: var(--muted); background: #f3f5fa; border-bottom: 1px solid var(--line); font-size: 12px; line-height: 1.5; }
.meet-context span:first-child { min-width: 0; overflow-wrap: anywhere; }
.meet-context span:last-child { flex-shrink: 0; }
.event-picker { display: block; min-width: 0; max-width: 100%; margin: 6px 0; }
.event-picker select { max-width: 100%; color: var(--ink); background: var(--paper); font-size: 17px; font-weight: 600; min-height: 40px; }
.screen-header .event-picker { margin-left: auto; }
.meet-basic-fields { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; }
.meet-rule-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.meet-rule-fields .field { min-width: 0; margin: 0; }
.meet-rule-fields input { width: 100%; min-width: 0; }
.meet-points-field { grid-column: 1 / -1; }
.meet-rule-set { min-width: 0; padding: 16px; margin: 18px 0; border: 1px solid var(--line); border-radius: 7px; }
.meet-rule-set legend { padding: 0 8px; font-size: 14px; font-weight: 650; }
.meet-rule-set > .field { margin-bottom: 0; }
.meet-create-form > .form-actions { position: sticky; bottom: -24px; z-index: 2; margin-bottom: -24px; padding: 16px 0 24px; background: var(--paper); border-top: 1px solid var(--line); }
.meet-maintenance { margin-top: 24px; }
.meet-maintenance > summary { color: var(--muted); font-size: 13px; }
.pages-race-tabs { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.track-vacant { background: #f2eeea; color: var(--muted); }
.track-vacant .track-lane-number { opacity: .7; }
.track-vacant .track-athlete strong { font-weight: 400; }
.workbench-filters { flex-wrap: wrap; }
.pages-broadcast.has-many-results:fullscreen .pages-broadcast-track { padding-top: 18px; padding-bottom: 18px; }
.pages-broadcast.has-many-results:fullscreen th,.pages-broadcast.has-many-results:fullscreen td { padding-top: .3vh; padding-bottom: .3vh; }
.pages-broadcast.has-many-results:fullscreen .results-table .award-medallion { width: 28px; height: 28px; flex-basis: 28px; font-size: 15px; }
.pages-broadcast.has-many-results:fullscreen .pages-broadcast-heading { margin-bottom: 8px; }
.pages-broadcast.has-many-results:fullscreen .pages-broadcast-event { margin-bottom: 8px; }
.pages-broadcast.has-many-results:fullscreen .screen-note { margin-top: 8px; }
@media(max-width:1000px) {
  .topbar { gap: 12px; }
  .meet-picker { flex-basis: 260px; }
  .meet-context { padding-left: 24px; padding-right: 24px; }
}
@media(max-width:760px) {
  .topbar { display: flex; gap: 10px; }
  .topbar .brand { margin-right: auto; }
  .topbar > .meet-picker { order: 2; flex: 1 1 calc(100% - 118px); }
  .topbar > [data-ui="create-meet"] { order: 2; flex: 0 0 auto; font-size: 12px; }
  .topbar > .top-actions { order: 3; width: 100%; min-width: 0; margin-left: 0; }
  .meet-context { padding: 9px 17px; font-size: 11px; }
  .event-picker select { font-size: 16px; }
  .meet-basic-fields { grid-template-columns: 1fr; gap: 0; }
  .meet-rule-fields { gap: 12px; }
  .meet-rule-set { padding: 12px; }
  .meet-create-form > .form-actions { bottom: -18px; margin-bottom: -18px; padding-bottom: 18px; }
  .screen-header { flex-wrap: wrap; }
  .screen-header > div { flex-basis: 100%; }
  .screen-header .event-picker { margin-left: 0; flex: 1; }
  .screen-header .event-picker select { width: 100%; }
  .pages-race-tabs { grid-template-columns: repeat(auto-fit, minmax(105px, 1fr)); }
  .pages-race-tabs button small { font-size: 11px; }
}
@media(max-width:380px) {
  .meet-rule-fields { grid-template-columns: 1fr; }
  .meet-points-field { grid-column: auto; }
  .meet-create-form > .form-actions { gap: 8px; }
  .meet-create-form > .form-actions .button { font-size: 12px; padding-left: 10px; padding-right: 10px; }
  .pages-race-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print { .meet-context,.meet-picker,.event-picker { display: none !important; } }

/* Shared target workflow: one data model, desktop lanes and mobile steps. */
.workflow-page { min-width:0; }
.workflow-page .heading { margin-bottom:16px; }
.flow-purpose { display:flex; align-items:baseline; gap:12px; padding:12px 15px; border:1px solid var(--line); background:#fff; border-radius:5px; margin-bottom:20px; font-size:12px; color:var(--muted); }
.flow-purpose-label { flex:none; font-weight:600; color:var(--accent); }
.flow-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); border-bottom:0; border-radius:6px 6px 0 0; background:#fff; overflow:hidden; }
.flow-tabs>button { display:flex; gap:12px; align-items:center; min-width:0; padding:18px 20px; border:0; border-bottom:3px solid transparent; background:#fff; text-align:left; color:var(--muted); }
.flow-tabs>button+button { border-left:1px solid var(--line); }
.flow-tabs>button>span { font-size:23px; line-height:1; color:#a3acbd; font-variant-numeric:tabular-nums; }
.flow-tabs>button strong { display:block; font-size:15px; }
.flow-tabs>button small { display:block; font-size:11px; margin-top:3px; }
.flow-tabs>button[aria-selected=true] { border-bottom-color:var(--accent); background:#f6f7fc; color:var(--accent); }
.flow-tabs>button[aria-selected=true]>span { color:var(--accent); }
.flow-tabs>button:focus-visible { outline-offset:-4px; }
.flow-panel { border:1px solid var(--line); border-radius:0 0 6px 6px; padding:20px; background:#fff; min-width:0; }
.flow-branch { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; padding-bottom:17px; margin-bottom:15px; border-bottom:1px solid var(--line); }
.flow-branch>span { font-size:12px; color:var(--muted); }
.flow-branch-options { display:flex; flex-wrap:wrap; gap:7px; }
.flow-branch-options .button[aria-pressed=true] { background:var(--accent-soft); border-color:#b3bddf; color:var(--accent); }
.flow-context { display:flex; gap:15px; align-items:baseline; justify-content:space-between; padding-bottom:17px; font-size:13px; }
.flow-read-hint { color:var(--muted); font-size:11px; flex-shrink:0; }
.flow-diagram { --flow-lanes:6; border:1px solid var(--line); border-radius:4px; }
.flow-lanes-5 { --flow-lanes:5; }
.flow-lane-heads, .flow-lane-background, .flow-step-row { display:grid; grid-template-columns:repeat(var(--flow-lanes),minmax(0,1fr)); }
.flow-lane-heads { position:sticky; top:0; z-index:3; background:#f4f6fa; border-bottom:1px solid #d7dde9; }
.flow-lane-heads>div { padding:12px 8px; display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; }
.flow-lane-heads>div+div { border-left:1px solid var(--line); }
.flow-lane-heads strong { font-size:12px; }
.flow-lane-heads span { font-size:11px; color:#8b94a5; }
.flow-diagram-body { position:relative; isolation:isolate; }
.flow-lane-background { position:absolute; inset:0; pointer-events:none; z-index:-1; }
.flow-lane-background>span { background:#fcfcfe; }
.flow-lane-background>span:nth-child(even) { background:#f5f7fb; }
.flow-lane-background>span+span { border-left:1px solid #e6eaf1; }
.flow-connectors { position:absolute; inset:0; overflow:visible; pointer-events:none; z-index:0; }
.flow-connectors>path { stroke:#8998b7; stroke-width:1.5; fill:none; }
.flow-connectors>path.flow-line-parallel { stroke:#6f83b0; stroke-dasharray:5 4; }
.flow-connectors>path.flow-line-fallback { stroke:#b38a53; stroke-dasharray:5 4; }
.flow-steps { padding:16px 0; margin:0; list-style:none; position:relative; z-index:1; }
.flow-step-row { padding:0 9px; margin-bottom:26px; gap:0 18px; }
.flow-step-row:last-child { margin-bottom:0; }
.flow-column-1 { grid-column:1; }.flow-column-2 { grid-column:2; }.flow-column-3 { grid-column:3; }.flow-column-4 { grid-column:4; }.flow-column-5 { grid-column:5; }.flow-column-6 { grid-column:6; }
.flow-step { position:relative; display:flex; flex-direction:column; text-align:left; gap:4px; min-width:0; padding:10px 11px 12px; background:#fff; border:1px solid #d3dbe9; border-radius:5px; box-shadow:0 2px 3px #27375405; color:var(--ink); line-height:1.45; overflow-wrap:anywhere; }
.flow-step:hover { border-color:#8496c4; background:#fbfcff; }
.flow-step strong { font-size:13px; font-weight:600; }
.flow-step-meta { display:flex; gap:6px; align-items:center; width:100%; min-width:0; color:var(--muted); }
.flow-step-number { font-size:11px; font-variant-numeric:tabular-nums; color:#7d89a2; }
.flow-step-role { display:none; }
.flow-step-more { margin-left:auto; font-size:14px; line-height:1; color:#8996b1; }
.flow-step-summary { font-size:11px; color:var(--muted); }
.flow-node-tag { font-size:11px; }
.flow-step-gate { border-color:#8c9bc4; border-left:3px solid var(--accent); background:#f8f9ff; }
.flow-step-fallback { border-color:#d6bd97; border-style:dashed; background:#fffcf7; }
.flow-step-fallback .flow-node-tag { color:#916d36; }
.flow-step-parallel { border-style:dashed; }
.flow-legend { display:flex; flex-wrap:wrap; gap:8px 20px; margin:12px 0 22px; font-size:11px; color:var(--muted); }
.flow-legend>span { display:flex; align-items:center; gap:7px; }
.flow-legend i { display:block; width:22px; height:0; border-top:2px solid #8998b7; }
.flow-legend i.flow-legend-parallel { border-top-style:dashed; }
.flow-legend i.flow-legend-fallback { border-top-color:#b38a53; border-top-style:dashed; }
.flow-legend-gate { margin-left:auto; }
.flow-rules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; border-top:1px solid var(--line); padding-top:18px; }
.flow-rules article { min-width:0; }
.flow-rules h3 { font-size:12px; margin-bottom:6px; }
.flow-rules p { font-size:12px; color:var(--muted); line-height:1.65; }
.flow-footnote { font-size:11px; color:var(--muted); margin:12px 2px 0; }
.flow-detail-role { color:var(--accent); font-size:12px; margin-bottom:12px; }
.flow-detail-text { font-size:14px; line-height:1.9; }
@media (max-width:1100px) {
  .flow-context { display:block; }
  .flow-read-hint { display:block; margin-top:6px; }
  .flow-panel { padding:16px; }
  .flow-step-row { padding-left:6px; padding-right:6px; gap:0 12px; }
  .flow-step { padding:8px; }
  .flow-tabs>button { padding:15px 14px; gap:9px; }
  .flow-tabs>button small { font-size:11px; }
}
@media (max-width:900px) {
  .flow-purpose { display:block; line-height:1.6; }
  .flow-purpose p { margin-top:4px; }
  .flow-lane-heads, .flow-lane-background, .flow-connectors { display:none; }
  .flow-diagram { border:0; }
  .flow-steps { padding:0; }
  .flow-step-row { display:block; padding:0; margin-bottom:22px; }
  .flow-step { width:100%; padding:12px 14px; gap:6px; }
  .flow-step-row:not(:last-child)::after { content:'↓'; display:block; position:absolute; margin-top:0; margin-left:19px; color:#8795b0; font-size:16px; height:22px; line-height:22px; }
  .flow-step-role { display:inline; font-size:11px; color:var(--accent); }
  .flow-step strong { font-size:14px; }
  .flow-step-summary { font-size:12px; }
  .flow-node-tag { margin-left:5px; }
  .flow-legend { display:none; }
  .flow-rules { margin-top:22px; }
}
@media (max-width:600px) {
  .flow-tabs>button { display:block; padding:12px 8px; }
  .flow-tabs>button>span { display:block; font-size:12px; margin-bottom:7px; }
  .flow-tabs>button strong { font-size:12px; }
  .flow-tabs>button small { display:none; }
  .flow-panel { padding:14px; }
  .flow-branch { display:block; }
  .flow-branch>span { display:block; margin-bottom:8px; }
  .flow-branch-options { gap:6px; }
  .flow-branch-options .button { font-size:11px; padding:6px 8px; min-height:36px; }
  .flow-context { font-size:12px; line-height:1.65; }
  .flow-rules { grid-template-columns:1fr; gap:14px; }
  .flow-rules h3 { margin-bottom:4px; }
}
@media print {
  .flow-tabs, .flow-purpose, .flow-branch, .flow-step-more { display:none; }
  .flow-panel { border:0; padding:0; }
  .flow-step { break-inside:avoid; box-shadow:none; }
}

/* Governance keeps administration compact; detail and editing live in dialogs. */
.governance-page { max-width:1120px; margin:0 auto; min-width:0; }
.governance-overview { display:grid; grid-template-columns:repeat(3,minmax(110px,140px)) minmax(0,1fr); gap:22px; padding:19px 22px; border:1px solid var(--line); background:#fff; border-radius:6px; margin-bottom:22px; }
.governance-overview>div { display:flex; align-items:baseline; gap:9px; }
.governance-overview strong { font-size:26px; font-weight:650; letter-spacing:-1px; }
.governance-overview span { font-size:12px; color:var(--muted); }
.governance-overview>p { align-self:center; border-left:1px solid var(--line); padding-left:22px; font-size:12px; color:var(--muted); line-height:1.6; }
.governance-tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); }
.governance-tabs>button { position:relative; border:0; border-radius:4px 4px 0 0; background:transparent; color:var(--muted); padding:14px 22px; font-weight:600; font-size:14px; }
.governance-tabs>button[aria-selected=true] { color:var(--accent); background:#fff; }
.governance-tabs>button[aria-selected=true]::after { content:''; position:absolute; bottom:-1px; height:3px; left:16px; right:16px; background:var(--accent); }
.governance-tabs>button>span { margin-left:7px; font-size:11px; background:var(--accent-soft); color:var(--accent); padding:2px 5px; border-radius:4px; }
.governance-panel { background:#fff; padding:23px; border:1px solid var(--line); border-top:0; border-radius:0 0 6px 6px; min-width:0; }
.governance-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:22px; }
.governance-section-head h2 { font-size:17px; margin-bottom:6px; }
.governance-staff-row { padding:20px 0; border-top:1px solid var(--line); }
.governance-staff-row:first-child { padding-top:0; border:0; }
.governance-staff-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:12px; }
.governance-staff-heading h3 { font-size:15px; }
.governance-assignment-list { display:flex; flex-wrap:wrap; gap:9px; }
.governance-assignment-list>span { display:flex; flex-direction:column; gap:4px; border:1px solid #e4e8f0; background:#f7f8fb; border-radius:4px; padding:9px 13px; min-width:115px; }
.governance-assignment-list strong { font-size:12px; font-weight:600; }
.governance-assignment-list small { color:var(--muted); font-size:11px; }
.governance-footnote { font-size:12px; line-height:1.7; color:var(--muted); border-top:1px solid var(--line); padding-top:16px; margin-top:14px; }
.governance-duty-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0; }
.governance-duty-fields fieldset, .governance-stages { min-width:0; border:1px solid var(--line); border-radius:4px; padding:13px; }
.governance-duty-fields legend, .governance-stages legend { padding:0 5px; font-size:13px; font-weight:600; }
.governance-duty-scopes { display:flex; flex-direction:column; gap:8px; }
.governance-duty-scopes .check-option, .governance-stages .check-option { border:0; padding:4px 0; font-size:12px; }
.governance-stages { margin:16px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 15px; }
.governance-pending { border:1px solid #dbe1f3; background:#f7f9ff; border-radius:5px; padding:16px; margin-bottom:20px; }
.governance-pending>h3 { font-size:13px; color:var(--accent); margin-bottom:12px; }
.governance-pending>article { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-top:1px solid #e3e8f5; }
.governance-pending strong { font-size:13px; }
.governance-pending p { font-size:12px; margin:5px 0; overflow-wrap:anywhere; }
.governance-pending small { color:var(--muted); font-size:11px; }
.governance-filter { display:flex; flex-wrap:wrap; gap:10px 18px; margin-bottom:15px; }
.governance-filter>label { display:flex; gap:8px; align-items:center; font-size:12px; color:var(--muted); }
.governance-filter select { min-width:130px; width:auto; font-size:12px; padding:7px 26px 7px 9px; }
.governance-version-list>article { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:15px 0; border-top:1px solid var(--line); }
.governance-version-list>article>div { min-width:0; }
.governance-version-title { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.governance-version-title strong { font-size:13px; overflow-wrap:anywhere; }
.governance-version-list p { color:var(--muted); font-size:11px; margin-top:6px; }
.governance-history-change { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:10px 0; font-size:12px; }
.governance-history-change>span:first-child { flex:1 1 200px; overflow-wrap:anywhere; }
.governance-detail-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.governance-detail-meta>span:not(.badge) { font-size:12px; color:var(--muted); }
.governance-reason { margin-bottom:18px; overflow-wrap:anywhere; }
.governance-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 25px; margin:18px 0; }
.governance-facts>div { min-width:0; }
.governance-facts dt { color:var(--muted); font-size:12px; margin-bottom:5px; }
.governance-facts dd { font-size:14px; margin:0; overflow-wrap:anywhere; }
.governance-dependencies { border-top:1px solid var(--line); margin-top:22px; padding-top:18px; }
.governance-dependencies h3 { font-size:13px; margin-bottom:10px; }
.governance-dependencies .button { margin:0 7px 7px 0; white-space:normal; text-align:left; }
.governance-snapshot-results { margin:18px 0; padding-left:20px; font-size:13px; line-height:1.8; }
.governance-hold-row { border:1px solid var(--line); border-left:3px solid #b59a63; border-radius:4px; padding:16px 18px; margin-bottom:14px; }
.governance-hold-row>p { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.governance-hold-stages { color:var(--accent); margin:8px 0; font-size:12px!important; }
.governance-hold-row>small { display:block; margin-top:9px; color:var(--muted); font-size:11px; }
.governance-hold-row>.actions { margin-top:12px; }
.governance-release-note { border-top:1px solid var(--line); padding-top:10px; margin-top:12px; color:var(--muted); font-size:12px!important; }
.governance-clear { padding:30px 18px; background:#f6f8fc; border:1px solid var(--line); border-radius:4px; margin-bottom:20px; text-align:center; }
.governance-clear>strong { font-size:14px; }
.governance-clear>p { margin-top:8px; color:var(--muted); font-size:12px; }
.governance-hold-notice { margin-bottom:18px; font-size:13px; }
.governance-hold-notice p { margin:6px 0; }
.governance-hold-notice a { color:var(--accent); font-size:12px; }
.governance-page .button { flex-shrink:0; }
@media (max-width:760px) {
  .governance-overview { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; padding:15px; margin-bottom:16px; }
  .governance-overview>div { flex-direction:column; gap:2px; }
  .governance-overview>p { grid-column:1 / -1; border-left:0; border-top:1px solid var(--line); padding:12px 0 0; }
  .governance-overview strong { font-size:24px; }
  .governance-tabs>button { padding:13px 10px; flex:1; font-size:12px; }
  .governance-panel { padding:17px; }
  .governance-section-head { flex-wrap:wrap; gap:12px; margin-bottom:18px; }
  .governance-duty-fields { grid-template-columns:1fr; }
  .governance-assignment-list { gap:7px; }
  .governance-assignment-list>span { flex:1 1 110px; }
  .governance-version-list>article { align-items:flex-start; }
  .governance-version-title { gap:7px; }
  .governance-pending { padding:12px; }
  .governance-hold-row { padding:14px; }
  .governance-version-list .button, .governance-pending .button { font-size:11px; padding:7px 9px; }
}
@media (max-width:400px) {
  .governance-panel { padding:13px; }
  .governance-overview span { font-size:11px; }
  .governance-tabs>button { padding-left:6px; padding-right:6px; }
  .governance-tabs>button>span { margin-left:4px; }
  .governance-filter { display:grid; grid-template-columns:1fr; }
  .governance-filter>label { justify-content:space-between; }
  .governance-filter select { flex:1; max-width:calc(100% - 40px); }
  .governance-version-list>article { flex-wrap:wrap; }
  .governance-version-list>article>.button { margin-left:auto; }
  .governance-facts { grid-template-columns:1fr; }
  .governance-stages { grid-template-columns:1fr; }
}

.audit-self-review { margin-top:7px; }
.audit-evidence { margin-top:8px; font-size:12px; }
.audit-evidence>summary { color:var(--accent); font-size:12px; }
.audit-review-evidence, .audit-duty-evidence { border-left:2px solid var(--line); padding:10px 0 2px 12px; margin-top:8px; }
.audit-review-evidence p, .audit-duty-evidence p { margin-bottom:7px; line-height:1.6; overflow-wrap:anywhere; }
.audit-review-evidence .button { white-space:normal; text-align:left; max-width:100%; }
.audit-duty-evidence ul { margin:6px 0 0; padding:0; list-style:none; }
.audit-duty-evidence li { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 12px; }
.audit-duty-evidence strong { font-size:11px; color:var(--muted); font-weight:500; }
.audit-duty-evidence span { overflow-wrap:anywhere; }

/* Meet preparation: one focused step, with a compact outline and reviewable details. */
.prep-page { max-width:1120px; margin:0 auto; min-width:0; }
.prep-top { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; margin-bottom:23px; }
.prep-eyebrow { display:block; color:var(--accent); font-size:11px; letter-spacing:.1em; margin-bottom:9px; }
.prep-top h1 { font-size:26px; line-height:1.35; letter-spacing:-.6px; margin:0 0 10px; overflow-wrap:anywhere; }
.prep-top-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 13px; font-size:12px; color:var(--muted); }
.prep-top-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.prep-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:30px; align-items:start; }
.prep-outline { position:sticky; top:18px; min-width:0; }
.prep-outline-label { font-size:11px; color:var(--muted); padding:0 11px 10px; }
.prep-steps { display:flex; flex-direction:column; gap:4px; }
.prep-step { border:0; background:transparent; display:flex; gap:11px; text-align:left; align-items:center; border-radius:5px; padding:13px 11px; color:var(--muted); min-width:0; }
.prep-step>span { display:grid; place-items:center; width:23px; height:23px; flex-shrink:0; border:1px solid #d9dfe9; border-radius:50%; font-size:11px; }
.prep-step>div { min-width:0; }
.prep-step strong { display:block; font-size:13px; color:var(--ink); font-weight:500; }
.prep-step small { display:block; font-size:10px; margin-top:4px; }
.prep-step[aria-current=step] { background:#eaf0fb; color:var(--accent); }
.prep-step[aria-current=step] strong { color:var(--accent); font-weight:650; }
.prep-step[aria-current=step]>span { background:var(--accent); border-color:var(--accent); color:white; }
.prep-outline-note { margin:20px 10px 0; padding-top:15px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); line-height:1.7; }
.prep-main { background:#fff; border:1px solid var(--line); border-radius:6px; padding:27px 30px; min-width:0; }
.prep-section-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:23px; }
.prep-section-header h2 { font-size:20px; margin:0 0 7px; }
.prep-section-header p { font-size:12px; color:var(--muted); line-height:1.7; max-width:580px; }
.prep-section-header .button { flex-shrink:0; }
.prep-section { padding:23px 0; border-top:1px solid var(--line); }
.prep-section:first-child { padding-top:0; border-top:0; }
.prep-section h3 { font-size:14px; margin-bottom:13px; }
.prep-section>p { font-size:12px; color:var(--muted); margin-bottom:14px; line-height:1.7; }
.prep-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; margin:15px 0 18px; align-items:start; }
.prep-fields .field { min-width:0; margin:0; }
.prep-fields .full { grid-column:1 / -1; }
.prep-fields input, .prep-fields select, .prep-fields textarea { min-width:0; max-width:100%; }
.prep-form .field { font-size:12px; margin-bottom:18px; }
.prep-form .prep-fields .field { margin:0; }
.prep-form .field>small { font-weight:400; font-size:11px; line-height:1.6; color:var(--muted); }
.prep-form .field>input, .prep-form .field>select, .prep-form .field>textarea { font-size:13px; }
.prep-form textarea { min-height:78px; }
.prep-form-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:23px; padding-top:20px; border-top:1px solid var(--line); }
.prep-save-copy { font-size:11px; line-height:1.6; color:var(--muted); }
.prep-save-copy strong { display:block; font-weight:500; color:var(--ink); font-size:12px; }
.prep-form-footer .actions { flex-shrink:0; }
.prep-empty { padding:35px 20px; text-align:center; background:#f6f8fc; border:1px dashed #d7deeb; border-radius:5px; }
.prep-empty h3 { font-size:16px; margin-bottom:10px; }
.prep-empty p { font-size:12px; color:var(--muted); line-height:1.7; max-width:460px; margin:0 auto 18px; }
.prep-event-list, .prep-field-list { display:flex; flex-direction:column; }
.prep-event-row { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }
.prep-event-row:first-child { padding-top:0; }
.prep-event-row:last-child { border-bottom:0; }
.prep-event-identity { display:flex; align-items:center; gap:13px; min-width:0; }
.prep-event-mark { background:#f0f3fa; color:var(--accent); width:39px; height:39px; border-radius:6px; display:grid; place-items:center; flex-shrink:0; font-size:12px; }
.prep-event-identity h3 { font-size:14px; margin-bottom:5px; overflow-wrap:anywhere; }
.prep-event-identity p { color:var(--muted); font-size:11px; line-height:1.65; }
.prep-event-row .button { flex-shrink:0; }
.prep-back { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:none; color:var(--muted); font-size:12px; margin-bottom:18px; }
.prep-back:hover { color:var(--accent); }
.prep-template-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; }
.prep-template-option { display:block; padding:14px; border:1px solid var(--line); border-radius:5px; background:#fff; cursor:pointer; }
.prep-template-option:has(input:checked) { background:#f3f6ff; border-color:#9caed6; }
.prep-template-option>span { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:600; }
.prep-template-option input { width:auto; margin:0; }
.prep-template-option small { display:block; color:var(--muted); font-size:11px; line-height:1.6; margin:8px 0 0 23px; }
.prep-inline-checks { display:flex; flex-wrap:wrap; gap:10px 20px; padding:7px 0; }
.prep-inline-checks .check-option { border:0; padding:0; font-size:12px; }
.prep-format-preview { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:var(--accent); font-size:12px; background:#f4f6fb; padding:13px 15px; border-radius:4px; margin-bottom:19px; }
.prep-format-preview>span:not(.prep-arrow) { border:1px solid #d8dfed; border-radius:4px; background:white; padding:5px 11px; }
.prep-format-preview small { color:var(--muted); margin-left:auto; font-size:11px; }
.prep-round { margin:0 0 18px; padding:17px 0 0; border-top:1px solid var(--line); }
.prep-round-heading { display:flex; align-items:center; gap:10px; margin-bottom:13px; }
.prep-round-heading h4 { margin:0; font-size:13px; font-weight:600; }
.prep-round-heading>span { font-size:11px; color:var(--muted); }
.prep-round .field { margin-bottom:13px; }
.prep-advanced { padding:13px 0; border-top:1px solid var(--line); margin-top:10px; }
.prep-advanced>summary { font-size:12px; color:var(--muted); cursor:pointer; }
.prep-advanced>div { padding-top:18px; }
.prep-warning { background:#fcf8f0; border-left:3px solid #bca16f; padding:11px 14px; margin:14px 0; font-size:12px; line-height:1.7; }
.prep-warning p+p { margin-top:6px; }
.prep-info { background:#f4f6fb; padding:12px 15px; border-radius:4px; font-size:12px; line-height:1.7; color:var(--muted); margin-bottom:18px; }
.prep-identity-fields { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 18px; }
.prep-identity-fields span { border:1px solid var(--line); border-radius:4px; padding:6px 9px; font-size:11px; color:var(--muted); }
.prep-field-row { display:flex; gap:12px; padding:15px 0; border-bottom:1px solid var(--line); align-items:center; }
.prep-field-order { font-size:11px; color:#8792a9; width:19px; flex-shrink:0; }
.prep-field-copy { flex:1; min-width:0; }
.prep-field-copy strong { display:block; font-size:13px; margin-bottom:5px; overflow-wrap:anywhere; }
.prep-field-copy p { color:var(--muted); font-size:11px; line-height:1.6; }
.prep-field-actions { display:flex; gap:6px; flex-shrink:0; }
.prep-field-actions .button { padding:6px 8px; font-size:11px; }
.prep-danger-line { border-top:1px solid var(--line); padding-top:15px; margin-top:18px; display:flex; justify-content:flex-end; }
.prep-preview-switch { display:flex; gap:7px; margin-bottom:19px; }
.prep-preview-switch button[aria-pressed=true] { color:var(--accent); background:#edf1fb; border-color:#b8c5e4; }
.prep-phone-preview { max-width:350px; margin:0 auto; border:1px solid #d9e0ec; padding:21px; border-radius:14px; background:#fcfcfe; }
.prep-phone-preview h3 { font-size:17px; margin-bottom:7px; }
.prep-phone-preview>p { color:var(--muted); font-size:11px; line-height:1.7; margin-bottom:20px; }
.prep-phone-preview .field { font-size:12px; }
.prep-phone-preview .field>small { font-size:10px; color:var(--muted); }
.prep-phone-preview input, .prep-phone-preview select, .prep-phone-preview textarea { font-size:12px; }
.prep-preview-scope { margin-bottom:18px; }
.prep-review-answer { padding:12px 0; border-bottom:1px solid var(--line); }
.prep-review-answer dt { color:var(--muted); font-size:11px; margin-bottom:6px; }
.prep-review-answer dd { font-size:13px; margin:0; overflow-wrap:anywhere; }
.prep-validation-list { padding:0; list-style:none; margin:0 0 23px; }
.prep-validation-list li { display:flex; align-items:flex-start; gap:11px; padding:13px 0; border-bottom:1px solid var(--line); }
.prep-validation-icon { width:20px; height:20px; border-radius:50%; background:#edf3ee; color:#497353; display:grid; place-items:center; font-size:11px; flex-shrink:0; }
.prep-validation-error .prep-validation-icon { background:#f9eeee; color:#a75d5d; }
.prep-validation-warning .prep-validation-icon { background:#faf1df; color:#977744; }
.prep-validation-list strong { display:block; font-size:13px; margin-bottom:4px; }
.prep-validation-list p { font-size:12px; color:var(--muted); line-height:1.65; }
.prep-validation-list .button { margin-left:auto; flex-shrink:0; }
.prep-review-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:18px 0 25px; }
.prep-review-summary>div { border-left:1px solid var(--line); padding-left:16px; }
.prep-review-summary>div:first-child { border-left:0; padding-left:0; }
.prep-review-summary strong { display:block; font-size:23px; font-weight:600; letter-spacing:-.4px; margin-bottom:4px; }
.prep-review-summary span { color:var(--muted); font-size:11px; }
.prep-review-block { border-top:1px solid var(--line); padding-top:20px; margin-top:20px; }
.prep-review-block h3 { font-size:14px; margin-bottom:12px; }
.prep-change-row { padding:12px 0; border-bottom:1px solid var(--line); }
.prep-change-row>strong { display:block; font-size:12px; margin-bottom:7px; }
.prep-change-values { display:grid; grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr); gap:9px; align-items:start; font-size:12px; line-height:1.7; }
.prep-change-values>span { overflow-wrap:anywhere; }
.prep-change-values>span:first-child { color:var(--muted); }
.prep-change-values>span:nth-child(2) { color:#9aa4b7; text-align:center; }
.prep-public { max-width:1000px; margin:0 auto; }
.prep-public-lead { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:35px; padding:28px 0 31px; border-bottom:1px solid var(--line); margin-bottom:30px; }
.prep-public-lead h2 { font-size:27px; line-height:1.4; margin:8px 0 13px; }
.prep-public-lead p { color:var(--muted); font-size:13px; line-height:1.8; }
.prep-public-state { padding-left:26px; border-left:1px solid var(--line); align-self:center; }
.prep-public-state strong { display:block; font-size:14px; margin-bottom:8px; }
.prep-public-state p { font-size:12px; }
.prep-public-columns { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:40px; }
.prep-public-columns h3 { font-size:15px; margin-bottom:16px; }
.prep-public-event { padding:16px 0; border-bottom:1px solid var(--line); }
.prep-public-event:first-child { padding-top:0; }
.prep-public-event h4 { font-size:14px; margin:0 0 8px; }
.prep-public-event p { font-size:12px; color:var(--muted); line-height:1.7; }
.prep-public-dates { display:flex; flex-direction:column; gap:18px; }
.prep-public-dates dt { color:var(--muted); font-size:11px; margin-bottom:5px; }
.prep-public-dates dd { margin:0; font-size:13px; }
.prep-workspace-lead { padding:23px 25px; border:1px solid var(--line); border-radius:6px; background:#fff; margin-bottom:22px; display:flex; gap:20px; justify-content:space-between; align-items:center; }
.prep-workspace-lead h2 { font-size:18px; margin-bottom:9px; }
.prep-workspace-lead p { color:var(--muted); font-size:12px; line-height:1.7; }
.prep-workspace-lead .button { flex-shrink:0; }
@media (max-width:1000px) {
  .prep-layout { grid-template-columns:165px minmax(0,1fr); gap:20px; }
  .prep-main { padding:23px; }
}
@media (max-width:760px) {
  .prep-top { display:block; margin-bottom:18px; }
  .prep-top h1 { font-size:23px; }
  .prep-top-actions { margin-top:14px; }
  .prep-layout { display:block; }
  .prep-outline { position:static; margin-bottom:15px; }
  .prep-outline-label, .prep-outline-note { display:none; }
  .prep-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; }
  .prep-step { flex-direction:column; text-align:center; padding:10px 3px; gap:6px; }
  .prep-step strong { font-size:11px; }
  .prep-step small { display:none; }
  .prep-main { padding:20px; }
  .prep-section-header { padding-bottom:18px; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
  .prep-section-header h2 { font-size:18px; }
  .prep-form-footer { align-items:flex-start; flex-direction:column; gap:13px; }
  .prep-form-footer>.actions { align-self:flex-end; }
  .prep-public-lead { grid-template-columns:1fr; gap:22px; padding-top:10px; }
  .prep-public-state { padding:16px 0 0; border-left:0; border-top:1px solid var(--line); }
  .prep-public-columns { grid-template-columns:1fr; gap:28px; }
  .prep-public-columns>aside { border-top:1px solid var(--line); padding-top:22px; }
  .prep-public-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .prep-workspace-lead { padding:20px; flex-wrap:wrap; }
}
@media (max-width:500px) {
  .prep-main { padding:17px; }
  .prep-fields { grid-template-columns:1fr; }
  .prep-fields .full { grid-column:auto; }
  .prep-template-options { grid-template-columns:1fr; }
  .prep-event-identity { gap:9px; }
  .prep-event-mark { width:31px; height:34px; font-size:11px; }
  .prep-event-row { gap:9px; }
  .prep-event-row .button { padding:6px 9px; font-size:11px; }
  .prep-event-identity h3 { font-size:13px; }
  .prep-field-row { flex-wrap:wrap; gap:9px; }
  .prep-field-actions { margin-left:auto; }
  .prep-review-summary { gap:12px; }
  .prep-review-summary>div { padding-left:12px; }
  .prep-review-summary strong { font-size:21px; }
  .prep-review-summary span { font-size:10px; }
  .prep-validation-list li { flex-wrap:wrap; }
  .prep-validation-list li>div { flex:1; }
  .prep-public-dates { grid-template-columns:1fr; }
  .prep-phone-preview { padding:16px; }
}
@media print {
  .prep-outline, .prep-top-actions, .prep-form-footer, .prep-back { display:none; }
  .prep-layout, .prep-public-columns { display:block; }
  .prep-main { border:0; padding:0; }
  .prep-public-event, .prep-public-dates>div { break-inside:avoid; }
}
.prep-round { min-width:0; border-left:0; border-right:0; border-bottom:0; }
.prep-required { color:#a65953; }
.prep-preview-multiselect { min-width:0; border:1px solid var(--line); border-radius:4px; padding:10px; margin:0 0 17px; }
.prep-preview-multiselect legend { font-size:12px; }
.prep-preview-multiselect .check-option { padding:7px 0; border:0; font-size:12px; }
.prep-preview-multiselect small { font-size:10px; color:var(--muted); }
.prep-public-details { margin-top:10px; border-top:0; padding-top:0; }
.prep-public-round { margin-bottom:12px; }
.prep-public-round strong { font-size:12px; }
.prep-public-round p, .prep-public-details>div>p { margin-top:6px; font-size:12px; line-height:1.7; }
@media print { .prep-public-details>div, .prep-public-columns aside details>div { display:block!important; } }
