/* Event planning owns its dialog; do not change the site's legacy modals. */
body.event-entry-dialog-open { overflow: hidden; }
.gu-platform .event-entry-flow [hidden] { display: none !important; }
.gu-platform .event-entry-dialog:not([open]) { display: none; }
.gu-platform .event-entry-dialog[open] {
  display: flex; flex-direction: column;
  width: min(780px, calc(100vw - 32px)); max-width: none;
  max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
  margin: auto; padding: 0; overflow: hidden;
  color: #edf0f5; background: #121923; border: 1px solid #43516a; border-radius: 16px;
  box-shadow: 0 28px 100px #000a, 0 0 0 1px #ffffff08;
}
.gu-platform .event-entry-dialog::backdrop { background: #060a12bb; backdrop-filter: blur(5px); }
.gu-platform .entry-dialog-header {
  display: flex; gap: 18px; align-items: flex-start; justify-content: space-between;
  flex: 0 0 auto; padding: 22px 24px 16px; border-bottom: 1px solid #2c394b;
}
.gu-platform .entry-dialog-header > div { min-width: 0; }
.gu-platform .entry-dialog-header .eyebrow { color: #ae9ec6; font-size: 10px; }
.gu-platform .entry-dialog-header h2 { margin: 6px 0; font: 650 23px/1.2 Inter, sans-serif; letter-spacing: -.5px; text-transform: none; }
.gu-platform .entry-dialog-header p { margin: 0; color: #a9b6c9; font-size: 13px; overflow-wrap: anywhere; }
.gu-platform .entry-dialog-close {
  display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 0;
  border: 1px solid #36445b; border-radius: 10px; background: #1d2735; color: #e6eaf1; font-size: 26px; cursor: pointer;
}
.gu-platform .entry-dialog-close:hover { background: #2c3546; border-color: #a38cbf; }
.gu-platform .entry-stepper { display: flex; gap: 22px; list-style: none; margin: 0; padding: 14px 24px; border-bottom: 1px solid #263345; }
.gu-platform .entry-stepper li { color: #8493a9; font-size: 12px; font-weight: 650; }
.gu-platform .entry-stepper li[aria-current] { color: #e9d7fa; }
.gu-platform .entry-dialog-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 20px 24px 24px; }
.gu-platform.event-page .entry-flow-form { display: block; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.gu-platform.event-page .entry-flow-form > [data-entry-step] { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.gu-platform .entry-flow-form h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.3; }
.gu-platform .entry-flow-form h3:focus { outline: none; }
.gu-platform .entry-step-copy,
.gu-platform .entry-flow-form [data-entry-nojs-copy] { margin: 0 0 18px; color: #a6b4c8; font-size: 13px; line-height: 1.5; }
.gu-platform .entry-start-mode { padding: 12px 14px; border-left: 3px solid #cfaf77; color: #d9c8a8; background: #28251f; font-size: 12px; line-height: 1.5; }
.gu-platform .entry-text-button { display: block; padding: 7px 0 0; border: 0; background: none; color: #d9b7fa; text-align: left; font: inherit; text-decoration: underline; cursor: pointer; }
.gu-platform .entry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gu-platform .entry-fields label { display: flex; flex-direction: column; gap: 7px; min-width: 0; color: #d8e0eb; font-size: 13px; }
.gu-platform .entry-fields input,
.gu-platform .entry-fields select { width: 100%; min-width: 0; min-height: 42px; padding: 10px 12px; font-size: 14px; }
.gu-platform .entry-fields small { color: #8fa0b7; font-size: 11px; line-height: 1.5; }
.gu-platform .entry-field-wide { grid-column: 1/-1; }
.gu-platform .entry-flow-form .vehicle-picker { margin: 20px 0; padding: 0; border: 0; background: none; }
.gu-platform .entry-flow-form .vehicle-picker > legend { margin-bottom: 10px; font-size: 13px; font-weight: 650; color: #d8e0eb; }
.gu-platform .entry-flow-form .vehicle-option-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 8px; }
.gu-platform .entry-flow-form .vehicle-class-group { grid-column: 1/-1; margin: 0; padding: 0; border: 0; background: none; }
.gu-platform .entry-flow-form .vehicle-class-group h3 { margin: 8px 0; font-size: 11px; color: #8da6bd; }
.gu-platform .entry-flow-form .vehicle-class-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 8px; }
.gu-platform .entry-flow-form .vehicle-option { min-width: 0; margin: 0; }
.gu-platform .entry-flow-form .vehicle-option-card { display: flex; align-items: center; gap: 10px; min-height: 70px; padding: 12px; border-radius: 9px; }
.gu-platform .entry-flow-form .vehicle-option-card img { width: 38px; height: 38px; object-fit: contain; flex: 0 0 38px; }
.gu-platform .entry-flow-form .vehicle-option-card > span { min-width: 0; }
.gu-platform .entry-flow-form .vehicle-option-card strong { font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.gu-platform .entry-flow-form .vehicle-option-card small { font-size: 10px; color: #9baec4; }
.gu-platform .entry-flow-form .vehicle-option input:checked + .vehicle-option-card { border-color: #b192d3; background: #292334; }
.gu-platform .entry-flow-form .vehicle-option input:focus-visible + .vehicle-option-card { outline: 2px solid #d0b8eb; outline-offset: 3px; }
.gu-platform .entry-discord-options { border: 1px solid #2e3c50; border-radius: 9px; margin-block: 18px; background: #111c29; }
.gu-platform .entry-discord-options > summary { padding: 12px 14px; cursor: pointer; font-size: 13px; font-weight: 600; }
.gu-platform .entry-discord-options > summary span { color: #8c9db4; font-size: 11px; font-weight: 400; margin-left: 6px; }
.gu-platform .entry-discord-options .entry-fields { padding: 6px 14px 16px; }
.gu-platform .entry-cleanup-options { display: flex; flex-wrap: wrap; gap: 8px 16px; border: 0; padding: 0; margin: 0; }
.gu-platform .entry-cleanup-options legend { font-size: 13px; margin-bottom: 10px; }
.gu-platform .entry-cleanup-options label { flex-direction: row; align-items: center; gap: 7px; font-size: 12px; }
.gu-platform .entry-cleanup-options input { width: 16px; height: 16px; min-height: 0; padding: 0; }
.gu-platform .entry-choice-actions,
.gu-platform .entry-final-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.gu-platform .entry-flow-form .button { min-height: 42px; padding: 10px 16px; font-size: 12px; }
.gu-platform .entry-review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; margin: 18px 0; }
.gu-platform .entry-review-grid > div { min-width: 0; padding: 12px 0; border-bottom: 1px solid #2a3748; }
.gu-platform .entry-review-grid > div:first-child,
.gu-platform .entry-review-grid > div:nth-child(2) { grid-column: 1/-1; }
.gu-platform .entry-review-grid dt { color: #91a2ba; font-size: 11px; margin-bottom: 6px; }
.gu-platform .entry-review-grid dd { margin: 0; color: #e3e9f3; font-size: 13px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.gu-platform .entry-review-grid [data-entry-value="channels"] { white-space: pre-line; }
.gu-platform .entry-review-notice { padding: 12px 14px; background: #192333; border-left: 3px solid #a88bc8; border-radius: 0 8px 8px 0; }
.gu-platform .entry-review-notice p { margin: 6px 0; color: #aebbd0; font-size: 12px; line-height: 1.55; }
.gu-platform .entry-review-notice .event-prerequisite-note { padding: 0; border: 0; background: none; color: #e5d0ad; }
.gu-platform .entry-confirmation { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; color: #d2ddea; font-size: 13px; line-height: 1.5; cursor: pointer; }
.gu-platform .entry-confirmation input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #ad91ce; }
.gu-platform .entry-missing-final { min-width: 0; }
.gu-platform .entry-flow-form [aria-busy="true"] { opacity: .7; cursor: progress; }
.gu-platform .entry-unavailable { color: #becbdd; font-size: 14px; line-height: 1.6; }
.gu-platform .entry-fallback { padding: 0; margin-bottom: 20px; border: 1px solid #354255; border-radius: 10px; background: #131c28; }
.gu-platform .entry-fallback > summary { padding: 14px 18px; font-weight: 650; cursor: pointer; }
.gu-platform .entry-fallback > [data-entry-body] { padding: 16px 18px; }
.gu-platform .entry-fallback [data-entry-step="review"] { margin-top: 24px; }
.gu-platform .entry-flow-form :is(button,input,select,a):focus-visible { outline: 2px solid #ccb1e8; outline-offset: 3px; }
.gu-platform.event-page .team-registration-section { margin-block: 20px; }
.gu-platform.event-page .team-registration-section .registered-team-panel { margin-top: 18px; }
@media(max-width:600px) {
  .gu-platform .event-entry-dialog[open] { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 12px; }
  .gu-platform .entry-dialog-header { padding: 17px 16px 14px; }
  .gu-platform .entry-dialog-header h2 { font-size: 21px; }
  .gu-platform .entry-stepper { padding: 12px 16px; gap: 16px; }
  .gu-platform .entry-dialog-scroll { padding: 18px 16px; }
  .gu-platform .entry-fields,
  .gu-platform .entry-review-grid { grid-template-columns: 1fr; }
  .gu-platform .entry-flow-form .vehicle-option-grid,
  .gu-platform .entry-flow-form .vehicle-class-grid { grid-template-columns: 1fr; }
  .gu-platform .entry-choice-actions > button,
  .gu-platform .entry-final-actions > button,
  .gu-platform .entry-missing-final,
  .gu-platform .entry-missing-final > button { width: 100%; }
}
