/* ======================================
   疾風ポータル 管理画面
   Phase Portal-1D-2D-2A
====================================== */

:root {
  color-scheme:
    light;

  --admin-wine:
    #5a101b;

  --admin-wine-dark:
    #35070e;

  --admin-gold:
    #d9ad3f;

  --admin-bg:
    #f4f1ed;

  --admin-surface:
    #ffffff;

  --admin-text:
    #232026;

  --admin-muted:
    #6e6870;

  --admin-border:
    #ddd6d0;

  --admin-success:
    #14713b;

  --admin-error:
    #b3262e;

  --admin-shadow:
    0 18px 46px
    rgba(54, 31, 35, 0.16);
}

* {
  box-sizing:
    border-box;
}

html {
  min-height:
    100%;
}

body {
  min-height:
    100vh;

  margin:
    0;

  background:
    linear-gradient(
      160deg,
      #f8f5f1 0%,
      var(--admin-bg) 55%,
      #e9e1da 100%
    );

  color:
    var(--admin-text);

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    Meiryo,
    sans-serif;
}

button,
input {
  font:
    inherit;
}

button,
a {
  -webkit-tap-highlight-color:
    transparent;
}

.admin-page {
  min-height:
    100vh;

  display:
    grid;

  place-items:
    center;

  padding:
    24px 16px;
}

.admin-card {
  width:
    min(
      100%,
      620px
    );

  padding:
    26px 20px;

  border:
    1px solid
    rgba(90, 16, 27, 0.12);

  border-radius:
    24px;

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}

.admin-brand {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    12px;

  color:
    inherit;

  text-decoration:
    none;
}

.admin-logo {
  width:
    58px;

  height:
    58px;

  border:
    2px solid
    rgba(90, 16, 27, 0.18);

  border-radius:
    16px;

  object-fit:
    cover;

  box-shadow:
    0 8px 18px
    rgba(53, 7, 14, 0.15);
}

.admin-brand-text {
  display:
    flex;

  flex-direction:
    column;

  gap:
    2px;
}

.admin-brand-text strong {
  color:
    var(--admin-wine);

  font-size:
    18px;
}

.admin-brand-text span {
  color:
    var(--admin-muted);

  font-size:
    12px;

  font-weight:
    700;

  letter-spacing:
    0.08em;
}

.admin-heading {
  margin-top:
    30px;
}

.admin-eyebrow {
  margin:
    0 0 7px;

  color:
    var(--admin-gold);

  font-size:
    11px;

  font-weight:
    900;

  letter-spacing:
    0.16em;
}

.admin-heading h1 {
  margin:
    0;

  color:
    var(--admin-wine-dark);

  font-size:
    clamp(
      27px,
      7vw,
      38px
    );

  line-height:
    1.2;
}

.admin-heading p:not(.admin-eyebrow) {
  margin:
    13px 0 0;

  color:
    var(--admin-muted);

  font-size:
    14px;

  line-height:
    1.8;
}

.admin-form {
  margin-top:
    26px;
}

.admin-field {
  display:
    grid;

  gap:
    9px;

  color:
    var(--admin-text);

  font-size:
    14px;

  font-weight:
    800;
}

.admin-field input {
  width:
    100%;

  min-height:
    52px;

  padding:
    11px 14px;

  border:
    2px solid
    var(--admin-border);

  border-radius:
    13px;

  background:
    #ffffff;

  color:
    var(--admin-text);

  outline:
    none;

  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.admin-field input:focus {
  border-color:
    var(--admin-wine);

  box-shadow:
    0 0 0 4px
    rgba(90, 16, 27, 0.11);
}

.admin-primary-button,
.admin-secondary-button {
  min-height:
    48px;

  border:
    0;

  border-radius:
    13px;

  cursor:
    pointer;

  font-weight:
    900;

  transition:
    transform 0.12s ease,
    opacity 0.12s ease;
}

.admin-primary-button:active,
.admin-secondary-button:active {
  transform:
    translateY(
      1px
    );
}

.admin-primary-button:disabled,
.admin-secondary-button:disabled {
  cursor:
    wait;

  opacity:
    0.62;
}

.admin-primary-button {
  width:
    100%;

  margin-top:
    8px;

  padding:
    12px 18px;

  background:
    linear-gradient(
      135deg,
      var(--admin-wine),
      var(--admin-wine-dark)
    );

  color:
    #ffffff;

  box-shadow:
    0 10px 24px
    rgba(90, 16, 27, 0.24);
}

.admin-secondary-button {
  padding:
    9px 14px;

  border:
    1px solid
    rgba(90, 16, 27, 0.2);

  background:
    #f8f3f1;

  color:
    var(--admin-wine);
}

.admin-message {
  min-height:
    24px;

  margin:
    12px 0 0;

  font-size:
    13px;

  font-weight:
    800;

  line-height:
    1.6;
}

.admin-message.is-error {
  color:
    var(--admin-error);
}

.admin-message.is-success {
  color:
    var(--admin-success);
}

.admin-text-link {
  display:
    inline-block;

  margin-top:
    24px;

  color:
    var(--admin-wine);

  font-size:
    13px;

  font-weight:
    800;
}

.admin-dashboard-card {
  width:
    min(
      100%,
      760px
    );
}

.admin-dashboard-header {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    14px;
}

.admin-status-panel {
  margin-top:
    26px;

  display:
    flex;

  gap:
    13px;

  padding:
    18px;

  border:
    1px solid
    rgba(20, 113, 59, 0.2);

  border-radius:
    16px;

  background:
    #eff9f3;
}

.admin-status-dot {
  flex:
    0 0 auto;

  width:
    12px;

  height:
    12px;

  margin-top:
    5px;

  border-radius:
    50%;

  background:
    var(--admin-success);

  box-shadow:
    0 0 0 5px
    rgba(20, 113, 59, 0.12);
}

.admin-status-panel strong {
  color:
    #0c582c;
}

.admin-status-panel p {
  margin:
    5px 0 0;

  color:
    #45614e;

  font-size:
    13px;

  line-height:
    1.7;
}

.admin-session-expiry {
  margin:
    17px 0 0;

  color:
    var(--admin-muted);

  font-size:
    12px;
}

.admin-session-loading {
  min-height:
    100vh;

  display:
    grid;

  place-items:
    center;

  padding:
    24px;

  color:
    var(--admin-wine);

  font-size:
    14px;

  font-weight:
    800;

  text-align:
    center;
}

[hidden] {
  display:
    none !important;
}

@media screen and (min-width: 640px) {
  .admin-page {
    padding:
      42px 24px;
  }

  .admin-card {
    padding:
      38px 40px;
  }

  .admin-logo {
    width:
      64px;

    height:
      64px;
  }
}

@media screen and (max-width: 480px) {
  .admin-dashboard-header {
    align-items:
      flex-start;
  }

  .admin-secondary-button {
    min-height:
      42px;

    padding:
      8px 10px;

    font-size:
      12px;
  }
}

/* ======================================
   Phase Portal-1D-2D-1B-3
   管理画面 試合結果一覧
====================================== */

.admin-dashboard-page {
  align-items:
    start;

  justify-items:
    center;
}

.admin-dashboard-card {
  width:
    min(
      100%,
      920px
    );
}

.admin-game-results-section {
  margin-top:
    34px;

  padding-top:
    28px;

  border-top:
    1px solid
    var(--admin-border);
}

.admin-section-heading {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    18px;
}

.admin-section-heading h2 {
  margin:
    0;

  color:
    var(--admin-wine-dark);

  font-size:
    clamp(
      23px,
      5vw,
      30px
    );

  line-height:
    1.25;
}

.admin-section-heading p:not(.admin-eyebrow) {
  margin:
    9px 0 0;

  color:
    var(--admin-muted);

  font-size:
    13px;

  line-height:
    1.7;
}

.admin-compact-button {
  flex:
    0 0 auto;

  min-height:
    40px;

  padding:
    8px 13px;

  border:
    1px solid
    rgba(90, 16, 27, 0.22);

  border-radius:
    11px;

  background:
    #f8f3f1;

  color:
    var(--admin-wine);

  cursor:
    pointer;

  font-size:
    12px;

  font-weight:
    900;
}

.admin-compact-button:disabled {
  cursor:
    wait;

  opacity:
    0.58;
}

.admin-summary-grid {
  margin-top:
    20px;

  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(
        0,
        1fr
      )
    );

  gap:
    9px;
}

.admin-summary-item {
  min-width:
    0;

  padding:
    12px 10px;

  border:
    1px solid
    var(--admin-border);

  border-radius:
    13px;

  background:
    #faf8f6;

  text-align:
    center;
}

.admin-summary-item span {
  display:
    block;

  color:
    var(--admin-muted);

  font-size:
    10px;

  font-weight:
    800;
}

.admin-summary-item strong {
  display:
    block;

  margin-top:
    3px;

  color:
    var(--admin-wine-dark);

  font-size:
    22px;

  line-height:
    1.1;
}

.admin-summary-item.is-warning {
  border-color:
    rgba(179, 38, 46, 0.35);

  background:
    #fff1f2;
}

.admin-summary-item.is-warning strong {
  color:
    var(--admin-error);
}

.admin-list-state {
  margin-top:
    20px;

  padding:
    22px 16px;

  border:
    1px dashed
    var(--admin-border);

  border-radius:
    15px;

  background:
    #faf8f6;

  color:
    var(--admin-muted);

  font-size:
    13px;

  font-weight:
    700;

  line-height:
    1.7;

  text-align:
    center;
}

.admin-list-state-error {
  border-style:
    solid;

  border-color:
    rgba(179, 38, 46, 0.26);

  background:
    #fff3f3;

  color:
    var(--admin-error);
}

.admin-list-state-error strong {
  display:
    block;
}

.admin-list-state-error p {
  margin:
    6px 0 14px;
}

.admin-game-results-list {
  margin-top:
    18px;

  display:
    grid;

  gap:
    13px;
}

.admin-game-card {
  overflow:
    hidden;

  border:
    1px solid
    var(--admin-border);

  border-radius:
    17px;

  background:
    #ffffff;

  box-shadow:
    0 8px 22px
    rgba(54, 31, 35, 0.08);
}

.admin-game-card.is-issue {
  border-color:
    rgba(179, 38, 46, 0.46);

  box-shadow:
    0 8px 22px
    rgba(179, 38, 46, 0.1);
}

.admin-game-card-header {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    12px;

  padding:
    14px 15px 11px;

  border-bottom:
    1px solid
    #eee9e5;

  background:
    #faf8f6;
}

.admin-game-date {
  margin:
    0;

  color:
    var(--admin-wine-dark);

  font-size:
    15px;

  font-weight:
    900;
}

.admin-game-time {
  margin-left:
    6px;

  color:
    var(--admin-muted);

  font-size:
    12px;

  font-weight:
    800;
}

.admin-game-badges {
  display:
    flex;

  flex-wrap:
    wrap;

  justify-content:
    flex-end;

  gap:
    6px;
}

.admin-game-badge {
  display:
    inline-flex;

  align-items:
    center;

  min-height:
    25px;

  padding:
    4px 9px;

  border:
    1px solid
    transparent;

  border-radius:
    999px;

  font-size:
    10px;

  font-weight:
    900;

  line-height:
    1;
}

.admin-game-badge.is-registered {
  border-color:
    rgba(20, 113, 59, 0.2);

  background:
    #eaf7ef;

  color:
    #0d6131;
}

.admin-game-badge.is-unregistered {
  border-color:
    rgba(110, 104, 112, 0.22);

  background:
    #f1eeee;

  color:
    #5b565d;
}

.admin-game-badge.is-published {
  border-color:
    rgba(20, 113, 59, 0.22);

  background:
    #e8f6ed;

  color:
    #0b6331;
}

.admin-game-badge.is-private {
  border-color:
    rgba(128, 90, 5, 0.24);

  background:
    #fff8dd;

  color:
    #785200;
}

.admin-game-badge.is-warning {
  border-color:
    rgba(179, 38, 46, 0.26);

  background:
    #fff0f1;

  color:
    var(--admin-error);
}

.admin-game-card-body {
  padding:
    16px 15px;
}

.admin-game-title {
  margin:
    0;

  color:
    var(--admin-text);

  font-size:
    18px;

  line-height:
    1.45;
}

.admin-game-detail {
  margin:
    7px 0 0;

  color:
    var(--admin-muted);

  font-size:
    12px;

  line-height:
    1.65;
}

.admin-game-result-panel {
  margin-top:
    15px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    14px;

  padding:
    13px 14px;

  border:
    1px solid
    #e8e1dc;

  border-radius:
    14px;

  background:
    #fbf9f7;
}

.admin-game-result-main {
  min-width:
    0;
}

.admin-game-result-label {
  display:
    block;

  color:
    var(--admin-muted);

  font-size:
    10px;

  font-weight:
    800;
}

.admin-game-score {
  display:
    block;

  margin-top:
    3px;

  color:
    var(--admin-wine-dark);

  font-size:
    29px;

  font-weight:
    900;

  letter-spacing:
    0.04em;

  line-height:
    1.05;
}

.admin-game-score.is-empty {
  font-size:
    17px;

  letter-spacing:
    0;
}

.admin-game-result-mark {
  flex:
    0 0 auto;

  min-width:
    70px;

  padding:
    8px 12px;

  border-radius:
    999px;

  text-align:
    center;

  font-size:
    12px;

  font-weight:
    900;
}

.admin-game-result-mark.is-win {
  background:
    #e7f6ec;

  color:
    #0c6734;
}

.admin-game-result-mark.is-loss {
  background:
    #fff0f1;

  color:
    var(--admin-error);
}

.admin-game-result-mark.is-draw {
  background:
    #fff7d9;

  color:
    #795400;
}

.admin-game-result-mark.is-pending {
  background:
    #efeded;

  color:
    #655f66;
}

.admin-game-warning {
  margin:
    13px 0 0;

  padding:
    10px 12px;

  border:
    1px solid
    rgba(179, 38, 46, 0.22);

  border-radius:
    11px;

  background:
    #fff3f3;

  color:
    var(--admin-error);

  font-size:
    11px;

  font-weight:
    800;

  line-height:
    1.6;
}

@media screen and (min-width: 760px) {
  .admin-game-results-list {
    grid-template-columns:
      repeat(
        2,
        minmax(
          0,
          1fr
        )
      );
  }
}

@media screen and (max-width: 520px) {
  .admin-section-heading {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

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

  .admin-game-card-header {
    flex-direction:
      column;
  }

  .admin-game-badges {
    justify-content:
      flex-start;
  }

  .admin-game-result-panel {
    align-items:
      flex-start;

    flex-direction:
      column;
  }
}

/* ======================================
   Phase Portal-1D-2D-2A
   未登録試合 結果入力・確認画面
====================================== */

.admin-game-card-actions {
  margin-top:
    14px;
}

.admin-game-entry-button {
  width:
    100%;

  min-height:
    45px;

  border:
    1px solid
    rgba(177, 129, 13, 0.5);

  border-radius:
    13px;

  background:
    linear-gradient(
      135deg,
      #f4d66b,
      #d9a91f
    );

  color:
    #3d2a00;

  cursor:
    pointer;

  font-size:
    13px;

  font-weight:
    900;

  box-shadow:
    0 7px 16px
    rgba(145, 105, 10, 0.18);
}

.admin-game-entry-button:focus-visible,
.admin-entry-close:focus-visible,
.admin-entry-field input:focus-visible,
.admin-entry-radio input:focus-visible {
  outline:
    3px solid
    rgba(175, 126, 9, 0.28);

  outline-offset:
    2px;
}

body.admin-dialog-open {
  overflow:
    hidden;
}

.admin-entry-overlay {
  position:
    fixed;

  inset:
    0;

  z-index:
    1000;

  overflow-y:
    auto;

  padding:
    max(
      16px,
      env(safe-area-inset-top)
    )
    14px
    max(
      16px,
      env(safe-area-inset-bottom)
    );

  background:
    rgba(25, 12, 15, 0.72);

  backdrop-filter:
    blur(4px);
}

.admin-entry-overlay[hidden] {
  display:
    none;
}

.admin-entry-dialog {
  width:
    min(
      100%,
      620px
    );

  margin:
    0 auto;

  overflow:
    hidden;

  border:
    1px solid
    rgba(255, 255, 255, 0.28);

  border-radius:
    20px;

  background:
    #ffffff;

  box-shadow:
    0 22px 56px
    rgba(20, 7, 10, 0.32);
}

.admin-entry-header {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    16px;

  padding:
    20px 20px 17px;

  border-bottom:
    1px solid
    var(--admin-border);

  background:
    linear-gradient(
      135deg,
      #fffdfb,
      #f8f1ef
    );
}

.admin-entry-header h2 {
  margin:
    0;

  color:
    var(--admin-wine-dark);

  font-size:
    24px;

  line-height:
    1.3;
}

.admin-entry-close {
  flex:
    0 0 auto;

  width:
    38px;

  height:
    38px;

  border:
    1px solid
    var(--admin-border);

  border-radius:
    50%;

  background:
    #ffffff;

  color:
    var(--admin-wine-dark);

  cursor:
    pointer;

  font-size:
    25px;

  line-height:
    1;
}

.admin-entry-step {
  padding:
    20px;
}

.admin-entry-selected-game {
  padding:
    14px 15px;

  border:
    1px solid
    rgba(90, 16, 27, 0.17);

  border-radius:
    14px;

  background:
    #faf6f4;
}

.admin-entry-selected-game strong {
  display:
    block;

  color:
    var(--admin-wine-dark);

  font-size:
    15px;

  line-height:
    1.5;
}

.admin-entry-selected-game p {
  margin:
    5px 0 0;

  color:
    var(--admin-muted);

  font-size:
    12px;

  line-height:
    1.65;
}

.admin-entry-score-grid {
  margin-top:
    18px;

  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(
        0,
        1fr
      )
    );

  gap:
    12px;
}

.admin-entry-field {
  display:
    block;

  margin-top:
    18px;
}

.admin-entry-score-grid .admin-entry-field {
  margin-top:
    0;
}

.admin-entry-field > span,
.admin-entry-fieldset legend {
  display:
    block;

  margin-bottom:
    8px;

  color:
    var(--admin-text);

  font-size:
    13px;

  font-weight:
    900;
}

.admin-entry-field input {
  box-sizing:
    border-box;

  width:
    100%;

  min-height:
    48px;

  padding:
    10px 12px;

  border:
    1px solid
    #cfc4c0;

  border-radius:
    12px;

  background:
    #ffffff;

  color:
    var(--admin-text);

  font:
    inherit;

  font-size:
    16px;
}

.admin-entry-field input:invalid:not(:placeholder-shown) {
  border-color:
    var(--admin-error);
}

.admin-entry-field small {
  display:
    block;

  margin-top:
    6px;

  color:
    var(--admin-muted);

  font-size:
    11px;

  line-height:
    1.55;
}

.admin-entry-result-preview {
  margin-top:
    12px;

  padding:
    11px 13px;

  border:
    1px solid
    #e7ded9;

  border-radius:
    12px;

  background:
    #faf8f6;

  color:
    var(--admin-muted);

  font-size:
    12px;

  font-weight:
    800;

  line-height:
    1.5;
}

.admin-entry-result-preview.is-win {
  border-color:
    rgba(20, 113, 59, 0.24);

  background:
    #eaf7ef;

  color:
    #0d6131;
}

.admin-entry-result-preview.is-loss {
  border-color:
    rgba(179, 38, 46, 0.26);

  background:
    #fff0f1;

  color:
    var(--admin-error);
}

.admin-entry-result-preview.is-draw {
  border-color:
    rgba(128, 90, 5, 0.24);

  background:
    #fff8dd;

  color:
    #785200;
}

.admin-entry-fieldset {
  margin:
    20px 0 0;

  padding:
    0;

  border:
    0;
}

.admin-entry-radio-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(
        0,
        1fr
      )
    );

  gap:
    10px;
}

.admin-entry-radio {
  position:
    relative;

  display:
    block;
}

.admin-entry-radio input {
  position:
    absolute;

  width:
    1px;

  height:
    1px;

  opacity:
    0;
}

.admin-entry-radio span {
  display:
    block;

  min-height:
    78px;

  padding:
    12px;

  border:
    1px solid
    #d6cbc7;

  border-radius:
    13px;

  background:
    #ffffff;

  cursor:
    pointer;
}

.admin-entry-radio strong,
.admin-entry-radio small {
  display:
    block;
}

.admin-entry-radio strong {
  color:
    var(--admin-text);

  font-size:
    13px;
}

.admin-entry-radio small {
  margin-top:
    5px;

  color:
    var(--admin-muted);

  font-size:
    10px;

  line-height:
    1.45;
}

.admin-entry-radio input:checked + span {
  border-color:
    rgba(90, 16, 27, 0.5);

  background:
    #f8efed;

  box-shadow:
    0 0 0 2px
    rgba(90, 16, 27, 0.09);
}

.admin-entry-error {
  margin-top:
    16px;

  padding:
    11px 13px;

  border:
    1px solid
    rgba(179, 38, 46, 0.28);

  border-radius:
    11px;

  background:
    #fff1f2;

  color:
    var(--admin-error);

  font-size:
    12px;

  font-weight:
    800;

  line-height:
    1.55;
}

.admin-entry-notice {
  margin:
    18px 0 0;

  padding:
    11px 12px;

  border-radius:
    11px;

  background:
    #f2efed;

  color:
    var(--admin-muted);

  font-size:
    11px;

  font-weight:
    700;

  line-height:
    1.65;
}

.admin-entry-primary-button {
  margin-top:
    15px;
}

.admin-entry-confirm-panel {
  overflow:
    hidden;

  border:
    1px solid
    var(--admin-border);

  border-radius:
    15px;

  background:
    #ffffff;
}

.admin-entry-confirm-heading {
  margin:
    0;

  padding:
    13px 15px;

  border-bottom:
    1px solid
    var(--admin-border);

  background:
    #faf6f4;

  color:
    var(--admin-wine-dark);

  font-size:
    14px;

  font-weight:
    900;
}

.admin-entry-confirm-list {
  margin:
    0;

  padding:
    0 15px;
}

.admin-entry-confirm-list > div {
  display:
    grid;

  grid-template-columns:
    minmax(
      90px,
      0.6fr
    )
    minmax(
      0,
      1.4fr
    );

  gap:
    12px;

  padding:
    13px 0;

  border-bottom:
    1px solid
    #eee9e5;
}

.admin-entry-confirm-list > div:last-child {
  border-bottom:
    0;
}

.admin-entry-confirm-list dt {
  color:
    var(--admin-muted);

  font-size:
    11px;

  font-weight:
    800;
}

.admin-entry-confirm-list dd {
  margin:
    0;

  color:
    var(--admin-text);

  font-size:
    13px;

  font-weight:
    900;

  line-height:
    1.5;

  overflow-wrap:
    anywhere;
}

.admin-entry-confirm-notice {
  margin-top:
    15px;

  padding:
    13px 14px;

  border:
    1px solid
    rgba(20, 113, 59, 0.22);

  border-radius:
    12px;

  background:
    #eaf7ef;

  color:
    #0d6131;
}

.admin-entry-confirm-notice strong {
  display:
    block;

  font-size:
    13px;
}

.admin-entry-confirm-notice p {
  margin:
    5px 0 0;

  font-size:
    11px;

  font-weight:
    700;

  line-height:
    1.6;
}

.admin-entry-confirm-actions {
  margin-top:
    16px;

  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(
        0,
        1fr
      )
    );

  gap:
    10px;
}

.admin-entry-confirm-actions .admin-entry-primary-button {
  margin-top:
    0;
}

@media screen and (max-width: 520px) {
  .admin-entry-score-grid,
  .admin-entry-radio-grid,
  .admin-entry-confirm-actions {
    grid-template-columns:
      1fr;
  }

  .admin-entry-dialog {
    border-radius:
      17px;
  }

  .admin-entry-header,
  .admin-entry-step {
    padding:
      17px;
  }

  .admin-entry-confirm-list > div {
    grid-template-columns:
      1fr;

    gap:
      4px;
  }
}
