/*****************************************************************************
 * TC — V1A.2
 * Site-wide responsive UX + recent-page polish
 *
 * Additive presentation only.
 * No trusted-state or backend behaviour lives in this file.
 *****************************************************************************/

html {
  max-width: 100%;
  overflow-x: clip;
}

body[data-tc-v1a2-page] {
  max-width: 100%;
  overflow-x: hidden;
}

body[data-tc-v1a2-page] img,
body[data-tc-v1a2-page] svg,
body[data-tc-v1a2-page] video,
body[data-tc-v1a2-page] canvas {
  max-width: 100%;
}

body[data-tc-v1a2-page] img,
body[data-tc-v1a2-page] video {
  height: auto;
}

/* ------------------------------------------------------------------------- */
/* GENERAL SAFETY                                                            */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-page] :is(
  main,
  section,
  article,
  aside,
  header,
  footer,
  nav,
  form,
  fieldset,
  .container,
  .shell,
  .page-shell,
  .content-shell,
  .main-shell,
  .layout,
  .grid
) {
  min-width: 0;
}

body[data-tc-v1a2-page] :is(
  input,
  select,
  textarea,
  button
) {
  max-width: 100%;
}

body[data-tc-v1a2-page] :is(
  .tc-v1a2-compact-state,
  .tc-v1a2-player-actions-card,
  .tc-v1a2-trust-note,
  .tc-v1a2-status-line
) {
  box-sizing: border-box;
}

/* ------------------------------------------------------------------------- */
/* TOURNAMENT DETAIL LOWER-HALF REFINEMENT                                   */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-tournament-detail="true"] .tc-v1a2-compact-state {
  min-height: 0 !important;
  margin-block: 10px 14px !important;
  padding: 14px 18px !important;
  border-radius: 12px !important;
}

body[data-tc-v1a2-tournament-detail="true"] .tc-v1a2-trust-note {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  padding-block: 18px !important;
}

body[data-tc-v1a2-tournament-detail="true"] .tc-v1a2-player-actions-card {
  margin-top: 14px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(190, 151, 55, 0.28);
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.98),
      rgba(251, 248, 239, 0.96)
    );
  box-shadow:
    0 10px 26px rgba(20, 24, 31, 0.06);
}

body[data-tc-v1a2-tournament-detail="true"]
.tc-v1a2-player-actions-card
:is(h2, h3, h4) {
  margin-top: 0 !important;
}

body[data-tc-v1a2-tournament-detail="true"]
.tc-v1a2-player-actions-card
:is(button, .button, a[role="button"]) {
  min-height: 42px;
}

/* Right-side authority/note surfaces must not stretch with left column. */
body[data-tc-v1a2-tournament-detail="true"] aside,
body[data-tc-v1a2-tournament-detail="true"] [class*="authority"],
body[data-tc-v1a2-tournament-detail="true"] [class*="sidebar"] {
  align-self: start;
  height: auto;
  min-height: 0;
}

/* ------------------------------------------------------------------------- */
/* MATCH INBOX                                                               */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-page="match-inbox"] h1 {
  font-size: clamp(3rem, 7vw, 5.4rem);
  line-height: 0.92;
}

body[data-tc-v1a2-page="match-inbox"] .tc-v1a2-status-line {
  padding: 10px 14px !important;
  min-height: 0 !important;
}

body[data-tc-v1a2-page="match-inbox"] .tc-v1a2-metric-card {
  min-height: 0 !important;
  padding: 16px 18px !important;
}

body[data-tc-v1a2-page="match-inbox"] .tc-v1a2-inbox-filter {
  min-height: 40px;
}

body[data-tc-v1a2-page="match-inbox"] .tc-v1a2-inbox-state {
  min-height: 0 !important;
  padding: 24px !important;
  margin-block: 12px !important;
}

/* ------------------------------------------------------------------------- */
/* MATCH SUBMIT                                                              */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-page="match-submit"] form {
  min-width: 0;
}

body[data-tc-v1a2-page="match-submit"] :is(
  input,
  select,
  textarea
) {
  box-sizing: border-box;
}

body[data-tc-v1a2-page="match-submit"] .tc-v1a2-protected-context {
  border-radius: 14px;
}

/* ------------------------------------------------------------------------- */
/* LOGIN / PASSWORD RESET PRESENTATION                                       */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-page="login"] :is(
  form,
  [class*="login"],
  [class*="auth"]
) {
  min-width: 0;
}

body[data-tc-v1a2-page="login"] .tc-v1a2-password-reset-surface {
  border-radius: 14px;
}

/* ------------------------------------------------------------------------- */
/* TABLE SAFETY                                                              */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-page] table {
  max-width: 100%;
}

@media (max-width: 900px) {
  body[data-tc-v1a2-page] table {
    display: block;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
}

/* ------------------------------------------------------------------------- */
/* TABLET                                                                    */
/* ------------------------------------------------------------------------- */

@media (max-width: 1100px) {

  body[data-tc-v1a2-page] :is(
    [class*="two-column"],
    [class*="two-col"],
    [class*="three-column"],
    [class*="three-col"],
    [class*="four-column"],
    [class*="four-col"]
  ) {
    min-width: 0;
  }

  body[data-tc-v1a2-page] :is(
    .container,
    .shell,
    .page-shell,
    .content-shell,
    .main-shell
  ) {
    max-width: calc(100vw - 32px);
  }

  body[data-tc-v1a2-tournament-detail="true"] aside,
  body[data-tc-v1a2-tournament-detail="true"] [class*="authority"],
  body[data-tc-v1a2-tournament-detail="true"] [class*="sidebar"] {
    max-width: 100%;
  }
}

/* ------------------------------------------------------------------------- */
/* PHONE                                                                     */
/* ------------------------------------------------------------------------- */

@media (max-width: 780px) {

  body[data-tc-v1a2-page] {
    --tc-mobile-inline: 14px;
  }

  body[data-tc-v1a2-page] :is(
    main,
    .container,
    .shell,
    .page-shell,
    .content-shell,
    .main-shell
  ) {
    width: auto !important;
    max-width: none !important;
    margin-inline: var(--tc-mobile-inline) !important;
  }

  body[data-tc-v1a2-page] h1 {
    font-size: clamp(2.15rem, 11vw, 3.6rem) !important;
    line-height: 0.98 !important;
    text-wrap: balance;
  }

  body[data-tc-v1a2-page] h2 {
    font-size: clamp(1.45rem, 7vw, 2.15rem);
    line-height: 1.05;
  }

  body[data-tc-v1a2-page] h3 {
    font-size: clamp(1.12rem, 5vw, 1.45rem);
  }

  body[data-tc-v1a2-page] :is(
    section,
    article,
    aside,
    .card,
    .panel,
    [class*="-card"],
    [class*="-panel"]
  ) {
    max-width: 100%;
  }

  body[data-tc-v1a2-page] :is(
    .grid,
    [class*="-grid"],
    [class*=" grid"]
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-tc-v1a2-page] :is(
    button,
    .button,
    .btn,
    a.button,
    a.btn,
    a[role="button"]
  ) {
    min-height: 44px;
    white-space: normal;
  }

  body[data-tc-v1a2-page] :is(
    input,
    select,
    textarea
  ) {
    width: 100%;
    font-size: 16px;
  }

  body[data-tc-v1a2-page] :is(
    [class*="actions"],
    [class*="buttons"],
    [class*="controls"],
    [class*="toolbar"]
  ) {
    flex-wrap: wrap;
    max-width: 100%;
  }

  body[data-tc-v1a2-page] :is(
    [class*="hero"],
    [class*="banner"]
  ) {
    min-height: 0 !important;
  }

  body[data-tc-v1a2-page] :is(
    [class*="hero"],
    [class*="panel"],
    [class*="card"]
  ) {
    padding-left: clamp(14px, 4vw, 22px);
    padding-right: clamp(14px, 4vw, 22px);
  }

  body[data-tc-v1a2-page] table {
    font-size: 0.9rem;
  }

  body[data-tc-v1a2-page] th,
  body[data-tc-v1a2-page] td {
    padding: 9px 10px;
  }

  /* Tournament details */
  body[data-tc-v1a2-tournament-detail="true"] .tc-v1a2-compact-state {
    margin-block: 7px 10px !important;
    padding: 11px 13px !important;
  }

  body[data-tc-v1a2-tournament-detail="true"] .tc-v1a2-player-actions-card {
    margin-top: 10px !important;
    padding: 14px !important;
  }

  body[data-tc-v1a2-tournament-detail="true"] aside,
  body[data-tc-v1a2-tournament-detail="true"] [class*="authority"],
  body[data-tc-v1a2-tournament-detail="true"] [class*="sidebar"] {
    width: 100% !important;
    min-height: 0 !important;
  }

  /* Match Inbox */
  body[data-tc-v1a2-page="match-inbox"] h1 {
    font-size: clamp(2.65rem, 14vw, 4rem) !important;
  }

  body[data-tc-v1a2-page="match-inbox"] .tc-v1a2-metric-card {
    padding: 13px 14px !important;
  }

  body[data-tc-v1a2-page="match-inbox"] .tc-v1a2-inbox-state {
    padding: 18px 14px !important;
  }

  /* Match Submit */
  body[data-tc-v1a2-page="match-submit"] :is(
    [class*="score"],
    [class*="result"]
  ) {
    min-width: 0;
  }

  /* Login */
  body[data-tc-v1a2-page="login"] :is(
    .card,
    .panel,
    form
  ) {
    max-width: 100%;
  }
}

/* ------------------------------------------------------------------------- */
/* SMALL PHONE                                                               */
/* ------------------------------------------------------------------------- */

@media (max-width: 520px) {

  body[data-tc-v1a2-page] {
    --tc-mobile-inline: 10px;
  }

  body[data-tc-v1a2-page] h1 {
    letter-spacing: -0.035em;
  }

  body[data-tc-v1a2-page] :is(
    button,
    .button,
    .btn,
    a.button,
    a.btn,
    a[role="button"]
  ) {
    width: auto;
    max-width: 100%;
  }

  body[data-tc-v1a2-page] :is(
    [class*="metric"],
    [class*="stat"]
  ) {
    min-width: 0;
  }

  body[data-tc-v1a2-page] table {
    font-size: 0.84rem;
  }
}


/*****************************************************************************
 * TC_V1A2_MATCH_CENTRE_COMPACT_V1_0_2
 *
 * Visual refinement only.
 *
 * Match Inbox + Submit Match.
 *****************************************************************************/

/* ------------------------------------------------------------------------- */
/* SUCCESSFUL AUTH STATUS                                                    */
/* ------------------------------------------------------------------------- */

/*
 * Successful signed-in state is already apparent from the authenticated
 * navigation. Do not consume an entire horizontal panel repeating it.
 *
 * Error / signed-out states do NOT receive this class and therefore remain
 * visible.
 */

body[data-tc-v1a2-page="match-inbox"]
.match-access-status.tc-v1a2-access-healthy,

body[data-tc-v1a2-page="match-submit"]
.match-access-status.tc-v1a2-access-healthy {
  display: none !important;
}

/* ------------------------------------------------------------------------- */
/* SHARED MATCH-CENTRE HERO                                                  */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-page="match-inbox"] .match-page,
body[data-tc-v1a2-page="match-submit"] .match-page {
  padding-top: 18px !important;
}

body[data-tc-v1a2-page="match-inbox"] .match-page-heading,
body[data-tc-v1a2-page="match-submit"] .match-page-heading {
  min-height: 0 !important;
  padding: 18px 20px 16px !important;
  margin-bottom: 12px !important;
}

body[data-tc-v1a2-page="match-inbox"] .match-page-heading h1,
body[data-tc-v1a2-page="match-submit"] .match-page-heading h1 {
  margin: 4px 0 8px !important;
  font-size: clamp(3.2rem, 5.7vw, 4.9rem) !important;
  line-height: 0.9 !important;
}

body[data-tc-v1a2-page="match-inbox"]
.match-page-heading p:not(.match-eyebrow),

body[data-tc-v1a2-page="match-submit"]
.match-page-heading p:not(.match-eyebrow) {
  max-width: 66ch;
  margin: 0 !important;
  font-size: 0.98rem !important;
  line-height: 1.55 !important;
}

body[data-tc-v1a2-page="match-inbox"] .match-preview-badge,
body[data-tc-v1a2-page="match-submit"] .match-preview-badge {
  padding: 8px 12px !important;
  min-height: 0 !important;
}

/* ------------------------------------------------------------------------- */
/* MATCH INBOX                                                               */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-page="match-inbox"] .match-inbox-app {
  gap: 12px !important;
}

body[data-tc-v1a2-page="match-inbox"] .inbox-summary-grid {
  gap: 10px !important;
  margin-block: 10px !important;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-summary-grid article {
  min-height: 0 !important;
  padding: 12px 14px !important;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-summary-grid span {
  font-size: 0.72rem !important;
  letter-spacing: 0.07em;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-summary-grid strong {
  margin-top: 3px !important;
  font-size: 1.9rem !important;
  line-height: 1 !important;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-summary-grid small {
  margin-top: 5px !important;
  font-size: 0.74rem !important;
}

body[data-tc-v1a2-page="match-inbox"] .inbox-control-panel {
  min-height: 0 !important;
  padding: 9px 12px !important;
  margin-block: 8px !important;
  gap: 10px !important;
}

body[data-tc-v1a2-page="match-inbox"] .inbox-tabs {
  gap: 6px !important;
  flex-wrap: wrap;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-tabs button,

body[data-tc-v1a2-page="match-inbox"]
#refreshMatchInboxButton {
  min-height: 38px !important;
  padding: 7px 11px !important;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-category-status {
  min-height: 0 !important;
  margin: 6px 2px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-empty-state {
  min-height: 0 !important;
  margin-top: 8px !important;
  padding: 18px 16px !important;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-empty-state strong {
  font-size: 1rem !important;
}

body[data-tc-v1a2-page="match-inbox"]
.inbox-empty-state p {
  margin-top: 5px !important;
  font-size: 0.9rem !important;
}

/* ------------------------------------------------------------------------- */
/* SUBMIT MATCH                                                              */
/* ------------------------------------------------------------------------- */

body[data-tc-v1a2-page="match-submit"] .match-submit-app {
  gap: 12px !important;
}

body[data-tc-v1a2-page="match-submit"]
:is(
  .match-form-panel,
  .match-player-panel,
  .match-document-preview
) {
  min-height: 0 !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
}

body[data-tc-v1a2-page="match-submit"]
:is(
  .match-form-panel,
  .match-player-panel,
  .match-document-preview
) > header {
  min-height: 0 !important;
  margin-bottom: 9px !important;
  padding-bottom: 7px !important;
}

body[data-tc-v1a2-page="match-submit"]
:is(
  .match-form-panel,
  .match-player-panel,
  .match-document-preview
) h2 {
  margin: 0 !important;
  font-size: 1.08rem !important;
  line-height: 1.15 !important;
}

body[data-tc-v1a2-page="match-submit"]
.match-submit-app [class*="grid"] {
  gap: 10px 14px !important;
}

body[data-tc-v1a2-page="match-submit"] label {
  margin-bottom: 4px !important;
  font-size: 0.75rem !important;
  line-height: 1.2 !important;
}

body[data-tc-v1a2-page="match-submit"]
:is(
  input,
  select,
  textarea
) {
  min-height: 40px !important;
  padding: 8px 12px !important;
  border-radius: 9px !important;
}

body[data-tc-v1a2-page="match-submit"] textarea {
  min-height: 76px !important;
}

body[data-tc-v1a2-page="match-submit"]
.match-player-panel header span {
  font-size: 0.72rem !important;
}

body[data-tc-v1a2-page="match-submit"]
.match-player-panel footer {
  margin-top: 8px !important;
  padding-top: 8px !important;
  font-size: 0.76rem !important;
}

body[data-tc-v1a2-page="match-submit"]
.match-preview-actions {
  min-height: 0 !important;
  margin-top: 10px !important;
  padding: 12px 16px !important;
  gap: 9px !important;
}

body[data-tc-v1a2-page="match-submit"]
.match-preview-actions button {
  min-height: 40px !important;
  padding: 8px 15px !important;
}

body[data-tc-v1a2-page="match-submit"]
.match-document-preview pre {
  max-height: 220px;
}

/* ------------------------------------------------------------------------- */
/* TABLET                                                                    */
/* ------------------------------------------------------------------------- */

@media (max-width: 900px) {

  body[data-tc-v1a2-page="match-inbox"] .inbox-summary-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-tc-v1a2-page="match-submit"]
  .match-submit-app [class*="grid"] {
    gap: 9px !important;
  }
}

/* ------------------------------------------------------------------------- */
/* PHONE                                                                     */
/* ------------------------------------------------------------------------- */

@media (max-width: 780px) {

  body[data-tc-v1a2-page="match-inbox"] .match-page,
  body[data-tc-v1a2-page="match-submit"] .match-page {
    padding-top: 8px !important;
  }

  body[data-tc-v1a2-page="match-inbox"] .match-page-heading,
  body[data-tc-v1a2-page="match-submit"] .match-page-heading {
    padding: 14px !important;
  }

  body[data-tc-v1a2-page="match-inbox"] .match-page-heading h1,
  body[data-tc-v1a2-page="match-submit"] .match-page-heading h1 {
    font-size: clamp(2.6rem, 13vw, 3.5rem) !important;
  }

  body[data-tc-v1a2-page="match-inbox"] .inbox-summary-grid {
    gap: 7px !important;
  }

  body[data-tc-v1a2-page="match-inbox"]
  .inbox-summary-grid article {
    padding: 10px 11px !important;
  }

  body[data-tc-v1a2-page="match-inbox"]
  .inbox-control-panel {
    padding: 8px !important;
  }

  body[data-tc-v1a2-page="match-submit"]
  :is(
    .match-form-panel,
    .match-player-panel,
    .match-document-preview
  ) {
    padding: 12px !important;
  }

  body[data-tc-v1a2-page="match-submit"]
  :is(
    input,
    select,
    textarea
  ) {
    min-height: 44px !important;
    font-size: 16px !important;
  }
}

/* ------------------------------------------------------------------------- */
/* SMALL PHONE                                                               */
/* ------------------------------------------------------------------------- */

@media (max-width: 520px) {

  body[data-tc-v1a2-page="match-inbox"] .inbox-summary-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-tc-v1a2-page="match-inbox"]
  .inbox-tabs button {
    flex: 1 1 calc(50% - 4px);
  }

  body[data-tc-v1a2-page="match-inbox"]
  #refreshMatchInboxButton {
    width: 100%;
  }
}
