@layer reset, tokens, base, layout, components, utilities;

@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
}

@layer components {
    .evaluation-toast {
      position: fixed;
      inset-inline-end: 1rem;
      inset-block-end: 1rem;
      z-index: 50;
      display: flex;
      align-items: center;
      gap: 1rem;
      max-width: min(32rem, calc(100vw - 2rem));
      padding: 0.9rem 1rem;
      border: 1px solid var(--success);
      border-radius: var(--radius-medium);
      background: var(--success-surface);
      color: var(--success);
      box-shadow: var(--shadow);
    }

    .evaluation-toast[hidden] {
      display: none;
    }

    .evaluation-toast button {
      flex: 0 0 auto;
      border: 0;
      background: transparent;
      color: inherit;
      cursor: pointer;
      font-size: 1.25rem;
      line-height: 1;
    }

    .evaluation-abandon-dialog {
      width: min(30rem, calc(100vw - 2rem));
      padding: 1.5rem;
      border: 1px solid var(--border);
      border-radius: var(--radius-large);
      background: var(--surface);
      color: var(--ink);
      box-shadow: var(--shadow);
    }

    .evaluation-abandon-dialog::backdrop {
      background: rgb(27 27 27 / 48%);
    }

    .evaluation-abandon-dialog h2,
    .evaluation-abandon-dialog p {
      margin-top: 0;
    }

    .evaluation-abandon-actions {
      display: flex;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-top: 1.25rem;
    }

    .admin-results-heading {
      display: grid;
      gap: 0.45rem;
      margin-bottom: 1.5rem;
    }

    .admin-results-heading h1,
    .admin-results-heading > p {
      margin: 0;
    }

    .admin-results-heading > p:last-child {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
      margin-top: 0.65rem;
    }

    .ranking-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.85rem;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .ranking-metric {
      display: grid;
      min-width: 0;
      align-content: start;
      gap: 0.4rem;
      padding: 1.15rem 1.25rem;
      border: 1px solid var(--border);
      border-radius: var(--radius-medium);
      background: var(--surface);
    }

    .ranking-metric > strong {
      font-size: clamp(2rem, 4vw, 2.75rem);
      font-weight: 750;
      letter-spacing: -0.07em;
      line-height: 1.12;
      font-variant-numeric: tabular-nums;
    }

    .ranking-metric > p:last-child {
      margin: 0;
      font-size: 0.77rem;
    }

    .ranking-panel {
      min-width: 0;
      padding: 0;
      overflow: hidden;
    }

    .audit-log-page {
      display: grid;
      gap: 1rem;
    }

    .audit-log-filters {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
      align-items: end;
      gap: 0.8rem;
    }

    .audit-log-panel {
      min-width: 0;
      padding: 0;
      overflow: hidden;
    }

    .audit-log-panel > .panel-heading {
      padding: 1.1rem 1.35rem;
      border-bottom: 1px solid var(--border);
    }

    .audit-log-panel > #audit-log-list {
      padding: 0 1.35rem 1.2rem;
    }

    .audit-log-count,
    .audit-log-empty {
      color: var(--muted);
      font-size: 0.82rem;
    }

    .audit-log-table-scroll {
      width: 100%;
      overflow-x: auto;
    }

    .audit-log-table {
      width: 100%;
      border-collapse: collapse;
      text-align: left;
      font-size: 0.82rem;
    }

    .audit-log-table th,
    .audit-log-table td {
      min-width: 7rem;
      padding: 0.75rem 0.65rem;
      border-bottom: 1px solid var(--border);
      vertical-align: top;
    }

    .audit-log-table th {
      color: var(--muted);
      font-size: 0.7rem;
    }

    .audit-log-table td:first-child {
      min-width: 12rem;
    }

    .audit-log-details summary {
      cursor: pointer;
      color: var(--primary);
    }

    .audit-log-details h3 {
      margin: 0.8rem 0 0.35rem;
      font-size: 0.75rem;
    }

    .audit-log-details pre {
      max-width: 24rem;
      margin: 0;
      overflow-wrap: anywhere;
      white-space: pre-wrap;
      font-size: 0.72rem;
    }

    .audit-log-pagination {
      display: flex;
      justify-content: flex-end;
      gap: 0.65rem;
      padding-top: 0.8rem;
    }

    .ranking-panel-heading,
    .ranking-section-heading,
    .review-team-heading,
    .evaluation-review-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .ranking-panel-heading {
      padding: 1.25rem 1.45rem;
      border-bottom: 1px solid var(--border);
    }

    .ranking-panel-heading h2,
    .ranking-section-heading h3 {
      margin: 0.2rem 0 0;
    }

    .ranking-freshness {
      margin: 0;
      padding: 0.35rem 0.6rem;
      border: 0;
      border-radius: 999px;
      background: var(--success-surface);
      color: var(--success);
      font-size: 0.7rem;
      text-align: right;
    }

    .ranking-freshness[data-state="stale"] {
      background: var(--warning-surface);
      color: var(--warning);
    }

    .ranking-result {
      display: grid;
      gap: 1.2rem;
      padding: 1.3rem 1.45rem;
    }

    .ranking-empty {
      display: grid;
      gap: 0.35rem;
      margin: 0;
      padding: 1.4rem;
      border: 1px dashed var(--border);
      border-radius: var(--radius-medium);
      background: var(--canvas);
    }

    .ranking-empty span {
      color: var(--muted);
      font-size: 0.85rem;
    }

    .podium,
    .ranking-table-panel {
      min-width: 0;
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .ranking-section-heading {
      align-items: end;
      margin-bottom: 0.75rem;
    }

    .ranking-section-heading > p {
      margin: 0;
      font-size: 0.75rem;
    }

    .podium-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.75rem;
    }

    .podium-card {
      min-width: 0;
      padding: 1rem 1.1rem;
      border: 1px solid var(--border);
      border-top: 4px solid var(--primary);
      border-radius: var(--radius-medium);
      background: var(--surface);
    }

    .podium-card .eyebrow {
      font-size: 0.62rem;
    }

    .podium-card h4 {
      margin: 0.55rem 0;
      font-size: 1.05rem;
      letter-spacing: -0.025em;
      overflow-wrap: anywhere;
    }

    .podium-card h4 a,
    .team-link {
      color: var(--ink);
      text-decoration-color: var(--border);
      text-underline-offset: 0.2em;
    }

    .podium-card h4 a:hover,
    .team-link:hover {
      color: var(--primary);
    }

    .podium-total {
      margin: 0.7rem 0 0;
      font-size: clamp(2rem, 3.5vw, 2.75rem);
      font-weight: 750;
      letter-spacing: -0.07em;
      line-height: 1.12;
      font-variant-numeric: tabular-nums;
    }

    .podium-card > .muted {
      margin: 0.15rem 0 0;
      font-size: 0.7rem;
    }

    .ranking-table-panel {
      padding: 1rem 1.1rem 0;
      border: 1px solid var(--border);
      border-radius: var(--radius-medium);
      background: var(--surface);
    }

    .ranking-table-panel table {
      display: table;
      overflow: visible;
      border: 0;
      border-radius: 0;
      font-size: 0.82rem;
    }

    .ranking-table-panel th {
      min-width: 0;
      padding: 0.7rem 0.75rem;
      border: 0;
      background: var(--canvas);
      color: var(--muted);
      font-size: 0.65rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .ranking-table-panel td {
      min-width: 0;
      padding: 0.8rem 0.75rem;
      vertical-align: middle;
    }

    .ranking-table-panel .numeric {
      text-align: right;
      font-variant-numeric: tabular-nums;
    }

    .ranking-table-panel .ranking-total {
      font-weight: 750;
    }

    .ranking-table-panel .team-link {
      font-weight: 700;
    }

    .ranking-table-panel .status-badge {
      font-size: 0.64rem;
    }

    .review-team {
      scroll-margin-top: 1rem;
      padding: 0;
      overflow: hidden;
    }

    .review-team-heading {
      flex-wrap: wrap;
      padding: 1.1rem 1.35rem;
      border-bottom: 1px solid var(--border);
      background: var(--canvas);
    }

    .review-team-heading h2 {
      margin: 0.2rem 0 0;
    }

    .review-team-summary {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.45rem;
      color: var(--muted);
      font-size: 0.72rem;
    }

    .review-team-summary > span:first-child {
      margin-right: 0.3rem;
    }

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

    .evaluation-review-card {
      padding: 1rem 1.35rem;
      border-top: 1px solid var(--border);
    }

    .evaluation-review-card:first-of-type {
      border-top: 0;
    }

    .evaluation-review-heading {
      margin-bottom: 0.8rem;
    }

    .evaluation-review-heading h3 {
      margin: 0;
    }

    .evaluation-review-heading p {
      margin: 0.2rem 0 0;
      font-size: 0.73rem;
    }

    .evaluation-review-heading p strong {
      color: var(--ink);
    }

    .evaluation-scores {
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 0;
      margin: 0;
    }

    .evaluation-scores dt,
    .evaluation-scores dd {
      padding: 0.45rem 0;
      border-bottom: 1px solid var(--border);
    }

    .evaluation-scores dd {
      min-width: 2.5rem;
      text-align: right;
      font-variant-numeric: tabular-nums;
    }

    .evaluation-audit-context {
      margin-top: 0.85rem;
      padding-top: 0.75rem;
      border-top: 1px solid var(--border);
    }

    .evaluation-audit-context h4 {
      margin: 0 0 0.4rem;
      font-size: 0.78rem;
    }

    .evaluation-audit {
      display: grid;
      gap: 0.35rem;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .evaluation-audit li {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      color: var(--muted);
      font-size: 0.7rem;
    }

    .evaluation-audit strong {
      color: var(--ink);
    }

    .evaluation-audit time,
    .evaluation-last-updated time {
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }

    .evaluation-last-updated {
      margin: 0.5rem 0 0;
      color: var(--muted);
      font-size: 0.68rem;
    }

    .review-empty {
      padding: 1rem;
      border: 1px dashed var(--border);
      border-radius: var(--radius-medium);
      background: var(--surface);
      color: var(--muted);
    }

    @media (max-width: 45rem) {
      .ranking-metrics {
        gap: 0.45rem;
      }

      .ranking-metric {
        padding: 0.8rem 0.7rem;
      }

      .ranking-metric .eyebrow {
        font-size: 0.55rem;
        letter-spacing: 0.08em;
      }

      .ranking-metric > strong {
        font-size: clamp(1.35rem, 7vw, 2rem);
      }

      .ranking-metric > p:last-child {
        font-size: 0.64rem;
      }

      .ranking-panel-heading,
      .review-team-heading,
      .evaluation-review-heading {
        align-items: flex-start;
        flex-direction: column;
      }

      .ranking-panel-heading {
        padding: 1rem;
      }

      .ranking-freshness {
        text-align: left;
      }

      .ranking-result {
        padding: 1rem;
      }

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

      .podium-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 0.75rem;
      }

      .podium-card h4,
      .podium-card .eyebrow {
        grid-column: 1;
      }

      .podium-card .status-badge {
        grid-column: 1;
        justify-self: start;
      }

      .podium-total {
        grid-column: 2;
        grid-row: 1 / span 3;
        font-size: 2rem;
      }

      .podium-card > .muted {
        display: none;
      }

      .ranking-table-panel {
        padding: 0.8rem 0.6rem 0;
      }

      .ranking-table-panel table {
        min-width: 39rem;
      }

      .review-team-heading,
      .evaluation-review-card {
        padding: 1rem;
      }

      .evaluation-audit li {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.1rem;
      }
    }
}

@layer reset {
  html {
    min-width: 320px;
    scroll-behavior: smooth;
  }

  body,
  h1,
  h2,
  h3,
  h4,
  p,
  ul,
  ol,
  dl {
    margin: 0;
  }
}

@layer tokens {
  :root {
    color-scheme: light;
    --primary: #c10f0c;
    --primary-dark: #9a0c0a;
    --ink: #1b1b1b;
    --muted: #706f6f;
    --canvas: #f6f6f6;
    --surface: #fff;
    --border: #ebeaea;
    --success: #13714c;
    --success-surface: #d2f2e5;
    --warning: #634e0d;
    --warning-surface: #fef3d3;
    --danger-surface: #fff0ef;
    --radius-small: 0.45rem;
    --radius-medium: 0.75rem;
    --radius-large: 1rem;
    --space-1: 0.4rem;
    --space-2: 0.75rem;
    --space-3: 1rem;
    --space-4: 1.5rem;
    --space-5: 2rem;
    --content-width: 76rem;
    --shadow: 0 0.25rem 1.25rem rgb(27 27 27 / 7%);
  }
}

@layer base {
  body {
    min-height: 100vh;
    background: var(--canvas);
    color: var(--ink);
    font: 1rem/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-rendering: optimizeLegibility;
  }

  a {
    color: var(--primary);
    text-underline-offset: 0.2em;
  }

  a:hover {
    color: var(--primary-dark);
  }

  h1,
  h2,
  h3,
  h4 {
    line-height: 1.2;
    text-wrap: balance;
  }

  h1 {
    margin-block: 0 1.2rem;
    font-size: clamp(1.8rem, 4vw, 2.7rem);
    letter-spacing: -0.04em;
  }

  h2 {
    margin-block: 1.8rem 0.8rem;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem);
    letter-spacing: -0.025em;
  }

  h3 {
    margin-block: 1.25rem 0.5rem;
    font-size: 1.12rem;
  }

  p,
  ul,
  ol,
  dl {
    margin-block: 0.75rem;
  }

  ul,
  ol {
    padding-inline-start: 1.5rem;
  }

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

  :focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 3px;
  }

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

  button,
  input[type="submit"] {
    cursor: pointer;
  }

  button:disabled,
  input:disabled,
  select:disabled,
  textarea:disabled {
    cursor: not-allowed;
    opacity: 0.62;
  }

  input,
  select,
  textarea {
    accent-color: var(--primary);
  }

  [role="alert"] {
    border-color: #f0b9b5;
    background: var(--danger-surface);
    color: #81110e;
  }

  [role="status"] {
    border-color: #a8d8c4;
    background: #effaf5;
    color: #10593b;
  }
}

@layer layout {
  body > main {
    container: page / inline-size;
    width: min(var(--content-width), 100% - 3rem);
    margin-inline: auto;
    padding-block: clamp(1.5rem, 4vw, 3rem) 4rem;
  }

  main > section,
  main > article,
  main > form,
  main > [role="alert"],
  main > [role="status"] {
    margin-block: 1.25rem;
  }

  main > section,
  main > article {
    padding: clamp(1rem, 2.5vw, 1.6rem);
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    background: var(--surface);
  }

  main > section > :first-child,
  main > article > :first-child {
    margin-top: 0;
  }

  main > section > :last-child,
  main > article > :last-child {
    margin-bottom: 0;
  }

  main > form {
    padding: clamp(1rem, 2.5vw, 1.6rem);
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    background: var(--surface);
  }

  @container page (max-width: 38rem) {
    main > section,
    main > article,
    main > form {
      padding: 1rem;
    }

    main th,
    main td {
      padding: 0.6rem;
    }
  }
}

@layer components {
  .site-header {
    display: flex;
    min-height: 5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 0 max(1.25rem, calc((100vw - var(--content-width)) / 2));
    border-bottom: 1px solid var(--border);
    background: var(--surface);
  }

  .site-brand {
    display: inline-flex;
    min-width: max-content;
    align-items: center;
    gap: 0.7rem;
    color: var(--ink);
    font-weight: 800;
    line-height: 1.15;
    text-decoration: none;
  }

  .site-brand small {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.72rem;
    font-weight: 550;
  }

  .brand-mark {
    display: grid;
    width: 2.5rem;
    aspect-ratio: 1;
    place-items: center;
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--surface);
    font-size: 1.2rem;
  }

  .site-header nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
  }

  .site-header nav a {
    padding: 0.55rem 0.7rem;
    border-radius: var(--radius-small);
    color: var(--ink);
    font-size: 0.9rem;
    font-weight: 620;
    text-decoration: none;
  }

  .site-header nav a:hover {
    background: var(--canvas);
    color: var(--primary-dark);
  }

  .site-identity {
    display: grid;
    gap: 0.1rem;
    margin: 0;
    color: var(--muted);
    font-size: 0.75rem;
    text-align: right;
  }

  .site-identity strong {
    color: var(--ink);
    font-size: 0.9rem;
  }

  form {
    display: grid;
    gap: 0.85rem;
  }

  label {
    display: grid;
    gap: 0.35rem;
    font-weight: 620;
  }

  input:not([type="hidden"]),
  select,
  textarea {
    width: 100%;
    min-height: 2.8rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid #c9c8c7;
    border-radius: var(--radius-small);
    background: var(--surface);
  }

  textarea {
    min-height: 6rem;
    resize: vertical;
  }

  button,
  input[type="submit"] {
    width: fit-content;
    min-height: 2.8rem;
    padding: 0.55rem 1rem;
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--surface);
    font-weight: 700;
  }

  button:hover:not(:disabled),
  input[type="submit"]:hover:not(:disabled) {
    border-color: var(--primary-dark);
    background: var(--primary-dark);
  }

  [role="alert"],
  [role="status"] {
    padding: 0.8rem 1rem;
    border: 1px solid;
    border-radius: var(--radius-small);
  }

  table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: var(--surface);
    text-align: left;
  }

  caption {
    padding: 0.8rem;
    font-weight: 700;
    text-align: left;
  }

  th,
  td {
    min-width: 7rem;
    padding: 0.75rem 0.9rem;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
  }

  th {
    background: #f1f0ef;
    font-size: 0.85rem;
  }

  tr:last-child > * {
    border-bottom: 0;
  }

  dl {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(4rem, auto);
    gap: 0.55rem 1rem;
  }

  dd {
    margin: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
  }

  @media (max-width: 56rem) {
    .site-header {
      flex-wrap: wrap;
      padding: 0.8rem 1rem;
    }

    .site-header nav {
      order: 3;
      width: 100%;
      justify-content: flex-start;
      overflow-x: auto;
    }

    .site-identity {
      margin-left: auto;
    }
  }

  @media (max-width: 36rem) {
    .site-header nav {
      flex-wrap: nowrap;
      justify-content: flex-start;
    }

    .site-header nav a {
      min-width: max-content;
    }

    body > main {
      width: calc(100% - 1.25rem);
    }

    dl {
      grid-template-columns: 1fr auto;
    }

    button,
    input[type="submit"] {
      width: 100%;
    }
  }
}

@layer utilities {
  .muted {
    color: var(--muted);
  }

  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    clip-path: inset(50%);
  }

  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      scroll-behavior: auto !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }
  }

  @layer components {
    .eyebrow {
      margin: 0;
      color: var(--muted);
      font-size: 0.69rem;
      font-weight: 750;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .button {
      display: inline-flex;
      min-height: 2.8rem;
      align-items: center;
      justify-content: center;
      padding: 0.55rem 1rem;
      border: 1px solid var(--border);
      border-radius: var(--radius-small);
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
      text-decoration: none;
    }

    button.button {
      width: fit-content;
    }

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

    .button-primary:hover {
      background: var(--primary-dark);
      color: var(--surface);
    }

    .button-secondary {
      border-color: var(--border);
      background: var(--surface);
      color: var(--ink);
    }

    .button-secondary:hover {
      border-color: var(--muted);
      color: var(--ink);
    }

    .button-quiet {
      border-color: transparent;
      background: transparent;
      color: var(--ink);
    }

    .status-badge {
      display: inline-flex;
      min-height: 1.5rem;
      align-items: center;
      padding: 0.2rem 0.55rem;
      border-radius: 999px;
      font-size: 0.69rem;
      font-weight: 700;
      line-height: 1.1;
      white-space: nowrap;
    }

    .status-neutral {
      background: var(--canvas);
      color: var(--muted);
    }

    .status-warning {
      background: var(--warning-surface);
      color: var(--warning);
    }

    .status-success {
      background: var(--success-surface);
      color: var(--success);
    }

    .management-page {
      display: grid;
      gap: 1.25rem;
    }

    .page-heading {
      display: grid;
      gap: 0.65rem;
      margin-bottom: 0.25rem;
    }

    .page-heading h1,
    .page-heading p {
      margin: 0;
    }

    .page-heading > p:not(.eyebrow) {
      max-width: 66ch;
      color: var(--muted);
    }

    .page-actions,
    .roster-confirmation {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.65rem;
      margin-top: 0.35rem;
    }

    .management-page .panel {
      min-width: 0;
      padding: clamp(1rem, 2.5vw, 1.5rem);
      border: 1px solid var(--border);
      border-radius: var(--radius-medium);
      background: var(--surface);
    }

    .management-page .management-panel > :first-child,
    .management-page .team-card > :first-child,
    .management-page .account-card > :first-child {
      margin-top: 0;
    }

    .panel-heading,
    .account-card-heading {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 1rem;
    }

    .panel-heading h2,
    .panel-heading h3,
    .account-card-heading h3 {
      margin: 0.2rem 0 0;
    }

    .panel-note {
      margin: 0;
      padding: 0.85rem 1rem;
      border: 1px solid var(--border);
      border-radius: var(--radius-small);
      background: var(--canvas);
      color: var(--muted);
      font-size: 0.88rem;
    }

    .feedback {
      margin: 0;
      padding: 0.85rem 1rem;
      border: 1px solid;
      border-radius: var(--radius-small);
    }

    .feedback-success {
      border-color: #a8d8c4;
      background: #effaf5;
      color: #10593b;
    }

    .feedback-warning {
      border-color: #e4d49c;
      background: var(--warning-surface);
      color: var(--warning);
    }

    .feedback-error {
      border-color: #f0b9b5;
      background: var(--danger-surface);
      color: #81110e;
    }

    .field-hint,
    .table-detail {
      display: block;
      margin: 0.2rem 0 0;
      color: var(--muted);
      font-size: 0.8rem;
      font-weight: 450;
      line-height: 1.45;
    }

    .management-form {
      gap: 0.8rem;
    }

    .management-form label {
      gap: 0.35rem;
    }

    .management-form .button,
    .management-form button.button {
      width: fit-content;
    }

    .management-page button.button-quiet {
      color: var(--muted);
    }

    .setup-panels,
    .account-panels {
      display: grid;
      min-width: 0;
      gap: 1rem;
    }

    .setup-panels > .management-panel:first-child {
      grid-column: 1 / -1;
    }

    .setup-panels > .management-panel,
    .account-panels > .management-panel {
      margin: 0;
    }

    .setup-panels > .management-panel > :last-child,
    .account-panels > .management-panel > :last-child {
      margin-bottom: 0;
    }

    .team-card,
    .account-card {
      display: grid;
      gap: 1rem;
      margin-top: 1rem;
    }

    .team-card h3,
    .account-card h3 {
      letter-spacing: -0.025em;
    }

    .team-card .panel-heading {
      align-items: center;
      margin-bottom: 0;
    }

    .team-card .compact-form,
    .account-card .compact-form {
      padding-top: 0.9rem;
      border-top: 1px solid var(--border);
    }

    .team-card .compact-form textarea,
    .account-card .compact-form textarea {
      min-height: 5rem;
    }

    .account-card-heading {
      align-items: center;
      margin-bottom: 0;
    }

    .account-card-heading h3 {
      overflow-wrap: anywhere;
    }

    .account-status-form button:disabled {
      border-color: var(--border);
      background: var(--canvas);
      color: var(--muted);
    }

    .confirm-action {
      display: grid;
      justify-items: start;
      gap: 0.65rem;
    }

    .confirm-action summary {
      list-style: none;
      cursor: pointer;
    }

    .confirm-action summary::-webkit-details-marker {
      display: none;
    }

    .confirm-action[aria-disabled="true"] summary {
      cursor: not-allowed;
      opacity: 0.62;
    }

    .confirm-action .field-hint {
      max-width: 46ch;
    }

    .pillar-card {
      padding-block: 1rem;
      border-top: 1px solid var(--border);
    }

    .pillar-card h3 {
      margin: 0 0 0.7rem;
    }

    .login-experience > .site-header {
      display: none;
    }

    .login-layout {
      display: grid;
      width: 100%;
      max-width: none;
      min-height: 100vh;
      grid-template-columns: minmax(20rem, 0.9fr) minmax(24rem, 1.1fr);
      align-items: stretch;
      gap: 0;
      margin: 0;
      padding: 0;
    }

    .login-story,
    .login-card {
      display: flex;
      min-width: 0;
      flex-direction: column;
      justify-content: center;
      padding: clamp(2rem, 6vw, 6rem);
    }

    .login-story {
      gap: 1rem;
      background: var(--ink);
      color: var(--surface);
    }

    .login-story > p:last-child {
      max-width: 42ch;
      margin: 0;
      color: rgb(255 255 255 / 72%);
    }

    .login-story .eyebrow {
      margin-top: 3rem;
      color: rgb(255 255 255 / 68%);
    }

    .login-story h1 {
      max-width: 12ch;
      margin: 0;
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(2.6rem, 5vw, 4.25rem);
      font-weight: 500;
      letter-spacing: -0.055em;
    }

    .login-brand {
      display: inline-flex;
      align-items: center;
      gap: 0.8rem;
      color: var(--surface);
      font-weight: 800;
      text-decoration: none;
    }

    .login-brand:hover {
      color: var(--surface);
    }

    .login-brand small {
      display: block;
      margin-top: 0.25rem;
      color: rgb(255 255 255 / 68%);
      font-size: 0.75rem;
      font-weight: 500;
    }

    .login-mark {
      width: 1.75rem;
      height: 0.25rem;
      flex: 0 0 auto;
      background: var(--primary);
    }

    .login-card {
      width: min(100%, 34rem);
      justify-self: center;
      gap: 1rem;
    }

    .login-card h2 {
      margin: 0;
      font-size: clamp(1.8rem, 3vw, 2.35rem);
      letter-spacing: -0.04em;
    }

    .login-intro {
      margin: 0;
      color: var(--muted);
    }

    .login-card form {
      gap: 1rem;
      margin-top: 0.5rem;
    }

    .login-card .button-primary {
      margin-top: 0.3rem;
    }

    .table-scroll {
      width: 100%;
      overflow-x: auto;
      border: 1px solid var(--border);
      border-radius: var(--radius-small);
    }

    .roster-preview table {
      display: table;
      min-width: 38rem;
      overflow: visible;
      border: 0;
      border-radius: 0;
    }

    .roster-preview caption {
      padding: 0.85rem 1rem;
      background: var(--canvas);
      color: var(--muted);
      font-size: 0.8rem;
      font-weight: 600;
    }

    .roster-preview th {
      background: var(--canvas);
      color: var(--muted);
      font-size: 0.7rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .roster-preview tbody th {
      color: var(--ink);
      font-size: 0.9rem;
      letter-spacing: 0;
      text-align: left;
      text-transform: none;
    }

    .roster-preview td,
    .roster-preview th {
      padding: 0.85rem 1rem;
    }

    .roster-preview-members {
      display: grid;
      gap: 0.45rem;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .roster-preview-members li {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.5rem;
    }

    .roster-confirmation form {
      margin: 0;
    }

    .roster-import-error .management-panel {
      display: grid;
      justify-items: start;
      gap: 0.75rem;
    }

    .judge-overview {
      display: grid;
      gap: clamp(1.5rem, 4vw, 2.75rem);
    }

    .judge-overview > .judge-hero {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(15rem, 21rem);
      align-items: center;
      gap: 2.5rem;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .judge-hero h1 {
      max-width: 15ch;
      margin: 0.6rem 0 0.85rem;
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(2.5rem, 5vw, 3.65rem);
      font-weight: 500;
      letter-spacing: -0.055em;
    }

    .judge-hero > div > p:last-child {
      max-width: 50ch;
      color: var(--muted);
    }

    .judge-overview > .judge-progress {
      padding: 1.4rem;
      border: 0;
      border-left: 3px solid var(--primary);
      border-radius: 0;
      background: var(--surface);
    }

    .judge-progress-count {
      margin: 0.3rem 0;
      font-size: 1.35rem;
      font-variant-numeric: tabular-nums;
    }

    .judge-progress-count strong {
      font-size: 2.75rem;
      font-weight: 750;
      letter-spacing: -0.07em;
      line-height: 1.15;
    }

    .judge-progress > p:not(.eyebrow, .judge-progress-count) {
      margin: 0 0 0.85rem;
      color: var(--muted);
      font-size: 0.85rem;
    }

    .judge-progress progress {
      display: block;
      width: 100%;
      height: 0.32rem;
      border: 0;
      border-radius: 1rem;
      background: var(--border);
      accent-color: var(--primary);
    }

    .judge-progress progress::-webkit-progress-bar {
      border-radius: 1rem;
      background: var(--border);
    }

    .judge-progress progress::-webkit-progress-value {
      border-radius: 1rem;
      background: var(--primary);
    }

    .judge-progress progress::-moz-progress-bar {
      border-radius: 1rem;
      background: var(--primary);
    }

    .judge-overview > .judge-teams {
      padding: 0;
      border: 0;
      background: transparent;
    }

    .judge-section-heading,
    .judge-team-card-top,
    .judge-evaluation-heading,
    .judge-editor-header,
    .evaluation-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    .judge-section-heading {
      margin-bottom: 1.1rem;
    }

    .judge-section-heading h2 {
      margin: 0.25rem 0 0;
    }

    .judge-section-heading > p {
      color: var(--muted);
      font-size: 0.85rem;
    }

    .judge-team-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
    }

    .judge-team-card {
      display: flex;
      min-width: 0;
      flex-direction: column;
      gap: 1.1rem;
      padding: 1.25rem;
      border: 1px solid var(--border);
      border-radius: var(--radius-medium);
      background: var(--surface);
    }

    .judge-team-index {
      color: var(--primary);
      font-size: 0.75rem;
      font-weight: 750;
      letter-spacing: 0.06em;
      font-variant-numeric: tabular-nums;
    }

    .judge-team-index span {
      color: var(--muted);
      font-size: 0.65rem;
    }

    .judge-team-card-main h3 {
      margin: 0 0 0.35rem;
      font-size: 1.25rem;
      letter-spacing: -0.035em;
    }

    .judge-roster,
    .judge-project-description,
    .judge-project-title {
      margin: 0;
      overflow-wrap: anywhere;
    }

    .judge-roster {
      color: var(--muted);
      font-size: 0.82rem;
    }

    .judge-team-card-main h4 {
      margin: 0.9rem 0 0.25rem;
      font-size: 0.92rem;
    }

    .judge-project-description {
      margin-top: 0.35rem;
      font-size: 0.83rem;
    }

    .judge-project-updated {
      margin: 0.65rem 0 0;
      color: var(--muted);
      font-size: 0.7rem;
    }

    .judge-team-action {
      width: 100%;
      margin-top: auto;
    }

    .judge-overview > form,
    .judge-evaluation-main > form {
      padding: 0;
      border: 0;
      background: transparent;
    }

    .judge-evaluation-main {
      display: grid;
      gap: 1.15rem;
    }

    .judge-evaluation-heading {
      align-items: flex-end;
      margin-bottom: 0.5rem;
    }

    .judge-evaluation-heading h1 {
      margin: 0.25rem 0 0;
    }

    .judge-workbench {
      display: grid;
      grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
      align-items: start;
      gap: 1rem;
    }

    .judge-workbench-team-list,
    .judge-editor,
    .judge-roster-panel {
      min-width: 0;
      border: 1px solid var(--border);
      border-radius: var(--radius-medium);
      background: var(--surface);
    }

    .judge-workbench-team-list {
      display: grid;
      gap: 0.55rem;
      padding: 1rem;
    }

    .judge-list-team {
      display: grid;
      gap: 0.45rem;
      padding: 0.8rem;
      border: 1px solid transparent;
      border-radius: var(--radius-small);
      color: var(--ink);
      text-decoration: none;
    }

    .judge-list-team:hover {
      background: var(--canvas);
      color: var(--ink);
    }

    .judge-list-team.is-active {
      border-color: var(--border);
      background: var(--canvas);
      box-shadow: inset 3px 0 var(--primary);
    }

    .judge-list-team-name {
      font-weight: 700;
    }

    .judge-list-team-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.45rem;
      color: var(--muted);
      font-size: 0.7rem;
    }

    .judge-loading {
      position: absolute;
      z-index: 1;
      margin: 0.5rem;
      padding: 0.35rem 0.65rem;
      border-radius: var(--radius-small);
      background: var(--ink);
      color: var(--surface);
      font-size: 0.75rem;
    }

    .judge-editor {
      overflow: hidden;
    }

    .judge-editor-header {
      align-items: flex-start;
      padding: 1.3rem 1.4rem 1rem;
      border-bottom: 1px solid var(--border);
    }

    .judge-editor-header h2 {
      margin: 0.35rem 0;
      font-size: clamp(1.4rem, 2vw, 1.8rem);
    }

    .judge-editor-header .judge-project-title {
      font-weight: 650;
    }

    .judge-roster-panel {
      margin: 1rem 1.4rem;
      padding: 0.75rem 0.9rem;
      background: var(--canvas);
      font-size: 0.82rem;
    }

    .judge-roster-panel p:last-child {
      margin: 0.2rem 0 0;
    }

    .judge-editor form {
      gap: 0;
    }

    .evaluation-steps {
      display: none;
    }

    .pillar-step {
      min-width: 0;
      margin: 0;
      padding: 1rem 1.4rem;
      border: 0;
      border-top: 1px solid var(--border);
    }

    .pillar-step legend {
      padding: 0;
      font-size: 1.08rem;
      font-weight: 750;
      letter-spacing: -0.025em;
    }

    .pillar-step legend small {
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0;
    }

    .pillar-description {
      margin: 0.35rem 0 0.85rem;
      color: var(--muted);
      font-size: 0.78rem;
    }

    .score-selector {
      display: grid;
      grid-template-columns: repeat(10, minmax(2rem, 1fr));
      gap: 0.35rem;
    }

    .desk-score-select {
      display: none;
    }

    .desk-score-select select {
      width: 10rem;
      min-height: 2.8rem;
      margin-top: 0.35rem;
      background: var(--canvas);
      font-weight: 700;
      font-variant-numeric: tabular-nums;
    }

    .score-option {
      position: relative;
      display: grid;
      min-width: 0;
      min-height: 2.65rem;
      place-items: center;
      margin: 0;
      cursor: pointer;
    }

    .score-option input[type="radio"] {
      position: absolute;
      width: 1px;
      height: 1px;
      min-height: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      clip-path: inset(50%);
      white-space: nowrap;
    }

    .judge-editor .invalid-score-entry input[type="number"] {
      width: 7rem;
    }

    .score-option span {
      display: grid;
      width: 100%;
      min-height: 2.6rem;
      place-items: center;
      padding: 0.25rem;
      border: 1px solid var(--border);
      border-radius: var(--radius-small);
      background: var(--surface);
      font-size: 0.82rem;
      font-variant-numeric: tabular-nums;
      font-weight: 700;
    }

    .score-option input:checked + span {
      border-color: var(--primary);
      background: var(--primary);
      color: var(--surface);
    }

    .score-option input:focus-visible + span {
      outline: 3px solid var(--primary);
      outline-offset: 2px;
    }

    .score-option input:disabled + span {
      cursor: not-allowed;
      opacity: 0.62;
    }

    .score-empty {
      grid-column: 1 / -1;
      justify-content: start;
      min-height: 2rem;
    }

    .score-empty span {
      width: auto;
      min-height: 2rem;
      padding-inline: 0.7rem;
      color: var(--muted);
      font-size: 0.72rem;
    }

    .evaluation-review {
      padding: 1.25rem 1.4rem;
      border-top: 1px solid var(--border);
    }

    .evaluation-review h3 {
      margin: 0.25rem 0 0.5rem;
    }

    .evaluation-review dl {
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 0;
      margin: 0;
    }

    .evaluation-review dt,
    .evaluation-review dd {
      padding: 0.45rem 0;
      border-bottom: 1px solid var(--border);
    }

    .evaluation-review dd {
      min-width: 2rem;
      text-align: right;
    }

    .evaluation-review-total,
    .evaluation-review-filled {
      margin: 0.7rem 0 0;
      font-size: 0.85rem;
    }

    .evaluation-footer {
      align-items: center;
      padding: 1rem 1.4rem;
      border-top: 1px solid var(--border);
      background: var(--canvas);
    }

    .evaluation-save-summary p {
      margin: 0.15rem 0;
      font-size: 0.8rem;
      font-variant-numeric: tabular-nums;
    }

    .evaluation-save-summary .saved-state,
    .evaluation-save-status {
      color: var(--muted);
      font-size: 0.72rem;
    }

    .evaluation-save-status:empty,
    .judge-navigation-status:empty {
      display: none;
    }

    .judge-navigation-status {
      margin: 0;
    }

    @media (min-width: 64rem) {
      .setup-panels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
      }

      .account-panels {
        grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 1.75fr);
        align-items: start;
      }

      .account-panels > .management-panel:first-child {
        position: sticky;
        top: 1.5rem;
      }

      body[data-guide-ready="true"] .pillar-step .score-selector {
        display: none;
      }

      body[data-guide-ready="true"] .pillar-step {
        display: grid;
        grid-template-areas:
          "title score"
          "description score";
        grid-template-columns: minmax(0, 1fr) 10rem;
        align-items: center;
        column-gap: 1.25rem;
      }

      body[data-guide-ready="true"] .pillar-step legend {
        grid-area: title;
      }

      body[data-guide-ready="true"] .pillar-step .pillar-description {
        grid-area: description;
        margin: 0;
      }

      body[data-guide-ready="true"] .pillar-step .desk-score-select {
        grid-area: score;
        display: grid;
        justify-items: end;
        width: 10rem;
        margin: 0;
        font-size: 0.76rem;
      }

      .site-header {
        position: fixed;
        z-index: 5;
        inset: 0 auto 0 0;
        display: flex;
        width: 16rem;
        min-height: 100vh;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 2rem;
        padding: 2rem 1.2rem 1.25rem;
        border: 0;
        background: var(--ink);
        color: var(--surface);
      }

      .site-brand {
        min-width: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.7rem;
        color: var(--surface);
        font-size: 0.92rem;
      }

      .site-brand:hover {
        color: var(--surface);
      }

      .site-brand small {
        color: rgb(255 255 255 / 68%);
      }

      .brand-mark {
        width: 1.75rem;
        height: 0.25rem;
        aspect-ratio: auto;
        border-radius: 0;
      }

      .brand-mark::after {
        content: none;
      }

      .site-header .site-navigation {
        display: grid;
        width: 100%;
        align-items: stretch;
        justify-content: stretch;
        gap: 0.3rem;
      }

      .site-header nav a {
        padding: 0.8rem 0.75rem;
        color: var(--surface);
        font-size: 0.82rem;
      }

      .site-header nav a:hover {
        background: rgb(255 255 255 / 9%);
        color: var(--surface);
      }

      .site-header nav a[aria-current="page"] {
        background: var(--primary);
        color: var(--surface);
      }

      .site-identity {
        margin: auto 0 0;
        padding-top: 1rem;
        border-top: 1px solid rgb(255 255 255 / 28%);
        color: rgb(255 255 255 / 68%);
        text-align: left;
      }

      .site-identity strong {
        color: var(--surface);
      }

      body > main {
        width: min(var(--content-width), calc(100vw - 16rem - 4rem));
        margin-left: calc(16rem + max(2rem, (100vw - 16rem - var(--content-width)) / 2));
      }

      .judge-workbench {
        grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
      }

      .judge-review-only {
        display: none;
      }
    }

    @media (max-width: 63.99rem) {
      .login-layout {
        width: min(100%, 48rem);
        min-height: 100vh;
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
        gap: 0;
        padding: clamp(1rem, 5vw, 2.5rem);
      }

      .login-story,
      .login-card {
        width: 100%;
        padding: clamp(1.5rem, 5vw, 2.5rem);
      }

      .login-story {
        min-height: 15rem;
        justify-content: flex-end;
      }

      .login-story .eyebrow {
        margin-top: 1rem;
      }

      .login-story h1 {
        font-size: clamp(2.2rem, 7vw, 3.25rem);
      }

      .login-card {
        background: var(--surface);
      }

      .pillar-step .desk-score-select {
        display: none;
      }

      .brand-mark::after {
        content: "A";
        color: var(--surface);
        font-size: 1.2rem;
        font-weight: 750;
      }

      .judge-workbench-team-list {
        display: none;
      }

      .judge-workbench {
        display: block;
      }

      .judge-editor-header {
        padding: 1.1rem 1rem 0.85rem;
      }

      .judge-roster-panel {
        margin: 0.85rem 1rem;
      }

      .evaluation-steps {
        display: flex;
        gap: 0.3rem;
        overflow-x: auto;
        padding: 0.7rem 0.65rem;
        border-bottom: 1px solid var(--border);
        scrollbar-width: thin;
      }

      .evaluation-steps a {
        display: flex;
        min-height: 2.4rem;
        flex: 0 0 auto;
        align-items: center;
        gap: 0.5rem;
        padding: 0.4rem 0.55rem;
        border: 1px solid transparent;
        border-radius: var(--radius-small);
        color: var(--muted);
        font-size: 0.73rem;
        font-weight: 650;
        text-decoration: none;
      }

      .evaluation-steps a[aria-current="step"] {
        border-color: var(--border);
        background: var(--surface);
        color: var(--ink);
      }

      .evaluation-step-number {
        display: grid;
        width: 1.6rem;
        height: 1.6rem;
        flex: 0 0 auto;
        place-items: center;
        border-radius: 50%;
        background: var(--canvas);
        font-size: 0.66rem;
        font-variant-numeric: tabular-nums;
      }

      .evaluation-steps a[aria-current="step"] .evaluation-step-number {
        background: var(--primary);
        color: var(--surface);
      }

      .evaluation-steps a[data-complete="true"] .evaluation-step-number {
        background: var(--success-surface);
        color: var(--success);
      }

      .evaluation-step-name {
        max-width: 8rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .evaluation-steps a:not([aria-current="step"]) .evaluation-step-name {
        max-width: 0;
      }

      .pillar-step {
        min-height: 17rem;
        padding: 1.1rem 1rem;
        border-top: 0;
      }

      .pillar-step legend {
        font-size: 1.25rem;
      }

      .score-selector {
        grid-template-columns: repeat(10, minmax(0, 1fr));
        gap: 0.42rem;
      }

      .score-option span {
        min-height: 2.9rem;
        font-size: 0.92rem;
      }

      .score-empty {
        grid-column: 1 / -1;
      }

      .evaluation-review {
        padding: 1.1rem 1rem;
        border-top: 0;
      }

      body[data-guide-ready="true"] .evaluation-footer {
        display: none;
      }

      body[data-guide-ready="true"][data-guide-step="review"] .evaluation-footer {
        display: flex;
      }

      .evaluation-footer {
        align-items: stretch;
        flex-direction: column;
        padding: 1rem;
      }

      .evaluation-footer .button {
        width: 100%;
      }

      .judge-evaluation-heading {
        align-items: flex-start;
        flex-direction: column;
      }

      .judge-evaluation-heading h1 {
        font-size: 1.85rem;
      }
    }

    @media (max-width: 56rem) {
      .audit-log-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .judge-overview > .judge-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
      }

      .judge-overview > .judge-progress {
        padding: 1rem;
      }

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

    @media (max-width: 38rem) {
      .audit-log-filters {
        grid-template-columns: minmax(0, 1fr);
      }

      .login-layout {
        width: 100%;
        min-height: 100dvh;
        padding: 1rem;
      }

      .login-story {
        display: none;
      }

      .login-card {
        align-self: center;
        padding: 1.5rem 1.25rem 2rem;
        border: 1px solid var(--border);
        border-radius: var(--radius-medium);
        background: var(--surface);
      }

      .page-actions,
      .roster-confirmation {
        align-items: stretch;
        flex-direction: column;
      }

      .page-actions .button,
      .roster-confirmation .button,
      .roster-confirmation form,
      .roster-confirmation button {
        width: 100%;
      }

      .management-page .panel {
        padding: 1rem;
      }

      .panel-heading,
      .account-card-heading {
        align-items: flex-start;
      }

      .management-form .button,
      .management-form button.button {
        width: 100%;
      }

      .judge-overview {
        gap: 1.35rem;
      }

      .judge-hero h1 {
        font-size: clamp(2.25rem, 12vw, 3.1rem);
      }

      .judge-team-grid {
        grid-template-columns: minmax(0, 1fr);
      }

      .judge-team-card {
        gap: 0.9rem;
        padding: 1rem;
      }

      .judge-team-action {
        width: 100%;
      }

      .judge-evaluation-main {
        gap: 0.8rem;
      }

      .evaluation-steps {
        margin-inline: -0.25rem;
      }

      .evaluation-steps a {
        gap: 0.35rem;
        padding-inline: 0.4rem;
      }

      .evaluation-steps a[data-step="review"] .evaluation-step-name {
        max-width: 0;
      }
    }
  }
}

@layer components {
  .operational-log-page {
    display: grid;
    gap: 1rem;
  }

  .operational-log-page .page-heading > p:last-child {
    max-width: 62rem;
  }

  .operational-log-filters {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 0.9rem;
  }

  .operational-log-filters label {
    display: grid;
    gap: 0.35rem;
  }

  .operational-log-actions,
  .operational-log-pagination {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
  }

  .operational-log-list {
    padding: 0;
    overflow: hidden;
  }

  .operational-log-list > .panel-heading,
  .operational-log-list > .panel-note,
  .operational-log-pagination {
    margin: 0;
    padding: 1rem 1.25rem;
  }

  .operational-log-entries {
    display: grid;
    gap: 0.7rem;
    margin: 0;
    padding: 1rem;
    list-style: none;
  }

  .operational-log-entry {
    min-width: 0;
    padding: 0.9rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-medium);
    background: var(--surface);
  }

  .operational-log-entry-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  .operational-log-entry > p {
    margin: 0.5rem 0;
    overflow-wrap: anywhere;
  }

  .operational-log-entry pre {
    max-width: 100%;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }

  .operational-log-pagination {
    justify-content: center;
    border-top: 1px solid var(--border);
  }
}
