:root {
  font-family: Arial, Helvetica, sans-serif;
  background: #0b0d12;
  color: #f4f6fb;
}
* { box-sizing: border-box; }
body { margin: 0; background: #0b0d12; }
.shell { width: min(980px, calc(100% - 32px)); margin: 0 auto; }
.site-header { background: #111622; border-bottom: 1px solid #2b3446; padding: 20px 0; }
.event-kicker { font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.event-title { margin-top: 6px; color: #b7c0d3; }
.hero { min-height: 68vh; display: grid; align-items: center; }
.hero h1 { font-size: clamp(40px, 7vw, 78px); margin: 8px 0; }
.eyebrow, .step-label { color: #ffcc33; font-weight: 800; letter-spacing: .14em; }
.dates { color: #b7c0d3; margin-bottom: 28px; }
.panel { margin: 38px 0 70px; padding: 30px; background: #121722; border: 1px solid #293144; border-radius: 18px; }
label { display: block; margin: 18px 0; font-weight: 700; }
input, select {
  width: 100%; margin-top: 8px; padding: 13px 14px; border-radius: 10px;
  border: 1px solid #3a455d; background: #0d111a; color: #fff; font-size: 16px;
}
small { display: block; color: #9faac0; margin-top: 6px; font-weight: 400; }
.grid.two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.button {
  display: inline-block; padding: 13px 20px; border-radius: 10px; border: 1px solid #54617a;
  background: #222b3d; color: white; text-decoration: none; font-weight: 800; cursor: pointer;
}
.button.primary { background: #ffcc33; color: #111; border-color: #ffcc33; }
.actions { margin-top: 28px; }
.errors { background: #3a1519; border: 1px solid #a7434c; padding: 16px 20px; border-radius: 10px; }
.photo-box { margin-top: 26px; padding: 20px; background: #0d111a; border-radius: 12px; border: 1px solid #313b50; }
.photo-box h2 { margin-top: 0; }
.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }
.check input { width: auto; margin-top: 2px; }
.notice { padding: 16px; background: #172438; border-left: 4px solid #ffcc33; margin: 24px 0; }
.success { text-align: left; }
@media (max-width: 680px) {
  .grid.two { grid-template-columns: 1fr; gap: 0; }
  .panel { padding: 20px; }
}


.field {
  padding: 12px;
  border: 2px solid transparent;
  border-radius: 12px;
  transition: border-color .15s ease, background-color .15s ease;
}

.field-invalid {
  border-color: #ff4d5a;
  background: rgba(255, 77, 90, 0.08);
}

.field-invalid input,
.field-invalid select {
  border-color: #ff4d5a;
  box-shadow: 0 0 0 3px rgba(255, 77, 90, 0.15);
}

.field-error {
  display: block;
  margin-top: 7px;
  color: #ff6b76;
  font-size: 14px;
  font-weight: 700;
}

.field-invalid:focus-within {
  border-color: #ff7a84;
}


.size-chart {
  margin: 4px 12px 24px;
  padding: 16px;
  background: #0d111a;
  border: 1px solid #313b50;
  border-radius: 12px;
}

.size-chart-title {
  margin-bottom: 12px;
  font-weight: 800;
}

.size-chart-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.size-chart-grid span {
  padding: 9px 10px;
  background: #151c29;
  border-radius: 8px;
  color: #dce2ef;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .size-chart-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


.selection-section {
  margin-top: 30px;
  padding-top: 10px;
  border-top: 1px solid #2b3446;
}

.class-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 1px solid #354058;
  border-radius: 12px;
  background: #0d111a;
}

.class-card input {
  width: auto;
  margin: 0;
}

.class-card span {
  display: flex;
  flex-direction: column;
}

.class-card.mandatory {
  border-color: #ffcc33;
}

.declaration {
  margin: 16px 0;
  padding: 16px;
  background: #0d111a;
  border: 2px solid transparent;
  border-radius: 12px;
}

.group-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 12px;
}

.group-card {
  margin: 0;
  padding: 16px;
  border: 1px solid #354058;
  border-radius: 12px;
  background: #0d111a;
  cursor: pointer;
  min-height: 170px;
}

.group-card input {
  width: auto;
  margin: 0 0 10px;
}

.group-card ol {
  padding-left: 22px;
  color: #dce2ef;
  font-weight: 400;
}

.group-card li {
  margin-bottom: 5px;
}

.group-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.group-full {
  opacity: .55;
  cursor: not-allowed;
}

@media (max-width: 760px) {
  .group-grid { grid-template-columns: 1fr; }
}

.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.summary-card{padding:20px;border:1px solid #354058;border-radius:14px;background:#0d111a}.fee-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #273045}.fee-row.discount{color:#8fe0a8}.fee-row.total{margin-top:8px;padding-top:16px;font-size:19px;border-bottom:0}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.payment-option{display:flex;flex-direction:column;padding:18px;color:#fff;text-decoration:none;border:2px solid #354058;border-radius:12px;background:#0d111a}.payment-option.selected{border-color:#ffcc33}.confirmation-box{margin:24px 0;padding:16px;border:1px solid #354058;border-radius:12px;background:#0d111a}@media(max-width:760px){.summary-grid,.payment-methods{grid-template-columns:1fr}}


.group-adjustment-note {
  margin: 16px 0;
  padding: 12px 14px;
  border-left: 4px solid #ffcc33;
  background: #172438;
  color: #dce2ef;
  font-size: 14px;
}

textarea{width:100%;margin-top:8px;padding:13px 14px;border-radius:10px;border:1px solid #3a455d;background:#0d111a;color:#fff;font-size:16px;resize:vertical}.admin-table{display:grid;gap:8px}.admin-row{display:grid;grid-template-columns:1.1fr 1.6fr 1fr 1fr 1.1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #293144;border-radius:10px;background:#0d111a}.admin-head{font-weight:800;background:#172033}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.button.danger{background:#9b2632;border-color:#c34855}@media(max-width:900px){.admin-row{grid-template-columns:1fr 1fr}.admin-head{display:none}.admin-actions{grid-template-columns:1fr}}

.email-preview { white-space: pre-wrap; padding: 18px; background:#0d111a; border:1px solid #354058; border-radius:12px; color:#eef2fa; line-height:1.6; overflow-wrap:anywhere; }

/* v0.5.3 WTDC26 landing page */
.wtdc-landing {
  width: min(100%, 1920px);
  margin: 0 auto;
  min-height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  padding: 12px 0 30px;
}
.wtdc-landing-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 190px);
  object-fit: contain;
  object-position: center;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.wtdc-landing-actions {
  display: flex;
  justify-content: center;
  padding: 0 16px;
}
.wtdc-register-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  min-height: 58px;
  padding: 14px 34px;
  border: 2px solid #fff;
  border-radius: 12px;
  background: linear-gradient(180deg,#ff3a2f 0%,#b80000 100%);
  color: #fff;
  font-size: clamp(20px,2.2vw,30px);
  font-weight: 900;
  letter-spacing: 1.5px;
  text-decoration: none;
  text-shadow: 0 2px 3px rgba(0,0,0,.55);
  box-shadow: 0 8px 24px rgba(255,20,20,.35);
  transition: transform .18s ease,filter .18s ease;
}
.wtdc-register-button:hover,
.wtdc-register-button:focus-visible {
  transform: translateY(-2px) scale(1.015);
  filter: brightness(1.12);
}
@media (max-width:720px) {
  .wtdc-landing { min-height:auto; padding-top:4px; }
  .wtdc-landing-image { border-radius:8px; max-height:none; }
  .wtdc-register-button { width:100%; min-width:0; }
}


/* v0.5.4 full-screen landing and registration info */
.landing-page-body {
  background: #000;
}

.landing-main {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.wtdc-fullscreen-landing {
  position: relative;
  width: 100vw;
  min-height: 100vh;
  overflow: hidden;
  background: #000;
}

.wtdc-fullscreen-background {
  display: block;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  object-position: center center;
}

.wtdc-blink-link {
  position: absolute;
  left: 50%;
  top: 73.4%;
  width: min(89.5vw, 1510px);
  transform: translate(-50%, -50%);
  display: block;
  cursor: pointer;
}

.wtdc-blink-image {
  display: block;
  width: 100%;
  height: auto;
  animation: wtdcBlink 1.5s infinite ease-in-out;
  filter: drop-shadow(0 0 10px rgba(255, 140, 0, 0.35));
}

@keyframes wtdcBlink {
  0%, 38%, 100% { opacity: 1; }
  48%, 78% { opacity: 0; }
}

.registration-info-panel {
  max-width: 900px;
  margin: 26px auto;
}

.registration-info-subtitle {
  color: #dce2ef;
  font-size: 18px;
  margin-top: -6px;
}

.registration-info-box {
  margin: 22px 0 26px;
  padding: 18px 20px;
  border-left: 4px solid #ffcc33;
  border-radius: 10px;
  background: #172438;
}

.registration-info-box.compact {
  margin-top: 16px;
  margin-bottom: 20px;
}

.registration-info-box p {
  margin: 8px 0;
}

.registration-info-actions {
  justify-content: space-between;
}

@media (max-width: 900px) {
  .wtdc-blink-link {
    top: 73.7%;
    width: 92vw;
  }
}

@media (max-width: 640px) {
  .wtdc-fullscreen-background {
    object-fit: contain;
    background: #000;
  }
  .wtdc-blink-link {
    top: 75.2%;
    width: 94vw;
  }
  .registration-info-actions {
    flex-direction: column;
  }
}


/* v1.0.0 registration schedule and countdown */
.registration-countdown-banner {
  position: sticky; top: 0; z-index: 50;
  display: flex; justify-content: center; align-items: center; gap: 14px;
  padding: 10px 16px; background: #172438; color: #fff;
  border-bottom: 2px solid #4e668f; text-align: center; font-weight: 700;
}
.registration-countdown-banner[hidden] { display: none; }
.registration-countdown-banner.warning { background: #6b5300; border-color: #ffcc33; }
.registration-countdown-banner.urgent { background: #8f1723; border-color: #ff6b78; }
.registration-countdown-banner .banner-time b { font-size: 18px; }
.registration-gate-panel { max-width: 900px; margin: 34px auto; text-align: center; }
.gate-date { font-size: 20px; line-height: 1.6; }
.countdown-card { margin: 28px auto; padding: 22px; max-width: 760px; border: 1px solid #354058; border-radius: 16px; background: #0d111a; }
.countdown-title { margin-bottom: 16px; font-size: 20px; font-weight: 800; }
.countdown-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.countdown-values span { padding: 14px 8px; border-radius: 12px; background: #172438; }
.countdown-values b { display:block; font-size: clamp(30px,5vw,52px); line-height:1; }
.countdown-values small { display:block; margin-top:8px; color:#cdd5e6; }
.admin-schedule-panel { max-width: 980px; margin: 24px auto; }
.schedule-status-card { display:flex; flex-direction:column; gap:6px; margin:20px 0; padding:18px; border-radius:12px; background:#172438; border:1px solid #354058; }
.schedule-status-card strong { font-size:28px; }
.status-open { border-color:#55c981; }.status-closed,.status-paused { border-color:#ff6b78; }.status-scheduled { border-color:#ffcc33; }
.admin-quick-actions { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0; }
.success-notice { border-left-color:#55c981; }
@media(max-width:720px){
  .registration-countdown-banner { flex-direction:column; gap:4px; font-size:13px; }
  .countdown-values { grid-template-columns:repeat(2,1fr); }
  .admin-quick-actions form,.admin-quick-actions button { width:100%; }
}


/* v1.0.3: stable Android/iOS landing composition */
html:has(.landing-page-body),
html:has(.landing-page-body) body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #000;
}

.landing-page-body {
  margin: 0;
  padding: 0;
  background: #000;
  overscroll-behavior: none;
}

.landing-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.wtdc-landing-viewport {
  width: 100vw;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #000;
}

.wtdc-poster-stage {
  position: relative;
  width: min(100vw, calc(100dvh * 1672 / 941));
  height: min(100dvh, calc(100vw * 941 / 1672));
  aspect-ratio: 1672 / 941;
  flex: 0 0 auto;
  overflow: hidden;
  background: #000;
  isolation: isolate;
}

.wtdc-poster-background {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  user-select: none;
  -webkit-user-drag: none;
}

.wtdc-poster-blink-link {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 70.0%;
  width: 88%;
  transform: translate(-50%, -50%);
  display: block;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.wtdc-poster-blink-image {
  display: block;
  width: 100%;
  height: auto;
  animation: wtdcPosterBlink 1.5s steps(1, end) infinite;
  filter: drop-shadow(0 0 9px rgba(255, 135, 0, 0.42));
  user-select: none;
  -webkit-user-drag: none;
}

@keyframes wtdcPosterBlink {
  0%, 49.999% { opacity: 1; visibility: visible; }
  50%, 99.999% { opacity: 0; visibility: hidden; }
  100% { opacity: 1; visibility: visible; }
}

@media (orientation: portrait) {
  .wtdc-poster-blink-link {
    top: 70.0%;
    width: 88%;
  }
}

@media (orientation: landscape) {
  .wtdc-poster-blink-link {
    top: 70.0%;
    width: 88%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wtdc-poster-blink-image {
    animation: none;
    opacity: 1;
    visibility: visible;
  }
}


/* v1.0.4 Admin registrations dashboard */
.admin-nav-actions { flex-wrap: wrap; }
.admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
}
.admin-stat-card {
  padding: 16px;
  border: 1px solid #354058;
  border-radius: 12px;
  background: #0d111a;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.admin-stat-card span { color: #aeb8ca; font-size: 13px; }
.admin-stat-card strong { font-size: 24px; }
.registration-table-wrap { overflow-x: auto; border: 1px solid #293144; border-radius: 12px; }
.registration-table { width: 100%; min-width: 1450px; border-collapse: collapse; background: #0d111a; }
.registration-table th, .registration-table td {
  padding: 12px 10px;
  border-bottom: 1px solid #293144;
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}
.registration-table th { position: sticky; top: 0; background: #172033; z-index: 1; }
.registration-table small { color: #aeb8ca; }
.status-pill {
  display: inline-block;
  max-width: 180px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #24314b;
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .admin-stat-grid { grid-template-columns: 1fr; }
}


/* v1.0.5 Excel-style registrations table */
.excel-table-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin: 18px 0 12px;
  padding: 12px 14px;
  border: 1px solid #354058;
  border-radius: 12px;
  background: #111827;
}
.excel-table-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.excel-table-summary { color: #dce2ef; }
.excel-table-help { color: #aeb8ca; font-size: 13px; }
.excel-header-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 100px;
}
.excel-filter-button {
  flex: 0 0 auto;
  width: 25px;
  height: 25px;
  padding: 0;
  border: 1px solid #53617c;
  border-radius: 5px;
  background: #24314b;
  color: #fff;
  cursor: pointer;
  font-size: 11px;
}
.excel-filter-button:hover,
.excel-filter-button:focus-visible { background: #344668; outline: 2px solid #ffcc33; }
.registration-table th.filter-active { background: #514300; }
.registration-table th.sorted-asc .excel-filter-button::after { content: " ↑"; }
.registration-table th.sorted-desc .excel-filter-button::after { content: " ↓"; }
.excel-filter-menu {
  position: fixed;
  z-index: 10000;
  max-height: min(650px, calc(100dvh - 24px));
  overflow: auto;
  padding: 14px;
  border: 1px solid #596783;
  border-radius: 12px;
  background: #111827;
  color: #f5f7fb;
  box-shadow: 0 18px 48px rgba(0,0,0,.55);
}
.excel-filter-menu-title { font-size: 17px; font-weight: 900; margin-bottom: 8px; }
.excel-column-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 10px;
  padding: 9px;
  border-radius: 8px;
  background: #1b263c;
  color: #cfd7e7;
  font-size: 12px;
}
.excel-menu-action {
  display: block;
  width: 100%;
  padding: 10px 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.excel-menu-action:hover { background: #24314b; }
.excel-menu-divider { height: 1px; margin: 8px 0; background: #354058; }
.excel-filter-search {
  width: 100%;
  margin: 0 0 8px;
  padding: 10px 11px;
  border: 1px solid #53617c;
  border-radius: 8px;
  background: #0d111a;
  color: #fff;
}
.excel-filter-values {
  max-height: 250px;
  overflow: auto;
  padding: 4px 0;
  border-top: 1px solid #293144;
  border-bottom: 1px solid #293144;
}
.excel-filter-choice {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 5px;
  cursor: pointer;
  font-size: 13px;
}
.excel-filter-choice:hover { background: #1b263c; }
.excel-filter-choice input { width: auto; margin: 0; }
.excel-select-all { font-weight: 800; }
.excel-filter-footer { display: flex; gap: 8px; margin-top: 12px; }
.excel-filter-footer .button { flex: 1; min-width: 0; padding: 9px; font-size: 12px; }
.excel-filter-table tbody tr[hidden] { display: none; }
@media (max-width: 720px) {
  .excel-table-toolbar { align-items: stretch; flex-direction: column; }
  .excel-table-actions .button { flex: 1; }
}


/* v1.0.6 controlled Admin editing and audit */
.table-action-button { padding: 7px 10px; min-height: 0; font-size: 12px; margin: 2px; }
.locked-record-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0 24px; }
.locked-record-grid>div { padding:14px; border:1px solid #354058; border-radius:12px; background:#0d111a; }
.locked-record-grid span,.locked-record-grid small { display:block; color:#aab5c9; }
.locked-record-grid strong { display:block; margin:5px 0; font-size:18px; }
.admin-edit-form { margin-top:22px; }
.price-confirm-check { margin:18px 0; padding:14px; border:1px solid #b98b16; border-radius:10px; background:#2b2412; }
.audit-table-wrap { overflow:auto; margin-top:16px; }
.audit-table { width:100%; min-width:850px; border-collapse:collapse; }
.audit-table th,.audit-table td { border:1px solid #354058; padding:10px; text-align:left; vertical-align:top; }
.audit-table th { background:#172033; }
.normalize-card { display:grid; grid-template-columns:minmax(220px,1fr) minmax(480px,2fr); gap:18px; padding:18px; margin:14px 0; border:1px solid #354058; border-radius:12px; background:#0d111a; }
.normalize-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:end; }
.normalize-form .button { align-self:end; }
.variant-pill { display:inline-block; margin:4px; padding:5px 9px; border-radius:999px; background:#24314b; }
.notice.success { border-color:#2e9a5d; background:#123323; }
@media(max-width:900px){.locked-record-grid{grid-template-columns:1fr 1fr}.normalize-card{grid-template-columns:1fr}.normalize-form{grid-template-columns:1fr}}
@media(max-width:600px){.locked-record-grid{grid-template-columns:1fr}}


/* v1.0.9 email delivery and recovery */
.submitted-summary {
  margin: 20px 0;
  padding: 16px 20px;
  border: 1px solid #354058;
  border-radius: 12px;
  background: #0d111a;
}
.email-delivery-card {
  margin: 24px 0;
  padding: 20px;
  border: 1px solid #53617c;
  border-radius: 14px;
  background: #111827;
}
.email-delivery-card h2 { margin-top: 0; }
.delivery-status {
  display: inline-block;
  margin: 6px 0 16px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #24314b;
  font-weight: 800;
}
.delivery-success {
  background: #123c27;
  color: #93e6b8;
}
.delivery-warning {
  background: #4b3512;
  color: #ffd783;
}
.resend-email-form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 12px 0 20px;
}
.resend-email-form small {
  margin: 0;
}
.button:disabled {
  cursor: not-allowed;
  opacity: .55;
}
.change-email-panel {
  margin-top: 18px;
  padding: 15px;
  border: 1px solid #354058;
  border-radius: 12px;
  background: #0d111a;
}
.change-email-panel summary {
  cursor: pointer;
  color: #ffcc33;
  font-weight: 900;
}


/* v1.0.10 */
.start-choice-panel {
  max-width: 760px;
  margin: 0 auto;
}
.start-choice-card {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 18px 0;
  padding: 24px;
  border: 2px solid #596987;
  border-radius: 16px;
  background: #101827;
  color: inherit;
  text-decoration: none;
}
.start-choice-card:hover {
  transform: translateY(-1px);
  border-color: #ffcf33;
}
.primary-choice {
  border-color: #ffcf33;
}
.disabled-choice {
  opacity: .55;
}
.start-choice-title {
  font-size: clamp(1.35rem, 4vw, 2rem);
  font-weight: 950;
}
.start-choice-copy {
  font-size: 1rem;
}
.start-choice-note {
  margin-top: 24px;
  opacity: .78;
}
.payment-due-card,
.overdue-card {
  margin: 22px 0;
  padding: 22px;
  text-align: center;
  border: 2px solid #ffcf33;
  border-radius: 15px;
  background: #211b09;
}
.payment-due-card span,
.overdue-card span {
  display: block;
  font-weight: 950;
  letter-spacing: .08em;
}
.payment-due-card strong,
.overdue-card strong {
  display: block;
  margin: 8px 0;
  font-size: clamp(1.55rem, 5vw, 2.5rem);
}
.payment-due-card small,
.overdue-card small {
  display: block;
}
.overdue-card {
  border-color: #ff8e56;
  background: #29140c;
}
.payment-details-card {
  margin: 22px 0;
  padding: 20px;
  border: 1px solid #53617c;
  border-radius: 14px;
  background: #0d111a;
}
.payment-details-card h2 {
  margin-top: 0;
}
.payment-access-panel {
  max-width: 780px;
  margin: 0 auto;
}
.admin-recovery-tools {
  margin: 26px 0;
  padding: 18px;
  border: 1px solid #53617c;
  border-radius: 12px;
  background: #111827;
}
.admin-recovery-tools form {
  margin: 0;
}


/* v1.0.10c Admin filter scrolling */
.excel-filter-menu,
.excel-filter-values {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}


/* v1.0.10c Admin Driver Photo */
.admin-driver-photo-card {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 280px) auto;
  gap: 18px;
  align-items: center;
  margin: 18px 0 26px;
  padding: 18px;
  border: 1px solid #53617c;
  border-radius: 14px;
  background: #0d111a;
}
.admin-driver-photo-link {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: #05070b;
}
.admin-driver-photo {
  display: block;
  width: 100%;
  max-height: 360px;
  object-fit: contain;
}
@media (max-width: 760px) {
  .admin-driver-photo-card {
    grid-template-columns: 1fr;
  }
  .admin-driver-photo {
    max-height: 420px;
  }
}


/* v1.0.10e Admin bulk photo export + safe draft cleanup */
.admin-bulk-tools {
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.button.danger,
.button.danger-outline {
  border: 1px solid #d6525b;
}
.button.danger {
  background: #a92835;
  color: #fff;
}
.button.danger-outline {
  background: transparent;
  color: #ff8e96;
}
.admin-cleanup-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0;
}
.admin-cleanup-summary > div {
  padding: 16px;
  border: 1px solid #53617c;
  border-radius: 12px;
  background: #0d111a;
}
.admin-cleanup-summary span,
.admin-cleanup-summary small {
  display: block;
}
.admin-cleanup-summary strong {
  display: block;
  margin: 6px 0;
  font-size: 2rem;
}
.admin-draft-list {
  max-height: 360px;
  overflow: auto;
  margin: 12px 0 20px;
  border: 1px solid #354058;
  border-radius: 10px;
}
.admin-draft-list > div {
  display: grid;
  grid-template-columns: 1.5fr 1.5fr 1fr;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid #2d374c;
}
.danger-confirm-form {
  margin: 24px 0;
  padding: 18px;
  border: 1px solid #a92835;
  border-radius: 12px;
  background: #241015;
}
@media (max-width: 760px) {
  .admin-cleanup-summary {
    grid-template-columns: 1fr;
  }
  .admin-draft-list > div {
    grid-template-columns: 1fr;
  }
}


/* v1.0.10g single Draft deletion */
.admin-draft-list-single-delete > .admin-draft-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 14px;
}
.admin-draft-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.single-draft-delete {
  min-width: 190px;
}
.single-draft-delete summary {
  cursor: pointer;
  color: #ff8e96;
  font-weight: 900;
}
.single-draft-delete-box {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid #a92835;
  border-radius: 10px;
  background: #241015;
}
.bulk-delete-secondary {
  margin-top: 28px;
  opacity: .82;
}
@media (max-width: 760px) {
  .admin-draft-list-single-delete > .admin-draft-row {
    grid-template-columns: 1fr;
  }
  .single-draft-delete {
    min-width: 0;
  }
}


/* v1.0.11 competition edit */
.competition-before-after { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:20px 0; }
.competition-before-after > div { padding:18px; border:1px solid #53617c; border-radius:14px; background:#0d111a; }
.notice.warning { border-color:#d9a62e; background:#2a210d; }
@media (max-width:760px){ .competition-before-after{grid-template-columns:1fr;} }


/* v1.0.11a payment protection / restore */
.admin-payment-protection-card {
  margin: 18px 0 24px;
  padding: 18px;
  border: 1px solid #53617c;
  border-radius: 14px;
  background: #0d111a;
}
.admin-payment-protection-card h2 {
  margin-top: 0;
}
.restore-payment-check {
  margin: 18px 0;
  padding: 14px;
  border: 1px solid #ffcf33;
  border-radius: 10px;
  background: #211b09;
}
