/* app/components/SocialLoginButtons.module.css */
.SocialLoginButtons_section {
  margin: 24px 0;
}
.SocialLoginButtons_buttons {
  display: grid;
  gap: 12px;
}
.SocialLoginButtons_button {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  border-radius: 8px;
  text-decoration: none;
}
.SocialLoginButtons_button:focus-visible {
  outline: 3px solid var(--brand, #233e7b);
  outline-offset: 4px;
}
.SocialLoginButtons_button img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 48px;
  object-fit: contain;
}
.SocialLoginButtons_kakao {
  background: #fee500;
}
.SocialLoginButtons_naver {
  background: #03a94d;
}

/* app/components/BrandLogo.module.css */
.BrandLogo_logo {
  display: block;
  max-width: none;
  flex: 0 0 auto;
  box-sizing: border-box;
  padding: 4px 6px;
  background: transparent;
}
.BrandLogo_type2Artwork {
  display: none;
}
.BrandLogo_footer .BrandLogo_standardArtwork {
  display: none;
}
.BrandLogo_footer .BrandLogo_type2Artwork {
  display: block;
}
.home-type-immersive .BrandLogo_header .BrandLogo_standardArtwork {
  display: none;
}
.home-type-immersive .BrandLogo_header .BrandLogo_type2Artwork {
  display: block;
}
.BrandLogo_header,
.BrandLogo_admin,
.BrandLogo_login {
  width: 160px;
  height: 65px;
}
.BrandLogo_footer {
  width: 180px;
  height: 74px;
}
@media (max-width: 760px) {
  .BrandLogo_header,
  .BrandLogo_admin,
  .BrandLogo_login {
    width: 144px;
    height: 58px;
  }
}

/* app/components/ImmersiveMotion.module.css */
.ImmersiveMotion_surface {
  --motion-ease: cubic-bezier(.16, 1, .3, 1);
}
.ImmersiveMotion_surface .immersive-text {
  display: block;
}
.ImmersiveMotion_surface .immersive-line-mask {
  display: block;
  overflow: clip;
  padding-block: .12em;
  margin-block: -.12em;
}
.ImmersiveMotion_surface .immersive-line {
  display: block;
  overflow-wrap: anywhere;
}
.ImmersiveMotion_surface .immersive-word {
  display: inline-block;
  max-width: 100%;
}
.ImmersiveMotion_surface .immersive-character {
  display: inline-block;
}
.ImmersiveMotion_surface .landscape-card picture,
.ImmersiveMotion_surface .product-card picture {
  display: block;
  overflow: clip;
}
.ImmersiveMotion_surface .landscape-card img,
.ImmersiveMotion_surface .product-card img {
  transition: scale .7s var(--motion-ease);
}
.ImmersiveMotion_surface .primary-btn {
  transition: background-color .25s, color .25s;
}
.ImmersiveMotion_surface .primary-btn > span,
.ImmersiveMotion_surface .landscape-meta > span:last-child {
  display: inline-block;
  transition: transform .35s var(--motion-ease);
}
.ImmersiveMotion_surface a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 6px;
}
.ImmersiveMotion_surface ::selection {
  background: #cf7945;
  color: #fff;
}
.ImmersiveMotion_surface .immersive-video-control {
  position: absolute;
  z-index: 4;
  right: 24px;
  bottom: 24px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #ffffff80;
  border-radius: 24px;
  background: #0d191ecc;
  color: #fff;
  cursor: pointer;
}
.ImmersiveMotion_surface .immersive-video-control[hidden],
.ImmersiveMotion_surface video[hidden] {
  display: none;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .ImmersiveMotion_surface .landscape-card:hover img,
  .ImmersiveMotion_surface .product-card:hover img {
    scale: 1.045;
  }
  .ImmersiveMotion_surface .primary-btn:hover > span,
  .ImmersiveMotion_surface .landscape-card:hover .landscape-meta > span:last-child {
    transform: translate(3px, -3px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ImmersiveMotion_surface .hero video,
  .ImmersiveMotion_surface .immersive-video-control {
    display: none;
  }
  .ImmersiveMotion_surface .landscape-card img,
  .ImmersiveMotion_surface .product-card img,
  .ImmersiveMotion_surface .primary-btn > span,
  .ImmersiveMotion_surface .landscape-meta > span:last-child {
    transition: none;
  }
}

/* app/admin/AdminDashboard.module.css */
.AdminDashboard_page {
  display: grid;
  gap: var(--ad-gap-loose, 20px);
  min-width: 0;
  color: var(--ad-text-strong, #17191d);
}
.AdminDashboard_page .AdminDashboard_header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 20px;
  min-width: 0;
  padding-right: 58px;
}
.AdminDashboard_page .AdminDashboard_headerActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  padding-right: 0;
}
@media (max-width: 1023px) {
  .AdminDashboard_page .AdminDashboard_header {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .AdminDashboard_page .AdminDashboard_headerActions {
    justify-content: flex-start;
  }
}
.AdminDashboard_page ::selection {
  color: var(--ad-text-strong, #17191d);
  background: var(--ad-accent-surface, #eaf2ff);
}
.AdminDashboard_page a:focus-visible,
.AdminDashboard_page button:focus-visible,
.AdminDashboard_page summary:focus-visible {
  outline: 2px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 3px;
}
.AdminDashboard_loading,
.AdminDashboard_refreshStatus,
.AdminDashboard_loadedAt,
.AdminDashboard_permissionNote,
.AdminDashboard_footerNote {
  margin: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
  line-height: 1.55;
}
.AdminDashboard_sectionHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ad-gap-loose, 20px);
}
.AdminDashboard_sectionHeading h2,
.AdminDashboard_diagnostics h2 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 20px;
  line-height: 1.35;
  letter-spacing: -0.02em;
}
.AdminDashboard_sectionHeading > div:first-child > p,
.AdminDashboard_diagnostics > div > p {
  max-width: 72ch;
  margin: 7px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
  line-height: 1.55;
}
.AdminDashboard_refreshGroup {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
}
.AdminDashboard_totalCount {
  color: var(--ad-text-strong, #17191d);
  font-size: 15px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.AdminDashboard_refreshStatus {
  margin-top: 14px;
}
.AdminDashboard_queues {
  margin-top: 20px;
}
.AdminDashboard_queue + .AdminDashboard_queue {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminDashboard_queueHeading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.AdminDashboard_queueHeading h3 {
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
}
.AdminDashboard_queueHeading p {
  margin: 4px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.AdminDashboard_moreLink {
  flex: 0 0 auto;
  color: var(--ad-accent, #0066ff);
  font-size: 13px;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.AdminDashboard_moreLink:hover,
.AdminDashboard_targetLink:hover,
.AdminDashboard_openLink:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.AdminDashboard_taskList {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminDashboard_taskRow {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(200px, 0.85fr) minmax(112px, 0.6fr) auto;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 15px 4px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminDashboard_taskMain {
  min-width: 0;
}
.AdminDashboard_targetLine {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}
.AdminDashboard_targetLink {
  overflow-wrap: anywhere;
  color: var(--ad-text-strong, #17191d);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  text-underline-offset: 3px;
}
.AdminDashboard_status,
.AdminDashboard_workStatus {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 2px 8px;
  border: 1px solid var(--ad-accent-line, #cfe0ff);
  border-radius: 999px;
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-hover, #0052cc);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
}
.AdminDashboard_workStatus {
  border-color: var(--ad-line-field, #dfe4eb);
  background: var(--ad-surface-sunken, #f8f9fb);
  color: var(--ad-text-muted, #727687);
}
.AdminDashboard_context,
.AdminDashboard_action {
  margin: 5px 0 0;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.AdminDashboard_context {
  color: var(--ad-text-muted, #727687);
}
.AdminDashboard_action {
  color: var(--ad-text-label, #424656);
  font-weight: 600;
}
.AdminDashboard_assignment {
  display: grid;
  gap: 5px;
  margin: 0;
}
.AdminDashboard_assignment > div {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  min-width: 0;
}
.AdminDashboard_assignment dt {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
}
.AdminDashboard_assignment dd {
  min-width: 0;
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.AdminDashboard_received {
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}
.AdminDashboard_openLink {
  justify-self: end;
  color: var(--ad-accent, #0066ff);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  text-underline-offset: 3px;
}
.AdminDashboard_emptyState {
  margin: 20px 0 0;
  padding: 18px 0 2px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  color: var(--ad-text-muted, #727687);
  font-size: 14px;
  line-height: 1.55;
}
.AdminDashboard_loadedAt {
  margin-top: 16px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.AdminDashboard_stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin: 20px 0 0;
}
.AdminDashboard_stat {
  min-width: 0;
  padding: 12px 0 10px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminDashboard_stat dt,
.AdminDashboard_financials dt {
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.4;
}
.AdminDashboard_stat dd,
.AdminDashboard_financials dd {
  margin: 6px 0 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}
.AdminDashboard_statCompound {
  font-size: 16px;
}
.AdminDashboard_financials {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminDashboard_financials > div {
  min-width: min(100%, 180px);
}
.AdminDashboard_financials dd {
  font-size: 15px;
}
.AdminDashboard_permissionNote {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminDashboard_diagnostics {
  min-width: 0;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 12px;
  background: var(--ad-surface-sunken, #f8f9fb);
}
.AdminDashboard_diagnosticsAttention {
  border-color: var(--ad-warning-line, #f0d899);
}
.AdminDashboard_diagnosticsSummary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 20px;
  color: var(--ad-text-strong, #17191d);
  cursor: pointer;
  list-style-position: inside;
}
.AdminDashboard_diagnosticsSummary::marker {
  color: var(--ad-text-muted, #727687);
}
.AdminDashboard_diagnosticsTitle {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}
.AdminDashboard_diagnosticsCount {
  display: grid;
  gap: 3px;
  flex: 0 0 auto;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  text-align: right;
}
.AdminDashboard_diagnosticsCount strong {
  color: var(--ad-text-strong, #17191d);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.AdminDashboard_diagnosticsAttention .AdminDashboard_diagnosticsCount strong {
  color: var(--ad-warning-text, #7e5800);
}
.AdminDashboard_diagnosticsBody {
  display: grid;
  gap: 4px;
  padding: 12px 20px 17px 40px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminDashboard_diagnosticsDescription,
.AdminDashboard_diagnosticsState {
  margin: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.55;
}
.AdminDashboard_diagnosticsState {
  color: var(--ad-text-label, #424656);
  font-weight: 600;
}
.AdminDashboard_diagnosticsAttention .AdminDashboard_diagnosticsState {
  color: var(--ad-warning-text, #7e5800);
}
@media (max-width: 680px) {
  .AdminDashboard_diagnosticsSummary {
    align-items: flex-start;
    flex-direction: column;
    padding: 16px;
  }
  .AdminDashboard_diagnosticsCount {
    text-align: left;
  }
  .AdminDashboard_diagnosticsBody {
    padding: 12px 16px 16px;
  }
}
.AdminDashboard_footerNote {
  max-width: 76ch;
}
@media (max-width: 1060px) {
  .AdminDashboard_taskRow {
    grid-template-columns: minmax(0, 1fr) minmax(170px, 0.75fr) auto;
  }
  .AdminDashboard_received {
    grid-column: 1;
  }
  .AdminDashboard_openLink {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
  .AdminDashboard_stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .AdminDashboard_sectionHeading {
    align-items: flex-start;
    flex-direction: column;
  }
  .AdminDashboard_refreshGroup {
    width: 100%;
    justify-content: space-between;
  }
  .AdminDashboard_taskRow {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 14px;
    padding: 14px 2px;
  }
  .AdminDashboard_taskMain {
    grid-column: 1 / -1;
  }
  .AdminDashboard_assignment {
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .AdminDashboard_assignment > div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .AdminDashboard_received {
    grid-column: 1;
    grid-row: 3;
  }
  .AdminDashboard_openLink {
    grid-column: 2;
    grid-row: 2 / span 2;
    align-self: center;
  }
  .AdminDashboard_stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
  }
  .AdminDashboard_stat dd {
    font-size: 19px;
  }
}

/* app/components/AdminPwaRuntime.module.css */
.pwa-runtime-banner.AdminPwaRuntime_installBanner {
  position: static;
  z-index: auto;
  left: auto;
  top: auto;
  width: auto;
  transform: none;
  margin: 0 0 14px;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: left;
}
.AdminPwaRuntime_installCopy {
  display: grid;
  flex: 1 1 280px;
  gap: 2px;
  min-width: 0;
}
.AdminPwaRuntime_installActions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}
.AdminPwaRuntime_installDismiss {
  display: none;
}
.AdminPwaRuntime_installTitle {
  color: #17302f;
  font-weight: 700;
}
.AdminPwaRuntime_installDetail {
  color: #5b6370;
}
.AdminPwaRuntime_installHelp {
  flex: 1 0 100%;
  margin: 0;
  padding-top: 8px;
  color: #5b6370;
  line-height: 1.55;
}
@media (max-width: 760px) {
  .pwa-runtime-banner.AdminPwaRuntime_installBanner {
    gap: 6px;
    margin: 0 0 10px;
    padding: 9px 11px;
    border-radius: 12px;
    align-items: center;
  }
  .AdminPwaRuntime_installCopy {
    flex: 1 1 100%;
    gap: 0;
  }
  .AdminPwaRuntime_installTitle {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .AdminPwaRuntime_installDetail {
    display: block;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.5;
  }
  .AdminPwaRuntime_installActions {
    width: 100%;
    justify-content: flex-end;
    gap: 6px;
  }
  .AdminPwaRuntime_installActions .admin-btn {
    min-height: 34px;
    padding: 6px 10px;
    font-size: 12px;
  }
  .AdminPwaRuntime_installDismiss {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--ad-line-field, #dfe4eb);
    border-radius: 999px;
    background: var(--ad-surface, #fff);
    color: var(--ad-text-muted, #727687);
    font-size: 17px;
    line-height: 1;
  }
  .AdminPwaRuntime_installHelp {
    padding-top: 4px;
    font-size: 12px;
  }
}

/* app/components/AdminNotificationBell.module.css */
.AdminNotificationBell_root {
  position: fixed;
  z-index: 205;
  inset-block-start: 18px;
  inset-inline-end: 20px;
}
.AdminNotificationBell_cmsAuthoringRoot {
  position: absolute;
}
.AdminNotificationBell_trigger {
  position: relative;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 9px;
  border: 1px solid var(--ad-line-field, #dbe1eb);
  border-radius: 11px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-label, #424656);
  box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
  cursor: pointer;
}
.AdminNotificationBell_trigger:hover,
.AdminNotificationBell_trigger[aria-expanded=true] {
  border-color: var(--ad-accent-line, #cfe0ff);
  background: var(--ad-surface-hover, #f4f7fb);
  color: var(--ad-accent-hover, #0052cc);
}
.AdminNotificationBell_trigger:focus-visible,
.AdminNotificationBell_refreshButton:focus-visible,
.AdminNotificationBell_retryButton:focus-visible,
.AdminNotificationBell_itemLink:focus-visible,
.AdminNotificationBell_allLink:focus-visible,
.AdminNotificationBell_menu:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 3px;
}
.AdminNotificationBell_trigger svg {
  width: 20px;
  height: 20px;
}
.AdminNotificationBell_badge {
  position: absolute;
  inset-block-start: -6px;
  inset-inline-end: -7px;
  min-width: 19px;
  height: 19px;
  padding: 2px 5px;
  border: 2px solid var(--ad-surface, #fff);
  border-radius: 999px;
  background: var(--ad-danger-text, #c62828);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 13px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.AdminNotificationBell_menu {
  position: absolute;
  inset-block-start: 48px;
  inset-inline-end: 0;
  display: grid;
  width: min(380px, calc(100vw - 28px));
  max-height: min(72vh, 640px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--ad-line-card, #dfe4eb);
  border-radius: 14px;
  background: var(--ad-surface, #fff);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
  color: var(--ad-text-label, #424656);
}
.AdminNotificationBell_menuHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  border-block-end: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminNotificationBell_menuHeading > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.AdminNotificationBell_menuHeading b {
  color: var(--ad-text-strong, #17191d);
  font-size: 14px;
}
.AdminNotificationBell_menuHeading span {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
}
.AdminNotificationBell_refreshButton,
.AdminNotificationBell_retryButton {
  border: 0;
  background: transparent;
  color: var(--ad-accent-hover, #0052cc);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}
.AdminNotificationBell_refreshButton {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 5px 6px;
}
.AdminNotificationBell_refreshButton:hover:not(:disabled),
.AdminNotificationBell_retryButton:hover:not(:disabled) {
  color: var(--ad-accent, #0066ff);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.AdminNotificationBell_refreshButton:disabled,
.AdminNotificationBell_retryButton:disabled {
  color: var(--ad-text-muted, #727687);
  cursor: not-allowed;
  opacity: .62;
}
.AdminNotificationBell_actionError {
  margin: 0;
  padding: 11px 16px;
  border-block-end: 1px solid var(--ad-danger-line, #f0c5c2);
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
  font-size: 12px;
  line-height: 1.55;
}
.AdminNotificationBell_list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.AdminNotificationBell_item,
.AdminNotificationBell_itemUnread {
  border-block-end: 1px solid var(--ad-line-divider, #f0f2f5);
}
.AdminNotificationBell_itemUnread {
  background: var(--ad-accent-surface, #f7faff);
}
.AdminNotificationBell_itemLink {
  display: grid;
  min-width: 0;
  gap: 5px;
  padding: 13px 16px;
  color: inherit;
  text-decoration: none;
}
.AdminNotificationBell_itemLink:hover {
  background: var(--ad-surface-hover, #f1f6ff);
}
.AdminNotificationBell_itemLink[aria-busy=true] {
  cursor: wait;
  opacity: .7;
}
.AdminNotificationBell_itemMeta {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--ad-accent-hover, #0052cc);
  font-size: 11px;
}
.AdminNotificationBell_itemMeta time {
  color: var(--ad-text-muted, #8a919b);
  font-variant-numeric: tabular-nums;
}
.AdminNotificationBell_itemTitle,
.AdminNotificationBell_itemBody {
  min-width: 0;
  overflow-wrap: anywhere;
}
.AdminNotificationBell_itemTitle {
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
  line-height: 1.35;
}
.AdminNotificationBell_itemBody {
  display: block;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.45;
}
.AdminNotificationBell_state {
  margin: 0;
  padding: 20px 16px;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.6;
}
.AdminNotificationBell_state p {
  margin: 0 0 10px;
}
.AdminNotificationBell_allLink {
  display: block;
  padding: 13px 16px;
  border-block-start: 1px solid var(--ad-line-divider, #edf0f4);
  color: var(--ad-accent-hover, #0052cc);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.AdminNotificationBell_allLink:hover {
  background: var(--ad-surface-hover, #f1f6ff);
}
@media (max-width: 700px) {
  .AdminNotificationBell_root {
    inset-block-start: 13px;
    inset-inline-end: 14px;
  }
  .AdminNotificationBell_root.AdminNotificationBell_requestsRoot {
    position: relative;
    inset-block-start: auto;
    inset-inline-end: auto;
    width: fit-content;
    margin-inline-start: auto;
    margin-block-end: 12px;
  }
  .AdminNotificationBell_trigger {
    width: 36px;
    height: 36px;
    padding: 8px;
  }
  .AdminNotificationBell_menu {
    inset-block-start: 44px;
  }
}

/* app/components/AdminPageHeader.module.css */
.AdminPageHeader_header {
  min-width: 0;
}
.AdminPageHeader_content {
  min-width: 0;
}
.AdminPageHeader_content h1 {
  overflow-wrap: anywhere;
}
.AdminPageHeader_description {
  max-width: 72ch;
}
.admin-actions.AdminPageHeader_actions {
  align-items: center;
  flex-wrap: wrap;
}

/* app/components/AdminOperatorGuide.module.css */
.AdminOperatorGuide_footer {
  min-width: 0;
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid var(--ad-line-divider, #e7ebf0);
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.AdminOperatorGuide_title {
  margin: 0 0 10px;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.AdminOperatorGuide_topics {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.AdminOperatorGuide_topic {
  min-width: 0;
  border: 1px solid var(--ad-line-divider, #e7ebf0);
  border-radius: 12px;
  background: var(--ad-surface, #fff);
}
.AdminOperatorGuide_summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  min-height: 44px;
  padding: 9px 14px;
  color: var(--ad-text-strong, #17191d);
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.AdminOperatorGuide_summary::-webkit-details-marker {
  display: none;
}
.AdminOperatorGuide_summary::after {
  flex: 0 0 auto;
  color: var(--ad-accent-hover, #0052cc);
  font-size: 12px;
  font-weight: 600;
  content: "펼치기";
  content: "펼치기" / "";
}
.AdminOperatorGuide_topic[open] .AdminOperatorGuide_summary::after {
  content: "접기";
  content: "접기" / "";
}
.AdminOperatorGuide_summary:focus-visible {
  border-radius: 10px;
  outline: 3px solid var(--ad-accent, #0066ff);
  outline-offset: 2px;
}
.AdminOperatorGuide_steps {
  margin: 0;
  padding: 2px 16px 14px 34px;
  color: var(--ad-text-body, #424656);
}
.AdminOperatorGuide_steps li {
  margin: 7px 0;
  padding-left: 2px;
}
.AdminOperatorGuide_steps li::marker {
  color: var(--ad-text-muted, #5b6370);
  font-weight: 700;
}
.AdminOperatorGuide_steps b {
  color: var(--ad-text-strong, #17191d);
}
.AdminOperatorGuide_steps a {
  color: var(--ad-accent-hover, #0052cc);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.AdminOperatorGuide_steps a:hover {
  color: var(--ad-accent, #00489d);
}
@media (max-width: 480px) {
  .AdminOperatorGuide_steps {
    padding-left: 28px;
  }
}

/* app/components/AdminShell.module.css */
.AdminShell_navSection {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 8px 0;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminShell_nav {
  min-width: 0;
}
.AdminShell_navSection:first-child {
  padding-top: 0;
  border-top: 0;
}
.AdminShell_navSectionLabel {
  margin: 6px 14px 2px;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.AdminShell_navSectionToggle {
  display: none;
}
.AdminShell_navSectionLinks {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.AdminShell_navSection a[aria-current=page] {
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-hover, #0052cc);
  font-weight: 700;
}
.AdminShell_currentGroupIndicator {
  display: none;
}
.AdminShell_mobileLogout {
  display: none;
}
.AdminShell_mobileHeader {
  display: none;
}
.AdminShell_logoutError {
  margin: 7px 0 0;
}
@media (max-width: 760px) {
  .AdminShell_mobileHeader {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    min-width: 0;
    margin: 0 0 10px;
  }
  .admin-sidebar .AdminShell_mobileHeader .AdminShell_mobileBrand {
    margin: 0;
    padding: 0;
  }
  .AdminShell_mobileCurrent {
    flex: 1 1 72px;
    min-width: 0;
    overflow: hidden;
    color: var(--ad-accent-hover, #0052cc);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .AdminShell_mobileMenuButton {
    flex: 0 0 auto;
    min-height: 40px;
    margin-right: 44px;
    padding: 8px 13px;
    border: 1px solid var(--ad-line-field, #dfe4eb);
    border-radius: 10px;
    background: var(--ad-surface, #fff);
    color: var(--ad-text-strong, #17191d);
    font-size: 13px;
    font-weight: 700;
  }
  .AdminShell_mobileMenuButton[aria-expanded=true] {
    border-color: var(--ad-accent, #0066ff);
    background: var(--ad-accent-surface, #eaf2ff);
    color: var(--ad-accent-hover, #0052cc);
  }
  .admin-sidebar .brand.AdminShell_desktopBrand {
    display: none;
  }
  .admin-nav.AdminShell_nav[data-mobile-open=false] {
    display: none;
  }
  .admin-nav.AdminShell_nav[data-mobile-open=true] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
    align-content: start;
    gap: 8px;
    min-width: 0;
    overflow: visible;
  }
  .admin-sidebar .AdminShell_mobileLogout {
    margin-top: 10px;
  }
  .AdminShell_navSection,
  .AdminShell_navSection:first-child {
    display: block;
    min-width: 0;
    padding: 0;
    border: 1px solid var(--ad-line-divider, #edf0f4);
    border-radius: var(--wmr-radius-button, 12px);
    background: var(--ad-surface, #fff);
  }
  .AdminShell_navSection[data-expanded=true] {
    grid-column: 1 / -1;
  }
  .AdminShell_navSectionLabel {
    display: none;
  }
  .AdminShell_navSectionToggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 0;
    border-radius: inherit;
    background: transparent;
    color: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
    text-align: left;
    font-size: 13px;
    font-weight: 700;
  }
  .AdminShell_navSection[data-current=true] .AdminShell_navSectionToggle {
    color: var(--ad-accent-hover, #0052cc);
  }
  .AdminShell_navSectionToggle::after {
    content: "";
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 140ms ease;
  }
  .AdminShell_navSection[data-expanded=true] .AdminShell_navSectionToggle::after {
    transform: rotate(225deg);
  }
  .AdminShell_currentGroupIndicator {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    color: var(--ad-accent, #0066ff);
    font-size: 11px;
    font-weight: 600;
  }
  .AdminShell_navSectionLinks {
    display: grid;
    gap: 4px;
    padding: 0 8px 8px;
  }
  .AdminShell_navSection[data-expanded=false] .AdminShell_navSectionLinks {
    display: none;
  }
  .admin-nav.AdminShell_nav .AdminShell_navSectionLinks a {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: var(--wmr-radius-button, 12px);
    line-height: 1.4;
    white-space: normal;
  }
  .AdminShell_navSection a[aria-current=page] {
    background: var(--ad-accent-surface, #eaf2ff);
    color: var(--ad-accent-hover, #0052cc);
    font-weight: 700;
  }
  .AdminShell_mobileLogout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 10px;
    margin-top: 10px;
    padding: 10px 5px 0;
    border-top: 1px solid var(--ad-line-divider, #edf0f4);
  }
  .AdminShell_mobileLogoutIdentity {
    display: grid;
    gap: 2px;
    min-width: 0;
    font-size: 12px;
  }
  .AdminShell_mobileLogoutIdentity span {
    color: var(--ad-text-subtle, #687481);
  }
  .AdminShell_mobileLogout > button {
    min-height: 44px;
    white-space: nowrap;
  }
  .AdminShell_mobileLogout .AdminShell_logoutError {
    grid-column: 1 / -1;
    margin: 0;
  }
}
@media (max-width: 760px) and (min-width: 601px) {
  .AdminShell_mobileLogout ~ .admin-bottom {
    display: none;
  }
  .AdminShell_mobileMenuButton {
    margin-right: 0;
  }
  .AdminShell_mobileCurrent {
    flex-basis: 100%;
    text-align: left;
  }
  .AdminShell_mobileBrand .AdminShell_mobileLogo {
    width: 108px;
    height: 44px;
  }
  .admin-nav.AdminShell_nav[data-mobile-open=true] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: reduce) {
  .AdminShell_navSectionToggle::after {
    transition: none;
  }
}

/* app/admin/products/ProductCatalogList.module.css */
.ProductCatalogList_catalogLayout {
  display: grid;
  gap: var(--ad-gap-loose, 20px);
  min-width: 0;
}
.ProductCatalogList_catalogLayout .admin-topbar {
  align-items: center;
}
.ProductCatalogList_listCard {
  min-width: 0;
}
.ProductCatalogList_listHeading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ad-gap, 12px);
  margin-bottom: var(--ad-gap-loose, 20px);
}
.ProductCatalogList_listHeading h2 {
  margin: 0;
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 19px;
}
.ProductCatalogList_listHeading .ProductCatalogList_eyebrow {
  margin: 0 0 3px;
}
.ProductCatalogList_filterForm {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(140px, 190px) minmax(170px, 230px) auto;
  align-items: end;
  gap: var(--ad-gap, 12px);
}
.ProductCatalogList_filterForm label {
  display: grid;
  gap: var(--ad-gap-tight, 4px);
  min-width: 0;
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.ProductCatalogList_filterForm input,
.ProductCatalogList_filterForm select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-button, 10px);
  padding: 9px 11px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-primary, #1c1b1b);
}
.ProductCatalogList_saleTypeChips {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ad-gap-tight, 4px);
}
.ProductCatalogList_saleTypeLegend {
  margin-right: 4px;
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.ProductCatalogList_saleTypeNote {
  margin: 10px 0 0;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.55;
}
.ProductCatalogList_saleTypeNote a {
  color: var(--ad-accent, #0052cc);
  text-underline-offset: 2px;
}
.ProductCatalogList_productList {
  display: grid;
  margin-top: var(--ad-gap, 12px);
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductCatalogList_productRow {
  display: grid;
  grid-template-columns: 44px minmax(200px, 1fr) auto auto;
  align-items: center;
  gap: var(--ad-gap-loose, 20px);
  min-width: 0;
  padding: 17px 0;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductCatalogList_thumbLink {
  display: block;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--ad-surface-soft, #f4f6f9);
}
.ProductCatalogList_thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ProductCatalogList_thumbEmpty {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background: var(--ad-surface-soft, #f4f6f9);
  color: var(--ad-text-muted, #687481);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  overflow-wrap: anywhere;
}
.ProductCatalogList_productIdentity {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.ProductCatalogList_productName {
  width: fit-content;
  max-width: 100%;
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 15px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.ProductCatalogList_productName:hover {
  color: var(--ad-accent, #0052cc);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ProductCatalogList_productMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  min-width: 0;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
}
.ProductCatalogList_productId {
  min-width: 0;
  color: var(--ad-text-code, #536173);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: 10px;
  overflow-wrap: anywhere;
}
.ProductCatalogList_productState,
.ProductCatalogList_rowActions {
  display: flex;
  align-items: center;
  justify-content: end;
  flex-wrap: wrap;
  gap: var(--ad-gap-tight, 4px);
}
.ProductCatalogList_moreActions {
  position: relative;
}
.ProductCatalogList_moreActions summary {
  cursor: pointer;
  list-style: none;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-button, 10px);
  padding: 10px 13px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.ProductCatalogList_moreActions summary::-webkit-details-marker {
  display: none;
}
.ProductCatalogList_moreActions summary:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.ProductCatalogList_statusActions {
  position: absolute;
  top: calc(100% + 5px);
  right: 0;
  z-index: 5;
  display: grid;
  min-width: 126px;
  gap: var(--ad-gap-tight, 4px);
  padding: 7px;
  border: 1px solid var(--ad-line-card, #e2e7ee);
  border-radius: var(--wmr-radius-card, 12px);
  background: var(--ad-surface, #fff);
  box-shadow: 0 10px 28px rgba(18, 31, 54, 0.12);
}
.ProductCatalogList_statusActions .admin-btn {
  width: 100%;
  text-align: left;
}
.ProductCatalogList_taskActions {
  position: absolute;
  top: calc(100% + 5px);
  right: 0;
  z-index: 5;
  display: grid;
  min-width: 164px;
  gap: var(--ad-gap-tight, 4px);
  padding: 9px;
  border: 1px solid var(--ad-line-card, #e2e7ee);
  border-radius: var(--wmr-radius-card, 12px);
  background: var(--ad-surface, #fff);
  box-shadow: 0 10px 28px rgba(18, 31, 54, 0.12);
}
.ProductCatalogList_taskActions > span {
  padding: 2px 4px 5px;
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
  line-height: 1.45;
}
.ProductCatalogList_taskActions a {
  display: block;
  padding: 8px 7px;
  border-radius: var(--wmr-radius-button, 10px);
  color: var(--ad-text-label, #424956);
  font-size: 12px;
  text-decoration: none;
}
.ProductCatalogList_taskActions a:hover,
.ProductCatalogList_taskActions a:focus-visible {
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent, #0052cc);
}
.ProductCatalogList_emptyState {
  display: grid;
  justify-items: start;
  gap: 8px;
  margin-top: var(--ad-gap-loose, 20px);
  padding: clamp(20px, 4vw, 32px);
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-card, 14px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.ProductCatalogList_emptyState b {
  color: var(--ad-text-strong, #1c1b1b);
}
.ProductCatalogList_emptyState p {
  margin: 0 0 6px;
  color: var(--ad-text-muted, #687481);
  font-size: 13px;
}
.ProductCatalogList_pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ad-gap, 12px);
  margin-top: var(--ad-gap-loose, 20px);
  padding-top: var(--ad-gap, 12px);
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
}
@media (max-width: 900px) {
  .ProductCatalogList_filterForm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ProductCatalogList_searchField {
    grid-column: 1 / -1;
  }
  .ProductCatalogList_productRow {
    grid-template-columns: 44px minmax(0, 1fr) auto;
  }
  .ProductCatalogList_productState {
    grid-column: 3;
    grid-row: 1;
  }
  .ProductCatalogList_rowActions {
    grid-column: 1 / -1;
    justify-content: start;
  }
}
@media (max-width: 560px) {
  .ProductCatalogList_catalogLayout .admin-topbar {
    align-items: stretch;
    flex-direction: column;
  }
  .ProductCatalogList_catalogLayout .admin-topbar > .admin-btn {
    width: 100%;
    justify-content: center;
  }
  .ProductCatalogList_filterForm {
    grid-template-columns: 1fr;
  }
  .ProductCatalogList_searchField {
    grid-column: auto;
  }
  .ProductCatalogList_filterForm .admin-btn {
    width: 100%;
  }
  .ProductCatalogList_productRow {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ad-gap, 12px);
  }
  .ProductCatalogList_productState {
    grid-column: auto;
    grid-row: auto;
    justify-content: start;
  }
  .ProductCatalogList_rowActions {
    justify-content: start;
  }
  .ProductCatalogList_pagination {
    align-items: stretch;
    flex-direction: column;
  }
}
.ProductCatalogList_headingActions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ProductCatalogList_departureSummary {
  display: inline-block;
  margin-top: 4px;
  color: var(--ad-accent, #0052cc);
  font-size: 12px;
}

/* app/admin/products/ProductEditorWorkspace.module.css */
.ProductEditorWorkspace_editorLayout {
  display: grid;
  gap: var(--ad-gap-loose, 20px);
  min-width: 0;
}
.ProductEditorWorkspace_routeState {
  display: grid;
  justify-items: start;
  gap: var(--ad-gap, 12px);
  max-width: 760px;
  padding: clamp(24px, 4vw, 42px);
}
.ProductEditorWorkspace_routeState h1,
.ProductEditorWorkspace_routeState p {
  margin: 0;
}
.ProductEditorWorkspace_routeState h1 {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: clamp(24px, 3vw, 32px);
  letter-spacing: -0.035em;
}
.ProductEditorWorkspace_routeState p:not(.ProductEditorWorkspace_eyebrow) {
  color: var(--ad-text-muted, #727687);
}
.ProductEditorWorkspace_productId {
  display: block;
  margin-top: 5px;
  color: var(--ad-text-code, #536173);
  font-variant-numeric: tabular-nums;
}
.ProductEditorWorkspace_topbarTitleRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
}
.ProductEditorWorkspace_topbarTitleRow .ProductEditorWorkspace_saleTypeBadge {
  align-items: center;
  border: 1px solid transparent;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  padding: 5px 12px;
  white-space: nowrap;
}
.ProductEditorWorkspace_topbarTitleRow button.ProductEditorWorkspace_saleTypeBadge {
  cursor: pointer;
}
.ProductEditorWorkspace_topbarTitleRow button.ProductEditorWorkspace_saleTypeBadge:hover {
  border-color: #e3c27f;
}
.ProductEditorWorkspace_sectionNav {
  display: flex;
  gap: var(--ad-gap-tight, 4px);
  overflow-x: auto;
  padding: 0 0 6px;
  border-bottom: 1px solid var(--ad-line-divider, #e7ebf0);
  scrollbar-width: thin;
}
.ProductEditorWorkspace_sectionNav a {
  flex: 0 0 auto;
  border-radius: var(--wmr-radius-button, 10px);
  padding: 8px 11px;
  color: var(--ad-text-label, #424956);
  font-size: 13px;
  text-decoration: none;
}
.ProductEditorWorkspace_sectionNav a:hover,
.ProductEditorWorkspace_sectionNav a:focus-visible {
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent, #0052cc);
}
.ProductEditorWorkspace_formSection {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ad-gap-loose, 20px);
  scroll-margin-top: 24px;
}
.ProductEditorWorkspace_sectionHeading,
.ProductEditorWorkspace_departureEditorHeading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ad-gap, 12px);
  flex-wrap: wrap;
}
.ProductEditorWorkspace_sectionHeading h2,
.ProductEditorWorkspace_departureEditorHeading h3 {
  margin: 0;
  color: var(--ad-text-strong, #1c1b1b);
  letter-spacing: -0.025em;
}
.ProductEditorWorkspace_sectionHeading h2 {
  font-size: 19px;
}
.ProductEditorWorkspace_sectionHeading .ProductEditorWorkspace_eyebrow,
.ProductEditorWorkspace_departureEditorHeading .ProductEditorWorkspace_eyebrow {
  margin: 0 0 3px;
}
.ProductEditorWorkspace_advancedInput {
  display: grid;
  gap: var(--ad-gap, 12px);
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  padding-top: var(--ad-gap, 12px);
}
.ProductEditorWorkspace_advancedInput summary {
  width: fit-content;
  cursor: pointer;
  color: var(--ad-text-muted, #687481);
  font-size: 13px;
}
.ProductEditorWorkspace_advancedInput summary,
.ProductEditorWorkspace_sectionSummary {
  min-height: 36px;
  padding: 8px 0;
  list-style: none;
}
.ProductEditorWorkspace_advancedInput summary::-webkit-details-marker,
.ProductEditorWorkspace_sectionSummary::-webkit-details-marker {
  display: none;
}
.ProductEditorWorkspace_advancedInput summary::before,
.ProductEditorWorkspace_sectionSummaryAction::before {
  display: inline-block;
  margin-right: 6px;
  color: var(--ad-accent, #0052cc);
  content: "＋";
  font-weight: 700;
}
.ProductEditorWorkspace_advancedInput[open] > summary::before,
.ProductEditorWorkspace_historyDetails[open] .ProductEditorWorkspace_sectionSummaryAction::before {
  content: "－";
}
.ProductEditorWorkspace_advancedInput summary:focus-visible,
.ProductEditorWorkspace_sectionSummary:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 3px;
  border-radius: 6px;
}
.ProductEditorWorkspace_workflowGuide,
.ProductEditorWorkspace_readinessPanel {
  display: grid;
  gap: var(--ad-gap, 12px);
  border: 1px solid var(--ad-line-card, #e2e7ee);
  border-radius: var(--wmr-radius-card, 16px);
  background: var(--ad-surface, #fff);
}
.ProductEditorWorkspace_workflowGuide {
  padding: 18px 20px;
}
.ProductEditorWorkspace_workflowCopy {
  display: grid;
  gap: 5px;
}
.ProductEditorWorkspace_workflowCopy h2,
.ProductEditorWorkspace_workflowCopy p,
.ProductEditorWorkspace_readinessHeading h2,
.ProductEditorWorkspace_readinessHeading p {
  margin: 0;
}
.ProductEditorWorkspace_workflowCopy h2,
.ProductEditorWorkspace_readinessHeading h2 {
  color: var(--ad-text-strong, #1c1b1b);
  letter-spacing: -0.025em;
}
.ProductEditorWorkspace_workflowCopy h2 {
  font-size: 18px;
}
.ProductEditorWorkspace_workflowCopy p,
.ProductEditorWorkspace_readinessHeading p {
  max-width: 78ch;
  color: var(--ad-text-muted, #687481);
  font-size: 13px;
  line-height: 1.6;
}
.ProductEditorWorkspace_workflowLabel {
  color: var(--ad-accent, #0052cc);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.ProductEditorWorkspace_workflowPath {
  margin: 0;
  color: var(--ad-text-label, #424956);
  font-size: 13px;
  line-height: 1.6;
}
.ProductEditorWorkspace_workflowPath span {
  margin: 0 5px;
  color: var(--ad-text-muted, #687481);
}
.ProductEditorWorkspace_workflowLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ProductEditorWorkspace_workflowLinks a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-button, 10px);
  padding: 7px 11px;
  color: var(--ad-text-label, #424956);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.ProductEditorWorkspace_workflowLinks a:hover,
.ProductEditorWorkspace_workflowLinks a:focus-visible {
  border-color: var(--ad-accent, #0052cc);
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent, #0052cc);
}
.ProductEditorWorkspace_readinessPanel {
  gap: 16px;
  padding: 20px;
}
.ProductEditorWorkspace_readinessHeading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--ad-gap, 12px);
}
.ProductEditorWorkspace_readinessHeading > div {
  min-width: 0;
}
.ProductEditorWorkspace_readinessHeading h2 {
  font-size: 19px;
}
.ProductEditorWorkspace_readinessHeading p {
  margin-top: 5px;
}
.ProductEditorWorkspace_readinessGrid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_readinessGrid > div {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 13px 12px;
  border-right: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_readinessGrid > div:last-child {
  border-right: 0;
}
.ProductEditorWorkspace_readinessGrid dt {
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  font-weight: 700;
}
.ProductEditorWorkspace_readinessGrid dd {
  min-width: 0;
  margin: 0;
}
.ProductEditorWorkspace_readinessGrid .status-pill {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  white-space: normal;
  line-height: 1.35;
}
.ProductEditorWorkspace_conditionalField {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-button, 10px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.ProductEditorWorkspace_conditionalField b {
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.ProductEditorWorkspace_conditionalField p {
  margin: 0;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.5;
}
.ProductEditorWorkspace_conflictPanel {
  display: grid;
  gap: 10px;
}
.ProductEditorWorkspace_conflictPanel p {
  margin: 0;
  line-height: 1.55;
}
.ProductEditorWorkspace_conflictHeading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}
.ProductEditorWorkspace_conflictHeading > div {
  display: grid;
  gap: 3px;
}
.ProductEditorWorkspace_conflictHeading > div > b {
  color: var(--ad-danger-text, #a4332d);
}
.ProductEditorWorkspace_conflictHeading > div > span {
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
}
.ProductEditorWorkspace_historySection {
  gap: 0;
}
.ProductEditorWorkspace_historyDetails {
  display: grid;
  gap: var(--ad-gap-loose, 20px);
}
.ProductEditorWorkspace_sectionSummary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ad-gap, 12px);
  cursor: pointer;
}
.ProductEditorWorkspace_sectionSummaryCopy {
  display: grid;
  gap: 3px;
}
.ProductEditorWorkspace_sectionSummaryCopy [role=heading] {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.025em;
}
.ProductEditorWorkspace_sectionSummaryAction {
  flex: 0 0 auto;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  font-weight: 700;
}
.ProductEditorWorkspace_historyBody {
  display: grid;
  gap: var(--ad-gap, 12px);
}
.ProductEditorWorkspace_formActions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ad-gap, 12px);
}
.ProductEditorWorkspace_workflowSteps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 4px;
  border: 1px solid var(--ad-line-card, #e2e7ee);
  border-radius: var(--wmr-radius-card, 16px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.ProductEditorWorkspace_workflowStep {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 54px;
  border: 1px solid transparent;
  border-radius: var(--wmr-radius-button, 10px);
  padding: 9px 11px;
  background: transparent;
  color: var(--ad-text-muted, #687481);
  text-align: left;
}
.ProductEditorWorkspace_workflowStep:not(:disabled) {
  cursor: pointer;
}
.ProductEditorWorkspace_workflowStep:not(:disabled):hover {
  background: var(--ad-surface, #fff);
  color: var(--ad-text-label, #424956);
}
.ProductEditorWorkspace_workflowStep:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.ProductEditorWorkspace_workflowStep > span:last-child {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.ProductEditorWorkspace_workflowStep b {
  color: inherit;
  font-size: 13px;
}
.ProductEditorWorkspace_workflowStep small {
  color: inherit;
  font-size: 11px;
  line-height: 1.35;
}
.ProductEditorWorkspace_workflowStepNumber {
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 50%;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  font-weight: 700;
}
.ProductEditorWorkspace_workflowStep-current {
  border-color: var(--ad-accent, #0066ff);
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-hover, #0052cc);
}
.ProductEditorWorkspace_workflowStep-current .ProductEditorWorkspace_workflowStepNumber,
.ProductEditorWorkspace_workflowStep-complete .ProductEditorWorkspace_workflowStepNumber {
  border-color: var(--ad-accent, #0066ff);
  background: var(--ad-accent, #0066ff);
  color: #fff;
}
.ProductEditorWorkspace_workflowStep-complete {
  color: var(--ad-text-label, #424956);
}
.ProductEditorWorkspace_workflowSummary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 4px 2px 0;
}
.ProductEditorWorkspace_workflowSummary > div {
  min-width: 0;
}
.ProductEditorWorkspace_workflowSummary h2,
.ProductEditorWorkspace_workflowSummary p {
  margin: 0;
}
.ProductEditorWorkspace_workflowSummary h2 {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 22px;
  letter-spacing: -0.03em;
}
.ProductEditorWorkspace_workflowSummary p:not(.ProductEditorWorkspace_eyebrow) {
  max-width: 70ch;
  margin-top: 5px;
  color: var(--ad-text-muted, #687481);
  font-size: 13px;
  line-height: 1.6;
}
.ProductEditorWorkspace_workflowSummary .ProductEditorWorkspace_eyebrow {
  margin: 0 0 4px;
}
.ProductEditorWorkspace_conditionSummary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: var(--wmr-radius-button, 10px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.ProductEditorWorkspace_conditionSummary > div {
  display: grid;
  gap: 3px;
}
.ProductEditorWorkspace_conditionSummary span {
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
}
.ProductEditorWorkspace_conditionSummary strong {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
}
.ProductEditorWorkspace_codeSummary {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 14px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: var(--wmr-radius-button, 10px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.ProductEditorWorkspace_codeSummary > span {
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  font-weight: 700;
}
.ProductEditorWorkspace_codeSummary code {
  flex: 1 1 220px;
  min-width: 0;
  color: var(--ad-text-code, #536173);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.ProductEditorWorkspace_codeSummary b {
  flex: 1 1 220px;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  font-weight: 500;
}
.ProductEditorWorkspace_codeSummary .admin-btn {
  padding: 7px 10px;
  font-size: 12px;
}
.ProductEditorWorkspace_freeRangeFields {
  display: grid;
  gap: 8px;
}
.ProductEditorWorkspace_freeRangeFields .ProductEditorWorkspace_form-grid {
  margin: 0;
}
.ProductEditorWorkspace_freeDepartureNotice,
.ProductEditorWorkspace_previewStep,
.ProductEditorWorkspace_completeStep {
  display: grid;
  gap: 14px;
}
.ProductEditorWorkspace_freeDepartureNotice {
  padding: 16px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-button, 10px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.ProductEditorWorkspace_freeDepartureNotice strong {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 14px;
}
.ProductEditorWorkspace_freeDepartureNotice p,
.ProductEditorWorkspace_previewStep > p,
.ProductEditorWorkspace_completeStep p {
  margin: 0;
  color: var(--ad-text-muted, #687481);
  font-size: 13px;
  line-height: 1.6;
}
.ProductEditorWorkspace_previewFacts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_previewFacts > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-right: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_previewFacts > div:last-child {
  border-right: 0;
}
.ProductEditorWorkspace_previewFacts dt {
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
}
.ProductEditorWorkspace_previewFacts dd {
  margin: 0;
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.ProductEditorWorkspace_completeStep {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}
.ProductEditorWorkspace_completeStep > .ProductEditorWorkspace_admin-actions {
  grid-column: 1 / -1;
}
.ProductEditorWorkspace_completeMark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: var(--ad-success-surface, #e8f7ed);
  color: var(--ad-success-text, #20783a);
  font-size: 24px;
  font-weight: 700;
}
.ProductEditorWorkspace_departureEditorHeading {
  margin: 24px 0 8px;
  padding-top: 18px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_departureEditorHeading h3 {
  font-size: 16px;
}
.ProductEditorWorkspace_dialogBackdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(20, 28, 40, 0.42);
}
.ProductEditorWorkspace_confirmDialog {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ad-gap, 12px);
  width: min(560px, 100%);
  max-height: min(88vh, 760px);
  overflow: auto;
  padding: clamp(20px, 4vw, 28px);
  border: 1px solid var(--ad-line-card, #e2e7ee);
  border-radius: var(--wmr-radius-card, 16px);
  background: var(--ad-surface, #fff);
  box-shadow: 0 24px 72px rgba(18, 31, 54, 0.2);
  color: var(--ad-text-primary, #1c1b1b);
}
.ProductEditorWorkspace_confirmDialog > * {
  min-width: 0;
}
.ProductEditorWorkspace_confirmDialog .ProductEditorWorkspace_sectionHeading > * {
  min-width: 0;
}
.ProductEditorWorkspace_confirmDialog .ProductEditorWorkspace_sectionHeading h2 {
  overflow-wrap: anywhere;
}
.ProductEditorWorkspace_confirmDialog .admin-table-wrap {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}
.ProductEditorWorkspace_confirmDialog > .admin-actions {
  min-width: 0;
}
.ProductEditorWorkspace_confirmDialog > .admin-actions .admin-btn {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ProductEditorWorkspace_confirmDialog h2,
.ProductEditorWorkspace_confirmDialog p {
  margin: 0;
}
.ProductEditorWorkspace_confirmDialog h2 {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 20px;
  letter-spacing: -0.025em;
}
.ProductEditorWorkspace_confirmDialog > p:not(.ProductEditorWorkspace_eyebrow) {
  color: var(--ad-text-muted, #687481);
  font-size: 13px;
  line-height: 1.6;
}
.ProductEditorWorkspace_publishFacts {
  display: grid;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_publishFacts > div {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  font-size: 13px;
}
.ProductEditorWorkspace_publishFacts dt {
  color: var(--ad-text-muted, #687481);
}
.ProductEditorWorkspace_publishFacts dd {
  min-width: 0;
  margin: 0;
  color: var(--ad-text-primary, #1c1b1b);
}
@media (max-width: 700px) {
  .ProductEditorWorkspace_editorLayout .admin-topbar {
    align-items: stretch;
    flex-direction: column;
  }
  .ProductEditorWorkspace_editorLayout .admin-topbar > .admin-actions {
    justify-content: space-between;
  }
  .ProductEditorWorkspace_sectionHeading > .ProductEditorWorkspace_field-help {
    flex-basis: 100%;
  }
  .ProductEditorWorkspace_workflowSteps {
    grid-template-columns: repeat(4, minmax(86px, 1fr));
    overflow-x: auto;
  }
  .ProductEditorWorkspace_workflowStep {
    min-width: 86px;
    padding-inline: 8px;
  }
  .ProductEditorWorkspace_workflowStep small {
    display: none;
  }
  .ProductEditorWorkspace_workflowSummary {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }
  .ProductEditorWorkspace_workflowSummary h2 {
    font-size: 20px;
  }
  .ProductEditorWorkspace_previewFacts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ProductEditorWorkspace_previewFacts > div:nth-child(2n) {
    border-right: 0;
  }
  .ProductEditorWorkspace_previewFacts > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  }
  .ProductEditorWorkspace_conditionSummary {
    grid-template-columns: 1fr;
  }
  .ProductEditorWorkspace_readinessHeading,
  .ProductEditorWorkspace_conflictHeading {
    align-items: stretch;
    flex-direction: column;
  }
  .ProductEditorWorkspace_readinessGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ProductEditorWorkspace_readinessGrid > div:nth-child(2n) {
    border-right: 0;
  }
  .ProductEditorWorkspace_readinessGrid > div:nth-child(-n+3) {
    border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  }
  .ProductEditorWorkspace_publishFacts > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .ProductEditorWorkspace_confirmDialog > .admin-actions {
    align-items: stretch;
    flex-direction: column;
  }
}
@media (max-width: 480px) {
  .ProductEditorWorkspace_workflowGuide,
  .ProductEditorWorkspace_readinessPanel {
    padding: 16px;
  }
  .ProductEditorWorkspace_readinessGrid {
    grid-template-columns: 1fr;
  }
  .ProductEditorWorkspace_readinessGrid > div,
  .ProductEditorWorkspace_readinessGrid > div:nth-child(2n) {
    border-right: 0;
    border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  }
  .ProductEditorWorkspace_readinessGrid > div:last-child {
    border-bottom: 0;
  }
  .ProductEditorWorkspace_workflowLinks a {
    flex: 1 1 100%;
    justify-content: center;
  }
  .ProductEditorWorkspace_workflowSteps {
    gap: 4px;
    padding: 3px;
  }
  .ProductEditorWorkspace_workflowStep {
    gap: 6px;
    min-width: 70px;
    min-height: 48px;
    padding: 7px 6px;
  }
  .ProductEditorWorkspace_workflowStep b {
    font-size: 12px;
  }
  .ProductEditorWorkspace_workflowStepNumber {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }
  .ProductEditorWorkspace_previewFacts {
    grid-template-columns: 1fr;
  }
  .ProductEditorWorkspace_previewFacts > div,
  .ProductEditorWorkspace_previewFacts > div:nth-child(2n) {
    border-right: 0;
    border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  }
  .ProductEditorWorkspace_previewFacts > div:last-child {
    border-bottom: 0;
  }
  .ProductEditorWorkspace_completeStep {
    grid-template-columns: 1fr;
  }
  .ProductEditorWorkspace_completeStep > .ProductEditorWorkspace_admin-actions {
    grid-column: auto;
  }
}
.ProductEditorWorkspace_formSection [data-departure-date-list] > .admin-actions {
  flex-wrap: wrap;
}
.ProductEditorWorkspace_formSection[hidden] {
  display: none;
}
.ProductEditorWorkspace_editorTabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--ad-line-divider, #e7ebf0);
  margin-bottom: var(--ad-gap, 12px);
}
.ProductEditorWorkspace_editorTab {
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--ad-text-label, #424956);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 14px;
  margin-bottom: -1px;
  cursor: pointer;
}
.ProductEditorWorkspace_editorTab:hover,
.ProductEditorWorkspace_editorTab:focus-visible {
  color: var(--ad-accent, #0052cc);
}
.ProductEditorWorkspace_editorTab:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.ProductEditorWorkspace_editorTabActive {
  border-bottom-color: var(--ad-accent, #0052cc);
  color: var(--ad-accent, #0052cc);
}
.ProductEditorWorkspace_departureCalendar {
  display: grid;
  gap: var(--ad-gap, 12px);
}
.ProductEditorWorkspace_departureDateChips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ProductEditorWorkspace_departureDateChips .ProductEditorWorkspace_admin-btn {
  padding: 6px 10px;
  font-size: 12px;
}
.ProductEditorWorkspace_editorLayoutWide {
  position: fixed;
  inset: 0;
  z-index: 110;
  overflow: auto;
  padding: 16px clamp(16px, 2vw, 28px) 24px;
  background: var(--wmr-background, #f8f9fb);
}
.ProductEditorWorkspace_editorLayoutWide .ProductEditorWorkspace_topbar {
  margin-bottom: 12px;
}
.ProductEditorWorkspace_editorLayoutWide .ProductEditorWorkspace_topbar h1 {
  font-size: 22px;
}
.ProductEditorWorkspace_editorLayoutWide .ProductEditorWorkspace_topbar p:not(.ProductEditorWorkspace_eyebrow) {
  display: none;
}
.ProductEditorWorkspace_infoPanel {
  min-width: 0;
}
.ProductEditorWorkspace_infoPanel[hidden] {
  display: none;
}
.ProductEditorWorkspace_canvasWorkspace {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ad-gap, 12px);
  min-width: 0;
}
.ProductEditorWorkspace_canvasColumn {
  display: flex;
  flex-direction: column;
  gap: var(--ad-gap, 10px);
  min-width: 0;
}
.ProductEditorWorkspace_canvasTools {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: var(--ad-gap, 10px);
  padding-bottom: 6px;
  background: var(--wmr-background, #f8f9fb);
}
.ProductEditorWorkspace_canvasBar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 8px 10px;
  border: 1px solid var(--ad-line-card, #e2e7ee);
  border-radius: var(--wmr-radius-card, 14px);
  background: var(--ad-surface, #fff);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
}
.ProductEditorWorkspace_canvasBarGroup {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.ProductEditorWorkspace_canvasBarGroup .admin-btn {
  padding: 7px 10px;
  font-size: 12px;
}
.ProductEditorWorkspace_canvasBarStatus {
  margin-left: auto;
  gap: 8px;
}
.ProductEditorWorkspace_canvasBarStatus .status-pill {
  max-width: 220px;
  white-space: normal;
  line-height: 1.3;
}
.ProductEditorWorkspace_contentTools {
  min-width: 0;
}
.ProductEditorWorkspace_contentTools[hidden] {
  display: none;
}
.ProductEditorWorkspace_canvasNotice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
}
.ProductEditorWorkspace_canvasNoticeClose {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: var(--ad-accent, #0052cc);
  font-size: 12px;
  font-weight: 700;
  padding: 2px 6px;
}
.ProductEditorWorkspace_canvasShell {
  min-width: 0;
  min-height: 480px;
}
.ProductEditorWorkspace_sidePanel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: var(--ad-gap, 12px);
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--ad-line-card, #e2e7ee);
  border-radius: var(--wmr-radius-card, 16px);
  background: var(--ad-surface, #fff);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}
.ProductEditorWorkspace_sidePanel[hidden] {
  display: none;
}
.ProductEditorWorkspace_sidePanel .form-grid {
  grid-template-columns: minmax(0, 1fr);
}
.ProductEditorWorkspace_sidePanel input,
.ProductEditorWorkspace_sidePanel select,
.ProductEditorWorkspace_sidePanel textarea {
  min-width: 0;
}
.ProductEditorWorkspace_sidePanel textarea.ProductEditorWorkspace_consentRecipientsInput {
  min-height: 0;
}
.ProductEditorWorkspace_sidePanel fieldset {
  min-inline-size: 0;
}
.ProductEditorWorkspace_sidePanelHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-right: 56px;
}
.ProductEditorWorkspace_sidePanelHeading h2,
.ProductEditorWorkspace_sidePanelHeading p {
  margin: 0;
}
.ProductEditorWorkspace_sidePanelHeading h2 {
  font-size: 18px;
  letter-spacing: -0.025em;
}
.ProductEditorWorkspace_sidePanelNav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_sidePanelNavItem {
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 999px;
  padding: 6px 11px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-label, #424956);
  font-size: 12px;
  font-weight: 700;
}
.ProductEditorWorkspace_sidePanelNavItemActive {
  border-color: var(--ad-accent, #0066ff);
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent, #0052cc);
}
.ProductEditorWorkspace_panelForm {
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}
.ProductEditorWorkspace_panelSection {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ad-gap, 12px);
  padding-top: 6px;
  scroll-margin-top: 12px;
}
.ProductEditorWorkspace_panelSection + .ProductEditorWorkspace_panelSection {
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  padding-top: 18px;
}
.ProductEditorWorkspace_panelSection .ProductEditorWorkspace_sectionHeading h2 {
  font-size: 16px;
}
.ProductEditorWorkspace_sidePanel .filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.35;
  cursor: pointer;
}
.ProductEditorWorkspace_sidePanel .filter-chip input {
  flex: none;
  width: auto;
  margin: 0;
  padding: 0;
}
.ProductEditorWorkspace_sidePanel .filter-chip:has(input:checked) {
  border-color: var(--ad-accent, #0066ff);
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-hover, #0052cc);
}
.ProductEditorWorkspace_categoryField {
  display: grid;
  gap: 12px;
}
.ProductEditorWorkspace_categoryStep {
  display: grid;
  gap: 6px;
}
.ProductEditorWorkspace_categoryStep ~ .ProductEditorWorkspace_categoryStep {
  padding-top: 10px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_categoryStepHead {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
}
.ProductEditorWorkspace_categoryStepTitle {
  font-size: 13px;
  font-weight: 700;
}
.ProductEditorWorkspace_sidePanel .ProductEditorWorkspace_categoryChildren,
.ProductEditorWorkspace_sidePanel .ProductEditorWorkspace_categoryRow {
  margin: 0;
  gap: 6px;
}
.ProductEditorWorkspace_sidePanel .ProductEditorWorkspace_categoryChildren {
  justify-self: stretch;
  padding-left: 10px;
  border-left: 2px solid var(--ad-line-divider, #edf0f4);
}
.ProductEditorWorkspace_panelForm [data-discount-warning] {
  color: var(--ad-warning-text, #7e5800);
}
.ProductEditorWorkspace_destinationField {
  width: 16em;
  max-width: 100%;
}
@media (min-width: 1500px) {
  .ProductEditorWorkspace_canvasWorkspacePanelOpen {
    grid-template-columns: minmax(0, 1fr) 400px;
  }
  .ProductEditorWorkspace_canvasWorkspacePanelOpen .ProductEditorWorkspace_sidePanel {
    position: sticky;
    top: 12px;
    max-height: calc(100vh - 24px);
    overflow: auto;
  }
}
@media (min-width: 701px) and (max-width: 1499px) {
  .ProductEditorWorkspace_canvasWorkspacePanelOpen .ProductEditorWorkspace_canvasBar {
    margin-right: calc(min(440px, 100vw) - clamp(20px, 4vw, 56px));
  }
}
@media (max-width: 1499px) {
  .ProductEditorWorkspace_sidePanel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 118;
    width: min(440px, 100%);
    overflow: auto;
    border-radius: 0;
    box-shadow: -18px 0 48px rgba(15, 23, 42, 0.18);
  }
}
@media (max-width: 700px) {
  .ProductEditorWorkspace_canvasBarStatus {
    margin-left: 0;
    flex-basis: 100%;
  }
  .ProductEditorWorkspace_canvasShell {
    min-height: 420px;
  }
}
.ProductEditorWorkspace_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.ProductEditorWorkspace_stayItemList {
  display: grid;
  gap: 10px;
}
.ProductEditorWorkspace_stayItemRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 12px;
  background: var(--ad-surface-sunken, #f8f9fb);
}
.ProductEditorWorkspace_stayItemRow label {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-size: 12px;
  color: var(--ad-text-secondary, #5b6370);
}
.ProductEditorWorkspace_stayItemRow input,
.ProductEditorWorkspace_stayItemRow select {
  width: 100%;
  min-width: 0;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.ProductEditorWorkspace_stayItemName {
  grid-column: 1 / -1;
}
.ProductEditorWorkspace_stayItemPrice input {
  min-width: 9ch;
  text-align: right;
}
.ProductEditorWorkspace_stayItemTail {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.ProductEditorWorkspace_stayItemRow .ProductEditorWorkspace_stayItemRequired {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  white-space: nowrap;
}
.ProductEditorWorkspace_stayItemRow .ProductEditorWorkspace_stayItemRequired span {
  white-space: nowrap;
}
.ProductEditorWorkspace_stayItemRequired input {
  width: 18px;
  height: 18px;
  margin: 0;
}
.ProductEditorWorkspace_hideToggle {
  position: absolute;
  right: 6px;
  top: 6px;
  z-index: 3;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid var(--ad-line-divider, #dbe1eb);
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  color: #ba1a1a;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 22px;
  cursor: pointer;
}
.ProductEditorWorkspace_hideToggle[aria-pressed=true] {
  color: #0066ff;
  border-color: #0066ff;
}
.ProductEditorWorkspace_hideToggle:hover {
  border-color: #ba1a1a;
}
.ProductEditorWorkspace_hideToggle[aria-pressed=true]:hover {
  border-color: #0066ff;
}
.ProductEditorWorkspace_policyNoteRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}
.ProductEditorWorkspace_policyNoteRow > p {
  flex: 1 1 220px;
  min-width: 0;
  margin: 0;
}
.ProductEditorWorkspace_departureMoveHint {
  margin: 12px 0 4px;
  padding: 12px 14px;
  border: 1px solid var(--line, #e2e5ea);
  border-radius: 10px;
  background: var(--surface-muted, #f7f8fa);
}
.ProductEditorWorkspace_departureMoveHint p {
  margin: 0 0 8px;
}
.ProductEditorWorkspace_reqMark {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
  vertical-align: 1px;
}
.ProductEditorWorkspace_reqMarkMissing {
  background: #fdecec;
  color: #ba1a1a;
}
.ProductEditorWorkspace_reqMarkDone {
  background: #e8f7ed;
  color: #20783a;
}
.ProductEditorWorkspace_reqMarkOptional {
  background: #f0f1f3;
  color: #676d79;
  font-weight: 600;
}
.ProductEditorWorkspace_sidePanelNavItem .ProductEditorWorkspace_reqMark {
  margin-left: 5px;
  padding: 0 6px;
  font-size: 10px;
}
.ProductEditorWorkspace_needSlot {
  display: inline-flex;
  align-items: center;
}
[data-admin-layout][data-admin-tokens] .ProductEditorWorkspace_canvasBarStatus .ProductEditorWorkspace_needButton {
  border-color: #e8a5a5;
  background: #fdecec;
  color: #ba1a1a;
  font-weight: 700;
}
.ProductEditorWorkspace_needReady {
  color: #20783a;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.ProductEditorWorkspace_reqTag {
  display: inline-block;
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 4px;
  background: #fdecec;
  color: #ba1a1a;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
  vertical-align: 1px;
}
.ProductEditorWorkspace_categoryStepHead .ProductEditorWorkspace_reqTag {
  margin-left: 0;
}
.ProductEditorWorkspace_reqLabel {
  display: block;
}
.ProductEditorWorkspace_publishChecklist {
  display: grid;
  gap: 14px;
  min-width: 0;
}
.ProductEditorWorkspace_publishChecklistGroup {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.ProductEditorWorkspace_publishChecklistGroup h3,
.ProductEditorWorkspace_publishChecklistGroup p {
  margin: 0;
}
.ProductEditorWorkspace_publishChecklistTitle {
  font-size: 13px;
  letter-spacing: -0.01em;
}
.ProductEditorWorkspace_publishChecklistRequired .ProductEditorWorkspace_publishChecklistTitle {
  color: #ba1a1a;
}
.ProductEditorWorkspace_publishChecklistRecommended .ProductEditorWorkspace_publishChecklistTitle {
  color: #676d79;
}
.ProductEditorWorkspace_publishChecklistGroup ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ProductEditorWorkspace_publishChecklistGroup li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 13px;
}
.ProductEditorWorkspace_publishChecklistRequired li {
  background: #fdecec;
  color: #8f1414;
}
.ProductEditorWorkspace_publishChecklistRecommended li {
  background: #f0f1f3;
  color: #4b515c;
}
.ProductEditorWorkspace_publishChecklistName {
  font-weight: 700;
  overflow-wrap: anywhere;
}
.ProductEditorWorkspace_publishChecklistGroup li small {
  opacity: 0.8;
}
.ProductEditorWorkspace_publishChecklistGroup li .admin-btn {
  margin-left: auto;
  padding: 6px 10px;
  font-size: 12px;
}

/* app/admin/content/ImageCandidatePicker.module.css */
.ImageCandidatePicker_root {
  --picker-ink: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
  --picker-label: var(--ad-text-label, var(--wmr-text-secondary, #424956));
  --picker-muted: var(--ad-text-muted, var(--wmr-text-tertiary, #666e7b));
  --picker-line: var(--ad-line-card, var(--wmr-border, #e8eaed));
  --picker-line-field: var(--ad-line-field, #dfe4eb);
  --picker-surface: var(--ad-surface, var(--wmr-surface, #fff));
  --picker-soft: var(--ad-background, var(--wmr-background, #f8f9fb));
  --picker-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --picker-accent-soft: var(--ad-accent-surface, var(--wmr-admin-primary-subtle, #eaf2ff));
  --picker-warning-surface: var(--ad-warning-surface, #fff7e6);
  --picker-warning-text: var(--ad-warning-text, #7e5800);
  display: grid;
  gap: 10px;
  min-width: 0;
  color: var(--picker-ink);
}
.ImageCandidatePicker_liveRegion {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.ImageCandidatePicker_currentSummary {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--picker-line);
  border-radius: 12px;
  background: var(--picker-soft);
}
.ImageCandidatePicker_currentThumb {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  overflow: hidden;
  border-radius: 9px;
  background: #dfe6ed;
  color: var(--picker-muted);
  font-size: 20px;
}
.ImageCandidatePicker_currentThumb img,
.ImageCandidatePicker_candidateImage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ImageCandidatePicker_currentCopy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.ImageCandidatePicker_currentCopy b,
.ImageCandidatePicker_currentCopy span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ImageCandidatePicker_currentCopy b {
  color: var(--picker-ink);
  font-size: 13px;
}
.ImageCandidatePicker_currentCopy span {
  color: var(--picker-muted);
  font-size: 11px;
}
.ImageCandidatePicker_currentActions,
.ImageCandidatePicker_dialogFooter {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.ImageCandidatePicker_currentActions .ImageCandidatePicker_admin-btn,
.ImageCandidatePicker_closeConfirmActions .ImageCandidatePicker_admin-btn {
  min-height: 44px;
}
.ImageCandidatePicker_backdrop {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(20, 28, 40, 0.48);
  overscroll-behavior: contain;
}
.ImageCandidatePicker_dialog {
  display: grid;
  gap: 18px;
  width: min(860px, 100%);
  max-height: min(90vh, 900px);
  overflow: auto;
  padding: clamp(20px, 4vw, 32px);
  border: 1px solid var(--picker-line);
  border-radius: 16px;
  background: var(--picker-surface);
  box-shadow: 0 24px 72px rgba(18, 31, 54, 0.22);
  overscroll-behavior: contain;
}
.ImageCandidatePicker_dialogHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.ImageCandidatePicker_dialogHeader h2,
.ImageCandidatePicker_dialogHeader p,
.ImageCandidatePicker_sectionHeading h3,
.ImageCandidatePicker_sectionHeading p,
.ImageCandidatePicker_libraryHeading h3,
.ImageCandidatePicker_libraryHeading span {
  margin: 0;
}
.ImageCandidatePicker_dialogHeader h2 {
  color: var(--picker-ink);
  font-size: 22px;
  letter-spacing: -0.03em;
}
.ImageCandidatePicker_dialogHeader > div,
.ImageCandidatePicker_sectionHeading > div,
.ImageCandidatePicker_libraryHeading > * {
  min-width: 0;
}
.ImageCandidatePicker_dialogHeader p,
.ImageCandidatePicker_sectionHeading p {
  margin-top: 6px;
  color: var(--picker-muted);
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.ImageCandidatePicker_kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--picker-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.ImageCandidatePicker_closeButton {
  flex: 0 0 auto;
  min-height: 44px;
  border: 1px solid var(--picker-line-field);
  border-radius: 9px;
  padding: 8px 10px;
  background: var(--picker-surface);
  color: var(--picker-label);
  font-size: 12px;
}
.ImageCandidatePicker_closeButton:hover {
  border-color: var(--picker-accent);
  color: var(--picker-accent);
}
.ImageCandidatePicker_steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ImageCandidatePicker_steps li {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 9px 10px;
  border-bottom: 2px solid var(--picker-line);
  color: var(--picker-muted);
  font-size: 12px;
}
.ImageCandidatePicker_steps li span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.ImageCandidatePicker_steps li b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ImageCandidatePicker_steps .ImageCandidatePicker_stepCurrent {
  border-color: var(--picker-accent);
  color: var(--picker-accent);
}
.ImageCandidatePicker_steps .ImageCandidatePicker_stepDone {
  color: var(--picker-label);
}
.ImageCandidatePicker_selection,
.ImageCandidatePicker_previewStage {
  display: grid;
  gap: 14px;
  min-width: 0;
}
.ImageCandidatePicker_sectionHeading,
.ImageCandidatePicker_libraryHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.ImageCandidatePicker_sectionHeading h3,
.ImageCandidatePicker_libraryHeading h3 {
  color: var(--picker-ink);
  font-size: 16px;
  letter-spacing: -0.02em;
}
.ImageCandidatePicker_libraryHeading {
  align-items: baseline;
  padding-top: 4px;
  border-top: 1px solid var(--picker-line);
}
.ImageCandidatePicker_libraryHeading span {
  color: var(--picker-muted);
  font-size: 11px;
}
.ImageCandidatePicker_uploadTile {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-height: 92px;
  padding: 16px;
  border: 1px dashed #aeb9c8;
  border-radius: 12px;
  background: var(--picker-soft);
  color: var(--picker-label);
  cursor: pointer;
}
.ImageCandidatePicker_uploadTile:hover {
  border-color: var(--picker-accent);
  background: var(--picker-accent-soft);
}
.ImageCandidatePicker_uploadTile:focus-within {
  outline: 3px solid #9dc9ff;
  outline-offset: 2px;
}
.ImageCandidatePicker_uploadTile input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.ImageCandidatePicker_uploadIcon {
  color: var(--picker-accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.ImageCandidatePicker_uploadTile b {
  font-size: 13px;
}
.ImageCandidatePicker_uploadTile small,
.ImageCandidatePicker_candidateText small,
.ImageCandidatePicker_uploadProgress small {
  color: var(--picker-muted);
  font-size: 11px;
  line-height: 1.45;
}
.ImageCandidatePicker_candidateGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
}
.ImageCandidatePicker_candidate {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--picker-line-field);
  border-radius: 12px;
  background: var(--picker-surface);
  color: var(--picker-label);
  text-align: left;
}
.ImageCandidatePicker_candidate:hover:not(:disabled),
.ImageCandidatePicker_candidate:focus-visible:not(:disabled) {
  border-color: var(--picker-accent);
  background: var(--picker-accent-soft);
}
.ImageCandidatePicker_candidate:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}
.ImageCandidatePicker_candidateCurrent {
  border-color: var(--picker-accent);
  background: var(--picker-accent-soft);
}
.ImageCandidatePicker_candidateImage {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 8px;
  background: #dfe6ed;
  color: var(--picker-muted);
  font-size: 10px;
  text-align: center;
}
.ImageCandidatePicker_candidateText {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.ImageCandidatePicker_candidateText b {
  overflow: hidden;
  color: var(--picker-ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ImageCandidatePicker_previewSurface {
  min-width: 0;
  padding: 14px;
  border-radius: 12px;
  background: #dfe6ed;
}
.ImageCandidatePicker_defaultPreviewImage {
  width: 100%;
  max-height: 440px;
  object-fit: contain;
}
.ImageCandidatePicker_defaultPreviewEmpty,
.ImageCandidatePicker_empty {
  padding: 26px 16px;
  color: var(--picker-muted);
  font-size: 12px;
  text-align: center;
}
.ImageCandidatePicker_advanced {
  border-top: 1px solid var(--picker-line);
  padding-top: 12px;
}
.ImageCandidatePicker_advanced summary {
  width: fit-content;
  cursor: pointer;
  color: var(--picker-label);
  font-size: 12px;
  font-weight: 700;
}
.ImageCandidatePicker_advancedBody {
  padding-top: 12px;
}
.ImageCandidatePicker_uploadProgress,
.ImageCandidatePicker_notice,
.ImageCandidatePicker_error,
.ImageCandidatePicker_note {
  margin: 0;
  padding: 11px 12px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.55;
}
.ImageCandidatePicker_uploadProgress {
  display: grid;
  gap: 3px;
  background: var(--picker-accent-soft);
  color: var(--picker-label);
}
.ImageCandidatePicker_uploadProgress span {
  font-variant-numeric: tabular-nums;
}
.ImageCandidatePicker_notice,
.ImageCandidatePicker_note {
  background: var(--picker-soft);
  color: var(--picker-muted);
}
.ImageCandidatePicker_error {
  background: var(--picker-warning-surface);
  color: var(--picker-warning-text);
}
.ImageCandidatePicker_dialogFooter {
  padding-top: 4px;
  border-top: 1px solid var(--picker-line);
}
.ImageCandidatePicker_dialogFooter .ImageCandidatePicker_admin-btn {
  min-height: 44px;
}
.ImageCandidatePicker_closeConfirm {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--picker-warning-text);
  border-radius: 10px;
  background: var(--picker-warning-surface);
  color: var(--picker-warning-text);
}
.ImageCandidatePicker_closeConfirm > div:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ImageCandidatePicker_closeConfirm b,
.ImageCandidatePicker_closeConfirm p {
  margin: 0;
}
.ImageCandidatePicker_closeConfirm p {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.5;
}
.ImageCandidatePicker_closeConfirmActions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 640px) {
  .ImageCandidatePicker_backdrop {
    place-items: end center;
    padding: 0;
  }
  .ImageCandidatePicker_dialog {
    width: 100%;
    max-height: 94vh;
    border-radius: 16px 16px 0 0;
    padding: 18px 14px 14px;
  }
  .ImageCandidatePicker_currentSummary {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .ImageCandidatePicker_currentThumb {
    width: 48px;
    height: 48px;
  }
  .ImageCandidatePicker_currentActions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }
  .ImageCandidatePicker_currentActions .ImageCandidatePicker_admin-btn {
    flex: 1 1 0;
  }
  .ImageCandidatePicker_steps li {
    padding-inline: 6px;
    font-size: 11px;
  }
  .ImageCandidatePicker_candidateGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ImageCandidatePicker_dialogFooter {
    justify-content: stretch;
  }
  .ImageCandidatePicker_dialogFooter .ImageCandidatePicker_admin-btn {
    flex: 1 1 0;
  }
  .ImageCandidatePicker_closeConfirm {
    display: grid;
  }
  .ImageCandidatePicker_closeConfirmActions {
    justify-content: stretch;
  }
  .ImageCandidatePicker_closeConfirmActions .ImageCandidatePicker_admin-btn {
    flex: 1 1 0;
  }
}

/* app/admin/content/ImagePresentationControls.module.css */
.ImagePresentationControls_panel {
  --img-ink: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
  --img-label: var(--ad-text-label, var(--wmr-text-secondary, #424956));
  --img-muted: var(--ad-text-muted, var(--wmr-text-tertiary, #666e7b));
  --img-line: var(--ad-line-card, var(--wmr-border, #e8eaed));
  --img-line-field: var(--ad-line-field, var(--wmr-border, #dfe4eb));
  --img-surface: var(--ad-surface, var(--wmr-surface, #fff));
  --img-sunken: var(--ad-surface-sunken, var(--wmr-background, #f8f9fa));
  --img-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --img-accent-surface: var(--ad-accent-surface, var(--wmr-admin-primary-subtle, #eaf2ff));
  --img-warning-surface: var(--ad-warning-surface, #fff7e6);
  --img-warning-text: var(--ad-warning-text, #7e5800);
  --img-radius: var(--wmr-radius-button, 12px);
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--img-line);
  border-radius: var(--img-radius);
  background: var(--img-sunken);
  color: var(--img-ink);
}
.ImagePresentationControls_panel[data-image-presentation=adjusted] {
  border-color: var(--img-accent);
  background: var(--img-accent-surface);
}
.ImagePresentationControls_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--img-label);
}
.ImagePresentationControls_head button {
  font-size: 11px;
  padding: 5px 8px;
}
.ImagePresentationControls_row,
.ImagePresentationControls_rangeRow {
  display: grid;
  gap: 5px;
  font-size: 11px;
  color: var(--img-label);
}
.ImagePresentationControls_rangeRow {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}
.ImagePresentationControls_rangeRow output {
  color: var(--img-ink);
  font-variant-numeric: tabular-nums;
}
.ImagePresentationControls_row select,
.ImagePresentationControls_row input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--img-line-field);
  border-radius: 10px;
  padding: 8px 9px;
  background: var(--img-surface);
  color: inherit;
  font: inherit;
  font-size: 12px;
}
.ImagePresentationControls_row select:disabled,
.ImagePresentationControls_row input:disabled,
.ImagePresentationControls_rangeRow input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.ImagePresentationControls_note {
  margin: 0;
  color: var(--img-muted);
  font-size: 11px;
  line-height: 1.45;
}
.ImagePresentationControls_metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 10px;
  margin: 2px 0 0;
  font-size: 11px;
}
.ImagePresentationControls_metrics div {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.ImagePresentationControls_metrics dt {
  color: var(--img-muted);
}
.ImagePresentationControls_metrics dd {
  margin: 0;
  color: var(--img-ink);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.ImagePresentationControls_warnings {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 9px 10px 9px 24px;
  border-radius: 10px;
  background: var(--img-warning-surface);
  color: var(--img-warning-text);
  font-size: 11px;
  line-height: 1.5;
}
@media (max-width: 600px) {
  .ImagePresentationControls_metrics {
    grid-template-columns: 1fr;
  }
}

/* app/admin/products/ProductHeroImageField.module.css */
.ProductHeroImageField_field {
  --hero-ink: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
  --hero-label: var(--ad-text-label, var(--wmr-text-secondary, #424956));
  --hero-muted: var(--ad-text-muted, var(--wmr-text-tertiary, #666e7b));
  --hero-line: var(--ad-line-card, var(--wmr-border, #eef0f4));
  --hero-line-field: var(--ad-line-field, var(--wmr-border, #dfe4eb));
  --hero-surface: var(--ad-surface, var(--wmr-surface, #fff));
  --hero-soft: var(--ad-background, var(--wmr-background, #f8f9fb));
  --hero-frame: var(--ad-line-divider, var(--wmr-border, #e7edf2));
  --hero-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --hero-accent-soft: var(--ad-accent-surface, var(--wmr-admin-primary-subtle, #eaf2ff));
  --hero-radius: var(--wmr-radius-button, 12px);
  display: grid;
  gap: var(--ad-gap, 12px);
  margin: 0 0 15px;
  padding: 0;
  border: 0;
  color: var(--hero-ink);
}
.ProductHeroImageField_heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 700;
  color: var(--hero-label);
}
.ProductHeroImageField_heading small {
  max-width: 660px;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.45;
  color: var(--hero-muted);
}
.ProductHeroImageField_previewWorkspace {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.ProductHeroImageField_slotSwitcher {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.ProductHeroImageField_slotTab {
  flex: 0 0 auto;
  border: 1px solid var(--hero-line-field);
  border-radius: 9px;
  padding: 8px 10px;
  background: var(--hero-surface);
  color: var(--hero-label);
  font-size: 12px;
  white-space: nowrap;
}
.ProductHeroImageField_slotTab:hover,
.ProductHeroImageField_slotTab:focus-visible {
  border-color: var(--hero-accent);
  color: var(--hero-accent);
}
.ProductHeroImageField_slotTabActive {
  border-color: var(--hero-accent);
  background: var(--hero-accent-soft);
  color: var(--hero-accent);
  font-weight: 700;
}
.ProductHeroImageField_previewHeading,
.ProductHeroImageField_adjustmentHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.ProductHeroImageField_previewHeading > div,
.ProductHeroImageField_adjustmentHeading > div {
  display: grid;
  gap: 3px;
}
.ProductHeroImageField_previewHeading b,
.ProductHeroImageField_adjustmentHeading b {
  color: var(--hero-label);
  font-size: 13px;
}
.ProductHeroImageField_previewHeading span,
.ProductHeroImageField_previewHeading small,
.ProductHeroImageField_adjustmentHeading span,
.ProductHeroImageField_adjustmentHeading small {
  color: var(--hero-muted);
  font-size: 11px;
  line-height: 1.45;
}
.ProductHeroImageField_previewHeading small {
  max-width: 390px;
  text-align: right;
}
.ProductHeroImageField_previewFrame,
.ProductHeroImageField_secondaryFrame {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: var(--hero-frame);
}
.ProductHeroImageField_previewFrame {
  display: grid;
  place-items: center;
  min-height: 170px;
}
.ProductHeroImageField_previewFrame[data-preview-mode=natural] {
  aspect-ratio: auto !important;
  max-height: 420px;
  overflow: auto;
}
.ProductHeroImageField_previewFrame[data-pannable=true] {
  cursor: grab;
  touch-action: none;
}
.ProductHeroImageField_previewFrame[data-pannable=true]:active {
  cursor: grabbing;
}
.ProductHeroImageField_previewFrame:focus-visible {
  outline: 3px solid #9dc9ff;
  outline-offset: 2px;
}
.ProductHeroImageField_previewFrame .home-image,
.ProductHeroImageField_secondaryFrame .home-image {
  display: block;
  width: 100%;
  height: 100%;
}
.ProductHeroImageField_previewFrame .home-image:not([data-home-image-frame]) > img.home-image-element,
.ProductHeroImageField_secondaryFrame .home-image:not([data-home-image-frame]) > img.home-image-element {
  width: 100%;
  height: 100%;
}
.ProductHeroImageField_previewFrame .home-image:not([data-home-image-fit]) > img.home-image-element,
.ProductHeroImageField_secondaryFrame .home-image:not([data-home-image-fit]) > img.home-image-element {
  object-fit: cover;
}
.ProductHeroImageField_previewFrame .home-image[data-home-image-frame] > img.home-image-element,
.ProductHeroImageField_secondaryFrame .home-image[data-home-image-frame] > img.home-image-element {
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
}
.ProductHeroImageField_previewFrame .home-image[data-home-image-frame],
.ProductHeroImageField_secondaryFrame .home-image[data-home-image-frame] {
  height: auto;
  align-self: center;
}
.ProductHeroImageField_secondaryPreviews {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ProductHeroImageField_secondaryPreview {
  display: grid;
  gap: 6px;
  min-width: 0;
  border: 1px solid var(--hero-line);
  border-radius: 10px;
  padding: 8px;
  background: var(--hero-surface);
  color: var(--hero-label);
  text-align: left;
}
.ProductHeroImageField_secondaryPreview:hover,
.ProductHeroImageField_secondaryPreview:focus-visible {
  border-color: var(--hero-accent);
  background: var(--hero-accent-soft);
}
.ProductHeroImageField_secondaryLabel {
  overflow: hidden;
  color: var(--hero-label);
  font-size: 11px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ProductHeroImageField_secondaryFrame {
  display: grid;
  place-items: center;
}
.ProductHeroImageField_secondaryFrame[data-preview-mode=natural] {
  aspect-ratio: auto !important;
  max-height: 180px;
  overflow: auto;
}
.ProductHeroImageField_empty {
  color: var(--hero-muted);
  font-size: 12px;
}
.ProductHeroImageField_adjustmentPanel {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--hero-line);
  border-radius: 12px;
  background: var(--hero-soft);
}
.ProductHeroImageField_adjustmentHeading small {
  font-variant-numeric: tabular-nums;
}
.ProductHeroImageField_focusRow {
  display: grid;
  gap: 7px;
  color: var(--hero-muted);
  font-size: 11px;
}
.ProductHeroImageField_focusRow label {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 8px;
}
.ProductHeroImageField_focusRow input {
  min-width: 0;
  accent-color: var(--hero-accent);
}
.ProductHeroImageField_focusRow output {
  min-width: 38px;
  color: var(--hero-label);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
@media (max-width: 700px) {
  .ProductHeroImageField_secondaryPreviews {
    grid-template-columns: 1fr;
  }
  .ProductHeroImageField_previewHeading small {
    max-width: none;
    text-align: left;
  }
}

/* app/components/ProductContentRenderer.module.css */
.ProductContentRenderer_content {
  color: #26363a;
  font-size: 1rem;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.ProductContentRenderer_content > * + *,
.ProductContentRenderer_content .ProseMirror > * + * {
  margin-top: 1.1rem;
}
.ProductContentRenderer_content .ProseMirror {
  outline: none;
  min-height: 1.8em;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.ProductContentRenderer_content.ProductContentRenderer_contentRoomy {
  color: #364c46;
  line-height: 1.9;
}
.ProductContentRenderer_content.ProductContentRenderer_contentRoomy > * + *,
.ProductContentRenderer_content.ProductContentRenderer_contentRoomy .ProseMirror > * + * {
  margin-top: 1.125rem;
}
.ProductContentRenderer_content h1,
.ProductContentRenderer_content h2,
.ProductContentRenderer_content h3 {
  color: #102a2d;
  letter-spacing: -0.04em;
  line-height: 1.25;
  margin-bottom: 0.25rem;
}
.ProductContentRenderer_content h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
}
.ProductContentRenderer_content h2 {
  font-size: clamp(1.45rem, 3vw, 2rem);
}
.ProductContentRenderer_content h3 {
  font-size: 1.25rem;
}
.ProductContentRenderer_content p {
  margin: 0;
  white-space: pre-wrap;
}
.ProductContentRenderer_content mark {
  border-radius: 0.2em;
  padding: 0 0.08em;
}
.ProductContentRenderer_content ul,
.ProductContentRenderer_content ol {
  margin: 0;
  padding-left: 1.5rem;
}
.ProductContentRenderer_content li + li {
  margin-top: 0.35rem;
}
.ProductContentRenderer_content blockquote {
  border-left: 1px solid #a7bd65;
  color: #52635e;
  margin-left: 0;
  padding: 0.35rem 0 0.35rem 1rem;
}
.ProductContentRenderer_content a {
  color: #075d73;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.ProductContentRenderer_content hr {
  border: 0;
  border-top: 1px solid rgba(16, 42, 45, 0.15);
  margin-inline: 0;
}
.ProductContentRenderer_tableWrap {
  overflow-x: auto;
  width: 100%;
}
.ProductContentRenderer_tableWrap table,
.ProductContentRenderer_content table[data-product-table] {
  border-collapse: collapse;
  min-width: 28rem;
  table-layout: fixed;
  width: 100%;
}
.ProductContentRenderer_tableWrap th,
.ProductContentRenderer_tableWrap td,
.ProductContentRenderer_content table[data-product-table] th,
.ProductContentRenderer_content table[data-product-table] td {
  border: 1px solid rgba(16, 42, 45, 0.15);
  padding: 0.65rem 0.75rem;
  text-align: left;
  vertical-align: top;
}
.ProductContentRenderer_tableWrap th,
.ProductContentRenderer_content table[data-product-table] th {
  background: #f4f8f1;
  color: #102a2d;
}
.ProductContentRenderer_figure,
.ProductContentRenderer_content figure[data-product-image],
.ProductContentRenderer_content figure[data-product-video] {
  margin: 1.5rem 0 0;
}
.ProductContentRenderer_figure img,
.ProductContentRenderer_content figure[data-product-image] img {
  border-radius: 1rem;
  height: auto;
  max-height: 42rem;
  max-width: 100%;
  object-fit: contain;
}
.ProductContentRenderer_figureCenter,
.ProductContentRenderer_content figure[data-align=center] {
  text-align: center;
}
.ProductContentRenderer_figureRight,
.ProductContentRenderer_content figure[data-align=right] {
  text-align: right;
}
.ProductContentRenderer_figure video,
.ProductContentRenderer_content figure[data-product-video] video {
  background: #152f32;
  border-radius: 1rem;
  display: inline-block;
  height: auto;
  max-height: 42rem;
  max-width: 100%;
  vertical-align: middle;
}
.ProductContentRenderer_figure figcaption,
.ProductContentRenderer_content figure[data-product-image] figcaption,
.ProductContentRenderer_content figure[data-product-video] figcaption,
.ProductContentRenderer_youtube figcaption,
.ProductContentRenderer_content figure[data-product-youtube] figcaption {
  color: #52635e;
  font-size: 0.82rem;
  line-height: 1.5;
  margin-top: 0.45rem;
}
.ProductContentRenderer_youtube,
.ProductContentRenderer_content figure[data-product-youtube] {
  margin: 1.5rem 0 0;
  max-width: 100%;
  width: 100%;
}
.ProductContentRenderer_youtube [data-youtube-frame],
.ProductContentRenderer_content figure[data-product-youtube] [data-youtube-frame] {
  aspect-ratio: 16 / 9;
  background: #152f32;
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.ProductContentRenderer_youtube [data-youtube-button],
.ProductContentRenderer_youtube [data-youtube-card],
.ProductContentRenderer_content figure[data-product-youtube] [data-youtube-button],
.ProductContentRenderer_content figure[data-product-youtube] [data-youtube-card] {
  appearance: none;
  background: none;
  border: 0;
  color: #fff;
  display: block;
  font: inherit;
  inset: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: left;
}
.ProductContentRenderer_youtube [data-youtube-button] {
  cursor: pointer;
}
.ProductContentRenderer_youtube [data-youtube-frame] img,
.ProductContentRenderer_content figure[data-product-youtube] [data-youtube-frame] img {
  border-radius: 0;
  display: block;
  height: 100%;
  inset: 0;
  max-height: none;
  max-width: none;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
.ProductContentRenderer_youtube [data-youtube-play],
.ProductContentRenderer_content figure[data-product-youtube] [data-youtube-play] {
  background: rgba(16, 42, 45, 0.78);
  border-radius: 50%;
  height: 4.25rem;
  left: 50%;
  margin: -2.125rem 0 0 -2.125rem;
  position: absolute;
  top: 50%;
  transition: background-color 0.15s ease;
  width: 4.25rem;
}
.ProductContentRenderer_youtube [data-youtube-play]::before,
.ProductContentRenderer_content figure[data-product-youtube] [data-youtube-play]::before {
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 1.1rem;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-32%, -50%);
}
.ProductContentRenderer_youtube [data-youtube-button]:hover [data-youtube-play],
.ProductContentRenderer_youtube [data-youtube-button]:focus-visible [data-youtube-play] {
  background: rgba(7, 93, 115, 0.94);
}
.ProductContentRenderer_youtube [data-youtube-button]:focus-visible {
  outline: 3px solid #0066ff;
  outline-offset: -3px;
}
.ProductContentRenderer_youtube [data-youtube-title],
.ProductContentRenderer_content figure[data-product-youtube] [data-youtube-title] {
  background:
    linear-gradient(
      to top,
      rgba(10, 24, 26, 0.82),
      rgba(10, 24, 26, 0));
  bottom: 0;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  left: 0;
  line-height: 1.4;
  overflow: hidden;
  padding: 1.75rem 1rem 0.75rem;
  position: absolute;
  right: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ProductContentRenderer_youtube iframe,
.ProductContentRenderer_content figure[data-product-youtube] iframe {
  border: 0;
  display: block;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}
.ProductContentRenderer_content.ProductContentRenderer_contentGallery > * + *,
.ProductContentRenderer_content.ProductContentRenderer_contentGallery .ProseMirror > * + * {
  margin-top: 1.1rem;
}
.ProductContentRenderer_content.ProductContentRenderer_contentGallery > figure + figure,
.ProductContentRenderer_content.ProductContentRenderer_contentGallery .ProseMirror > figure + figure {
  margin-top: 0;
}
.ProductContentRenderer_content.ProductContentRenderer_contentGallery figure {
  margin: 0;
  text-align: center;
}
.ProductContentRenderer_content.ProductContentRenderer_contentGallery figure img {
  display: block;
  margin: 0 auto;
  max-height: none;
  border-radius: 0;
}
.ProductContentRenderer_content.ProductContentRenderer_contentGallery figure img:not([style*=width]) {
  width: 100%;
}
@media (prefers-reduced-motion: reduce) {
  .ProductContentRenderer_content * {
    scroll-behavior: auto;
  }
}

/* app/admin/products/ProductHeroVideoField.module.css */
.ProductHeroVideoField_field {
  --hv-ink: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
  --hv-label: var(--ad-text-label, var(--wmr-text-secondary, #424956));
  --hv-muted: var(--ad-text-muted, var(--wmr-text-tertiary, #666e7b));
  --hv-line: var(--ad-line-card, var(--wmr-border, #eef0f4));
  --hv-line-field: var(--ad-line-field, var(--wmr-border, #dfe4eb));
  --hv-surface: var(--ad-surface, var(--wmr-surface, #fff));
  --hv-soft: var(--ad-surface-sunken, var(--wmr-background, #f8f9fb));
  --hv-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --hv-accent-soft: var(--ad-accent-surface, var(--wmr-admin-primary-subtle, #eaf2ff));
  --hv-danger: var(--ad-danger, #ba1a1a);
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 18px 0 0;
  padding: 14px;
  border: 1px solid var(--hv-line);
  border-radius: 12px;
  background: var(--hv-soft);
  color: var(--hv-ink);
}
.ProductHeroVideoField_heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--hv-ink);
}
.ProductHeroVideoField_timing {
  padding: 1px 8px;
  border: 1px solid var(--hv-line-field);
  border-radius: 999px;
  background: var(--hv-surface);
  color: var(--hv-muted);
  font-size: 11px;
  font-weight: 400;
}
.ProductHeroVideoField_posterNote {
  margin: 0;
  color: var(--hv-label);
  font-size: 12px;
  line-height: 1.5;
}
.ProductHeroVideoField_row {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.ProductHeroVideoField_field .ProductHeroVideoField_label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--hv-label);
  font-size: 13px;
  font-weight: 700;
}
.ProductHeroVideoField_recommend {
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--hv-accent-soft);
  color: var(--hv-accent);
  font-size: 11px;
  font-weight: 700;
}
.ProductHeroVideoField_input {
  width: 100%;
  min-width: 0;
}
.ProductHeroVideoField_hint {
  margin: 0;
  color: var(--hv-muted);
  font-size: 11px;
  line-height: 1.5;
}
.ProductHeroVideoField_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ProductHeroVideoField_fileInput {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.ProductHeroVideoField_off {
  margin: 0;
  padding: 8px 10px;
  border: 1px dashed var(--hv-line-field);
  border-radius: 8px;
  background: var(--hv-surface);
  color: var(--hv-label);
  font-size: 12px;
}
.ProductHeroVideoField_status {
  margin: 0;
  color: var(--hv-label);
  font-size: 12px;
}
.ProductHeroVideoField_error {
  margin: 0;
  color: var(--hv-danger);
  font-size: 12px;
  font-weight: 700;
}
.ProductHeroVideoField_guide {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--hv-surface);
  color: var(--hv-label);
  font-size: 12px;
  line-height: 1.55;
}
.ProductHeroVideoField_guide p {
  margin: 0;
}
.ProductHeroVideoField_preview {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.ProductHeroVideoField_preview figure {
  margin: 0;
}
.ProductHeroVideoField_video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: #000;
}
.ProductHeroVideoField_empty {
  margin: 0;
  padding: 18px 12px;
  border: 1px dashed var(--hv-line-field);
  border-radius: 8px;
  background: var(--hv-surface);
  color: var(--hv-muted);
  font-size: 12px;
  text-align: center;
}
.ProductHeroVideoField_previewFoot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.ProductHeroVideoField_kind {
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--hv-ink);
  color: var(--hv-surface);
  font-size: 11px;
  font-weight: 700;
}
.ProductHeroVideoField_meta {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: var(--hv-label);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* app/admin/products/ProductPolicySelector.module.css */
.ProductPolicySelector_root {
  display: grid;
  gap: 10px;
  min-width: 0;
  scroll-margin-top: 64px;
}
.ProductPolicySelector_root h3,
.ProductPolicySelector_root p {
  margin: 0;
}
.ProductPolicySelector_head {
  display: grid;
  gap: 4px;
}
.ProductPolicySelector_title {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ad-text-strong,var(--wmr-text-primary,#17191d));
}
.ProductPolicySelector_root :focus-visible {
  outline: 2px solid var(--wmr-admin-primary);
  outline-offset: 3px;
}
.ProductPolicySelector_lines {
  display: grid;
  min-width: 0;
  border: 1px solid var(--ad-line-field,var(--wmr-border,#dfe4eb));
  border-radius: 12px;
  background: var(--ad-surface,var(--wmr-surface,#fff));
}
.ProductPolicySelector_lines > :first-child {
  border-top-left-radius: 11px;
  border-top-right-radius: 11px;
}
.ProductPolicySelector_lines > :last-child {
  border-bottom-left-radius: 11px;
  border-bottom-right-radius: 11px;
}
.ProductPolicySelector_line {
  display: grid;
  min-width: 0;
}
.ProductPolicySelector_line + .ProductPolicySelector_line,
.ProductPolicySelector_lines > .ProductPolicySelector_fold,
.ProductPolicySelector_fold > .ProductPolicySelector_line {
  border-top: 1px solid var(--ad-line-divider,#edf0f4);
}
.ProductPolicySelector_lineOpen {
  background: var(--ad-surface-sunken,#f8f9fb);
  box-shadow: inset 3px 0 0 var(--ad-accent,#0066ff);
}
.ProductPolicySelector_lineHead {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px 12px;
}
.ProductPolicySelector_lineText {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.ProductPolicySelector_lineLabel {
  font-weight: 700;
  color: var(--ad-text-strong,var(--wmr-text-primary,#17191d));
}
.ProductPolicySelector_lineSep {
  color: var(--ad-text-muted,#727687);
}
.ProductPolicySelector_lineValue {
  color: var(--ad-text-label,#424656);
}
.ProductPolicySelector_lineValueMuted {
  color: var(--ad-text-muted,#727687);
}
.ProductPolicySelector_lineValueWarn {
  color: var(--ad-warning-text,#7e5800);
  font-weight: 600;
}
.ProductPolicySelector_lineHead .ProductPolicySelector_lineToggle {
  flex: none;
  min-height: 36px;
  padding: 6px 10px;
  font-size: 12px;
}
.ProductPolicySelector_lineNote {
  padding: 0 12px 10px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ad-text-muted,#727687);
}
.ProductPolicySelector_lineAlert {
  margin: 0 12px 10px;
}
.ProductPolicySelector_lineBody {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 2px 12px 14px;
}
.ProductPolicySelector_fields {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.ProductPolicySelector_fields label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
}
.ProductPolicySelector_fields input,
.ProductPolicySelector_fields select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px;
  border: 1px solid var(--ad-line-field,var(--wmr-border));
  border-radius: var(--wmr-radius-button,10px);
  color: var(--ad-ink,var(--wmr-text-primary));
  background: var(--ad-surface,var(--wmr-surface));
  font: inherit;
}
.ProductPolicySelector_fields select {
  text-overflow: ellipsis;
}
.ProductPolicySelector_fields p {
  margin: 0;
}
.ProductPolicySelector_links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ProductPolicySelector_links a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  text-decoration: none;
}
.ProductPolicySelector_sharedNote {
  flex: 1 1 220px;
  min-width: 0;
  color: var(--ad-text-muted,#727687);
  font-size: 12px;
  line-height: 1.5;
  word-break: keep-all;
}
.ProductPolicySelector_pager {
  flex-wrap: wrap;
  align-items: center;
  font-size: 12px;
  color: var(--ad-text-muted,#727687);
}
.ProductPolicySelector_more {
  border-top: 1px dashed var(--ad-line-divider,#edf0f4);
}
.ProductPolicySelector_more > summary {
  display: flex;
  align-items: center;
  min-height: 40px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--ad-text-label,#424656);
}
.ProductPolicySelector_moreBody {
  display: grid;
  gap: 12px;
  padding: 4px 0 2px;
  min-width: 0;
}
.ProductPolicySelector_moreBody details > summary {
  cursor: pointer;
  min-height: 36px;
  padding: 8px 0;
  font-size: 13px;
}
.ProductPolicySelector_moreBody details > :not(summary) {
  margin-top: 8px;
  max-width: 100%;
  overflow-x: auto;
}
.ProductPolicySelector_more > summary,
.ProductPolicySelector_fold > summary {
  list-style: none;
}
.ProductPolicySelector_more > summary::-webkit-details-marker,
.ProductPolicySelector_fold > summary::-webkit-details-marker {
  display: none;
}
.ProductPolicySelector_more > summary::after,
.ProductPolicySelector_fold > summary::after {
  content: "▾";
  margin-left: 6px;
  font-size: 12px;
  font-weight: 400;
  color: var(--ad-text-muted,#727687);
}
.ProductPolicySelector_more[open] > summary::after,
.ProductPolicySelector_fold[open] > summary::after {
  content: "▴";
}
.ProductPolicySelector_fold > summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 6px;
  min-height: 44px;
  padding: 10px 12px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--ad-text-label,#424656);
}
.ProductPolicySelector_foldNames {
  font-size: 12px;
  font-weight: 400;
  color: var(--ad-text-muted,#727687);
}
.ProductPolicySelector_error {
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--ad-danger-surface,#fff1f0);
  color: var(--ad-danger-text,#a4332d);
  font-size: 13px;
}
@media (max-width: 600px) {
  .ProductPolicySelector_lineHead {
    padding: 10px;
  }
  .ProductPolicySelector_lineNote {
    padding-left: 10px;
    padding-right: 10px;
  }
  .ProductPolicySelector_lineAlert {
    margin-left: 10px;
    margin-right: 10px;
  }
  .ProductPolicySelector_lineBody {
    padding: 2px 10px 14px;
  }
  .ProductPolicySelector_fold > summary {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* app/admin/products/ProductAuthoringCanvas.module.css */
.ProductAuthoringCanvas_shell {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  min-height: 0;
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  background: var(--ad-surface-sunken, #eef1f5);
  border: 1px solid var(--ad-line-card, #e2e7ee);
  border-radius: var(--wmr-radius-card, 16px);
}
.ProductAuthoringCanvas_stage {
  position: relative;
  flex: 0 0 auto;
  overflow: clip;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}
.ProductAuthoringCanvas_shell[data-canvas-viewport=mobile] {
  padding: 12px 16px;
}
.ProductAuthoringCanvas_shell[data-canvas-viewport=mobile] .ProductAuthoringCanvas_stage {
  border: 8px solid #26383a;
  border-radius: 30px;
  box-shadow: 0 18px 40px rgba(21, 47, 50, 0.18);
}
.ProductAuthoringCanvas_frame {
  display: block;
  border: 0;
  background: #fff;
  transform-origin: top left;
}
.ProductAuthoringCanvas_canvasRoot {
  display: flow-root;
}
.ProductAuthoringCanvas_canvasRoot > .product-detail-page {
  min-height: 0;
}
.ProductAuthoringCanvas_loading {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ad-text-muted, #687481);
  font-size: 13px;
}

/* app/admin/products/ProductPolicyInlinePicker.module.css */
.ProductPolicyInlinePicker_root {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
}
.ProductPolicyInlinePicker_field {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0;
}
.ProductPolicyInlinePicker_label {
  flex: 0 0 auto;
  color: #555;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.ProductPolicyInlinePicker_select {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 320px;
  border: 1px solid #d6d6d6;
  border-radius: 3px;
  background: #fff;
  padding: 7px 9px;
  color: #222;
  font-size: 13px;
}
.ProductPolicyInlinePicker_select:disabled {
  background: #f1f1f1;
  color: #777;
}
.ProductPolicyInlinePicker_links {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.ProductPolicyInlinePicker_links a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.ProductPolicyInlinePicker_sharedNote {
  flex: 1 1 200px;
  min-width: 0;
  color: #777;
  font-size: 12px;
  line-height: 1.5;
  word-break: keep-all;
}
.ProductPolicyInlinePicker_note {
  flex: 1 1 100%;
  color: #777;
  font-size: 12px;
  line-height: 1.5;
  word-break: keep-all;
}
.ProductPolicyInlinePicker_error {
  color: #b3261e;
}
@media (max-width: 640px) {
  .ProductPolicyInlinePicker_field {
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
  }
  .ProductPolicyInlinePicker_label {
    white-space: normal;
  }
}

/* app/admin/products/ProductAuthoringSurface.module.css */
.ProductAuthoringSurface_textField {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: inherit;
  word-break: inherit;
  resize: none;
  overflow: hidden;
  outline: 2px dashed rgba(0, 102, 255, 0.35);
  outline-offset: 3px;
}
.ProductAuthoringSurface_textField:focus {
  outline: 3px solid #0066ff;
  outline-offset: 3px;
}
.ProductAuthoringSurface_textField::placeholder {
  color: rgba(0, 0, 0, 0.32);
  opacity: 1;
}
.ProductAuthoringSurface_heroSlot {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
}
.ProductAuthoringSurface_heroSlot > .home-image {
  display: block;
  width: 100%;
  height: 100%;
}
.ProductAuthoringSurface_heroPlaceholder {
  display: grid;
  place-content: center;
  gap: 6px;
  min-height: 300px;
  height: 100%;
  padding: 24px;
  color: #4b5b66;
  text-align: center;
  background:
    linear-gradient(
      135deg,
      rgba(0, 102, 255, 0.06),
      rgba(0, 102, 255, 0.02)),
    repeating-linear-gradient(
      45deg,
      transparent 0 14px,
      rgba(0, 102, 255, 0.05) 14px 16px);
}
.ProductAuthoringSurface_heroPlaceholder strong {
  font-size: 16px;
}
.ProductAuthoringSurface_heroPlaceholder span {
  font-size: 13px;
  line-height: 1.6;
}
.ProductAuthoringSurface_overlayButton {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  background: rgba(12, 28, 30, 0.82);
  color: #fff;
  font:
    700 13px/1.2 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.ProductAuthoringSurface_overlayButton:hover,
.ProductAuthoringSurface_overlayButton:focus-visible {
  background: #0066ff;
  border-color: #0066ff;
}
.ProductAuthoringSurface_overlayButtonCorner {
  right: 14px;
  bottom: 14px;
}
.ProductAuthoringSurface_overlayButtonCenter {
  left: 50%;
  top: 50%;
  transform: translate(-50%, 90%);
  background: #0066ff;
  border-color: #0066ff;
}
.ProductAuthoringSurface_overlayButtonInline {
  position: static;
  margin-top: 12px;
  padding: 6px 10px;
  min-height: 30px;
  font-size: 12px;
  background: #fff;
  color: #0052cc;
  border-color: #0066ff;
  box-shadow: none;
}
.ProductAuthoringSurface_conditionsSlot {
  position: relative;
}
.ProductAuthoringSurface_sectionActive {
  position: relative;
  min-height: 1.8em;
  border-radius: 6px;
  outline: 2px solid #0066ff;
  outline-offset: 8px;
}
.ProductAuthoringSurface_sectionActive[data-canvas-section-empty=true]::before {
  position: static;
  display: block;
  min-height: 3.6em;
  color: rgba(0, 0, 0, 0.36);
  pointer-events: none;
  content: attr(data-placeholder);
}
.ProductAuthoringSurface_sectionActive[data-canvas-section-empty=true] {
  min-height: 0;
}
.ProductAuthoringSurface_sectionActiveWrap {
  position: relative;
}
.ProductAuthoringSurface_uploadButton {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 10px;
  padding: 7px 12px;
  border: 1px solid #0066ff;
  border-radius: 999px;
  background: #fff;
  color: #0052cc;
  font:
    700 12px/1.2 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}
.ProductAuthoringSurface_uploadButton:hover,
.ProductAuthoringSurface_uploadButton:focus-visible {
  background: #0066ff;
  color: #fff;
}
.ProductAuthoringSurface_uploadButtonIdle {
  position: relative;
  z-index: 2;
}
.ProductAuthoringSurface_sectionIdle {
  position: relative;
  border-radius: 6px;
  outline: 2px dashed rgba(0, 102, 255, 0.3);
  outline-offset: 8px;
  cursor: text;
}
.ProductAuthoringSurface_sectionIdle:hover,
.ProductAuthoringSurface_sectionIdle:focus-visible {
  outline-style: solid;
  outline-color: rgba(0, 102, 255, 0.7);
}
.ProductAuthoringSurface_sectionIdle:focus-visible {
  box-shadow: none;
}
.ProductAuthoringSurface_sectionEmpty {
  min-height: 3em;
}
.ProductAuthoringSurface_placeholder {
  color: rgba(0, 0, 0, 0.36) !important;
  margin: 0;
}
.ProductAuthoringSurface_sectionHint {
  position: absolute;
  right: -6px;
  top: -20px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0052cc;
  font:
    700 11px/1.4 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}
.ProductAuthoringSurface_sectionIdle:hover .ProductAuthoringSurface_sectionHint,
.ProductAuthoringSurface_sectionIdle:focus-visible .ProductAuthoringSurface_sectionHint {
  opacity: 1;
}
.ProductAuthoringSurface_sectionAdd {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  border: 1px dashed rgba(0, 102, 255, 0.45);
  border-radius: 6px;
  background: rgba(0, 102, 255, 0.04);
  color: #0052cc;
  font:
    700 14px/1.4 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  text-align: left;
  cursor: pointer;
}
.ProductAuthoringSurface_sectionAdd:hover,
.ProductAuthoringSurface_sectionAdd:focus-visible {
  border-style: solid;
  border-color: #0066ff;
  background: rgba(0, 102, 255, 0.09);
}
.ProductAuthoringSurface_meetingSlot {
  display: grid;
  gap: 8px;
}
.ProductAuthoringSurface_meetingField {
  min-height: 3.5em;
  max-width: 68ch;
  color: #3a403b;
  font-size: 16px;
  line-height: 1.75;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.ProductAuthoringSurface_meetingNote {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  max-width: 68ch;
  margin: 0;
  color: #5d6878;
  font:
    12px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
}
.ProductAuthoringSurface_saveTiming {
  padding: 2px 8px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0052cc;
  font-weight: 700;
}
.ProductAuthoringSurface_bookingNote {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-top: 32px;
  padding: 12px 16px;
  border: 1px dashed #0066ff;
  border-radius: 8px;
  background: #f4f8ff;
  color: #2f3a48;
  font:
    13px/1.5 PretendardAite,
    system-ui,
    sans-serif;
}
.ProductAuthoringSurface_bookingNote strong {
  color: #0052cc;
}
.ProductAuthoringSurface_bookingNote span {
  flex: 1 1 320px;
}
.ProductAuthoringSurface_noteButton {
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #0066ff;
  border-radius: 999px;
  background: #fff;
  color: #0052cc;
  font:
    700 12px/1.2 PretendardAite,
    system-ui,
    sans-serif;
  cursor: pointer;
}
@media (prefers-color-scheme: dark) {
  .ProductAuthoringSurface_textField::placeholder,
  .ProductAuthoringSurface_placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
  }
  .ProductAuthoringSurface_heroPlaceholder {
    color: #c4cbd0;
  }
  .ProductAuthoringSurface_bookingNote {
    background: #1d2f40;
    color: #d8dee3;
  }
  .ProductAuthoringSurface_overlayButtonInline,
  .ProductAuthoringSurface_noteButton {
    background: #1a1d20;
    color: #9dc9ff;
  }
}
.ProductAuthoringSurface_placeholderLead {
  display: block;
  margin-bottom: 4px;
  color: var(--ad-text-primary, #424656);
  font-weight: 700;
}

/* app/components/FareItemsPicker.module.css */
.FareItemsPicker_group {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.FareItemsPicker_legend {
  padding: 0;
  margin-bottom: 4px;
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-weight: 700;
}
.FareItemsPicker_help {
  margin: 0;
  color: var(--public-muted, #666);
  font-size: 12px;
  line-height: 1.6;
  word-break: keep-all;
}
.FareItemsPicker_list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.FareItemsPicker_item {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--public-line, #e2e2e2);
  border-radius: var(--public-radius, 5px);
  background: var(--public-surface, #fff);
}
.FareItemsPicker_head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  min-width: 0;
}
.FareItemsPicker_name {
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.FareItemsPicker_required {
  color: var(--public-primary, #00489d);
  font-size: 12px;
  font-weight: 700;
}
.FareItemsPicker_unit {
  color: var(--public-muted, #666);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  word-break: keep-all;
}
.FareItemsPicker_note {
  margin: 0;
  color: var(--public-muted, #666);
  font-size: 12px;
  line-height: 1.6;
  white-space: pre-line;
  word-break: keep-all;
}
.FareItemsPicker_controls {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 14px;
  min-width: 0;
}
.FareItemsPicker_control {
  flex: 0 1 180px;
  min-width: 0;
  font-size: 13px;
}
.FareItemsPicker_control select {
  min-height: 44px;
}
.FareItemsPicker_check {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  color: var(--public-body, #454545);
  font-size: 13px;
}
.FareItemsPicker_check input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--public-primary, #00489d);
}
.FareItemsPicker_amount {
  margin-left: auto;
  align-self: center;
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.FareItemsPicker_inputField {
  min-width: 0;
  font-size: 13px;
}
.FareItemsPicker_inputField input {
  min-height: 44px;
}
.FareItemsPicker_inputHelp {
  color: var(--public-muted, #666);
  font-size: 12px;
  line-height: 1.5;
  word-break: keep-all;
}
.FareItemsPicker_inputError {
  color: var(--public-danger, #8a3b27);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}
.FareItemsPicker_summaryLine {
  display: block;
  font-variant-numeric: tabular-nums;
}
.FareItemsPicker_partyThree.FareItemsPicker_partyThree {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 600px) {
  .FareItemsPicker_control {
    flex: 1 1 100%;
  }
  .FareItemsPicker_amount {
    margin-left: 0;
  }
  .FareItemsPicker_partyThree.FareItemsPicker_partyThree {
    grid-template-columns: 1fr;
  }
}

/* app/components/ProductPriceTable.module.css */
.ProductPriceTable_section {
  margin: 0 0 48px;
  min-width: 0;
}
.ProductPriceTable_head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 20px;
  margin-bottom: 14px;
}
.ProductPriceTable_head h2 {
  margin: 0;
  color: var(--public-heading, #252525);
  font-size: 22px;
  line-height: 1.35;
  letter-spacing: -0.03em;
}
.ProductPriceTable_basis {
  margin: 0;
  color: var(--public-muted, #666);
  font-size: 13px;
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.ProductPriceTable_basis {
  flex: 1 1 auto;
}
.ProductPriceTable_jump {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid var(--public-heading, #252525);
  border-radius: 999px;
  color: var(--public-heading, #252525);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.ProductPriceTable_jump:hover {
  background: var(--public-heading, #252525);
  color: var(--public-surface, #fff);
}
@media (max-width: 600px) {
  .ProductPriceTable_jump {
    min-height: 44px;
  }
}
.ProductPriceTable_tableWrap {
  min-width: 0;
  overflow-x: auto;
}
.ProductPriceTable_table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid var(--public-heading, #252525);
  font-variant-numeric: tabular-nums;
}
.ProductPriceTable_table th,
.ProductPriceTable_table td {
  padding: 16px 20px;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
  vertical-align: middle;
}
.ProductPriceTable_table thead th {
  background: var(--public-subtle, #fafafa);
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
.ProductPriceTable_table thead th:first-child,
.ProductPriceTable_table tbody th {
  width: 22%;
}
.ProductPriceTable_table tbody th {
  color: var(--public-body, #454545);
  font-size: 14px;
  font-weight: 500;
  text-align: center;
}
.ProductPriceTable_table td {
  text-align: right;
}
.ProductPriceTable_table td + td {
  border-left: 1px solid var(--public-line, #e2e2e2);
}
.ProductPriceTable_rate {
  display: inline-flex;
  margin: 0 0 6px;
}
.ProductPriceTable_amount {
  display: block;
  color: var(--public-heading, #252525);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.ProductPriceTable_regular {
  display: block;
  margin-top: 2px;
  color: var(--public-muted, #666);
  font-size: 13px;
  white-space: nowrap;
}
.ProductPriceTable_notes {
  display: grid;
  gap: 4px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  color: var(--public-muted, #666);
  font-size: 13px;
  line-height: 1.65;
  word-break: keep-all;
}
.ProductPriceTable_notes li {
  position: relative;
  padding-left: 12px;
}
.ProductPriceTable_notes li::before {
  content: "-";
  position: absolute;
  left: 0;
}
.ProductPriceTable_notes a {
  color: var(--public-primary, #00489d);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ProductPriceTable_options {
  margin-top: 24px;
  min-width: 0;
}
.ProductPriceTable_options h3 {
  margin: 0;
  color: var(--public-heading, #252525);
  font-size: 17px;
}
.ProductPriceTable_optionHelp {
  margin: 6px 0 12px;
  color: var(--public-muted, #666);
  font-size: 13px;
  line-height: 1.65;
}
.ProductPriceTable_optionList {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--public-heading, #252525);
}
.ProductPriceTable_optionRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
  gap: 12px 24px;
  padding: 16px 0;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
  color: var(--public-body, #454545);
  font-size: 14px;
  line-height: 1.6;
}
.ProductPriceTable_optionInfo,
.ProductPriceTable_optionName strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ProductPriceTable_optionName {
  display: flex;
  align-items: baseline;
  gap: 6px 10px;
}
.ProductPriceTable_optionRequirement {
  flex-shrink: 0;
  color: var(--public-muted, #666);
  font-size: 12px;
}
.ProductPriceTable_optionChosen {
  flex-shrink: 0;
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--public-primary, #00489d);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
.ProductPriceTable_estimate {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 2px 10px;
  margin: 12px 0 0;
  color: var(--public-body, #454545);
  font-size: 14px;
  line-height: 1.5;
  word-break: keep-all;
}
.ProductPriceTable_estimateAmount {
  min-width: 0;
  color: var(--public-heading, #252525);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.ProductPriceTable_optionBasis,
.ProductPriceTable_optionNote {
  margin: 4px 0 0;
  color: var(--public-muted, #666);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.ProductPriceTable_optionAmounts {
  display: grid;
  align-content: start;
  gap: 4px;
  margin: 0;
}
.ProductPriceTable_optionAmounts > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.ProductPriceTable_optionAmounts dt {
  color: var(--public-muted, #666);
  font-size: 13px;
}
.ProductPriceTable_optionAmounts dd {
  margin: 0;
  color: var(--public-heading, #252525);
  font-weight: 700;
  text-align: right;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.ProductPriceTable_optionAmounts small {
  display: block;
  font-weight: 400;
  color: var(--public-muted, #666);
  font-size: 12px;
}
@media (max-width: 600px) {
  .ProductPriceTable_optionRow {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .ProductPriceTable_section {
    margin-bottom: 36px;
  }
  .ProductPriceTable_head h2 {
    font-size: 20px;
  }
  .ProductPriceTable_table th,
  .ProductPriceTable_table td {
    padding: 14px 10px;
  }
  .ProductPriceTable_table thead th:first-child,
  .ProductPriceTable_table tbody th {
    width: 26%;
  }
  .ProductPriceTable_table tbody th {
    font-size: 13px;
    word-break: keep-all;
  }
  .ProductPriceTable_amount {
    font-size: 18px;
  }
  .ProductPriceTable_regular {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  .ProductPriceTable_withInfant th,
  .ProductPriceTable_withInfant td {
    padding: 12px 6px;
  }
  .ProductPriceTable_withInfant thead th:first-child,
  .ProductPriceTable_withInfant tbody th {
    width: 22%;
  }
  .ProductPriceTable_withInfant .ProductPriceTable_amount {
    font-size: 15px;
    letter-spacing: -0.03em;
  }
  .ProductPriceTable_withInfant .ProductPriceTable_regular {
    font-size: 11px;
  }
}

/* app/components/ProductSideSummary.module.css */
.ProductSideSummary_block {
  display: grid;
  gap: 0;
  min-width: 0;
}
.ProductSideSummary_title {
  margin: 8px 0 14px !important;
}
.ProductSideSummary_rows {
  display: grid;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--public-line, #e2e2e2);
}
.ProductSideSummary_rows > div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
  font-size: 13px;
  line-height: 1.5;
}
.ProductSideSummary_rows dt {
  color: var(--public-muted, #666);
}
.ProductSideSummary_rows dd {
  margin: 0;
  color: var(--public-heading, #252525);
  font-weight: 600;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.ProductSideSummary_price {
  display: grid;
  gap: 2px;
  margin: 12px 0 14px;
  font-variant-numeric: tabular-nums;
}
.ProductSideSummary_priceLabel {
  color: var(--public-muted, #666);
  font-size: 12px;
}
.ProductSideSummary_priceLine {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
}
.ProductSideSummary_priceLine strong {
  color: var(--public-heading, #252525);
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: -0.03em;
}
.ProductSideSummary_rate {
  margin: 0 !important;
}
.ProductSideSummary_price s {
  color: var(--public-muted, #666);
  font-size: 13px;
}
.ProductSideSummary_fareLine {
  display: block;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.ProductSideSummary_unit {
  color: var(--public-muted, #666);
  font-size: 12px;
  line-height: 1.5;
}
.ProductSideSummary_unit s {
  margin-left: 6px;
  font-size: 12px;
}
.ProductSideSummary_cta {
  width: 100%;
}
.ProductSideSummary_help {
  margin: 10px 0 0 !important;
  color: var(--public-muted, #666);
  font-size: 12px !important;
  line-height: 1.6 !important;
}

/* app/components/ItineraryDays.module.css */
.ItineraryDays_section {
  margin: 4px 0 40px;
  min-width: 0;
}
.ItineraryDays_head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 20px;
  margin-bottom: 14px;
}
.ItineraryDays_head h3 {
  margin: 0;
  color: var(--public-heading, #252525);
  font-size: 19px;
  letter-spacing: -0.02em;
}
.ItineraryDays_head h3 span {
  margin-left: 6px;
  color: var(--public-muted, #666);
  font-size: 14px;
  font-weight: 500;
}
.ItineraryDays_head p {
  margin: 0;
  color: var(--public-muted, #666);
  font-size: 13px;
  line-height: 1.6;
  word-break: keep-all;
}
.ItineraryDays_days {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--public-heading, #252525);
}
.ItineraryDays_day {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
}
.ItineraryDays_rail {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 6px;
}
.ItineraryDays_number {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--public-primary, #00489d);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.ItineraryDays_date {
  color: var(--public-muted, #666);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ItineraryDays_body {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.ItineraryDays_dayHead {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
}
.ItineraryDays_dayHead strong {
  color: var(--public-heading, #252525);
  font-size: 17px;
  letter-spacing: -0.02em;
}
.ItineraryDays_places {
  color: var(--public-body, #454545);
  font-size: 14px;
}
.ItineraryDays_flight {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  margin: 0;
  padding: 10px 14px;
  border-radius: var(--public-radius, 5px);
  background: var(--public-subtle, #fafafa);
  border: 1px solid var(--public-line, #e2e2e2);
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.ItineraryDays_flightLabel {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--public-primary, #00489d);
  font-size: 13px;
  font-weight: 700;
}
.ItineraryDays_icon {
  flex: 0 0 auto;
}
.ItineraryDays_lines {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  color: var(--public-body, #454545);
  font-size: 15px;
  line-height: 1.7;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.ItineraryDays_facts {
  display: grid;
  gap: 4px;
  margin: 2px 0 0;
  font-size: 13px;
}
.ItineraryDays_facts > div {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
}
.ItineraryDays_facts dt {
  color: var(--public-muted, #666);
}
.ItineraryDays_facts dd {
  margin: 0;
  color: var(--public-heading, #252525);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.ItineraryDays_facts small {
  color: var(--public-muted, #666);
  font-size: 12px;
}
.ItineraryDays_note {
  margin: 0;
  padding-left: 10px;
  border-left: 2px solid var(--public-line, #e2e2e2);
  color: var(--public-muted, #666);
  font-size: 13px;
  line-height: 1.65;
  word-break: keep-all;
}
@media (max-width: 600px) {
  .ItineraryDays_day {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 18px 0;
  }
  .ItineraryDays_rail {
    grid-auto-flow: column;
    justify-content: start;
    align-items: center;
    gap: 10px;
  }
  .ItineraryDays_lines {
    font-size: 14px;
  }
}

/* app/components/CalendarPicker.module.css */
.CalendarPicker_productReservationCalendar {
  min-width: 0;
}
@media (min-width: 768px) {
  .CalendarPicker_productReservationCalendar.CalendarPicker_productReservationCalendar .calendar-grid > div:not(.weekday) {
    min-height: 78px;
  }
}
@media (max-width: 767px) {
  .CalendarPicker_productReservationCalendar.CalendarPicker_productReservationCalendar .calendar-grid > div {
    padding-inline: 0;
  }
  .CalendarPicker_productReservationCalendar .calendar-departure-option {
    width: 100%;
  }
  .CalendarPicker_productReservationCalendar.CalendarPicker_productReservationCalendar .departure-dot {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    margin-inline: auto;
    padding: 4px 2px;
    flex-direction: column;
    font-size: 10px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: normal;
    word-break: keep-all;
    letter-spacing: -0.06em;
  }
  .CalendarPicker_productReservationCalendar.CalendarPicker_productReservationCalendar .calendar-status {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: normal;
  }
  .CalendarPicker_productReservationCalendar.CalendarPicker_productReservationCalendar .departure-price-amount {
    display: inline-block;
    white-space: nowrap;
  }
  .CalendarPicker_productReservationCalendar.CalendarPicker_productReservationCalendar .departure-price-unit {
    display: block;
  }
}
.CalendarPicker_optionGroupButton .CalendarPicker_optionCount {
  display: block;
  margin-top: 1px;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.25;
  opacity: 0.85;
}
.CalendarPicker_optionGroupButton .CalendarPicker_optionCountSeparator {
  display: none;
}
.CalendarPicker_optionGroupOpen {
  outline: 2px solid var(--public-primary);
  outline-offset: 1px;
}

/* app/components/ConsentField.module.css */
.ConsentField_group {
  display: grid;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 16px 0 0;
  border: 0;
  border-top: 1px solid var(--public-line, #e2e2e2);
}
.ConsentField_group .ConsentField_legend {
  float: left;
  width: 100%;
  margin: 0 0 12px;
  padding: 0;
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-weight: 700;
}
.ConsentField_group .ConsentField_legend + * {
  clear: both;
}
.ConsentField_group .ConsentField_all {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--public-line, #e2e2e2);
  border-radius: var(--public-radius, 5px);
  background: var(--public-subtle, #fafafa);
  color: var(--public-heading, #252525);
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}
.ConsentField_group .ConsentField_all > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.ConsentField_group .ConsentField_all small {
  color: var(--public-muted, #666);
  font-size: 12px;
  font-weight: 400;
}
.ConsentField_field {
  --consent-row-pad: 0px;
  position: relative;
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: var(--consent-row-pad) 0;
}
.ConsentField_group .ConsentField_field {
  --consent-row-pad: 12px;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
}
.ConsentField_field .ConsentField_check {
  margin: 0;
}
.ConsentField_group .ConsentField_all {
  margin: 0 0 4px;
}
.ConsentField_field .ConsentField_check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
}
.ConsentField_field.ConsentField_withToggle .ConsentField_check {
  padding-right: 84px;
}
.ConsentField_field .ConsentField_check input[type=checkbox],
.ConsentField_group .ConsentField_all input[type=checkbox] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  min-width: 0;
  min-height: 0;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: var(--public-primary, #00489d);
}
.ConsentField_field .ConsentField_label {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.ConsentField_field .ConsentField_tag {
  color: var(--public-primary, #00489d);
  font-weight: 700;
}
.ConsentField_field .ConsentField_description {
  margin: 0 0 0 28px;
  color: var(--public-muted, #666);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.ConsentField_field .ConsentField_meta,
.ConsentField_field .ConsentField_footer {
  margin: 0 0 0 28px;
  color: var(--public-body, #454545);
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.ConsentField_field .ConsentField_footer:empty {
  display: none;
}
.ConsentField_field .ConsentField_footer p {
  margin: 0;
}
.ConsentField_field .ConsentField_footer a {
  color: var(--public-primary, #00489d);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ConsentField_field .ConsentField_toggle,
.ConsentField_field.ConsentField_withToggle .ConsentField_details > summary {
  position: absolute;
  top: calc(var(--consent-row-pad) - 5px);
  right: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 31px;
  margin: 0;
  padding: 5px 0 5px 8px;
  border: 0;
  background: transparent;
  color: var(--public-body, #454545);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 21px;
  white-space: nowrap;
  list-style: none;
  cursor: pointer;
}
.ConsentField_field.ConsentField_withToggle .ConsentField_details > summary::-webkit-details-marker {
  display: none;
}
.ConsentField_field .ConsentField_toggle::after,
.ConsentField_field.ConsentField_withToggle .ConsentField_details > summary::after {
  content: "";
  width: 6px;
  height: 6px;
  margin: -3px 2px 0 2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.ConsentField_field .ConsentField_toggle[aria-expanded=true]::after,
.ConsentField_field.ConsentField_withToggle .ConsentField_details[open] > summary::after {
  margin-top: 3px;
  transform: rotate(-135deg);
}
.ConsentField_field .ConsentField_toggle:hover,
.ConsentField_field .ConsentField_toggle:focus-visible,
.ConsentField_field.ConsentField_withToggle .ConsentField_details > summary:hover,
.ConsentField_field.ConsentField_withToggle .ConsentField_details > summary:focus-visible {
  color: var(--public-primary, #00489d);
}
.ConsentField_field .ConsentField_details,
.ConsentField_field .ConsentField_extra {
  margin: 0 0 0 28px;
  min-width: 0;
  color: var(--public-body, #454545);
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.ConsentField_field .ConsentField_details:not([open]) {
  margin-top: -4px;
}
.ConsentField_field .ConsentField_details summary {
  width: fit-content;
  color: var(--public-heading, #252525);
  font-weight: 700;
  cursor: pointer;
}
.ConsentField_field .ConsentField_details dl {
  display: grid;
  gap: 8px;
  margin: 6px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--public-line, #e2e2e2);
  border-radius: var(--public-radius, 5px);
  background: var(--public-subtle, #fafafa);
}
.ConsentField_field .ConsentField_details dt {
  color: var(--public-heading, #252525);
  font-weight: 700;
}
.ConsentField_field .ConsentField_details dd {
  margin: 2px 0 0;
}
.ConsentField_field .ConsentField_details p {
  margin: 8px 0 0;
}
.ConsentField_field .ConsentField_details a {
  color: var(--public-primary, #00489d);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ConsentField_field .ConsentField_extra[hidden] {
  display: none;
}
.ConsentField_field .ConsentField_extra {
  display: grid;
  gap: 8px;
  margin-top: 6px;
}
.ConsentField_field .ConsentField_extra details {
  min-width: 0;
  border: 1px solid var(--public-line, #e2e2e2);
  border-radius: var(--public-radius, 5px);
  background: var(--public-subtle, #fafafa);
}
.ConsentField_field .ConsentField_extra summary {
  padding: 10px 14px;
  color: var(--public-heading, #252525);
  font-weight: 700;
  cursor: pointer;
}
.ConsentField_field .ConsentField_extra details > :not(summary) {
  margin: 0 14px 12px;
}
.ConsentField_records {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ConsentField_records li {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.ConsentField_records .ConsentField_recordLabel {
  min-width: 7.5em;
  font-weight: 700;
}
.ConsentField_records .ConsentField_recordAgreed {
  font-variant-numeric: tabular-nums;
}
.ConsentField_records .ConsentField_recordMissing {
  opacity: .72;
}
.ConsentField_records .ConsentField_recordWithdrawn {
  color: var(--consent-withdrawn, #a33a2b);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.ConsentField_records .ConsentField_recordDetail {
  flex-basis: 100%;
  color: inherit;
  font-size: 12px;
  opacity: .8;
  overflow-wrap: anywhere;
}
.ConsentField_records .ConsentField_withdrawButton {
  min-height: 28px;
  padding: 2px 10px;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: transparent;
  color: var(--consent-withdrawn, #a33a2b);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.ConsentField_records .ConsentField_withdrawButton:disabled {
  opacity: .6;
  cursor: progress;
}
.ConsentField_withdrawnNote {
  margin: 6px 0 0;
  color: var(--consent-withdrawn, #a33a2b);
  font-size: 12px;
  font-weight: 700;
}
@media (max-width: 600px) {
  .ConsentField_field .ConsentField_details,
  .ConsentField_field .ConsentField_extra {
    margin-left: 0;
  }
  .ConsentField_records li {
    display: grid;
  }
}

/* app/components/DepartureOptionList.module.css */
.DepartureOptionList_list {
  margin-top: 24px;
  min-width: 0;
}
.DepartureOptionList_heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 12px;
  margin-bottom: 12px;
}
.DepartureOptionList_heading h4 {
  margin: 0;
  color: var(--public-heading);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
}
.DepartureOptionList_heading span {
  color: var(--public-muted);
  font-size: 12px;
}
.DepartureOptionList_chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.DepartureOptionList_chip {
  min-height: 34px;
  padding: 5px 13px;
  border: 1px solid var(--public-line);
  border-radius: 999px;
  background: var(--public-surface);
  color: var(--public-body);
  font-size: 13px;
}
.DepartureOptionList_chip:hover {
  border-color: var(--public-heading);
}
.DepartureOptionList_chipActive,
.DepartureOptionList_chipActive:hover {
  border-color: var(--public-heading);
  background: var(--public-heading);
  color: var(--public-surface);
  font-weight: 600;
}
.DepartureOptionList_cards {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.DepartureOptionList_card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 24px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  min-width: 0;
  transition: border-color 0.15s ease;
}
.DepartureOptionList_card:hover {
  border-color: var(--public-heading);
}
.DepartureOptionList_cardSelected,
.DepartureOptionList_cardSelected:hover {
  border-color: var(--public-primary);
  box-shadow: inset 0 0 0 1px var(--public-primary);
}
.DepartureOptionList_cardUnavailable {
  background: var(--public-subtle);
}
.DepartureOptionList_cardUnavailable .DepartureOptionList_cardTitle strong,
.DepartureOptionList_cardUnavailable .DepartureOptionList_price {
  color: var(--public-muted);
}
.DepartureOptionList_cardMain {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.DepartureOptionList_cardTitle {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
}
.DepartureOptionList_cardTitle strong {
  color: var(--public-heading);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.DepartureOptionList_status {
  color: var(--public-muted);
  font-size: 12px;
}
.DepartureOptionList_statusOpen {
  color: var(--public-muted);
}
.DepartureOptionList_meta,
.DepartureOptionList_remaining {
  margin: 0;
  color: var(--public-body);
  font-size: 13px;
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.DepartureOptionList_remaining {
  color: var(--public-muted);
  font-size: 12px;
}
.DepartureOptionList_cardSide {
  display: grid;
  justify-items: end;
  gap: 2px;
  min-width: 128px;
}
.DepartureOptionList_priceLabel {
  color: var(--public-muted);
  font-size: 11px;
}
.DepartureOptionList_price {
  display: grid;
  justify-items: end;
  color: var(--public-heading);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
}
.DepartureOptionList_price s {
  font-size: 12px;
  font-weight: 400;
}
.DepartureOptionList_selectButton {
  margin-top: 8px;
  min-height: 36px;
  padding-inline: 14px;
  font-size: 13px;
  white-space: nowrap;
}
.DepartureOptionList_schedule {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.DepartureOptionList_scheduleTitle {
  color: var(--public-heading);
  font-size: 13px;
}
.DepartureOptionList_scheduleList {
  display: grid;
  gap: 3px;
  margin: 0;
}
.DepartureOptionList_scheduleList > div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 8px;
}
.DepartureOptionList_scheduleList dt {
  color: var(--public-muted);
  font-size: 12px;
  line-height: 1.5;
}
.DepartureOptionList_scheduleList dd {
  margin: 0;
  color: var(--public-body);
  font-size: 13px;
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.DepartureOptionList_cardSchedule {
  margin-top: 2px;
}
.DepartureOptionList_cardSchedule .DepartureOptionList_scheduleList dd {
  font-size: 12px;
  color: var(--public-muted);
}
.DepartureOptionList_summarySchedule {
  padding: 14px 0;
  border-bottom: 1px solid var(--public-line);
}
@media (max-width: 767px) {
  .DepartureOptionList_chip {
    min-height: 44px;
    padding-inline: 15px;
  }
  .DepartureOptionList_selectButton {
    min-height: 44px;
  }
  .DepartureOptionList_card {
    grid-template-columns: minmax(0, 1fr);
    padding: 14px;
  }
  .DepartureOptionList_cardSide {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-items: start;
    min-width: 0;
    padding-top: 10px;
    border-top: 1px solid var(--public-line);
  }
  .DepartureOptionList_cardSide .DepartureOptionList_priceLabel {
    grid-column: 1 / -1;
  }
  .DepartureOptionList_price {
    justify-items: start;
  }
  .DepartureOptionList_selectButton {
    margin-top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .DepartureOptionList_card {
    transition: none;
  }
}

/* app/components/DeparturePicker.module.css */
.DeparturePicker_picker {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  min-width: 0;
}
.DeparturePicker_tabs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 8px;
  min-width: 0;
}
.DeparturePicker_tab {
  display: grid;
  gap: 2px;
  align-content: center;
  justify-items: start;
  min-width: 0;
  min-height: 56px;
  padding: 9px 14px;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  color: var(--public-body);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.DeparturePicker_tab:hover {
  border-color: var(--public-heading);
}
.DeparturePicker_tab:focus-visible,
.DeparturePicker_chip:focus-visible {
  outline: 2px solid var(--public-focus-ring);
  outline-offset: 2px;
}
.DeparturePicker_tabName {
  max-width: 100%;
  color: var(--public-heading);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.35;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.DeparturePicker_tabLowest {
  color: var(--public-muted);
  font-size: 12px;
  line-height: 1.4;
}
.DeparturePicker_tabActive,
.DeparturePicker_tabActive:hover {
  border-color: var(--public-primary);
  box-shadow: inset 0 0 0 1px var(--public-primary);
}
.DeparturePicker_tabActive .DeparturePicker_tabName,
.DeparturePicker_tabActive .DeparturePicker_tabLowest {
  color: var(--public-primary);
}
.DeparturePicker_tabWithImage {
  padding: 0;
  overflow: hidden;
  align-content: start;
  justify-items: stretch;
}
.DeparturePicker_tabImage {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--public-soft, #f5f6f3);
}
.DeparturePicker_tabText {
  display: grid;
  gap: 2px;
  justify-items: start;
  min-width: 0;
  padding: 9px 12px 11px;
}
.DeparturePicker_tabsWrap {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 6px;
  align-items: stretch;
  min-width: 0;
}
.DeparturePicker_tabsWrap[data-overflow=false] .DeparturePicker_slideButton {
  visibility: hidden;
  pointer-events: none;
}
.DeparturePicker_tabsSlide {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.DeparturePicker_tabsSlide::-webkit-scrollbar {
  display: none;
}
.DeparturePicker_tabsSlide .DeparturePicker_tab {
  flex: 0 0 176px;
  scroll-snap-align: start;
}
.DeparturePicker_slideButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  min-width: 36px;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  color: var(--public-heading);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.DeparturePicker_slideButton:hover {
  border-color: var(--public-heading);
}
.DeparturePicker_slideButton:focus-visible {
  outline: 2px solid var(--public-focus-ring);
  outline-offset: 2px;
}
.DeparturePicker_slideButton:disabled {
  cursor: default;
  opacity: 0.4;
}
.DeparturePicker_tabClosed .DeparturePicker_tabName {
  color: var(--public-muted);
}
.DeparturePicker_tab:disabled,
.DeparturePicker_chip:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.DeparturePicker_chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.DeparturePicker_chip {
  min-height: 34px;
  padding: 5px 13px;
  border: 1px solid var(--public-line);
  border-radius: 999px;
  background: var(--public-surface);
  color: var(--public-body);
  font-size: 13px;
  cursor: pointer;
}
.DeparturePicker_chip:hover {
  border-color: var(--public-heading);
}
.DeparturePicker_chipActive,
.DeparturePicker_chipActive:hover {
  border-color: var(--public-heading);
  background: var(--public-heading);
  color: var(--public-surface);
  font-weight: 600;
}
@media (max-width: 767px) {
  .DeparturePicker_tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .DeparturePicker_tab {
    min-height: 56px;
    padding: 8px 12px;
  }
  .DeparturePicker_chip {
    min-height: 44px;
    padding-inline: 15px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .DeparturePicker_tab {
    transition: none;
  }
}

/* app/components/ProductPhotoCarousel.module.css */
.ProductPhotoCarousel_carousel {
  display: grid;
  gap: 12px;
  min-width: 0;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--public-line, #e2e2e2);
}
.ProductPhotoCarousel_stage {
  position: relative;
  min-width: 0;
}
.ProductPhotoCarousel_track {
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  border-radius: var(--public-radius, 5px);
}
.ProductPhotoCarousel_track::-webkit-scrollbar {
  display: none;
}
.ProductPhotoCarousel_track:focus-visible {
  outline: 3px solid var(--public-focus-ring, #9dc9ff);
  outline-offset: 3px;
}
.ProductPhotoCarousel_slide {
  position: relative;
  flex: 0 0 100%;
  min-width: 0;
  scroll-snap-align: start;
  border-radius: var(--public-radius, 5px);
  overflow: hidden;
  background: var(--public-subtle, #fafafa);
}
.ProductPhotoCarousel_slide img {
  display: block;
  width: 100%;
  height: clamp(220px, 46vw, 520px);
  object-fit: cover;
}
.ProductPhotoCarousel_caption {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 18px 16px 12px;
  background: linear-gradient(transparent, rgba(0, 0, 0, .58));
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
}
.ProductPhotoCarousel_arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--public-line, #e2e2e2);
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: var(--public-heading, #252525);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.ProductPhotoCarousel_arrow:hover:not(:disabled) {
  background: #fff;
  border-color: var(--public-primary, #00489d);
  color: var(--public-primary, #00489d);
}
.ProductPhotoCarousel_arrow:disabled {
  opacity: 0;
  pointer-events: none;
}
.ProductPhotoCarousel_arrowPrev {
  left: 10px;
}
.ProductPhotoCarousel_arrowNext {
  right: 10px;
}
.ProductPhotoCarousel_counter {
  position: absolute;
  right: 12px;
  bottom: 12px;
  margin: 0;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .55);
  color: #fff;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.ProductPhotoCarousel_dots {
  display: flex;
  justify-content: center;
  gap: 7px;
}
.ProductPhotoCarousel_dot,
.ProductPhotoCarousel_dotActive {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #cfd6df;
  cursor: pointer;
  transition: width .15s, background .15s;
}
.ProductPhotoCarousel_dotActive {
  width: 22px;
  background: var(--public-primary, #00489d);
}
.ProductPhotoCarousel_note {
  min-width: 0;
}
@media (max-width: 600px) {
  .ProductPhotoCarousel_carousel {
    margin-top: 22px;
    padding-top: 18px;
  }
  .ProductPhotoCarousel_arrow {
    width: 34px;
    height: 34px;
    font-size: 19px;
  }
}

/* app/components/ProductHeroVideo.module.css */
.ProductHeroVideo_stage {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
[data-product-detail-frame=custom] .ProductHeroVideo_stage {
  height: auto;
}
.ProductHeroVideo_layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  container-type: size;
}
.ProductHeroVideo_layer[data-hero-video-state=still] {
  visibility: hidden;
}
.ProductHeroVideo_media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: transparent;
}
.ProductHeroVideo_embed {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, 177.78cqh);
  height: max(100%, 56.25cqw);
  border: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.ProductHeroVideo_expand {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  background: rgba(10, 22, 24, 0.72);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  pointer-events: auto;
}
.ProductHeroVideo_expand:hover,
.ProductHeroVideo_expand:focus-visible {
  background: #0b1a1c;
  border-color: #fff;
}
.ProductHeroVideo_expandIcon {
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid currentColor;
}
.ProductHeroVideo_expandDetail {
  right: 14px;
  bottom: 14px;
}
.ProductHeroVideo_expandFeature {
  top: 16px;
  right: 16px;
}
.ProductHeroVideo_badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(10, 22, 24, 0.78);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  pointer-events: none;
}
.ProductHeroVideo_badge::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid currentColor;
}
.ProductHeroVideo_backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(4, 12, 14, 0.82);
}
.ProductHeroVideo_guard {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}
.ProductHeroVideo_dialog {
  display: grid;
  gap: 12px;
  width: min(1100px, 100%);
  max-height: calc(100vh - 48px);
}
.ProductHeroVideo_dialogHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  color: #fff;
}
.ProductHeroVideo_dialogHead h2 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 16px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ProductHeroVideo_close {
  flex: none;
  min-width: 44px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.ProductHeroVideo_close:hover,
.ProductHeroVideo_close:focus-visible {
  background: #fff;
  color: #0b1a1c;
}
.ProductHeroVideo_dialogFrame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: calc(100vh - 120px);
  overflow: hidden;
  border-radius: 8px;
  background: #000;
}
.ProductHeroVideo_dialogFrame iframe,
.ProductHeroVideo_dialogFrame video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000;
}
@media (max-width: 900px) {
  .ProductHeroVideo_expand {
    padding: 8px 14px;
    font-size: 13px;
  }
  .ProductHeroVideo_expandFeature {
    top: 12px;
    right: 12px;
  }
  .ProductHeroVideo_backdrop {
    padding: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ProductHeroVideo_expand,
  .ProductHeroVideo_close {
    transition: none;
  }
}

/* app/components/ProductDetailView.module.css */
.ProductDetailView_heroMedia .home-image {
  display: block;
  width: 100%;
  height: 100%;
}
.ProductDetailView_heroMedia .home-image > img.home-image-element {
  min-height: 0;
}
.ProductDetailView_heroMedia[data-product-detail-frame=custom] {
  aspect-ratio: var(--product-detail-frame-ratio, auto);
  display: grid;
  place-items: center;
  overflow: visible;
}
.ProductDetailView_heroMedia[data-product-detail-frame=custom] > [data-canvas-hero=filled] {
  display: grid;
  place-items: center;
}
.ProductDetailView_heroMedia[data-product-detail-frame=custom] .home-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  align-self: center;
}
.ProductDetailView_heroMedia[data-product-detail-frame=custom] .home-image > img.home-image-element {
  height: auto;
  max-height: none;
}
.ProductDetailView_heroMediaEmpty {
  min-height: 300px;
}
.ProductDetailView_gallery {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #ededed;
}
.ProductDetailView_galleryContent {
  min-width: 0;
}
.ProductDetailView_editing {
  position: relative;
}
.ProductDetailView_photos {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #ededed;
}
.ProductDetailView_hideable {
  position: relative;
  min-width: 0;
}
.ProductDetailView_hideable[data-hidden=true] {
  opacity: .42;
}
.ProductDetailView_hideable[data-hidden=true]::after {
  content: "고객 화면에 안 보임";
  position: absolute;
  right: 0;
  top: 0;
  padding: 2px 8px;
  border-radius: 999px;
  background: #424656;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  pointer-events: none;
}
.ProductDetailView_guideSourceNote {
  margin: 0 0 10px;
  padding: 8px 11px;
  border-radius: 8px;
  background: #f4f7fb;
  color: #5d6878;
  font-size: 12px;
  line-height: 1.6;
}
.ProductDetailView_guideSourceNote b {
  color: #252525;
}

/* app/components/ProductContentEditor.module.css */
.ProductContentEditor_editor {
  --editor-ink: var(--ad-text-strong, #17191d);
  --editor-muted: var(--ad-text-muted, #727687);
  --editor-line: var(--ad-line-field, #dfe4eb);
  --editor-soft: var(--ad-surface-sunken, #f8f9fb);
  --editor-accent: var(--ad-accent, #0066ff);
  --editor-accent-soft: var(--ad-accent-surface, #eaf2ff);
  color: var(--editor-ink);
  display: grid;
  gap: var(--ad-gap-loose, 16px);
  margin-top: 20px;
  position: relative;
}
.ProductContentEditor_header,
.ProductContentEditor_modeBar,
.ProductContentEditor_mediaHeader,
.ProductContentEditor_dialogActions {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.ProductContentEditor_header {
  align-items: flex-start;
}
.ProductContentEditor_eyebrow {
  color: var(--editor-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin: 0 0 4px;
  text-transform: uppercase;
}
.ProductContentEditor_title {
  font-size: 19px;
  letter-spacing: -0.03em;
  margin: 0;
}
.ProductContentEditor_helper,
.ProductContentEditor_editorHint,
.ProductContentEditor_boundaryNote,
.ProductContentEditor_dialog p,
.ProductContentEditor_muted {
  color: var(--editor-muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 4px 0 0;
}
.ProductContentEditor_saveState {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 12px;
  gap: 6px;
  padding: 6px 10px;
}
.ProductContentEditor_saveStateGroup {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 8px;
}
.ProductContentEditor_saveStateSaved {
  background: var(--ad-success-surface, #edf7ee);
  color: var(--ad-success-text, #277144);
}
.ProductContentEditor_saveStateDirty {
  background: var(--ad-dirty-surface, #fff4df);
  color: var(--ad-dirty-text, #8a5a08);
}
.ProductContentEditor_saveStateError {
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
}
.ProductContentEditor_saveDot {
  background: currentColor;
  border-radius: 50%;
  height: 7px;
  width: 7px;
}
.ProductContentEditor_saveRetry {
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: var(--ad-danger-text, #a4332d);
  font-size: 12px;
  padding: 4px 8px;
}
.ProductContentEditor_saveRetry:hover,
.ProductContentEditor_saveRetry:focus-visible {
  background: var(--ad-danger-surface, #fff1f0);
}
.ProductContentEditor_boundaryNote {
  background: var(--ad-note-surface, #f4f8f1);
  border: 1px solid var(--ad-note-line, #dfead8);
  border-radius: 12px;
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 12px;
}
.ProductContentEditor_boundaryNote strong {
  color: var(--editor-ink);
}
.ProductContentEditor_sectionTabs {
  border-bottom: 1px solid var(--editor-line);
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.ProductContentEditor_sectionTab {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--editor-muted);
  cursor: pointer;
  display: grid;
  gap: 2px;
  min-height: 58px;
  padding: 8px 10px 10px;
  text-align: left;
}
.ProductContentEditor_sectionTab:hover,
.ProductContentEditor_sectionTab:focus-visible {
  background: var(--editor-soft);
  color: var(--editor-ink);
}
.ProductContentEditor_sectionTabActive {
  border-bottom-color: var(--editor-accent);
  color: var(--editor-ink);
}
.ProductContentEditor_sectionTab span {
  font-size: 13px;
  font-weight: 700;
}
.ProductContentEditor_sectionTab small {
  font-size: 11px;
  line-height: 1.35;
}
.ProductContentEditor_modeBar {
  min-height: 38px;
}
.ProductContentEditor_modeLabel {
  font-size: 13px;
  font-weight: 700;
}
.ProductContentEditor_modeButtons {
  background: var(--editor-soft);
  border: 1px solid var(--editor-line);
  border-radius: 10px;
  display: inline-flex;
  gap: var(--ad-gap-tight, 2px);
  padding: var(--ad-gap-tight, 2px);
}
.ProductContentEditor_modeButton,
.ProductContentEditor_secondaryButton,
.ProductContentEditor_primaryButton {
  border-radius: 8px;
  cursor: pointer;
  font-size: 12px;
  min-height: 36px;
  padding: 8px 12px;
}
.ProductContentEditor_modeButton {
  background: transparent;
  border: 0;
  color: var(--editor-muted);
}
.ProductContentEditor_modeButtonActive {
  background: var(--ad-surface, #fff);
  box-shadow: 0 1px 4px rgba(21, 47, 50, 0.1);
  color: var(--editor-ink);
  font-weight: 700;
}
.ProductContentEditor_panel {
  min-width: 0;
}
.ProductContentEditor_toolbar {
  align-items: center;
  background: var(--editor-soft);
  border: 1px solid var(--editor-line);
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 6px 8px;
}
.ProductContentEditor_toolbar > * {
  flex: 0 0 auto;
}
.ProductContentEditor_headingControl {
  align-items: center;
  color: var(--editor-muted);
  display: inline-flex;
  font-size: 12px;
  gap: 6px;
  min-height: 36px;
}
.ProductContentEditor_headingControl select {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--editor-line);
  border-radius: 8px;
  color: var(--editor-ink);
  font-size: 12px;
  min-height: 32px;
  padding: 4px 14px 4px 6px;
}
.ProductContentEditor_toolButton {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--editor-line);
  border-radius: 8px;
  color: var(--editor-ink);
  cursor: pointer;
  font-size: 12px;
  min-height: 36px;
  padding: 8px 10px;
  transition:
    background-color 120ms ease,
    border-color 120ms ease,
    color 120ms ease;
}
.ProductContentEditor_toolButtonIcon {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-height: 32px;
  min-width: 28px;
  padding: 4px;
}
.ProductContentEditor_toolButtonIcon svg {
  display: block;
}
.ProductContentEditor_toolButton:hover:not(:disabled),
.ProductContentEditor_toolButton:focus-visible {
  border-color: var(--ad-accent-hover, #0052cc);
  color: var(--editor-accent);
}
.ProductContentEditor_toolButtonActive {
  background: var(--editor-accent-soft);
  border-color: var(--editor-accent);
  color: var(--editor-accent);
  font-weight: 700;
}
.ProductContentEditor_toolButton:disabled,
.ProductContentEditor_modeButton:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.ProductContentEditor_toolbarDivider {
  background: var(--editor-line);
  height: 20px;
  margin: 0 1px;
  width: 1px;
}
.ProductContentEditor_toolbarSpacer {
  flex: 1 1 0;
  min-width: 0;
}
.ProductContentEditor_editorSurface {
  background: #fff;
  border: 1px solid var(--editor-line);
  border-radius: 0 0 12px 12px;
  min-height: 320px;
  padding: 24px clamp(16px, 4vw, 38px);
}
.ProductContentEditor_editorSurface .ProseMirror {
  min-height: 270px;
  outline: none;
  overflow-wrap: anywhere;
}
.ProductContentEditor_editorSurface .ProseMirror > * + * {
  margin-top: 1rem;
}
.ProductContentEditor_editorSurface .ProseMirror p {
  line-height: 1.8;
  margin: 0;
  min-height: 1.8em;
}
.ProductContentEditor_editorSurface .ProseMirror h1,
.ProductContentEditor_editorSurface .ProseMirror h2,
.ProductContentEditor_editorSurface .ProseMirror h3 {
  letter-spacing: -0.04em;
  line-height: 1.3;
  margin: 0;
}
.ProductContentEditor_editorSurface .ProseMirror h1 {
  font-size: 2rem;
}
.ProductContentEditor_editorSurface .ProseMirror h2 {
  font-size: 1.55rem;
}
.ProductContentEditor_editorSurface .ProseMirror h3 {
  font-size: 1.25rem;
}
.ProductContentEditor_editorSurface .ProseMirror ul,
.ProductContentEditor_editorSurface .ProseMirror ol {
  line-height: 1.8;
  margin: 0;
  padding-left: 1.45rem;
}
.ProductContentEditor_editorSurface .ProseMirror blockquote {
  border-left: 1px solid #a7bd65;
  color: var(--editor-muted);
  margin-left: 0;
  padding-left: 14px;
}
.ProductContentEditor_editorSurface .ProseMirror hr {
  border: 0;
  border-top: 1px solid var(--editor-line);
}
.ProductContentEditor_editorSurface .ProseMirror img {
  border-radius: 1rem;
  height: auto;
  max-height: 42rem;
  max-width: 100%;
  object-fit: contain;
}
.ProductContentEditor_editorSurface .ProseMirror figure {
  margin: 1.1rem 0 0;
  max-width: 100%;
}
.ProductContentEditor_editorSurface .ProseMirror figure[data-align=center] {
  text-align: center;
}
.ProductContentEditor_editorSurface .ProseMirror figure[data-align=right] {
  text-align: right;
}
.ProductContentEditor_editorSurface .ProseMirror figure img,
.ProductContentEditor_editorSurface .ProseMirror figure video {
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
}
.ProductContentEditor_editorSurface .ProseMirror figure video {
  background: #152f32;
  border-radius: 1rem;
  height: auto;
  max-height: 42rem;
  max-width: 100%;
}
.ProductContentEditor_editorSurface .ProseMirror figcaption {
  color: var(--editor-muted);
  font-size: 12px;
  line-height: 1.5;
  margin-top: 6px;
  text-align: inherit;
}
.ProductContentEditor_editorSurface .ProseMirror table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
.ProductContentEditor_editorSurface .ProseMirror th,
.ProductContentEditor_editorSurface .ProseMirror td {
  border: 1px solid var(--editor-line);
  min-width: 5rem;
  padding: 8px;
  text-align: left;
  vertical-align: top;
}
.ProductContentEditor_editorSurface .ProseMirror th {
  background: var(--editor-soft);
  font-weight: 700;
}
.ProductContentEditor_editorSurface .ProseMirror a {
  color: var(--editor-accent);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.ProductContentEditor_editorHint {
  font-size: 12px;
  margin: 8px 2px 0;
}
.ProductContentEditor_mediaInspector {
  background: var(--ad-note-surface, #f4f8f1);
  border: 1px solid var(--ad-note-line, #dfead8);
  border-radius: 10px;
  display: grid;
  gap: 10px;
  padding: 12px;
}
.ProductContentEditor_mediaInspectorHeader {
  align-items: baseline;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}
.ProductContentEditor_mediaInspectorHeader span,
.ProductContentEditor_dialogUpload span {
  color: var(--editor-muted);
  font-size: 11px;
}
.ProductContentEditor_mediaInspectorAction {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
}
.ProductContentEditor_mediaInspectorAction span {
  color: var(--editor-muted);
  font-size: 12px;
  line-height: 1.5;
}
.ProductContentEditor_mediaInspectorGrid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ProductContentEditor_mediaInspectorGrid label {
  color: var(--editor-ink);
  display: grid;
  font-size: 12px;
  font-weight: 700;
  gap: 4px;
}
.ProductContentEditor_mediaInspectorGrid input,
.ProductContentEditor_mediaInspectorGrid select {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--editor-line);
  border-radius: 8px;
  color: var(--editor-ink);
  min-height: 38px;
  padding: 6px 8px;
  width: 100%;
}
.ProductContentEditor_imagePickerHost {
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 20;
}
.ProductContentEditor_imagePickerHost > [data-image-candidate-picker=true] {
  pointer-events: auto;
}
.ProductContentEditor_imagePickerHost:has([data-picker-open=false]) {
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  width: 1px;
}
.ProductContentEditor_imagePickerAdvanced {
  display: grid;
  gap: 12px;
}
.ProductContentEditor_imagePickerAdvanced label {
  color: var(--editor-ink);
  display: grid;
  font-size: 12px;
  font-weight: 700;
  gap: 6px;
}
.ProductContentEditor_imagePickerAdvanced input,
.ProductContentEditor_imagePickerAdvanced select {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--editor-line);
  border-radius: 8px;
  color: var(--editor-ink);
  min-height: 38px;
  padding: 7px 9px;
  width: 100%;
}
.ProductContentEditor_imagePickerHelp {
  color: var(--editor-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
}
.ProductContentEditor_imagePickerFieldError {
  background: var(--ad-danger-surface, #fff1f0);
  border-radius: 8px;
  color: var(--ad-danger-text, #a4332d);
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  padding: 8px 10px;
}
.ProductContentEditor_imageCandidatePreview {
  background: var(--editor-soft);
  border: 1px solid var(--editor-line);
  border-radius: 12px;
  margin: 0;
  overflow: hidden;
  padding: 14px;
}
.ProductContentEditor_imageCandidatePreview[data-align=center] {
  text-align: center;
}
.ProductContentEditor_imageCandidatePreview[data-align=right] {
  text-align: right;
}
.ProductContentEditor_imageCandidatePreview img {
  display: inline-block;
  height: auto;
  max-height: 420px;
  max-width: 100%;
  object-fit: contain;
  vertical-align: middle;
}
.ProductContentEditor_imageCandidatePreview figcaption {
  color: var(--editor-muted);
  font-size: 12px;
  line-height: 1.5;
  margin-top: 8px;
  text-align: inherit;
}
.ProductContentEditor_imageCandidateEmpty {
  align-items: center;
  color: var(--editor-muted);
  display: flex;
  justify-content: center;
  min-height: 220px;
}
.ProductContentEditor_imageBatchList {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  max-height: min(46vh, 420px);
  overflow: auto;
  padding: 0;
}
.ProductContentEditor_imageBatchItem {
  align-items: center;
  background: var(--editor-soft);
  border: 1px solid var(--editor-line);
  border-radius: 9px;
  display: grid;
  gap: 10px;
  grid-template-columns: 52px minmax(0, 1fr);
  min-width: 0;
  padding: 8px;
}
.ProductContentEditor_imageBatchThumb {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: #dfe6ed;
  border-radius: 6px;
  color: var(--editor-muted);
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.ProductContentEditor_imageBatchThumb img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.ProductContentEditor_imageBatchCopy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.ProductContentEditor_imageBatchCopy strong,
.ProductContentEditor_imageBatchCopy span,
.ProductContentEditor_imageBatchCopy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ProductContentEditor_imageBatchCopy strong {
  color: var(--editor-ink);
  font-size: 12px;
}
.ProductContentEditor_imageBatchCopy span,
.ProductContentEditor_imageBatchCopy small {
  color: var(--editor-muted);
  font-size: 11px;
}
.ProductContentEditor_imageBatchCopy small {
  color: var(--ad-danger-text, #a4332d);
  white-space: normal;
}
.ProductContentEditor_previewShell {
  background: #eff3f0;
  border: 1px solid var(--editor-line);
  border-radius: 12px;
  display: grid;
  justify-items: center;
  padding: 24px 16px;
}
.ProductContentEditor_previewDevice {
  background: #fff;
  border: 9px solid #26383a;
  border-radius: 28px;
  box-shadow: 0 18px 38px rgba(21, 47, 50, 0.14);
  max-width: 375px;
  min-height: 440px;
  overflow: hidden;
  padding: 24px 19px 30px;
  width: 100%;
}
.ProductContentEditor_previewChrome {
  border-bottom: 1px solid var(--editor-line);
  color: var(--editor-muted);
  display: flex;
  font-size: 10px;
  justify-content: space-between;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
  padding-bottom: 10px;
  text-transform: uppercase;
}
.ProductContentEditor_error {
  background: var(--ad-danger-surface, #fff1f0);
  border-radius: 8px;
  color: var(--ad-danger-text, #a4332d);
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  padding: 8px 10px;
}
.ProductContentEditor_dialog {
  background: rgba(14, 29, 31, 0.34);
  border-radius: 12px;
  display: grid;
  inset: 0;
  overflow: auto;
  padding: 20px;
  place-items: center;
  position: absolute;
  z-index: 10;
}
.ProductContentEditor_dialog > [role=group] {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--editor-line);
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(21, 47, 50, 0.22);
  display: grid;
  gap: 12px;
  max-width: 560px;
  padding: 20px;
  width: 100%;
}
.ProductContentEditor_dialog h4 {
  font-size: 17px;
  margin: 0;
}
.ProductContentEditor_dialog label {
  color: var(--editor-ink);
  display: grid;
  font-size: 12px;
  font-weight: 700;
  gap: 6px;
}
.ProductContentEditor_dialog input {
  border: 1px solid var(--editor-line);
  border-radius: 9px;
  font-size: 13px;
  min-height: 42px;
  padding: 8px 10px;
  width: 100%;
}
.ProductContentEditor_dialogActions {
  justify-content: flex-end;
  margin-top: 4px;
}
.ProductContentEditor_secondaryButton,
.ProductContentEditor_primaryButton {
  border: 1px solid var(--editor-line);
}
.ProductContentEditor_secondaryButton {
  background: var(--ad-surface, #fff);
  color: var(--editor-ink);
}
.ProductContentEditor_primaryButton {
  background: var(--editor-ink);
  border-color: var(--editor-ink);
  color: #fff;
}
.ProductContentEditor_mediaLibrary {
  background: var(--editor-soft);
  border: 1px solid var(--editor-line);
  border-radius: 10px;
  display: grid;
  gap: 10px;
  padding: 10px;
}
.ProductContentEditor_mediaHeader {
  font-size: 12px;
}
.ProductContentEditor_mediaHeader span {
  color: var(--editor-muted);
  font-size: 11px;
}
.ProductContentEditor_mediaGrid {
  display: grid;
  gap: var(--ad-gap, 8px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ProductContentEditor_mediaItem {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--editor-line);
  border-radius: 8px;
  color: var(--editor-ink);
  cursor: pointer;
  display: grid;
  gap: 4px;
  min-width: 0;
  overflow: hidden;
  padding: 4px;
  text-align: left;
}
.ProductContentEditor_mediaItem:hover,
.ProductContentEditor_mediaItem:focus-visible,
.ProductContentEditor_mediaItemActive {
  border-color: var(--editor-accent);
  box-shadow: 0 0 0 2px var(--editor-accent-soft);
}
.ProductContentEditor_mediaItem img {
  aspect-ratio: 1.2;
  object-fit: cover;
  width: 100%;
}
.ProductContentEditor_mediaItem span {
  font-size: 10px;
  overflow: hidden;
  padding: 0 2px 2px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ProductContentEditor_mediaPreviewVideo {
  align-items: center;
  aspect-ratio: 1.2;
  background: #dce8e4;
  color: var(--editor-accent);
  display: flex;
  font-size: 11px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.08em;
}
.ProductContentEditor_dialogUpload {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ad-gap, 8px);
}
.ProductContentEditor_videoGuide {
  align-items: flex-start;
  background: var(--editor-soft);
  border: 1px solid var(--editor-line);
  border-radius: 9px;
  display: grid;
  gap: 8px;
  padding: 10px 12px;
}
.ProductContentEditor_videoGuide p {
  margin: 0;
}
.ProductContentEditor_videoGuide button {
  justify-self: start;
}
.ProductContentEditor_uploadDraft {
  background: var(--editor-soft);
  border: 1px solid var(--editor-line);
  border-radius: 9px;
  display: grid;
  gap: 6px;
  padding: 10px;
}
.ProductContentEditor_mediaStatusHeader,
.ProductContentEditor_uploadDraftFooter {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}
.ProductContentEditor_mediaStatusHeader span,
.ProductContentEditor_uploadDraftFooter span {
  color: var(--editor-muted);
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ProductContentEditor_uploadDraft progress {
  accent-color: var(--editor-accent);
  height: 7px;
  width: 100%;
}
.ProductContentEditor_mediaStatusList {
  border-top: 1px solid var(--editor-line);
  display: grid;
  gap: 6px;
  padding-top: 8px;
}
.ProductContentEditor_mediaStatusRow {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}
.ProductContentEditor_mediaStatusRow > span:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.ProductContentEditor_mediaStatusRow strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ProductContentEditor_mediaStatusRow small {
  color: var(--editor-muted);
  font-size: 11px;
}
.ProductContentEditor_mediaStatusActions {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 4px;
}
@media (max-width: 700px) {
  .ProductContentEditor_sectionTabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ProductContentEditor_toolbarSpacer {
    display: none;
  }
  .ProductContentEditor_toolbarDivider {
    display: none;
  }
  .ProductContentEditor_mediaGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ProductContentEditor_mediaInspectorGrid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .ProductContentEditor_header,
  .ProductContentEditor_modeBar {
    align-items: flex-start;
    flex-direction: column;
  }
  .ProductContentEditor_modeButtons {
    width: 100%;
  }
  .ProductContentEditor_modeButton {
    flex: 1;
  }
  .ProductContentEditor_editorSurface {
    padding: 20px 14px;
  }
  .ProductContentEditor_mediaGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: reduce) {
  .ProductContentEditor_toolButton {
    transition: none;
  }
}
.ProductContentEditor_ratioLock {
  display: grid;
  gap: var(--ad-gap-tight, 4px);
  grid-column: 1 / -1;
  font-size: 12px;
  color: var(--editor-muted);
}
.ProductContentEditor_ratioLock label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--editor-ink);
  font-size: 12px;
}
.ProductContentEditor_ratioLock input[type=checkbox] {
  width: auto;
  margin: 0;
  accent-color: var(--editor-accent);
}
.ProductContentEditor_editorCanvas {
  margin-top: 0;
  gap: var(--ad-gap, 8px);
}
.ProductContentEditor_editorCanvas .ProductContentEditor_toolbar {
  border-bottom: 1px solid var(--editor-line);
  border-radius: 12px;
}
.ProductContentEditor_toolbarSectionLabel {
  align-self: center;
  margin-right: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--editor-accent-soft);
  color: var(--editor-accent);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.ProductContentEditor_editorCanvas .ProductContentEditor_dialog,
.ProductContentEditor_editorCanvas .ProductContentEditor_imagePickerHost {
  position: fixed;
  z-index: 160;
  border-radius: 0;
}
.ProductContentEditor_canvasSurface .ProseMirror-selectednode {
  outline: 3px solid #0066ff;
  outline-offset: 2px;
  border-radius: 1rem;
}
.ProductContentEditor_canvasSurface .ProseMirror .selectedCell::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(0, 102, 255, 0.12);
  pointer-events: none;
  content: "";
}
.ProductContentEditor_canvasSurface .ProseMirror td,
.ProductContentEditor_canvasSurface .ProseMirror th {
  position: relative;
}
.ProductContentEditor_mediaInspectorButtons {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ProductContentEditor_dangerButton {
  padding: 8px 12px;
  border: 1px solid #f1c4c1;
  border-radius: 8px;
  background: #fff5f4;
  color: #a4332d;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.ProductContentEditor_dangerButton:hover,
.ProductContentEditor_dangerButton:focus-visible {
  background: #ffe9e7;
}
.ProductContentEditor_guideDefaultBar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  margin-bottom: 10px;
  padding: 11px 13px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 10px;
  background: var(--ad-surface-sunken, #f8f9fb);
  color: var(--ad-text-secondary, #5b6370);
  font-size: 12px;
  line-height: 1.6;
}
.ProductContentEditor_guideDefaultBar span {
  min-width: 0;
}
.ProductContentEditor_guideDefaultButton {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--ad-line-divider, #dbe1eb);
  border-radius: 8px;
  background: #fff;
  color: var(--ad-text-primary, #424656);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.ProductContentEditor_guideDefaultButton:hover:not(:disabled) {
  border-color: #0066ff;
  color: #0066ff;
}
.ProductContentEditor_guideDefaultButton:disabled {
  opacity: .6;
  cursor: default;
}

/* app/admin/products/DepartureRangeTool.module.css */
.DepartureRangeTool_tool,
.DepartureRangeTool_panel {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 12px 14px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-button, 10px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.DepartureRangeTool_tool legend,
.DepartureRangeTool_panel > b {
  padding: 0 4px;
  color: var(--ad-text-label, #424956);
  font-size: 13px;
  font-weight: 700;
}
.DepartureRangeTool_tool p,
.DepartureRangeTool_panel p {
  margin: 0;
}
.DepartureRangeTool_dates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}
.DepartureRangeTool_dates label {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-size: 12px;
  color: var(--ad-text-secondary, #5b6370);
}
.DepartureRangeTool_dates input {
  width: 100%;
  min-width: 0;
}
.DepartureRangeTool_weekdays {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.DepartureRangeTool_weekdays .DepartureRangeTool_weekday {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 4px 10px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 999px;
  background: var(--ad-surface, #fff);
  font-size: 13px;
  cursor: pointer;
}
.DepartureRangeTool_weekdays .DepartureRangeTool_weekday input {
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
}
.DepartureRangeTool_actions {
  margin: 0;
}
.DepartureRangeTool_sources {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.DepartureRangeTool_sources .DepartureRangeTool_source {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
}
.DepartureRangeTool_sources .DepartureRangeTool_source input {
  flex: none;
  width: 16px;
  height: 16px;
  margin: 3px 0 0;
  padding: 0;
}
.DepartureRangeTool_source span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.DepartureRangeTool_source small {
  display: block;
  color: var(--ad-text-muted, #687481);
  font-variant-numeric: tabular-nums;
}
.DepartureRangeTool_chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.DepartureRangeTool_chips .admin-btn {
  padding: 6px 10px;
  font-size: 12px;
}
.DepartureRangeTool_result ul {
  margin: 6px 0 0;
  padding-left: 18px;
}
@media (max-width: 640px) {
  .DepartureRangeTool_dates {
    grid-template-columns: minmax(0, 1fr);
  }
  .DepartureRangeTool_dates input,
  .DepartureRangeTool_weekdays .DepartureRangeTool_weekday,
  .DepartureRangeTool_sources .DepartureRangeTool_source,
  .DepartureRangeTool_actions .admin-btn,
  .DepartureRangeTool_panel > .DepartureRangeTool_actions .admin-btn,
  .DepartureRangeTool_chips .admin-btn {
    min-height: 44px;
  }
}

/* app/admin/products/ItineraryPlanEditor.module.css */
.ItineraryPlanEditor_group {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-button, 10px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.ItineraryPlanEditor_group > b {
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.ItineraryPlanEditor_group > p:not([data-itinerary-error]) {
  margin: 0;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.5;
}
.ItineraryPlanEditor_list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ItineraryPlanEditor_row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 12px;
  background: var(--ad-surface, #fff);
}
.ItineraryPlanEditor_row[data-invalid=true] {
  border-color: var(--ad-danger-text, #a4332d);
}
.ItineraryPlanEditor_rowHead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.ItineraryPlanEditor_rowHead strong {
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.ItineraryPlanEditor_rowActions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ItineraryPlanEditor_row label {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-size: 12px;
  color: var(--ad-text-secondary, #5b6370);
}
.ItineraryPlanEditor_row input,
.ItineraryPlanEditor_row textarea {
  width: 100%;
  min-width: 0;
  font-size: 14px;
}
.ItineraryPlanEditor_row textarea {
  resize: vertical;
}
.ItineraryPlanEditor_wide {
  grid-column: 1 / -1;
}
.ItineraryPlanEditor_meals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

/* app/admin/products/CanvasItineraryEditor.module.css */
.CanvasItineraryEditor_saveTag {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0052cc;
  font:
    700 11px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  vertical-align: middle;
  white-space: nowrap;
}
.CanvasItineraryEditor_card {
  align-items: start;
}
.CanvasItineraryEditor_card[data-invalid=true] {
  background: #fff5f4;
  box-shadow: inset 4px 0 0 #b3261e;
}
.CanvasItineraryEditor_card[data-itinerary-blank=true] {
  background: #f7faff;
  outline: 2px dashed rgba(0, 102, 255, 0.22);
  outline-offset: -6px;
}
.CanvasItineraryEditor_tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px 10px;
  min-width: 0;
}
.CanvasItineraryEditor_blankNote {
  flex: 1 1 220px;
  margin: 0;
  color: #4b5563;
  font:
    700 13px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  word-break: keep-all;
}
.CanvasItineraryEditor_controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.CanvasItineraryEditor_controls .admin-btn {
  min-height: 30px;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.CanvasItineraryEditor_fields {
  display: grid;
  gap: 10px;
  min-width: 0;
  max-width: 760px;
}
.CanvasItineraryEditor_wide {
  min-width: 0;
}
.CanvasItineraryEditor_fields label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #5b6370;
  font:
    600 12px/1.4 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
}
.CanvasItineraryEditor_fields label small {
  color: #8a93a0;
  font-size: 12px;
  font-weight: 400;
}
.CanvasItineraryEditor_fields input,
.CanvasItineraryEditor_fields textarea {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #cfd6e0;
  border-radius: 6px;
  background: #fff;
  color: #1d2433;
  font:
    400 15px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  outline: 2px dashed rgba(0, 102, 255, 0.28);
  outline-offset: 2px;
}
.CanvasItineraryEditor_fields textarea {
  min-height: 0;
  resize: vertical;
}
.CanvasItineraryEditor_fields input:focus,
.CanvasItineraryEditor_fields textarea:focus {
  border-color: #0066ff;
  outline: 3px solid rgba(0, 102, 255, 0.35);
  outline-offset: 1px;
}
.CanvasItineraryEditor_fields input::placeholder,
.CanvasItineraryEditor_fields textarea::placeholder {
  color: rgba(0, 0, 0, 0.32);
  opacity: 1;
}
.CanvasItineraryEditor_fields input[aria-invalid=true] {
  border-color: #b3261e;
  outline-color: rgba(179, 38, 30, 0.4);
}
.CanvasItineraryEditor_meals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.CanvasItineraryEditor_optionNote {
  margin-left: auto;
  color: #667085;
  font:
    600 12px/1.4 PretendardAite,
    system-ui,
    sans-serif;
  white-space: nowrap;
}
.CanvasItineraryEditor_fields .CanvasItineraryEditor_stayHint {
  color: #667085;
  font-weight: 400;
}
.CanvasItineraryEditor_error {
  margin: 0;
  padding: 8px 10px;
  border-radius: 6px;
  background: #fdecea;
  color: #8c1d18;
  font:
    600 13px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  word-break: keep-all;
}
.CanvasItineraryEditor_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-top: 14px;
}
.CanvasItineraryEditor_footer .CanvasItineraryEditor_error {
  flex: 1 1 100%;
}
.CanvasItineraryEditor_add,
.CanvasItineraryEditor_createButton {
  min-height: 34px;
  padding: 6px 14px;
  border: 1px solid #0066ff;
  border-radius: 999px;
  background: #fff;
  color: #0052cc;
  font:
    700 13px/1.2 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}
.CanvasItineraryEditor_add:hover:not(:disabled),
.CanvasItineraryEditor_add:focus-visible {
  background: #0066ff;
  color: #fff;
}
.CanvasItineraryEditor_add:disabled {
  border-color: #cfd6e0;
  color: #98a2b3;
  cursor: default;
}
.CanvasItineraryEditor_count {
  color: #667085;
  font-size: 12px;
}
.CanvasItineraryEditor_create {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  margin: 4px 0 40px;
  padding: 18px 20px;
  border: 2px dashed rgba(0, 102, 255, 0.35);
  border-radius: 8px;
  background: #f7faff;
}
.CanvasItineraryEditor_createText {
  flex: 1 1 280px;
  min-width: 0;
}
.CanvasItineraryEditor_createText h3 {
  margin: 0 0 4px;
  color: #1d2433;
  font-size: 17px;
  letter-spacing: -0.02em;
}
.CanvasItineraryEditor_createText p {
  margin: 0;
  color: #5b6370;
  font-size: 14px;
  line-height: 1.6;
  word-break: keep-all;
}
.CanvasItineraryEditor_createButton {
  background: #0066ff;
  color: #fff;
}
.CanvasItineraryEditor_createButton:hover,
.CanvasItineraryEditor_createButton:focus-visible {
  background: #0052cc;
  border-color: #0052cc;
}

/* app/admin/products/CanvasDepartureEditor.module.css */
.CanvasDepartureEditor_addStay {
  display: grid;
  place-content: center;
  min-width: 0;
  min-height: 56px;
  padding: 9px 14px;
  border: 1px dashed rgba(0, 102, 255, 0.55);
  border-radius: 8px;
  background: #f7faff;
  color: #0052cc;
  font:
    700 14px/1.35 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: -0.02em;
  cursor: pointer;
}
.CanvasDepartureEditor_addStay:hover:not(:disabled),
.CanvasDepartureEditor_addStay:focus-visible {
  border-style: solid;
  background: #eaf2ff;
}
.CanvasDepartureEditor_addStay:disabled,
.CanvasDepartureEditor_dayButton:disabled,
.CanvasDepartureEditor_cardEdit:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.CanvasDepartureEditor_dayActions {
  display: grid;
  gap: 4px;
  margin-top: 6px;
  min-width: 0;
}
.CanvasDepartureEditor_dayButton {
  min-width: 0;
  min-height: 24px;
  padding: 3px 4px;
  border: 1px dashed rgba(0, 102, 255, 0.5);
  border-radius: 6px;
  background: #f7faff;
  color: #0052cc;
  font:
    700 10.5px/1.3 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: -0.03em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  white-space: normal;
  cursor: pointer;
}
.CanvasDepartureEditor_dayButton:hover:not(:disabled),
.CanvasDepartureEditor_dayButton:focus-visible {
  border-style: solid;
  background: #eaf2ff;
}
.CanvasDepartureEditor_hiddenBadge {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  padding: 1px 8px;
  border-radius: 999px;
  background: #fff4df;
  color: #9a5b00;
  font:
    700 11px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
}
.CanvasDepartureEditor_cardEdit {
  min-height: 30px;
  margin-top: 6px;
  padding: 4px 14px;
  border: 1px solid #0066ff;
  border-radius: 999px;
  background: #fff;
  color: #0052cc;
  font:
    700 13px/1.3 PretendardAite,
    system-ui,
    sans-serif;
  cursor: pointer;
}
.CanvasDepartureEditor_cardEdit:hover:not(:disabled),
.CanvasDepartureEditor_cardEdit:focus-visible,
.CanvasDepartureEditor_cardEdit[aria-pressed=true] {
  background: #eaf2ff;
}
.CanvasDepartureEditor_form {
  margin-top: 24px;
  padding: 16px;
  border: 2px solid #0066ff;
  border-radius: 12px;
  background: #f7faff;
  color: #1c1b1b;
  gap: 12px;
  min-width: 0;
}
.CanvasDepartureEditor_heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}
.CanvasDepartureEditor_heading h4 {
  margin: 0;
  font:
    700 17px/1.4 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: -0.02em;
}
.CanvasDepartureEditor_saveTag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0052cc;
  font:
    700 11px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
}
.CanvasDepartureEditor_hint {
  margin: 0;
  color: #4b5563;
  font:
    13px/1.55 PretendardAite,
    system-ui,
    sans-serif;
  word-break: keep-all;
}
.CanvasDepartureEditor_grid,
.CanvasDepartureEditor_grid3 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}
.CanvasDepartureEditor_grid3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.CanvasDepartureEditor_form label {
  min-width: 0;
}
.CanvasDepartureEditor_more {
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  background: #fff;
  padding: 8px 12px;
}
.CanvasDepartureEditor_more > summary {
  cursor: pointer;
  color: #424656;
  font:
    700 13px/1.5 PretendardAite,
    system-ui,
    sans-serif;
}
.CanvasDepartureEditor_more > .CanvasDepartureEditor_grid {
  margin-top: 10px;
}
.CanvasDepartureEditor_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.CanvasDepartureEditor_conflictActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.CanvasDepartureEditor_error,
.CanvasDepartureEditor_info {
  margin: 0;
  padding: 9px 12px;
  border-radius: 10px;
  font:
    700 13px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  word-break: keep-all;
}
.CanvasDepartureEditor_error {
  background: #fff5f4;
  color: #b3261e;
}
.CanvasDepartureEditor_info {
  background: #f4f7fb;
  color: #424656;
}
.CanvasDepartureEditor_failures {
  margin: 0;
  padding: 0 0 0 18px;
  color: #b3261e;
  font:
    13px/1.6 PretendardAite,
    system-ui,
    sans-serif;
}
.CanvasDepartureEditor_notice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 12px;
  margin: 16px 0 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: #e8f7ed;
  color: #20783a;
  font:
    700 13px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  word-break: keep-all;
}
.CanvasDepartureEditor_noticeError {
  background: #fff5f4;
  color: #b3261e;
}
.CanvasDepartureEditor_noticeClose {
  padding: 2px 10px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font:
    700 12px/1.5 PretendardAite,
    system-ui,
    sans-serif;
  cursor: pointer;
}
@media (max-width: 767px) {
  .CanvasDepartureEditor_dayButton {
    padding: 2px 1px;
    font-size: 9px;
    letter-spacing: -0.06em;
  }
  .CanvasDepartureEditor_grid,
  .CanvasDepartureEditor_grid3 {
    grid-template-columns: minmax(0, 1fr);
  }
  .CanvasDepartureEditor_form {
    padding: 12px;
  }
}

/* app/admin/products/FareItemsEditor.module.css */
.FareItemsEditor_group {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: var(--wmr-radius-button, 10px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.FareItemsEditor_group > b {
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.FareItemsEditor_group > p:not([data-fare-items-error]) {
  margin: 0;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.5;
}
.FareItemsEditor_list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.FareItemsEditor_row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 12px;
  background: var(--ad-surface, #fff);
}
.FareItemsEditor_row[data-invalid=true] {
  border-color: var(--ad-danger-text, #a4332d);
}
.FareItemsEditor_rowHead {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.FareItemsEditor_rowHead strong {
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.FareItemsEditor_rowActions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.FareItemsEditor_row label {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-size: 12px;
  color: var(--ad-text-secondary, #5b6370);
}
.FareItemsEditor_row input,
.FareItemsEditor_row select {
  width: 100%;
  min-width: 0;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.FareItemsEditor_price input {
  min-width: 9ch;
  text-align: right;
}
.FareItemsEditor_wide {
  grid-column: 1 / -1;
}
.FareItemsEditor_row .FareItemsEditor_required {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  white-space: nowrap;
}
.FareItemsEditor_row .FareItemsEditor_required input {
  width: 18px;
  height: 18px;
  margin: 0;
}
.FareItemsEditor_inputBox {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px 12px;
  align-items: end;
  padding: 10px 12px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface-sunken, #f8f9fb);
}
.FareItemsEditor_inputBox > small {
  grid-column: 1 / -1;
}

/* app/admin/products/CanvasPriceEditor.module.css */
.CanvasPriceEditor_note {
  display: grid;
  gap: 4px;
  margin: 0 0 14px;
  padding: 10px 14px;
  border: 1px dashed #0066ff;
  border-radius: 8px;
  background: #f4f8ff;
  color: #2f3a48;
  font:
    13px/1.6 PretendardAite,
    system-ui,
    sans-serif;
  overflow-wrap: anywhere;
}
.CanvasPriceEditor_note p {
  margin: 0;
}
.CanvasPriceEditor_note b {
  color: #0052cc;
}
.CanvasPriceEditor_hiddenNote {
  color: #7e5800;
}
.CanvasPriceEditor_error {
  color: #a4332d;
  font-weight: 700;
}
.CanvasPriceEditor_cell {
  display: grid;
  gap: 4px;
  justify-items: end;
  min-width: 0;
}
.CanvasPriceEditor_field {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
  width: 100%;
  min-width: 0;
}
.CanvasPriceEditor_input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 4px 6px;
  border: 0;
  border-radius: 4px;
  background: #fff;
  color: #252525;
  font:
    700 18px/1.3 PretendardAite,
    system-ui,
    sans-serif;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  text-align: right;
  outline: 2px dashed rgba(0, 102, 255, 0.35);
  outline-offset: 2px;
}
.CanvasPriceEditor_input:focus {
  outline: 3px solid #0066ff;
  outline-offset: 2px;
}
.CanvasPriceEditor_input:read-only {
  background: #f1f3f6;
  color: #687481;
}
.CanvasPriceEditor_input::placeholder {
  color: rgba(0, 0, 0, 0.36);
  font-size: 14px;
  font-weight: 400;
  opacity: 1;
}
.CanvasPriceEditor_unit {
  flex: 0 0 auto;
  color: #666;
  font-size: 13px;
}
.CanvasPriceEditor_discounted {
  color: #7a4b00;
  font-size: 12px;
  line-height: 1.4;
}
.CanvasPriceEditor_state {
  min-height: 1.4em;
  color: #687481;
  font-size: 12px;
  line-height: 1.4;
}
.CanvasPriceEditor_state[data-price-save-state=saving] {
  color: #0052cc;
}
.CanvasPriceEditor_state[data-price-save-state=saved] {
  color: #1f6f38;
  font-weight: 700;
}
.CanvasPriceEditor_state[data-price-save-state=error] {
  color: #a4332d;
  font-weight: 700;
}
.CanvasPriceEditor_editTable td {
  vertical-align: top;
}
.CanvasPriceEditor_fare {
  margin-top: 24px;
  min-width: 0;
}
.CanvasPriceEditor_fareHead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
}
.CanvasPriceEditor_fareHead h3 {
  margin: 0;
  color: #252525;
  font-size: 17px;
}
.CanvasPriceEditor_deferred {
  display: inline-flex;
  padding: 2px 9px;
  border-radius: 999px;
  background: #fff4df;
  color: #9a5b00;
  font:
    700 11px/1.5 PretendardAite,
    system-ui,
    sans-serif;
}
.CanvasPriceEditor_fareHelp {
  margin: 6px 0 12px;
  color: #666;
  font-size: 13px;
  line-height: 1.65;
}
.CanvasPriceEditor_empty {
  margin: 0 0 48px;
  min-width: 0;
}
.CanvasPriceEditor_empty h2 {
  margin: 0 0 12px;
  color: #252525;
  font-size: 22px;
  line-height: 1.35;
  letter-spacing: -0.03em;
}
.CanvasPriceEditor_emptyButton {
  justify-self: start;
  min-height: 32px;
  padding: 6px 12px;
  border: 1px solid #0066ff;
  border-radius: 999px;
  background: #fff;
  color: #0052cc;
  font:
    700 12px/1.2 PretendardAite,
    system-ui,
    sans-serif;
  cursor: pointer;
}
.CanvasPriceEditor_emptyButton:hover,
.CanvasPriceEditor_emptyButton:focus-visible {
  background: #0066ff;
  color: #fff;
}
@media (max-width: 600px) {
  .CanvasPriceEditor_input {
    padding: 4px 2px;
    font-size: 14px;
  }
  .CanvasPriceEditor_unit {
    display: none;
  }
  .CanvasPriceEditor_state {
    font-size: 11px;
  }
  .CanvasPriceEditor_empty h2 {
    font-size: 20px;
  }
}

/* app/admin/products/CanvasGuideCards.module.css */
.CanvasGuideCards_root {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface-sunken, #f8f9fb);
  color: var(--ad-text-label, #424956);
  font-size: 13px;
  text-align: left;
}
.CanvasGuideCards_head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.CanvasGuideCards_head b {
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.CanvasGuideCards_count {
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.CanvasGuideCards_timing {
  padding: 1px 8px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 999px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
  line-height: 1.6;
}
.CanvasGuideCards_help {
  margin: 0;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.5;
}
.CanvasGuideCards_list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.CanvasGuideCards_row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 12px;
  background: var(--ad-surface, #fff);
}
.CanvasGuideCards_row[data-invalid=true] {
  border-color: var(--ad-danger-text, #a4332d);
}
.CanvasGuideCards_rowHead {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.CanvasGuideCards_rowHead strong {
  color: var(--ad-text-label, #424956);
  font-size: 13px;
}
.CanvasGuideCards_rowActions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.CanvasGuideCards_row label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--ad-text-secondary, #5b6370);
  font-size: 12px;
}
.CanvasGuideCards_wide {
  grid-column: 1 / -1;
}
.CanvasGuideCards_row input,
.CanvasGuideCards_row select {
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 8px;
  background: var(--ad-surface, #fff);
  color: #222;
  font-size: 14px;
}
.CanvasGuideCards_row input:disabled,
.CanvasGuideCards_row select:disabled {
  background: #f1f1f1;
  color: #777;
}
.CanvasGuideCards_warning {
  grid-column: 1 / -1;
  color: var(--ad-danger-text, #a4332d);
  font-size: 12px;
  line-height: 1.5;
}
.CanvasGuideCards_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
@media (max-width: 640px) {
  .CanvasGuideCards_row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* app/admin/deals/DealsOverview.module.css */
.DealsOverview_chipRow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}
.DealsOverview_tableWrap {
  overflow-x: auto;
  container-type: inline-size;
}
.DealsOverview_tableWrap .admin-table th {
  white-space: nowrap;
}
.DealsOverview_productCell {
  display: grid;
  gap: 3px;
  min-width: 155px;
}
.DealsOverview_productCell small {
  color: #727687;
}
.DealsOverview_stateCell {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.DealsOverview_stateCell .status-pill {
  white-space: nowrap;
}
.DealsOverview_nowrap {
  white-space: nowrap;
}
.DealsOverview_rowActions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 150px;
}
@container (min-width: 960px) {
  .DealsOverview_rowActions {
    flex-wrap: nowrap;
  }
}
.DealsOverview_photoMissing:hover,
.DealsOverview_photoMissing:focus-visible {
  text-decoration: underline;
}
.DealsOverview_emptyState {
  display: grid;
  justify-items: start;
  gap: 14px;
  padding: 26px 2px;
  color: #727687;
  font-size: 13px;
  line-height: 1.7;
}
.DealsOverview_tableWrap .admin-table th,
.DealsOverview_tableWrap .admin-table td {
  padding-inline: 8px;
}
.DealsOverview_priceCell {
  display: grid;
  gap: 2px;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

/* app/admin/deals/Destinations.module.css */
.Destinations_cardHead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
}
.Destinations_cardHead h2 {
  margin: 0 0 4px;
}
.Destinations_cardHead p {
  margin: 0;
}
.Destinations_tableWrap {
  overflow-x: auto;
  container-type: inline-size;
}
.Destinations_tableWrap .admin-table th {
  white-space: nowrap;
}
.Destinations_nowrap {
  white-space: nowrap;
}
.Destinations_nameCell {
  display: grid;
  gap: 3px;
  min-width: 180px;
}
.Destinations_nameCell small {
  color: #727687;
}
.Destinations_nameButton {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  font: inherit;
  font-weight: 700;
  color: #1f2a44;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.Destinations_clickableRow {
  cursor: pointer;
}
.Destinations_clickableRow:hover,
.Destinations_clickableRow:focus-within {
  background: #f7f9fc;
}
.Destinations_emptyState {
  display: grid;
  justify-items: start;
  gap: 12px;
  padding: 22px 2px;
  color: #727687;
  font-size: 13px;
  line-height: 1.7;
}
.Destinations_editor {
  display: grid;
  gap: 18px;
}
.Destinations_editorForm {
  display: grid;
  gap: 18px;
  max-width: 1080px;
}
.Destinations_section {
  min-inline-size: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid #eef0f4;
  border-radius: 16px;
  background: #fff;
}
.Destinations_section > legend {
  padding: 0 6px;
  font-size: 16px;
  font-weight: 700;
}
.Destinations_wideField {
  grid-column: 1 / -1;
}
.Destinations_groupLabel {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: #3b453d;
}
.Destinations_required {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 6px;
  border-radius: 999px;
  background: #fff1f0;
  color: #b42318;
  font-size: 11px;
  font-weight: 700;
  vertical-align: middle;
}
.Destinations_contentBlock {
  margin-top: 16px;
}
.Destinations_statusRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 4px;
}
.Destinations_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 0 8px;
}
.Destinations_history {
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid #eef0f4;
}
.Destinations_sectionHead {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
}
.Destinations_sectionHead h2 {
  margin: 0;
  font-size: 18px;
}
.Destinations_heroImageField {
  min-inline-size: 0;
  margin: 16px 0;
  padding: 14px;
  border: 1px solid #eef0f4;
  border-radius: 12px;
}
.Destinations_heroImageHead {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
}
.Destinations_heroImageBody {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 8px;
}
.Destinations_heroImagePreview {
  width: 160px;
  max-height: 110px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid #eef0f4;
}
.Destinations_heroImageEmpty {
  display: grid;
  place-items: center;
  width: 160px;
  height: 110px;
  border: 1px dashed #d8dde8;
  border-radius: 10px;
  color: #727687;
  font-size: 12px;
}
.Destinations_productActions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.Destinations_picker {
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid #eef0f4;
  border-radius: 12px;
  background: #fafbfd;
}
.Destinations_searchRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.Destinations_searchRow input {
  flex: 1 1 220px;
  min-width: 0;
}
@media (max-width: 720px) {
  .Destinations_editorForm {
    max-width: none;
  }
  .Destinations_productActions {
    width: 100%;
  }
}

/* app/admin/deals/DealsManager.module.css */
.DealsManager_tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}

/* php-app/frontend/src/pages/catalog/catalog.css */
.catalog-page {
  --catalog-focus: #0b5cab;
}
.catalog-route-status {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-height: 220px;
  padding: 42px 24px;
  border: 1px solid var(--public-line, #dedede);
  border-radius: var(--public-radius, 4px);
  background: var(--public-surface, #fff);
  text-align: center;
}
.catalog-route-status h2,
.catalog-route-status h1 {
  margin: 0;
  color: var(--public-heading, #183148);
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.3;
  letter-spacing: -.05em;
}
.catalog-route-status p {
  max-width: 42ch;
  margin: 0;
  color: var(--public-muted, #666);
  line-height: 1.7;
}
.catalog-route-status .catalog-secondary-button {
  margin-top: 8px;
}
.catalog-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}
.catalog-pagination [aria-current=page] {
  cursor: default;
}
.catalog-search-note small {
  display: block;
  margin-top: 8px;
  color: var(--public-muted, #777);
}
.catalog-detail-banner {
  position: relative;
  min-height: 250px;
  overflow: hidden;
  background: #183148;
  color: #fff;
}
.catalog-detail-banner > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
  opacity: .82;
}
.catalog-detail-banner::after {
  position: absolute;
  inset: 0;
  background: rgba(7, 24, 41, .48);
  content: "";
}
.catalog-detail-banner .product-category-visual-content {
  position: relative;
  z-index: 1;
}
.catalog-detail-banner .product-category-visual-content span {
  color: rgba(255, 255, 255, .8);
}
.catalog-product-card-media > .home-image {
  display: block;
  width: 100%;
  height: 100%;
}
.catalog-product-card-media > .home-image[data-home-image-frame] {
  height: auto;
  align-self: center;
}
.catalog-product-card-media > .home-image > img.home-image-element {
  min-height: 0;
}
.catalog-product-card-media > .home-image[data-home-image-frame] > img.home-image-element {
  height: auto;
  max-height: none;
}
.catalog-page .product-kakao-callout {
  display: grid;
  gap: 9px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--public-line, #dedede);
}
.catalog-page .product-kakao-callout span {
  color: var(--public-primary, #075d73);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}
.catalog-page .product-kakao-callout small {
  color: var(--public-muted, #777);
  font-size: 11px;
  line-height: 1.6;
}
.catalog-page a:focus-visible,
.catalog-page button:focus-visible,
.catalog-page input:focus-visible {
  outline-color: var(--catalog-focus);
}
.catalog-review-demo,
.catalog-test-checkout {
  --catalog-test-ink: #222824;
  --catalog-test-muted: #656e66;
  --catalog-test-line: #e3e6e0;
  --catalog-test-soft: #f5f6f3;
  --public-primary: #233e7b;
  --public-primary-hover: #1b3062;
  --catalog-focus: #233e7b;
}
.catalog-review-demo {
  display: grid;
  gap: 20px;
  margin: 40px 0 24px;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid var(--catalog-test-line);
  border-radius: 5px;
  background: #fff;
  color: var(--catalog-test-ink);
  box-shadow: none;
}
.catalog-review-demo-heading {
  display: grid;
  gap: 10px;
  justify-items: start;
}
.catalog-review-demo-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid #233e7b;
  border-radius: 999px;
  background: #fff;
  color: #233e7b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}
.catalog-review-demo-heading :is(h1, h2) {
  margin: 0;
  color: var(--catalog-test-ink);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.03em;
  word-break: keep-all;
}
.catalog-review-demo-heading h2 {
  font-size: clamp(22px, 2.4vw, 26px);
}
.catalog-review-demo-intro,
.catalog-review-demo-boundary {
  margin: 0;
  color: var(--catalog-test-muted);
  line-height: 1.7;
  word-break: keep-all;
}
.catalog-review-demo-intro {
  font-size: 15px;
}
.catalog-review-demo-boundary {
  font-size: 13px;
}
.catalog-review-demo-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 24px;
  margin: 0;
  border-top: 1px solid var(--catalog-test-line);
}
.catalog-review-demo-facts > div {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  padding: 18px 0;
  border-bottom: 1px solid var(--catalog-test-line);
}
.catalog-review-demo-facts dt {
  color: var(--catalog-test-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}
.catalog-review-demo-facts dd {
  margin: 0;
  color: var(--catalog-test-ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.catalog-review-demo-facts > .catalog-test-fact-wide {
  grid-column: 1 / -1;
}
.catalog-review-demo-facts > .catalog-test-fact-amount {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 16px;
  border-bottom: 0;
  padding-bottom: 0;
}
.catalog-review-demo-facts > .catalog-test-fact-amount dt {
  color: var(--catalog-test-ink);
  font-size: 15px;
  font-weight: 700;
}
.catalog-review-demo-facts > .catalog-test-fact-amount dd {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.catalog-test-nowrap {
  white-space: nowrap;
}
.catalog-review-demo-feedback {
  margin: 0;
  padding: 12px 16px;
  border: 1px solid #d5e2f0;
  border-radius: 5px;
  background: #f5f8fc;
  color: #405b73;
  font-size: 14px;
  line-height: 1.6;
}
.catalog-review-demo-feedback.is-success {
  border-color: #c8dfcf;
  background: #f2f8f3;
  color: #356044;
}
.catalog-review-demo-feedback.is-error {
  border-color: #efd3c9;
  background: #fff5f1;
  color: #8a3b27;
}
.catalog-review-demo-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.catalog-review-demo-actions .public-primary-button {
  min-width: 220px;
  min-height: 48px;
  padding: 12px 28px;
  border-radius: 5px;
  font-size: 15px;
}
.catalog-review-demo-actions button:disabled {
  cursor: not-allowed;
  opacity: .55;
}
:is(.catalog-review-demo, .catalog-test-checkout) .catalog-secondary-button {
  min-height: 48px;
  padding: 10px 20px;
  border: 1px solid #252525;
  border-radius: 5px;
  background: #fff;
  color: #252525;
  font-size: 14px;
  font-weight: 700;
}
:is(.catalog-review-demo, .catalog-test-checkout) .catalog-secondary-button:hover:not(:disabled) {
  border-color: #233e7b;
  color: #233e7b;
}
.catalog-test-checkout {
  min-height: 100vh;
  background: #fff;
  color: var(--catalog-test-ink);
}
.catalog-test-checkout-shell {
  display: grid;
  gap: 24px;
  width: min(880px, calc(100% - 48px));
  margin: 0 auto;
  padding: 40px 0 96px;
  color: var(--catalog-test-ink);
}
.catalog-test-back {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--catalog-test-muted);
  font-size: 14px;
  font-weight: 500;
}
.catalog-test-back::before {
  width: 7px;
  height: 7px;
  border-left: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg);
  content: "";
}
.catalog-test-back:hover {
  color: #233e7b;
}
.catalog-test-head {
  gap: 12px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--catalog-test-line);
}
.catalog-test-head h1 {
  font-size: clamp(28px, 3.4vw, 36px);
}
.catalog-test-checkout-shell h2 {
  margin: 0;
  line-height: 1.3;
}
.catalog-test-notice {
  margin: 0;
  padding: 12px 16px;
  border: 1px solid #d5e2f0;
  border-radius: 5px;
  background: #f5f8fc;
  color: #405b73;
  font-size: 14px;
  line-height: 1.6;
}
.catalog-test-notice.is-error {
  border-color: #efd3c9;
  background: #fff5f1;
  color: #8a3b27;
}
.catalog-test-notice--action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.catalog-test-notice--action > p {
  margin: 0;
}
.catalog-test-summary {
  display: grid;
  gap: 4px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--catalog-test-line);
  border-radius: 5px;
  background: #fff;
}
.catalog-test-summary .catalog-review-demo-facts {
  margin-top: 20px;
}
.catalog-test-product-snapshot {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}
.catalog-test-product-snapshot.is-text-only {
  grid-template-columns: 1fr;
}
.catalog-test-product-snapshot .home-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 5px;
  background: var(--catalog-test-soft);
}
.catalog-test-product-snapshot .home-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.catalog-test-product-snapshot > div {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.catalog-test-product-snapshot span {
  color: var(--catalog-test-muted);
  font-size: 13px;
  font-weight: 500;
}
.catalog-test-product-snapshot h2 {
  color: var(--catalog-test-ink);
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 700;
  letter-spacing: -.02em;
  word-break: keep-all;
}
.catalog-test-product-snapshot p {
  margin: 0;
  color: var(--catalog-test-muted);
  font-size: 15px;
  line-height: 1.7;
}
.catalog-test-policies {
  display: grid;
  gap: 12px;
}
.catalog-test-policies details {
  border: 1px solid var(--catalog-test-line);
  border-radius: 5px;
  background: #fff;
}
.catalog-test-policies summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  padding: 14px 20px;
  color: var(--catalog-test-ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
.catalog-test-policies summary::-webkit-details-marker {
  display: none;
}
.catalog-test-policies summary::after {
  flex: none;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg);
  content: "";
}
.catalog-test-policies details[open] summary {
  border-bottom: 1px solid var(--catalog-test-line);
}
.catalog-test-policies details[open] summary::after {
  margin-top: 4px;
  transform: rotate(-135deg);
}
.catalog-test-policies summary:focus-visible {
  outline: 2px solid #233e7b;
  outline-offset: -2px;
}
.catalog-test-policies details > div {
  padding: 20px;
}
.catalog-test-policies details > div > p {
  margin: 12px 0 0;
  color: var(--catalog-test-muted);
  font-size: 13px;
}
.catalog-test-fee-table {
  width: 100%;
  margin-top: 16px;
  border-collapse: collapse;
  text-align: left;
  font-size: 14px;
}
.catalog-test-fee-table caption {
  margin-bottom: 8px;
  color: var(--catalog-test-ink);
  text-align: left;
  font-weight: 700;
}
.catalog-test-fee-table th,
.catalog-test-fee-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--catalog-test-line);
}
.catalog-test-fee-table thead th {
  border-top: 1px solid var(--catalog-test-ink);
  background: var(--catalog-test-soft);
  color: var(--catalog-test-muted);
  font-size: 13px;
  font-weight: 700;
}
.catalog-test-confirmations {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 16px 20px;
  border: 1px solid var(--catalog-test-line);
  border-radius: 5px;
  background: #fff;
}
.catalog-test-confirmations legend {
  padding: 0 6px;
  color: var(--catalog-test-ink);
  font-size: 15px;
  font-weight: 700;
}
.catalog-test-confirmations label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 44px;
  padding: 8px 0;
  line-height: 1.6;
  cursor: pointer;
}
.catalog-test-confirmations input {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: #233e7b;
}
.catalog-test-order-result {
  display: grid;
  gap: 16px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--catalog-test-line);
  border-radius: 5px;
  background: #fff;
}
.catalog-test-order-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
}
.catalog-test-order-head h2 {
  font-size: 22px;
  font-weight: 700;
}
.catalog-test-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--catalog-test-soft);
  color: #4f5850;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.catalog-test-status.is-success {
  background: #f2f8f3;
  color: #356044;
}
.catalog-test-status.is-error {
  background: #fff5f1;
  color: #8a3b27;
}
.catalog-test-order-id {
  display: grid;
  gap: 4px;
  min-width: 0;
  margin: 0;
}
.catalog-test-order-id span {
  color: var(--catalog-test-muted);
  font-size: 13px;
}
.catalog-test-order-id code {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--catalog-test-ink);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Consolas,
    monospace;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
  user-select: all;
}
.catalog-test-order-result .booking-toss-step {
  margin-top: 0;
}
.catalog-test-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.catalog-test-order-result > .catalog-secondary-button {
  justify-self: start;
}
.catalog-test-checkout .booking-action-notice {
  border-color: #d5e2f0;
  background: #f5f8fc;
  color: #405b73;
}
.catalog-test-checkout .booking-action-notice--error {
  border-color: #efd3c9;
  background: #fff5f1;
  color: #8a3b27;
}
.catalog-test-checkout .booking-section-copy--muted {
  color: var(--catalog-test-muted);
}
.catalog-test-order-result button:disabled,
.catalog-test-checkout-shell button:disabled {
  cursor: not-allowed;
  opacity: .55;
}
@media (max-width: 600px) {
  .catalog-review-demo {
    margin: 28px 0 16px;
    padding: 20px;
  }
  .catalog-review-demo-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
  }
  .catalog-review-demo-facts > div {
    padding: 14px 0;
  }
  .catalog-review-demo-facts > div:first-child {
    grid-column: 1 / -1;
  }
  .catalog-review-demo-facts > .catalog-test-fact-amount {
    padding-bottom: 0;
  }
  .catalog-review-demo-facts > .catalog-test-fact-amount dd {
    font-size: 24px;
  }
  .catalog-review-demo-actions > * {
    width: 100%;
  }
  .catalog-test-checkout-shell {
    width: calc(100% - 32px);
    gap: 20px;
    padding: 20px 0 56px;
  }
  .catalog-test-head {
    padding-bottom: 20px;
  }
  .catalog-test-product-snapshot {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .catalog-test-policies summary {
    padding: 14px 16px;
  }
  .catalog-test-policies details > div {
    padding: 16px;
  }
  .catalog-test-order-actions > * {
    width: 100%;
  }
  .catalog-route-status {
    min-height: 190px;
    padding: 32px 18px;
  }
  .catalog-detail-banner {
    min-height: 190px;
  }
}
@media (prefers-color-scheme: dark) {
  .catalog-route-status {
    border-color: #3a3f43;
  }
  .catalog-search-note small,
  .catalog-page .product-kakao-callout small {
    color: #aeb6ba;
  }
}
.catalog-discount-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin: 8px 0 0;
  padding: 3px 10px;
  border-radius: 999px;
  background: #fff1f0;
  color: #c0392b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.catalog-discount-badge.ended {
  background: #f0f1f3;
  color: #676d79;
}
.catalog-price {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.catalog-price-original {
  color: #9aa1ab;
  font-weight: 400;
  font-size: .85em;
}
.catalog-price-discounted {
  color: #c0392b;
}

/* app/admin/categories/Categories.module.css */
.Categories_page {
  display: grid;
  gap: var(--ad-gap-loose, 20px);
  min-width: 0;
}
.Categories_topbar {
  align-items: center;
}
.Categories_topbar > div:first-child {
  min-width: 0;
}
.Categories_topbar h1 {
  overflow-wrap: anywhere;
}
.Categories_layout {
  align-items: start;
}
.Categories_listCard,
.Categories_editorCard {
  min-width: 0;
}
.Categories_layout.Categories_listOnly {
  grid-template-columns: minmax(0, 1fr);
}
.Categories_editorHeadActions {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--ad-gap-tight, 4px);
}
.Categories_editorCard .section-heading-compact {
  flex-wrap: wrap;
}
.Categories_editorCard .section-heading-compact h2 {
  white-space: nowrap;
}
.Categories_sectionLead,
.Categories_formIntro {
  margin: -3px 0 var(--ad-gap-loose, 20px);
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.6;
}
.Categories_categoryList {
  display: grid;
  margin: 0 -2px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.Categories_categoryRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--ad-gap, 12px);
  min-width: 0;
  padding: 14px 0 14px var(--category-indent, 16px);
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.Categories_categoryRow.Categories_selected {
  margin-inline: -8px;
  padding-inline-end: 8px;
  background: var(--ad-accent-surface, #eaf2ff);
}
.Categories_categoryIdentity {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.Categories_categoryName {
  width: fit-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  overflow-wrap: anywhere;
}
.Categories_categoryName:hover {
  color: var(--ad-accent-hover, #0052cc);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.Categories_categoryLocation,
.Categories_categoryMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  min-width: 0;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.45;
}
.Categories_relationLink {
  width: fit-content;
  color: var(--ad-accent-hover, #0052cc);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.Categories_relationLink:hover {
  color: var(--ad-accent, #0066ff);
}
.Categories_emptyRelation {
  color: var(--ad-text-subtle, #87909d);
}
.Categories_constraint {
  margin: 0;
  color: var(--ad-danger-text, #a4332d);
  font-size: 11px;
  line-height: 1.45;
}
.Categories_rowActions {
  display: flex;
  align-items: center;
  justify-content: end;
  flex-wrap: wrap;
  gap: var(--ad-gap-tight, 4px);
}
.Categories_rowActions .admin-btn {
  min-width: 42px;
}
.Categories_listFootnote {
  margin: var(--ad-gap-loose, 20px) 0 0;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.6;
}
.Categories_emptyState {
  display: grid;
  justify-items: start;
  gap: 7px;
  padding: 24px 16px;
  color: var(--ad-text-muted, #687481);
}
.Categories_emptyState b {
  color: var(--ad-text-strong, #1c1b1b);
}
.Categories_emptyState p {
  margin: 0;
  font-size: 12px;
}
.Categories_connectionSummary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ad-gap, 12px);
  margin: 0 0 var(--ad-gap-loose, 20px);
  padding: 12px 0;
  border-block: 1px solid var(--ad-line-divider, #edf0f4);
}
.Categories_connectionSummary > div {
  display: grid;
  gap: 2px;
}
.Categories_summaryLabel,
.Categories_optional {
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  font-weight: 400;
}
.Categories_optional {
  font-size: 11px;
}
.Categories_form {
  gap: var(--ad-gap, 12px);
}
.Categories_coreFields {
  display: grid;
  gap: var(--ad-gap, 12px);
}
.Categories_coreFields label,
.Categories_advancedSection label {
  min-width: 0;
}
.Categories_inlineHelp {
  margin: -4px 0 0;
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
}
.Categories_advancedSection {
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  padding-top: var(--ad-gap, 12px);
}
.Categories_advancedSection summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--ad-gap, 12px);
  cursor: pointer;
  color: var(--ad-text-label, #424956);
  font-size: 13px;
  font-weight: 700;
}
.Categories_advancedSection summary span {
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
  font-weight: 400;
}
.Categories_advancedSection > :not(summary) {
  margin-top: var(--ad-gap, 12px);
}
.Categories_technicalValue {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: var(--wmr-radius-button, 10px);
  background: var(--ad-surface-sunken, #f8f9fb);
}
.Categories_technicalValue span,
.Categories_technicalValue small {
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
}
.Categories_technicalValue code {
  color: var(--ad-text-code, #536173);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: 12px;
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .Categories_topbar {
    align-items: start;
  }
}
@media (max-width: 600px) {
  .Categories_topbar {
    display: block;
  }
  .Categories_topbar .admin-actions {
    margin-top: var(--ad-gap, 12px);
  }
  .Categories_categoryRow {
    grid-template-columns: minmax(0, 1fr);
  }
  .Categories_categoryRow.Categories_selected {
    padding-inline-end: 8px;
  }
  .Categories_rowActions {
    justify-content: start;
  }
  .Categories_connectionSummary {
    align-items: start;
    flex-direction: column;
  }
}

/* app/admin/calendar/Calendar.module.css */
.Calendar_page {
  --calendar-ink: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
  --calendar-label: var(--ad-text-label, var(--wmr-text-secondary, #424956));
  --calendar-muted: var(--ad-text-muted, var(--wmr-text-tertiary, #666e7b));
  --calendar-line: var(--ad-line-divider, var(--wmr-border, #edf0f4));
  --calendar-card-line: var(--ad-line-card, var(--wmr-border, #e8eaed));
  --calendar-field-line: var(--ad-line-field, #dfe4eb);
  --calendar-surface: var(--ad-surface, var(--wmr-surface, #fff));
  --calendar-soft: var(--ad-surface-sunken, var(--wmr-background, #f8f9fb));
  --calendar-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --calendar-accent-hover: var(--ad-accent-hover, var(--wmr-admin-primary-hover, #0052cc));
  --calendar-accent-soft: var(--ad-accent-surface, var(--wmr-admin-primary-subtle, #eaf2ff));
  --calendar-accent-line: var(--ad-accent-line, #cfe0ff);
  --calendar-focus: var(--ad-focus-ring, #9dc9ff);
  display: grid;
  gap: var(--ad-gap-loose, 20px);
  min-width: 0;
  color: var(--calendar-ink);
  caret-color: var(--calendar-accent);
}
.Calendar_page ::selection {
  color: var(--calendar-ink);
  background: var(--calendar-accent-soft);
}
.Calendar_header,
.Calendar_headerCopy {
  min-width: 0;
}
.Calendar_header {
  margin-bottom: 0;
}
.Calendar_headerCopy {
  max-width: 78ch;
}
.Calendar_headerCopy p {
  max-width: 72ch;
}
.Calendar_headerActions {
  flex: 0 0 auto;
}
.Calendar_detailHeader {
  align-items: flex-start;
  margin-bottom: 0;
}
.Calendar_detailCard {
  max-width: 920px;
  overflow: visible;
}
.Calendar_detailContext {
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid var(--calendar-accent-line);
  background: var(--calendar-accent-soft);
  color: var(--calendar-label);
  font-size: 13px;
  line-height: 1.6;
}
.Calendar_detailContext strong {
  color: var(--calendar-accent-hover);
}
.Calendar_detailTableWrap {
  max-width: 100%;
}
.Calendar_detailNote {
  max-width: 76ch;
  margin: 18px 0;
}
.Calendar_headerHint {
  color: var(--calendar-muted);
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
}
.Calendar_surface {
  min-width: 0;
  overflow: visible;
}
.Calendar_modeSwitcher {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 22px;
  padding: 4px;
  border: 1px solid var(--calendar-card-line);
  border-radius: 14px;
  background: var(--calendar-soft);
}
.Calendar_modeButton {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-width: 0;
  min-height: 64px;
  padding: 11px 13px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--calendar-label);
  text-align: left;
  cursor: pointer;
  transition:
    border-color 160ms ease,
    background-color 160ms ease,
    color 160ms ease;
}
.Calendar_modeButton:hover {
  border-color: var(--calendar-field-line);
  background: var(--calendar-surface);
}
.Calendar_modeButton:focus-visible,
.Calendar_filterField select:focus-visible {
  outline: 3px solid var(--calendar-focus);
  outline-offset: 2px;
}
.Calendar_modeButton[aria-pressed=true] {
  border-color: var(--calendar-accent);
  background: var(--calendar-surface);
  color: var(--calendar-accent-hover);
  box-shadow: 0 4px 12px rgba(18, 31, 54, 0.07);
}
.Calendar_modeButton strong {
  font-size: 14px;
  line-height: 1.35;
}
.Calendar_modeButton span {
  color: var(--calendar-muted);
  font-size: 12px;
  line-height: 1.45;
}
.Calendar_modeButton[aria-pressed=true] span {
  color: var(--calendar-label);
}
.Calendar_scopeHeader,
.Calendar_resultHeading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--ad-gap-loose, 20px);
  min-width: 0;
}
.Calendar_scopeHeader {
  align-items: flex-start;
}
.Calendar_scopeHeader > div,
.Calendar_resultHeading > div {
  min-width: 0;
}
.Calendar_scopeHeader h2,
.Calendar_resultHeading h3 {
  margin: 0;
  color: var(--calendar-ink);
  letter-spacing: -0.025em;
}
.Calendar_scopeHeader h2 {
  font-size: 20px;
  line-height: 1.35;
}
.Calendar_scopeHeader p,
.Calendar_resultHeading p {
  max-width: 72ch;
  margin: 6px 0 0;
  color: var(--calendar-muted);
  font-size: 13px;
  line-height: 1.6;
}
.Calendar_resultSummary,
.Calendar_resultHeading > span {
  flex: 0 0 auto;
  color: var(--calendar-muted);
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
}
.Calendar_filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(145px, 1fr));
  gap: var(--ad-gap, 12px);
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--calendar-line);
}
.Calendar_filterField {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--calendar-label);
  font-size: 12px;
  font-weight: 700;
}
.Calendar_filterField select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--calendar-field-line);
  border-radius: 10px;
  background: var(--calendar-surface);
  color: var(--calendar-ink);
  font: inherit;
  font-weight: 400;
  line-height: 1.4;
}
.Calendar_filterField select:hover {
  border-color: var(--calendar-accent);
}
.Calendar_filterNote {
  margin: 14px 0 0;
  color: var(--calendar-muted);
  font-size: 12px;
  line-height: 1.6;
}
.Calendar_resultHeading {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--calendar-line);
}
.Calendar_resultHeading h3 {
  font-size: 17px;
  line-height: 1.4;
}
.Calendar_calendarShell {
  max-width: 100%;
  margin-top: 16px;
  overflow-x: auto;
  border: 1px solid var(--calendar-card-line);
  border-radius: 12px;
  background: var(--calendar-surface);
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}
.Calendar_calendarShell:focus-visible,
.Calendar_tableWrap:focus-visible {
  outline: 3px solid var(--calendar-focus);
  outline-offset: 3px;
}
.Calendar_scrollHint {
  margin: 10px 0 0;
  padding: 9px 11px;
  border: 1px solid var(--calendar-field-line);
  border-radius: 10px;
  background: var(--calendar-soft);
  color: var(--calendar-label);
  font-size: 12px;
  line-height: 1.5;
}
.Calendar_calendarGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 784px;
  border-top: 0;
  border-left: 0;
}
.Calendar_calendarRow {
  display: grid;
  grid-template-columns: repeat(7, minmax(112px, 1fr));
  min-width: 784px;
}
.Calendar_weekday,
.Calendar_calendarDay,
.Calendar_emptyCell {
  min-width: 0;
  border-right: 1px solid var(--calendar-line);
  border-bottom: 1px solid var(--calendar-line);
}
.Calendar_weekday {
  display: grid;
  place-items: center;
  min-height: 40px;
  padding: 8px;
  background: var(--calendar-soft);
  color: var(--calendar-muted);
  font-size: 12px;
  font-weight: 700;
}
.Calendar_calendarDay,
.Calendar_emptyCell {
  min-height: 126px;
  padding: 10px;
  background: var(--calendar-surface);
}
.Calendar_calendarDay[data-today=true] {
  background: var(--calendar-accent-soft);
}
.Calendar_calendarDay:nth-child(7n),
.Calendar_emptyCell:nth-child(7n) {
  border-right: 0;
}
.Calendar_dayNumber {
  display: block;
  color: var(--calendar-ink);
  font-size: 13px;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}
.Calendar_calendarDay[data-today=true] .Calendar_dayNumber {
  color: var(--calendar-accent-hover);
}
.Calendar_departure {
  display: grid;
  gap: 4px;
  min-width: 0;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid var(--calendar-accent-line);
  border-radius: 10px;
  background: var(--calendar-accent-soft);
  color: var(--calendar-accent-hover);
}
.Calendar_departureName,
.Calendar_departureMeta {
  min-width: 0;
  overflow-wrap: anywhere;
}
.Calendar_departureName {
  font-size: 12px;
  line-height: 1.35;
}
.Calendar_departureMeta {
  color: var(--calendar-label);
  font-size: 10px;
  line-height: 1.4;
}
.Calendar_bookingLink,
.Calendar_tableLink {
  color: var(--calendar-accent-hover);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.Calendar_bookingLink {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 44px;
  padding: 6px 0;
  border-top: 1px solid var(--calendar-accent-line);
  overflow: hidden;
  overflow-wrap: anywhere;
  font-size: 11px;
  line-height: 1.35;
}
.Calendar_bookingLink:hover,
.Calendar_tableLink:hover {
  color: var(--calendar-accent);
}
.Calendar_bookingLink:focus-visible,
.Calendar_tableLink:focus-visible,
.Calendar_tableAction:focus-visible {
  outline: 3px solid var(--calendar-focus);
  outline-offset: 3px;
}
.Calendar_stateText {
  margin: 16px 0 0;
  color: var(--calendar-muted);
  font-size: 13px;
  line-height: 1.6;
}
.Calendar_emptyState {
  display: grid;
  justify-items: start;
  gap: 6px;
  margin-top: 16px;
  padding: 18px;
  border: 1px dashed var(--calendar-field-line);
  border-radius: 12px;
  background: var(--calendar-soft);
}
.Calendar_emptyState h3,
.Calendar_emptyState p {
  margin: 0;
}
.Calendar_emptyState h3 {
  color: var(--calendar-ink);
  font-size: 15px;
  line-height: 1.45;
}
.Calendar_emptyState p {
  color: var(--calendar-muted);
  font-size: 13px;
  line-height: 1.6;
}
.Calendar_tableWrap {
  max-width: 100%;
  margin-top: 16px;
}
.Calendar_tableWrap .admin-table {
  min-width: 760px;
}
.Calendar_tableAction {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  white-space: nowrap;
}
@media (min-width: 601px) {
  .Calendar_scrollHint {
    display: none;
  }
}
@media (max-width: 900px) {
  .Calendar_filters {
    grid-template-columns: repeat(2, minmax(145px, 1fr));
  }
}
@media (max-width: 600px) {
  .Calendar_modeSwitcher,
  .Calendar_filters {
    grid-template-columns: 1fr;
  }
  .Calendar_modeButton {
    min-height: 58px;
  }
  .Calendar_scopeHeader,
  .Calendar_resultHeading {
    display: grid;
    align-items: start;
    gap: 7px;
  }
  .Calendar_resultSummary,
  .Calendar_resultHeading > span {
    white-space: normal;
  }
  .Calendar_calendarDay,
  .Calendar_emptyCell {
    min-height: 118px;
    padding: 9px;
  }
}
.Calendar_dayButton {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  margin: 0 0 4px;
  padding: 2px 4px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.Calendar_dayButton:hover,
.Calendar_dayButton:focus-visible {
  border-color: var(--calendar-accent-line);
  background: var(--calendar-accent-soft);
  outline: none;
}
.Calendar_dayCount {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--calendar-accent);
  color: #fff;
  font-size: 11px;
  line-height: 1;
}
.Calendar_calendarDaySelected {
  box-shadow: inset 0 0 0 2px var(--calendar-accent);
}
.Calendar_dayDetail {
  margin: 16px 0 6px;
  padding: 16px 18px;
  border: 1px solid var(--calendar-accent-line);
  border-radius: 12px;
  background: var(--calendar-surface);
}
.Calendar_dayDetailHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.Calendar_dayDetailHeader h3 {
  margin: 0;
  font-size: 18px;
}
.Calendar_dayDetailHeader p:last-child {
  margin: 4px 0 0;
  color: var(--calendar-muted);
  font-size: 13px;
}
.Calendar_dayDetailList {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.Calendar_dayDetailItem {
  padding: 12px 14px;
  border: 1px solid var(--calendar-line);
  border-radius: 10px;
  background: var(--calendar-soft);
}
.Calendar_dayDetailTitle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.Calendar_dayDetailFacts {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 4px 10px;
  margin: 0 0 8px;
  font-size: 13px;
}
.Calendar_dayDetailFacts > div {
  display: contents;
}
.Calendar_dayDetailFacts dt {
  color: var(--calendar-muted);
}
.Calendar_dayDetailFacts dd {
  margin: 0;
}
.Calendar_dayDetailBookings {
  margin: 0;
  padding-left: 16px;
}
.Calendar_dayDetailProduct,
.Calendar_dayDetailStay,
.Calendar_dayDetailOrigin {
  display: grid;
  gap: 8px;
}
.Calendar_dayDetailProduct {
  gap: 14px;
}
.Calendar_dayDetailStayTitle {
  margin: 4px 0 0;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--calendar-line);
  color: var(--calendar-accent);
  font-size: 14px;
}
.Calendar_dayDetailOriginTitle {
  margin: 0;
  color: var(--calendar-muted);
  font-size: 12px;
  font-weight: 700;
}
.Calendar_capacityNote {
  margin-left: 6px;
  color: var(--calendar-muted);
  font-size: 11px;
}
.Calendar_extensionChip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin-top: 6px;
  padding: 3px 9px;
  border: 1px dashed var(--calendar-accent);
  border-radius: 999px;
  background: var(--calendar-surface);
  color: var(--calendar-accent-hover);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.Calendar_extensionPending {
  color: var(--calendar-muted);
  font-size: 11px;
}
.Calendar_dayDetailExtension {
  display: grid;
  gap: 6px;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px dashed var(--calendar-accent-line);
  border-radius: 10px;
  background: var(--calendar-soft);
}
.Calendar_dayDetailExtension .Calendar_dayDetailStayTitle {
  margin: 0;
}
.Calendar_dayDetailExtensionNote {
  margin: 0;
  color: var(--calendar-muted);
  font-size: 12px;
  line-height: 1.5;
}
.Calendar_dayDetailExtension .Calendar_dayDetailBookings {
  font-size: 13px;
  line-height: 1.6;
}

/* php-app/frontend/src/pages/booking/booking.css */
.booking-lookup-page,
.booking-customer-page {
  min-height: 100vh;
  background: var(--public-page, #f7f7f7);
  color: var(--public-body, #454545);
}
.booking-lookup-main,
.booking-customer-main {
  width: min(100%, 1040px);
  margin: 0 auto;
  padding-top: 46px;
  padding-bottom: 88px;
}
.booking-lookup-header,
.booking-customer-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}
.booking-lookup-header h1,
.booking-customer-header h1 {
  margin: 10px 0 9px;
  color: var(--public-heading, #252525);
  font-size: clamp(34px, 5vw, 54px);
  line-height: 1.12;
  letter-spacing: -.065em;
}
.booking-lookup-header > p:last-child,
.booking-customer-lead {
  max-width: 50ch;
  margin: 0;
  color: var(--public-muted, #777);
  font-size: 15px;
  line-height: 1.75;
}
.booking-section-kicker {
  margin: 0;
  color: var(--public-primary, #00489d);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}
.booking-lookup-form-panel,
.booking-lookup-result,
.booking-info-section,
.booking-status-panel,
.booking-actions-panel,
.booking-guidance-panel {
  min-width: 0;
  background: var(--public-surface, #fff);
  border: 1px solid var(--public-line, #e2e2e2);
  border-radius: var(--public-radius, 5px);
}
.booking-lookup-form-panel,
.booking-lookup-result {
  padding: 28px;
}
.booking-lookup-form-panel {
  margin-bottom: 22px;
}
.booking-lookup-mode-switch {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
}
.booking-lookup-mode-switch > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.booking-lookup-mode-switch > p {
  flex: 1 1 260px;
  margin: 7px 0 0;
  text-align: right;
}
.booking-lookup-form-panel h2,
.booking-lookup-result h2,
.booking-info-section h2,
.booking-guidance-panel h2,
.booking-actions-panel h2 {
  margin: 0;
  color: var(--public-heading, #252525);
  font-size: 21px;
  line-height: 1.4;
  letter-spacing: -.045em;
}
.booking-lookup-form-panel > div > p,
.booking-lookup-result-note,
.booking-guidance-panel p,
.booking-actions-panel p {
  margin: 7px 0 0;
  color: var(--public-muted, #777);
  font-size: 13px;
  line-height: 1.7;
}
.booking-form {
  display: grid;
  gap: 16px;
  max-width: 760px;
  margin-top: 22px;
}
.booking-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--public-body, #454545);
  font-size: 14px;
  line-height: 1.45;
}
.booking-form input,
.booking-form select,
.booking-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #d6d6d6;
  border-radius: 3px;
  background: var(--public-subtle, #fafafa);
  color: var(--public-heading, #252525);
  padding: 11px 12px;
  font-size: 15px;
  line-height: 1.45;
}
.booking-form textarea {
  min-height: 112px;
  resize: vertical;
}
.booking-form input::placeholder,
.booking-form textarea::placeholder {
  color: #888;
}
.booking-form input:disabled,
.booking-form select:disabled,
.booking-form textarea:disabled {
  cursor: wait;
  opacity: .68;
}
.booking-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.booking-partial-cancel-list {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}
.booking-partial-cancel-list legend {
  margin-bottom: 6px;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
}
.booking-form .booking-partial-cancel-list label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}
.booking-form .booking-partial-cancel-list input[type=checkbox] {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  flex: none;
  padding: 0;
}
.booking-form-help,
.booking-optional {
  color: var(--public-muted, #777);
  font-size: 12px;
  line-height: 1.6;
}
.booking-optional {
  font-weight: 400;
}
.booking-lookup-form-panel .dark-btn,
.booking-info-section .dark-btn,
.booking-actions-panel .dark-btn,
.booking-route-actions .dark-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 700;
}
.booking-lookup-form-panel .dark-btn:disabled,
.booking-info-section .dark-btn:disabled,
.booking-actions-panel .dark-btn:disabled {
  cursor: wait;
  opacity: .56;
}
.booking-lookup-result {
  margin-bottom: 22px;
}
.booking-lookup-result-header,
.booking-summary-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.booking-lookup-result-header h2 {
  margin-top: 8px;
}
.booking-lookup-result-header p:not(.booking-section-kicker) {
  margin: 5px 0 0;
  color: var(--public-muted, #777);
  font-size: 13px;
}
.booking-definition-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  margin: 24px 0 0;
  border-top: 1px solid var(--public-line, #e2e2e2);
}
.booking-definition-list > div {
  display: grid;
  grid-template-columns: minmax(78px, .45fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
}
.booking-definition-list dt {
  color: var(--public-muted, #777);
  font-size: 12px;
}
.booking-definition-list dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}
.booking-definition-list dd small {
  display: block;
  margin-top: 3px;
  color: var(--public-muted, #777);
  font-size: 11px;
  font-weight: 400;
}
.booking-lookup-result-note {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--public-line, #e2e2e2);
}
.booking-route-actions,
.booking-header-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}
.booking-header-actions {
  justify-content: flex-end;
  margin-top: 0;
}
.booking-quiet-link,
.booking-inline-button {
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--public-primary, #00489d);
  padding: 10px 0;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.booking-inline-button {
  min-height: 40px;
  cursor: pointer;
}
.booking-quiet-link:hover,
.booking-inline-button:hover {
  color: var(--public-primary-hover, #003a80);
}
.booking-lookup-footer,
.booking-footnote {
  margin: 24px 0 0;
  color: var(--public-muted, #777);
  font-size: 12px;
  line-height: 1.65;
  text-align: center;
}
.booking-lookup-footer a,
.booking-footnote a {
  color: var(--public-primary, #00489d);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.booking-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  min-height: 44px;
  margin-bottom: 24px;
  color: var(--public-muted, #777);
  font-size: 13px;
}
.booking-breadcrumbs a {
  color: var(--public-primary, #00489d);
  font-weight: 700;
}
.booking-breadcrumbs strong {
  color: var(--public-heading, #252525);
}
.booking-customer-header {
  align-items: flex-start;
  margin-bottom: 24px;
}
.booking-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  padding: 16px 0;
  border-bottom: 1px solid rgba(226, 226, 226, .9);
}
.booking-status-row:last-child {
  border-bottom: 0;
}
.booking-status-row > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.booking-status-row strong {
  color: var(--public-heading, #252525);
  font-size: 14px;
}
.booking-status-row > div > span {
  color: var(--public-muted, #777);
  font-size: 12px;
}
.booking-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 28px;
  border-radius: 999px;
  padding: 5px 10px;
  background: #f0f1f3;
  color: #5e6570;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}
.booking-status-pill--accent {
  background: #eaf2ff;
  color: var(--public-primary, #00489d);
}
.booking-status-pill--neutral {
  background: #f2f4f4;
  color: #5f6b68;
}
.booking-status-panel {
  margin-bottom: 22px;
  overflow: hidden;
}
.booking-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 78px;
  padding: 18px 24px;
  background: var(--public-primary, #00489d);
  color: #fff;
}
.booking-panel-heading h2 {
  margin: 6px 0 0;
  color: #fff;
  font-size: 21px;
  line-height: 1.35;
}
.booking-panel-heading .booking-section-kicker {
  color: rgba(255, 255, 255, .76);
}
.booking-status-list {
  padding: 0 24px;
}
.booking-fare-lines {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0 0 16px;
  list-style: none;
  color: var(--public-muted, #777);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.booking-guidance-panel,
.booking-actions-panel {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
  padding: 24px;
}
.booking-guidance-panel {
  background: #f5f8fc;
  border-color: #d5e2f0;
}
.booking-guidance-panel h2,
.booking-actions-panel h2 {
  margin-top: 6px;
}
.booking-guidance-panel .booking-inline-button {
  flex: 0 0 auto;
}
.booking-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 22px;
}
.booking-info-section {
  padding: 24px;
}
.booking-info-section h2 {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
}
.booking-checkout {
  margin-bottom: 22px;
  border-color: var(--public-line, #e3e6e0);
  background: var(--public-surface, #fff);
}
.booking-checkout h2 {
  margin-top: 6px;
}
.booking-checkout-summary {
  background: var(--public-surface, #fff);
  padding: 0 18px 18px;
  border: 1px solid var(--public-line, #e2e2e2);
}
.booking-checkout-documents {
  margin-top: 26px;
}
.booking-checkout-documents h3 {
  margin: 0;
  color: var(--public-heading, #252525);
  font-size: 17px;
}
.booking-checkout-documents > p,
.booking-checkout-documents details > p {
  color: var(--public-muted, #777);
  font-size: 13px;
  line-height: 1.7;
}
.booking-checkout-documents details[open] {
  max-height: min(60vh, 640px);
  overflow-y: auto;
  padding-bottom: 14px;
}
.booking-checkout-confirmations {
  display: grid;
  gap: 14px;
  margin: 26px 0 0;
  padding: 18px;
  border: 1px solid var(--public-line, #e2e2e2);
  background: var(--public-surface, #fff);
}
.booking-checkout-confirmations legend {
  padding: 0 6px;
  color: var(--public-heading, #252525);
  font-weight: 700;
}
.booking-checkout-confirmations label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 44px;
  line-height: 1.6;
  cursor: pointer;
}
.booking-checkout-confirmations input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin-top: 4px;
}
.booking-checkout-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 22px;
  margin-top: 18px;
}
.booking-checkout-actions .booking-inline-button {
  padding: 10px 18px;
  border-radius: 3px;
  background: var(--public-primary, #00489d);
  color: #fff;
  text-decoration: none;
}
.booking-checkout-actions .booking-inline-button:disabled,
.booking-checkout .booking-inline-button:disabled {
  opacity: .48;
  cursor: not-allowed;
}
.booking-toss-step {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding: 20px;
  border: 1px solid var(--public-line, #e3e6e0);
  border-radius: 5px;
  background: var(--public-surface, #fff);
}
.booking-toss-step-amount {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 16px;
  margin: 0;
  color: var(--public-heading, #222824);
}
.booking-toss-step-amount span {
  color: var(--public-muted, #656e66);
  font-size: 14px;
  font-weight: 700;
}
.booking-toss-step-amount strong {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.booking-toss-step-progress {
  margin: 0;
  color: var(--public-muted, #656e66);
  font-size: 13px;
}
.booking-toss-step > [id^=toss-] {
  min-height: 40px;
}
.booking-toss-step .booking-action-notice,
.booking-checkout .booking-action-notice {
  display: block;
  margin: 0;
  border-radius: 5px;
}
.booking-checkout > .booking-action-notice,
.booking-checkout-documents > .booking-action-notice {
  margin-top: 16px;
}
.booking-checkout-state {
  display: grid;
  justify-items: start;
  gap: 12px;
  margin-top: 16px;
}
.booking-checkout-state > .booking-action-notice {
  margin: 0;
  justify-self: stretch;
}
.booking-pay-button,
.booking-outline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease;
}
.booking-pay-button {
  width: 100%;
  min-height: 52px;
  padding: 12px 24px;
  border: 1px solid var(--public-primary, #233e7b);
  background: var(--public-primary, #233e7b);
  color: #fff;
  font-size: 16px;
}
.booking-pay-button:hover:not(:disabled) {
  border-color: var(--public-primary-hover, #1b3062);
  background: var(--public-primary-hover, #1b3062);
}
.booking-outline-button {
  justify-self: start;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--public-heading, #252525);
  background: var(--public-surface, #fff);
  color: var(--public-heading, #252525);
  font-size: 14px;
}
.booking-outline-button:hover:not(:disabled) {
  border-color: var(--public-primary, #233e7b);
  color: var(--public-primary, #233e7b);
}
.booking-pay-button:disabled,
.booking-outline-button:disabled {
  opacity: .48;
  cursor: not-allowed;
}
.booking-checkout-order {
  display: grid;
  justify-items: start;
  gap: 12px;
  margin-top: 18px;
}
.booking-checkout-order > .booking-toss-step,
.booking-checkout-order > .booking-action-notice {
  justify-self: stretch;
  margin: 0;
}
.booking-checkout-order > .booking-pay-button {
  width: auto;
  min-width: 240px;
}
.booking-checkout-retry {
  margin-top: 12px;
}
.booking-checkout-summary > .booking-checkout-pay-amount {
  grid-column: 1 / -1;
  align-items: baseline;
  border-bottom: 0;
}
.booking-checkout-summary > .booking-checkout-pay-amount dt {
  color: var(--public-heading, #222824);
  font-size: 14px;
  font-weight: 700;
}
.booking-checkout-summary > .booking-checkout-pay-amount strong {
  font-size: 24px;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.booking-legacy-test {
  display: grid;
  justify-items: start;
  gap: 10px;
  margin-top: 24px;
  padding: 20px;
  border: 1px solid var(--public-line, #e3e6e0);
  border-radius: 5px;
  background: var(--public-surface, #fff);
}
.booking-legacy-test h3 {
  margin: 0;
  color: var(--public-heading, #222824);
  font-size: 17px;
}
.booking-legacy-test p:not(.booking-action-notice) {
  margin: 0;
  color: var(--public-muted, #656e66);
  font-size: 14px;
  line-height: 1.7;
}
.booking-legacy-test > .booking-pay-button {
  width: auto;
  min-width: 200px;
  min-height: 48px;
  margin-top: 4px;
  font-size: 15px;
}
.booking-legacy-test > .booking-action-notice {
  display: block;
  justify-self: stretch;
  margin: 0;
  border-radius: 5px;
}
.booking-test-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border: 1px solid var(--public-primary, #233e7b);
  border-radius: 999px;
  color: var(--public-primary, #233e7b);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.booking-contact-summary {
  display: grid;
  gap: 5px;
  padding: 18px 0;
}
.booking-contact-summary strong {
  color: var(--public-heading, #252525);
  font-size: 18px;
}
.booking-contact-summary span {
  color: var(--public-muted, #777);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.booking-traveler-list,
.booking-request-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--public-line, #e2e2e2);
}
.booking-traveler-list li,
.booking-request-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 13px 0;
  border-bottom: 1px solid var(--public-line, #e2e2e2);
}
.booking-traveler-list li span,
.booking-request-item strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--public-heading, #252525);
  font-size: 14px;
  font-weight: 700;
}
.booking-traveler-list small,
.booking-request-item > div > span {
  flex: 0 0 auto;
  color: var(--public-muted, #777);
  font-size: 12px;
}
.booking-definition-list + .booking-section-copy {
  margin-top: 17px;
}
.booking-section-copy {
  margin: 0;
  color: var(--public-body, #454545);
  font-size: 14px;
  line-height: 1.75;
}
.booking-section-copy--muted {
  color: var(--public-muted, #777);
  font-size: 13px;
}
.booking-info-section.consents [data-booking-consents] + .booking-section-copy {
  margin-top: 14px;
}
.booking-info-section .booking-form {
  margin-top: 18px;
}
.booking-form--compact {
  max-width: none;
}
.booking-request-item > div {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.booking-request-item p {
  margin: 4px 0 0;
  color: var(--public-body, #454545);
  font-size: 13px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.booking-inquiry-replies {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--public-line, #e2e2e2);
}
.booking-inquiry-replies h3 {
  margin: 0;
  color: var(--public-heading, #252525);
  font-size: 16px;
}
.booking-inquiry-replies article {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--public-line, #e2e2e2);
}
.booking-inquiry-replies article small {
  color: var(--public-muted, #777);
  font-size: 12px;
}
.booking-inquiry-replies article p {
  margin: 6px 0 0;
  color: var(--public-body, #454545);
  font-size: 14px;
  line-height: 1.75;
  white-space: pre-wrap;
}
.booking-actions-panel {
  display: block;
  background: var(--public-surface, #fff);
}
.booking-actions-stack {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}
.booking-disclosure {
  border-top: 1px solid var(--public-line, #e2e2e2);
  padding-top: 14px;
}
.booking-disclosure summary {
  min-height: 44px;
  padding: 10px 0;
  color: var(--public-primary, #00489d);
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
}
.booking-disclosure summary::marker {
  color: var(--public-primary, #00489d);
}
.booking-disclosure[open] summary {
  margin-bottom: 2px;
}
.booking-disclosure--danger summary,
.booking-disclosure--partial-cancel summary,
.booking-danger-button,
.booking-partial-cancel-button {
  color: #a33a2b;
}
.booking-danger-button,
.booking-partial-cancel-button {
  min-height: 44px;
  border: 1px solid #cfa49d;
  border-radius: 3px;
  background: #fff8f6;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 700;
}
.booking-danger-button:hover,
.booking-partial-cancel-button:hover {
  border-color: #a33a2b;
  background: #fff1ed;
}
.booking-danger-button:disabled,
.booking-partial-cancel-button:disabled {
  cursor: wait;
  opacity: .56;
}
.booking-action-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 22px;
  padding: 14px 16px;
  border: 1px solid #d5e2f0;
  border-radius: 3px;
  background: #f5f8fc;
  color: #405b73;
  font-size: 13px;
  line-height: 1.65;
}
.booking-action-notice p {
  margin: 0;
}
.booking-action-notice--success {
  border-color: #c8dfcf;
  background: #f2f8f3;
  color: #356044;
}
.booking-action-notice--error {
  border-color: #efd3c9;
  background: #fff5f1;
  color: #8a3b27;
}
.booking-route-state {
  display: grid;
  justify-items: start;
  gap: 10px;
  min-width: 0;
  padding: 40px 28px;
  background: var(--public-surface, #fff);
  border: 1px solid var(--public-line, #e2e2e2);
  border-radius: var(--public-radius, 5px);
}
.booking-route-state h1 {
  margin: 0;
  color: var(--public-heading, #252525);
  font-size: 25px;
  line-height: 1.35;
  letter-spacing: -.045em;
}
.booking-route-state p {
  max-width: 62ch;
  margin: 0;
  color: var(--public-muted, #777);
  font-size: 14px;
  line-height: 1.75;
}
.booking-loading-mark {
  width: 24px;
  height: 24px;
  border: 3px solid #d8e4f1;
  border-top-color: var(--public-primary, #00489d);
  border-radius: 50%;
  animation: booking-spin .8s linear infinite;
}
@keyframes booking-spin {
  to {
    transform: rotate(360deg);
  }
}
.booking-calendar-detail {
  min-width: 0;
}
.booking-calendar-detail-header {
  align-items: flex-start;
}
.booking-calendar-detail-header h1 {
  margin-top: 7px;
  overflow-wrap: anywhere;
}
.booking-calendar-summary {
  overflow: hidden;
}
.booking-calendar-summary h2 {
  margin-bottom: 0;
}
.booking-calendar-summary > .booking-summary-heading-row > div > p:not(.booking-section-kicker) {
  max-width: 66ch;
  margin: 8px 0 0;
  color: #727687;
  font-size: 13px;
  line-height: 1.7;
}
.booking-definition-list--admin {
  margin-top: 22px;
}
.booking-admin-note {
  margin: 20px 0 0;
  padding: 14px 16px;
  border: 1px solid #d5e2f0;
  background: #f5f8fc;
  color: #405b73;
  font-size: 13px;
  line-height: 1.7;
}
.booking-calendar-summary .booking-route-actions {
  margin-top: 22px;
}
.booking-customer-main > .booking-route-state {
  margin-top: 26px;
}
.booking-customer-main > .booking-route-state .booking-route-actions {
  margin-top: 8px;
}
.booking-lookup-main,
.booking-customer-main {
  --public-primary: #233e7b;
  --public-primary-hover: #1b3062;
}
:is(.booking-lookup-page, .booking-customer-page) .booking-section-kicker {
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}
:is(.booking-lookup-page, .booking-customer-page) :is(.booking-lookup-header, .booking-customer-header) h1 {
  margin: 8px 0 10px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.04em;
  word-break: keep-all;
}
:is(.booking-lookup-main, .booking-customer-main) :is(h1, h2, p, dd) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.booking-customer-page .booking-customer-code {
  color: var(--public-muted, #656e66);
}
.booking-customer-page .booking-customer-code span {
  color: var(--public-heading, #222824);
  font-variant-numeric: tabular-nums;
}
.booking-lookup-page .booking-lookup-mode-switch {
  align-items: flex-end;
  padding-bottom: 0;
}
.booking-lookup-page .booking-lookup-mode-switch > p {
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--public-muted, #656e66);
}
:is(.booking-lookup-page, .booking-customer-page) .booking-form :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  min-height: 48px;
  border-color: #d7dcd5;
  border-radius: 5px;
  background: var(--public-surface, #fff);
  padding: 12px 14px;
}
:is(.booking-lookup-page, .booking-customer-page) .booking-form :is(input:not([type=checkbox]):not([type=radio]), select, textarea):focus {
  outline: none;
  border-color: #233e7b;
  box-shadow: 0 0 0 3px rgba(35, 62, 123, .15);
}
:is(.booking-lookup-page, .booking-customer-page) :is(.booking-lookup-form-panel, .booking-lookup-result, .booking-info-section, .booking-actions-panel, .booking-route-actions) .dark-btn {
  min-height: 48px;
  padding: 12px 24px;
  border: 0;
  border-radius: 5px;
  background: var(--public-primary);
  color: #fff;
  font-size: 15px;
}
:is(.booking-lookup-page, .booking-customer-page) :is(.booking-lookup-form-panel, .booking-lookup-result, .booking-info-section, .booking-actions-panel, .booking-route-actions) .dark-btn:hover:not(:disabled) {
  background: var(--public-primary-hover);
}
.booking-customer-page :is(.booking-checkout-actions .booking-inline-button, .booking-danger-button) {
  min-height: 48px;
  border-radius: 5px;
}
.booking-customer-main > :is(.booking-info-section, .booking-guidance-panel) {
  margin-bottom: 22px;
}
.booking-customer-page .booking-panel-heading {
  min-height: 0;
  padding: 20px 24px;
  border-bottom: 1px solid var(--public-line, #e3e6e0);
  background: transparent;
  color: var(--public-heading, #222824);
}
.booking-customer-page .booking-panel-heading h2 {
  margin: 0;
  color: var(--public-heading, #222824);
  font-size: 20px;
}
.booking-status-amount {
  flex: 0 0 auto;
  color: var(--public-heading, #222824);
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
.booking-customer-page .booking-checkout {
  border-color: var(--public-line, #e3e6e0);
  background: var(--public-surface, #fff);
}
.booking-customer-page {
  --booking-card-line: #cdd3ca;
  --booking-row-line: #edf0eb;
  --booking-band-line: #e3e6e0;
}
.booking-customer-page :is(.booking-status-panel, .booking-info-section, .booking-actions-panel, .booking-legacy-test) {
  border-color: var(--booking-card-line);
}
.booking-customer-page :is(.booking-status-row, .booking-definition-list:not(.booking-checkout-summary), .booking-definition-list > div, .booking-traveler-list, .booking-traveler-list li, .booking-request-list, .booking-request-item, .booking-disclosure) {
  border-color: var(--booking-row-line);
}
.booking-customer-page .booking-customer-header {
  position: relative;
  margin-bottom: 44px;
  padding-bottom: 28px;
}
.booking-customer-page .booking-customer-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--booking-band-line);
  box-shadow: 0 0 0 100vmax var(--booking-band-line);
  clip-path: inset(0 -100vmax);
  pointer-events: none;
}
.booking-customer-page :is(.booking-status-panel, .booking-actions-panel, .booking-detail-grid),
.booking-customer-page .booking-customer-main > :is(.booking-info-section, .booking-guidance-panel) {
  margin-bottom: 28px;
}
.booking-customer-page .booking-detail-grid {
  gap: 28px;
}
.booking-customer-page :is(.booking-panel-heading h2, .booking-info-section > h2) {
  font-size: 19px;
  font-weight: 800;
}
.booking-customer-page :is(.booking-panel-heading h2, .booking-info-section > h2)::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 16px;
  margin-right: 10px;
  border-radius: 2px;
  background: var(--public-primary, #233e7b);
  vertical-align: -2px;
}
@media (prefers-color-scheme: light) {
  :is(.booking-lookup-page, .booking-customer-page) .booking-status-pill.booking-status-pill--accent {
    background: #eef1f7;
    color: #233e7b;
  }
  :is(.booking-lookup-page, .booking-customer-page) .booking-status-pill.booking-status-pill--neutral {
    background: #f5f6f3;
    color: #4f5850;
  }
}
html[data-public-theme=light] :is(.booking-lookup-page, .booking-customer-page) .booking-status-pill.booking-status-pill--accent {
  background: #eef1f7;
  color: #233e7b;
}
html[data-public-theme=light] :is(.booking-lookup-page, .booking-customer-page) .booking-status-pill.booking-status-pill--neutral {
  background: #f5f6f3;
  color: #4f5850;
}
@media (max-width: 600px) {
  :is(.booking-lookup-page, .booking-customer-page) :is(.booking-lookup-header, .booking-customer-header) h1 {
    font-size: 28px;
  }
  .booking-customer-page .booking-panel-heading {
    display: flex;
    padding: 16px 20px;
  }
  .booking-customer-page .booking-panel-heading .booking-status-pill {
    margin-top: 0;
  }
}
@media (max-width: 760px) {
  .booking-lookup-page .booking-lookup-mode-switch {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 6px;
  }
  .booking-lookup-page .booking-lookup-mode-switch > p {
    flex: 0 0 auto;
    margin: 0;
    text-align: left;
  }
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #8bbcf1;
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .booking-lookup-header,
  .booking-customer-header,
  .booking-guidance-panel {
    display: block;
  }
  .booking-lookup-mode-switch {
    display: block;
  }
  .booking-lookup-mode-switch > p {
    margin-top: 10px;
    text-align: left;
  }
  .booking-header-actions,
  .booking-guidance-panel .booking-inline-button {
    justify-content: flex-start;
    margin-top: 16px;
  }
  .booking-detail-grid {
    grid-template-columns: 1fr;
  }
  .booking-guidance-panel .booking-inline-button {
    display: inline-flex;
  }
  .booking-calendar-detail-header .admin-actions {
    flex-wrap: wrap;
  }
}
@media (max-width: 600px) {
  .booking-lookup-main,
  .booking-customer-main {
    padding: 32px 18px 64px;
  }
  .booking-lookup-header h1,
  .booking-customer-header h1 {
    font-size: 38px;
  }
  .booking-form-grid,
  .booking-definition-list {
    grid-template-columns: 1fr;
  }
  .booking-lookup-form-panel,
  .booking-lookup-result,
  .booking-info-section,
  .booking-guidance-panel,
  .booking-actions-panel {
    padding: 20px;
  }
  .booking-panel-heading,
  .booking-status-list {
    padding-left: 20px;
    padding-right: 20px;
  }
  .booking-panel-heading,
  .booking-lookup-result-header,
  .booking-summary-heading-row,
  .booking-action-notice {
    display: block;
  }
  .booking-panel-heading .booking-status-pill,
  .booking-lookup-result-header .booking-status-pill,
  .booking-summary-heading-row .booking-status-pill {
    margin-top: 12px;
  }
  .booking-status-row {
    align-items: flex-start;
  }
  .booking-definition-list > div {
    grid-template-columns: minmax(82px, .42fr) minmax(0, 1fr);
  }
  .booking-action-notice .booking-inline-button {
    display: inline-block;
    margin-top: 8px;
  }
  .booking-calendar-detail-header .admin-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .booking-calendar-detail-header .admin-actions a {
    text-align: center;
  }
  .booking-calendar-summary .booking-route-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .booking-calendar-summary .booking-route-actions a,
  .booking-calendar-summary .booking-route-actions button {
    width: 100%;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .booking-loading-mark {
    animation: none;
  }
}
@media (prefers-color-scheme: dark) {
  .booking-lookup-page,
  .booking-customer-page {
    --public-page: #151a1d;
    --public-surface: #20272b;
    --public-subtle: #1a2023;
    --public-heading: #f0f3f1;
    --public-body: #d5ddda;
    --public-muted: #aab7b2;
    --public-line: #354047;
  }
  html:not([data-public-theme=light]) :is(.booking-lookup-page, .booking-customer-page) {
    --consent-withdrawn: #f0b6a7;
  }
  html:not([data-public-theme=light]) .booking-customer-page {
    --booking-card-line: #4b5960;
    --booking-row-line: #2b3439;
    --booking-band-line: #354047;
  }
  .booking-lookup-page .site-header,
  .booking-customer-page .site-header {
    background: rgba(32, 39, 43, .96);
    border-bottom-color: #354047;
    color: #f0f3f1;
  }
  .booking-lookup-page .site-nav,
  .booking-customer-page .site-nav,
  .booking-lookup-page .header-actions,
  .booking-customer-page .header-actions {
    color: #c1ceca;
  }
  .booking-lookup-page .header-cta,
  .booking-customer-page .header-cta,
  .booking-lookup-page .header-icon,
  .booking-customer-page .header-icon {
    color: #f0f3f1;
  }
  .booking-form input,
  .booking-form select,
  .booking-form textarea {
    border-color: #4b5960;
  }
  .booking-form input:read-only,
  .booking-form input:disabled,
  .booking-form select:disabled,
  .booking-form textarea:disabled {
    background: #252d31;
  }
  .booking-guidance-panel,
  .booking-admin-note {
    border-color: #38516b;
    background: #202c38;
    color: #c3d4e4;
  }
  .booking-action-notice {
    border-color: #38516b;
    background: #202c38;
    color: #c3d4e4;
  }
  .booking-action-notice--success {
    border-color: #386044;
    background: #202d24;
    color: #b8d8bd;
  }
  .booking-action-notice--error {
    border-color: #70443a;
    background: #302321;
    color: #efc0b3;
  }
  .booking-danger-button,
  .booking-partial-cancel-button {
    border-color: #8f5e54;
    background: #302321;
    color: #f0b6a7;
  }
  .booking-status-pill--accent {
    background: #243d60;
    color: #bcd9ff;
  }
  .booking-status-pill--neutral {
    background: #303b3f;
    color: #c1ceca;
  }
  html:not([data-public-theme=light]) :is(.booking-lookup-page, .booking-customer-page) .booking-test-chip {
    border-color: #8fb0e8;
    color: #bcd9ff;
  }
}

/* app/admin/bookings/Bookings.module.css */
.Bookings_page {
  display: grid;
  gap: 20px;
  min-width: 0;
  color: var(--ad-text-strong, #17191d);
  caret-color: var(--ad-accent, #0066ff);
}
.Bookings_page ::selection {
  color: var(--ad-text-strong, #17191d);
  background: var(--ad-accent-surface, #eaf2ff);
}
.Bookings_page .admin-card {
  margin-bottom: 0;
}
.Bookings_listPanel {
  min-width: 0;
  overflow: hidden;
}
.Bookings_listHeader {
  margin-bottom: 0;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.Bookings_listHeader h2 {
  color: var(--ad-text-strong, #17191d);
}
.Bookings_table {
  min-width: 980px;
}
.Bookings_tableWrap {
  min-width: 0;
}
.Bookings_cards {
  display: grid;
  gap: 10px;
}
.Bookings_filterToggle {
  display: none;
}
.Bookings_filterPanel {
  min-width: 0;
}
.Bookings_bookingCard {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 14px;
  background: var(--ad-surface, #fff);
}
.Bookings_cardStatus {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  min-width: 0;
}
.Bookings_cardActionLabel {
  color: var(--ad-text-strong, #17191d);
  font-size: 14px;
  line-height: 1.35;
}
.Bookings_cardScope {
  flex-basis: 100%;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.45;
}
.Bookings_cardIdentity {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 2px 10px;
  min-width: 0;
}
.Bookings_cardIdentity small {
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.Bookings_cardFacts {
  display: grid;
  gap: 7px;
  min-width: 0;
  margin: 0;
}
.Bookings_cardFacts > div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
}
.Bookings_cardFacts dt {
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.5;
}
.Bookings_cardFacts dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
  line-height: 1.5;
}
.Bookings_cardFacts dd small {
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.Bookings_cardActionButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  text-align: center;
}
@media (max-width: 600px) {
  .Bookings_topbarHelp {
    display: none;
  }
  .Bookings_filterToggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
  }
  .Bookings_filterPanel {
    display: none;
    padding-top: 12px;
  }
  .Bookings_filterPanel[data-open=true] {
    display: block;
  }
}
.Bookings_table th,
.Bookings_table td {
  min-width: 0;
}
.Bookings_workCell {
  width: 190px;
}
.Bookings_workStack {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-width: 0;
}
.Bookings_workStack strong {
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
  line-height: 1.4;
}
.Bookings_workStack small {
  color: var(--ad-text-muted, #727687);
  line-height: 1.45;
}
.Bookings_detailPage {
  display: grid;
  gap: 20px;
  min-width: 0;
  color: var(--ad-text-strong, #17191d);
  caret-color: var(--ad-accent, #0066ff);
}
.Bookings_detailPage ::selection {
  color: var(--ad-text-strong, #17191d);
  background: var(--ad-accent-surface, #eaf2ff);
}
.Bookings_detailPage .admin-card {
  margin-bottom: 0;
}
.Bookings_detailHeaderActions {
  flex-wrap: wrap;
}
.Bookings_currentWork {
  border-color: var(--ad-accent-line, #cfe0ff);
  background: var(--ad-surface, #fff);
}
.Bookings_workHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.Bookings_workHeader h2,
.Bookings_secondaryHeader h2,
.Bookings_resultHeader h2 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 19px;
  line-height: 1.35;
}
.Bookings_workHeader p,
.Bookings_secondaryHeader p,
.Bookings_resultHeader p {
  margin: 5px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
  line-height: 1.5;
}
.Bookings_workCount {
  flex: 0 0 auto;
}
.Bookings_requestBlock {
  display: grid;
  gap: 12px;
  padding-top: 17px;
}
.Bookings_requestBlock + .Bookings_requestBlock {
  margin-top: 17px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.Bookings_requestHeading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.Bookings_requestHeading h3 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 16px;
  line-height: 1.4;
}
.Bookings_requestMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.Bookings_requestScope {
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 13px;
  font-weight: 600;
}
.Bookings_diffTableWrap {
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 10px;
}
.Bookings_diffTable {
  width: 100%;
  min-width: 500px;
  border-collapse: collapse;
  font-size: 13px;
}
.Bookings_diffTable th,
.Bookings_diffTable td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  text-align: left;
  vertical-align: top;
}
.Bookings_diffTable tr:last-child th,
.Bookings_diffTable tr:last-child td {
  border-bottom: 0;
}
.Bookings_diffTable th {
  width: 96px;
  color: var(--ad-text-muted, #727687);
  font-weight: 600;
}
.Bookings_diffTable td:last-child {
  color: var(--ad-text-strong, #17191d);
  font-weight: 600;
}
.Bookings_requestNote {
  margin: 0;
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
  line-height: 1.6;
}
.Bookings_actionRow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.Bookings_permissionNote {
  margin: 0;
  padding: 11px 13px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
  font-size: 13px;
  line-height: 1.55;
}
.Bookings_reviewNoteForm {
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface-subtle, #f7f9fc);
}
.Bookings_reviewNoteForm label {
  font-size: 13px;
  font-weight: 700;
  color: var(--ad-text-strong, #17191d);
}
.Bookings_reviewNoteForm textarea {
  min-height: 84px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 8px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #17191d);
  font: inherit;
  line-height: 1.55;
}
.Bookings_reviewNoteHelp {
  margin: 0;
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
  line-height: 1.5;
}
.Bookings_reviewNoteError {
  margin: 0;
  color: var(--ad-danger-text, #b42318);
  font-size: 13px;
  line-height: 1.5;
}
.Bookings_reviewNoteActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.Bookings_secondaryPanel {
  min-width: 0;
}
.Bookings_secondaryHeader,
.Bookings_resultHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 15px;
}
.Bookings_summaryTable {
  min-width: 620px;
}
.Bookings_summaryTable th {
  width: 130px;
}
.Bookings_requestNotes {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.Bookings_contactNote {
  margin: 13px 0 0;
}
.Bookings_resultPanel {
  border-color: var(--ad-note-line, #dfead8);
  background: var(--ad-note-surface, #f4f8f1);
}
.Bookings_resultPanel p {
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 13px;
  line-height: 1.6;
}
.Bookings_nextActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.Bookings_followUpPanel {
  min-width: 0;
}
.Bookings_followUpPanel .admin-notice {
  margin: 0;
}
.Bookings_followUpPanel p {
  margin: 0;
}
.Bookings_followUpPanel p + p {
  margin-top: 8px;
}
.Bookings_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 720px) {
  .Bookings_table {
    min-width: 900px;
  }
  .Bookings_workHeader,
  .Bookings_secondaryHeader,
  .Bookings_resultHeader {
    display: block;
  }
  .Bookings_workCount,
  .Bookings_secondaryHeader > :last-child,
  .Bookings_resultHeader > :last-child {
    display: inline-flex;
    margin-top: 10px;
  }
  .Bookings_requestHeading {
    display: grid;
    justify-content: start;
  }
  .admin-table.Bookings_summaryTable {
    min-width: 560px;
  }
  .Bookings_nextActions,
  .Bookings_actionRow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .Bookings_nextActions .admin-btn,
  .Bookings_actionRow .admin-btn {
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 430px) {
  .Bookings_nextActions,
  .Bookings_actionRow {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .admin-table.Bookings_summaryTable {
    display: block;
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }
  .Bookings_summaryTable tbody,
  .Bookings_summaryTable tr {
    display: block;
    width: 100%;
  }
  .Bookings_summaryTable tr {
    padding: 10px 0;
    border-bottom: 1px solid var(--ad-line-field, #dfe4eb);
  }
  .Bookings_summaryTable th,
  .Bookings_summaryTable td {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
    text-align: left;
  }
  .Bookings_summaryTable th {
    color: var(--ad-text-label, #5d6472);
    font-size: 12px;
  }
  .Bookings_summaryTable td {
    margin-top: 4px;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.55;
  }
  .Bookings_summaryTable td small {
    display: block;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}
.Bookings_consentPanel {
  min-width: 0;
  margin-top: 20px;
  overflow-wrap: anywhere;
}
.Bookings_consentPanel h3 {
  margin: 0 0 12px;
  font-size: 15px;
}

/* php-app/frontend/src/pages/quote/quote.css */
.quote-route {
  --quote-focus: #0b5cab;
}
.quote-route :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--quote-focus);
  outline-offset: 3px;
}
.quote-detail-page {
  --quote-focus: #233e7b;
  max-width: 1148px;
  padding-top: 64px;
  padding-bottom: 112px;
  color: #222824;
}
.quote-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding: 0 0 28px;
  border-bottom: 1px solid #e3e6e0;
}
.quote-detail-page .quote-detail-header h1 {
  margin: 10px 0 0;
  color: #222824;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.03em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.quote-hero-lead {
  max-width: 60ch;
  margin: 12px 0 0;
  color: #656e66;
  font-size: 16px;
  line-height: 1.7;
}
.quote-back-link,
.quote-text-button {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 40px;
  border: 0;
  padding: 8px 0;
  background: transparent;
  color: #233e7b;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  cursor: pointer;
}
.quote-back-link:hover,
.quote-text-button:hover {
  color: #1b3062;
}
.quote-state-panel,
.quote-info-section,
.quote-empty-panel,
.quote-offer-card {
  margin-top: 24px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
}
.quote-state-panel,
.quote-empty-panel {
  display: grid;
  justify-items: start;
  gap: 12px;
  padding: 28px 32px;
}
.quote-empty-panel {
  background: #f5f6f3;
}
.quote-detail-page .quote-state-panel h1,
.quote-detail-page .quote-state-panel h2,
.quote-detail-page .quote-empty-panel h3 {
  margin: 0;
  color: #222824;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.02em;
}
.quote-state-panel p,
.quote-empty-panel p {
  max-width: 60ch;
  margin: 0;
  color: #3a403b;
  font-size: 15px;
  line-height: 1.7;
}
.quote-info-section {
  padding: 28px 32px;
}
.quote-section-heading h2 {
  margin: 0;
  color: #222824;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.02em;
}
.quote-section-heading > p:last-child {
  max-width: 60ch;
  margin: 8px 0 0;
  color: #656e66;
  font-size: 14px;
  line-height: 1.6;
}
.quote-request-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 20px 0 0;
  padding: 0;
}
.quote-request-facts > div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;
  min-width: 0;
  padding: 13px 0;
  border-top: 1px solid #e3e6e0;
}
.quote-request-facts dt {
  color: #656e66;
  font-size: 13px;
  font-weight: 600;
}
.quote-request-facts dd {
  margin: 0;
  color: #222824;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.quote-request-message {
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid #e3e6e0;
}
.quote-request-message h3,
.quote-offer-details h4 {
  margin: 0;
  color: #222824;
  font-size: 15px;
  font-weight: 700;
}
.quote-request-message p,
.quote-offer-summary {
  margin: 8px 0 0;
  color: #3a403b;
  font-size: 15px;
  line-height: 1.7;
  white-space: pre-wrap;
}
.quote-helper {
  margin: 14px 0 0;
  color: #656e66;
  font-size: 13px;
  line-height: 1.6;
}
.quote-offers-section {
  margin-top: 40px;
}
.quote-offers-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.quote-offer-stack {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}
.quote-offers-section .quote-empty-panel {
  margin-top: 16px;
}
.quote-offer-card {
  margin-top: 0;
  padding: 28px 32px;
}
.quote-card-heading,
.quote-offer-facts,
.quote-action-row,
.quote-success-actions,
.quote-booking-panel {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.quote-card-heading {
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 16px;
}
.quote-card-heading > div {
  min-width: 0;
}
.quote-card-heading h3 {
  margin: 6px 0 0;
  color: #222824;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
}
.quote-kicker {
  margin: 0;
  color: #656e66;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.4;
  text-transform: none;
}
.quote-status-pill {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 26px;
  padding: 3px 10px;
  border: 0;
  border-radius: 999px;
  background: #eef1f8;
  color: #233e7b;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.quote-status-sent,
.quote-status-accepted,
.quote-status-converted {
  background: #e8f7ed;
  color: #20783a;
}
.quote-status-expired,
.quote-status-rejected {
  background: #f0f1f3;
  color: #676d79;
}
.quote-offer-facts {
  margin-top: 14px;
  color: #656e66;
  font-size: 14px;
}
.quote-offer-facts strong {
  color: #222824;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.quote-offer-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #e3e6e0;
}
.quote-offer-list {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding-left: 20px;
  color: #3a403b;
  font-size: 14px;
  line-height: 1.6;
}
.quote-policy-note {
  display: grid;
  gap: 4px;
  margin-top: 20px;
  padding: 14px 16px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #f5f6f3;
  color: #3a403b;
  font-size: 13px;
  line-height: 1.6;
}
.quote-policy-note strong {
  color: #222824;
}
.quote-action-row {
  margin-top: 20px;
}
.quote-primary-button,
.quote-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 1px solid transparent;
  border-radius: 5px;
  padding: 0 24px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.quote-primary-button {
  border-color: #233e7b;
  background: #233e7b;
  color: #fff;
}
.quote-primary-button:hover:not(:disabled) {
  border-color: #1b3062;
  background: #1b3062;
  color: #fff;
}
.quote-secondary-button {
  border-color: #252525;
  background: #fff;
  color: #252525;
}
.quote-secondary-button:hover:not(:disabled) {
  background: #f5f6f3;
  color: #252525;
}
.quote-primary-button:disabled,
.quote-secondary-button:disabled {
  cursor: not-allowed;
  opacity: .55;
}
.quote-alert {
  margin: 20px 0 0;
  padding: 13px 16px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  font-size: 14px;
  line-height: 1.6;
}
.quote-alert-success {
  border-color: #cfe6d6;
  background: #f1f8f3;
  color: #20783a;
}
.quote-alert-error {
  border-color: #dca8a2;
  background: #fff8f7;
  color: #9b3128;
}
.quote-booking-panel {
  justify-content: space-between;
}
.quote-booking-panel h2 {
  margin: 0;
  color: #222824;
  font-size: 22px;
  font-weight: 700;
}
.quote-booking-panel p {
  max-width: 60ch;
  margin: 8px 0 0;
  color: #3a403b;
  font-size: 15px;
  line-height: 1.6;
}
.quote-admin-page {
  display: grid;
  gap: 20px;
  min-width: 0;
  color: var(--ad-text-strong, #17191d);
}
.quote-admin-header h1 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 30px;
  letter-spacing: -.04em;
}
.quote-admin-header p:not(.quote-admin-kicker) {
  max-width: 68ch;
  margin: 8px 0 0;
  color: var(--ad-text-muted, #727687);
  line-height: 1.6;
}
.quote-admin-kicker {
  margin: 0 0 8px;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  letter-spacing: .13em;
}
.quote-admin-panel {
  max-width: 760px;
  padding: 22px;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 16px;
  background: var(--ad-surface, #fff);
}
.quote-admin-boundary {
  padding: 13px 15px;
  border-radius: 10px;
  background: var(--ad-danger-surface, #fff7e6);
  color: var(--ad-text-label, #7e5800);
  font-size: 13px;
  line-height: 1.6;
}
.quote-admin-form {
  display: grid;
  gap: 15px;
  margin-top: 18px;
}
.quote-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}
.quote-admin-form label {
  display: grid;
  gap: 7px;
  color: var(--ad-text-label, #424656);
  font-size: 13px;
  font-weight: 650;
}
.quote-admin-form input {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 9px;
  padding: 10px 11px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #17191d);
}
.quote-admin-primary {
  justify-self: start;
  min-height: 44px;
  border: 1px solid var(--ad-accent, #0066ff);
  border-radius: 9px;
  padding: 10px 16px;
  background: var(--ad-accent, #0066ff);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.quote-admin-primary:disabled {
  cursor: wait;
  opacity: .55;
}
.quote-admin-alert {
  margin: 0;
  padding: 12px 14px;
  border-radius: 9px;
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
  font-size: 13px;
  line-height: 1.6;
}
.quote-admin-helper {
  margin: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.6;
}
.quote-admin-result {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding: 18px;
  border-radius: 12px;
  background: var(--ad-surface-sunken, #f8f9fb);
}
.quote-admin-result h2 {
  margin: 0 0 8px;
  font-size: 18px;
}
.quote-admin-result p {
  margin: 8px 0 0;
  color: var(--ad-text-label, #424656);
  font-size: 13px;
  line-height: 1.6;
}
.quote-admin-selling {
  flex: 0 0 auto;
  min-width: 132px;
  text-align: right;
}
.quote-admin-selling small {
  display: block;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.quote-admin-selling strong {
  display: block;
  margin-top: 7px;
  color: var(--ad-text-strong, #17191d);
  font-size: 24px;
  white-space: nowrap;
}
@media (max-width: 700px) {
  .quote-detail-page {
    padding: 40px 16px 80px;
  }
  .quote-detail-header {
    display: grid;
    gap: 8px;
    padding-bottom: 22px;
  }
  .quote-detail-page .quote-detail-header h1 {
    font-size: 28px;
  }
  .quote-hero-lead {
    font-size: 15px;
  }
  .quote-back-link {
    justify-self: start;
  }
  .quote-info-section,
  .quote-offer-card,
  .quote-state-panel,
  .quote-empty-panel {
    padding: 20px;
  }
  .quote-request-facts > div {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  .quote-action-row > * {
    flex: 1 1 100%;
  }
  .quote-request-facts,
  .quote-offer-details,
  .quote-admin-grid {
    grid-template-columns: 1fr;
  }
  .quote-admin-result {
    display: grid;
  }
  .quote-admin-selling {
    text-align: left;
  }
}

/* app/airfare/requests/page.module.css */
.page_page {
  --public-focus-soft: rgba(35, 62, 123, .15);
  --public-on-primary: #fff;
}
.page_list {
  display: grid;
  gap: 14px;
  margin-top: 32px;
}
.page_requestCard {
  min-width: 0;
  overflow-wrap: anywhere;
}
.page_requestCard dd {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.page_requestCard .page_offer {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin: 14px 0 0;
  padding: 10px 12px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #f5f6f3;
  color: #222824;
  font-size: 15px;
  line-height: 1.5;
}
.page_requestCard .page_offer b {
  color: #5a615b;
  font-size: 12px;
  font-weight: 700;
}
.page_page .page_stateCard {
  display: grid;
  justify-items: start;
  gap: 12px;
  margin: 32px 0 0;
  padding: 28px 32px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
  color: #3a403b;
  font-size: 15px;
  line-height: 1.7;
}
.page_page .page_stateCard h2 {
  margin: 0;
  color: #222824;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.page_page .page_stateCard p {
  max-width: 60ch;
  margin: 0;
}
.page_page .page_stateCard .dark-btn {
  margin-top: 4px;
}
.page_page .page_empty {
  background: #f5f6f3;
}
@media (max-width: 760px) {
  .page_list {
    margin-top: 24px;
  }
  .page_page .page_stateCard {
    margin-top: 24px;
    padding: 20px;
  }
  .page_page .page_stateCard .dark-btn {
    justify-self: stretch;
  }
}

/* app/admin/airfare/AirfareManager.module.css */
.AirfareManager_page {
  display: grid;
  gap: 18px;
  min-width: 0;
  color: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
}
.AirfareManager_header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
  align-items: end;
  gap: 20px;
}
.AirfareManager_header h1 {
  margin: 0;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.025em;
}
.AirfareManager_header p {
  max-width: 68ch;
  margin: 7px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
  line-height: 1.55;
}
.AirfareManager_header .AirfareManager_boundaryNote {
  justify-self: end;
  max-width: 360px;
  margin: 0;
  padding: 11px 14px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 12px;
  background: var(--ad-surface-hover, #f6f8fb);
  color: var(--ad-text-subtle, #687481);
}
.AirfareManager_toolbar {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.AirfareManager_filterField {
  display: grid;
  gap: 6px;
  min-width: 190px;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  font-weight: 650;
}
.AirfareManager_filterField select,
.AirfareManager_evidenceField textarea {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #17191d);
  font: inherit;
  font-weight: 450;
}
.AirfareManager_filterField select:focus-visible,
.AirfareManager_evidenceField textarea:focus-visible,
.AirfareManager_requestButton:focus-visible,
.AirfareManager_bookingLink:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.AirfareManager_resultCount {
  flex: 1 1 auto;
  margin: 0 0 9px;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.AirfareManager_workspace {
  display: grid;
  gap: 16px;
  min-width: 0;
}
.AirfareManager_listPanel,
.AirfareManager_detailPanel,
.AirfareManager_selectionEmpty {
  min-width: 0;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 16px;
  background: var(--ad-surface, #fff);
  padding: 18px;
}
.AirfareManager_panelHeading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.AirfareManager_panelHeading h2,
.AirfareManager_detailHeader h2,
.AirfareManager_selectionEmpty h2,
.AirfareManager_emptyState h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -0.015em;
}
.AirfareManager_panelHeading p,
.AirfareManager_selectionEmpty p,
.AirfareManager_emptyState p,
.AirfareManager_sectionHeading p {
  margin: 5px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.55;
}
.AirfareManager_requestList {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.AirfareManager_requestList li {
  min-width: 0;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.AirfareManager_requestList li:last-child {
  border-bottom: 0;
}
.AirfareManager_requestButton {
  display: grid;
  width: 100%;
  gap: 7px;
  padding: 14px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color 160ms ease-out;
}
.AirfareManager_requestButton:hover {
  background: var(--ad-surface-hover, #f6f8fb);
}
.AirfareManager_requestButton.AirfareManager_requestSelected {
  background: var(--ad-accent-surface, #eaf2ff);
}
.AirfareManager_requestHeading,
.AirfareManager_requestMeta,
.AirfareManager_requestFooter {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px 12px;
  min-width: 0;
}
.AirfareManager_requestNumber {
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
}
.AirfareManager_statusPill {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 2px 8px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 999px;
  background: var(--ad-surface-sunken, #f8f9fb);
  color: var(--ad-text-label, #424656);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.AirfareManager_requestMeta,
.AirfareManager_requestFooter {
  color: var(--ad-text-subtle, #687481);
  font-size: 11px;
  line-height: 1.45;
}
.AirfareManager_requestMeta > span,
.AirfareManager_requestFooter > span,
.AirfareManager_requestFooter time {
  overflow-wrap: anywhere;
}
.AirfareManager_requestFooter time {
  color: var(--ad-text-muted, #727687);
  font-variant-numeric: tabular-nums;
}
.AirfareManager_selectionEmpty {
  align-self: start;
  min-height: 180px;
  padding: 22px;
  background: var(--ad-surface-hover, #f6f8fb);
}
.AirfareManager_selectionEmpty p {
  max-width: 48ch;
  margin-top: 8px;
}
.AirfareManager_detailPanel {
  display: grid;
  align-content: start;
  gap: 18px;
}
.AirfareManager_detailHeader {
  display: flex;
  align-items: start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.AirfareManager_detailHeader h2 {
  overflow-wrap: anywhere;
}
.AirfareManager_detailHeaderActions,
.AirfareManager_actionRow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.AirfareManager_currentState {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-text-label, #424656);
  font-size: 12px;
}
.AirfareManager_currentStateHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.AirfareManager_currentState strong {
  color: var(--ad-text-strong, #17191d);
  font-size: 14px;
}
.AirfareManager_currentStateDescription {
  max-width: 70ch;
  margin: 0;
  color: var(--ad-text-label, #424656);
  line-height: 1.55;
}
.AirfareManager_detailGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  gap: 0 18px;
}
.AirfareManager_detailGrid > div {
  min-width: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.AirfareManager_detailGrid dt {
  margin-bottom: 4px;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 650;
}
.AirfareManager_detailGrid dd {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.AirfareManager_detailGrid .AirfareManager_noteField {
  grid-column: 1 / -1;
}
.AirfareManager_bookingSection,
.AirfareManager_evidenceSection,
.AirfareManager_statusSection {
  display: grid;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AirfareManager_sectionHeading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}
.AirfareManager_sectionHeading h3,
.AirfareManager_evidenceSection h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
}
.AirfareManager_bookingSummary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 12px 0;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.AirfareManager_bookingSummary > div {
  display: grid;
  gap: 3px;
}
.AirfareManager_bookingCode {
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
  font-weight: 750;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.AirfareManager_bookingName {
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.AirfareManager_bookingLink {
  color: var(--ad-accent-hover, #0052cc);
  font-size: 12px;
  font-weight: 700;
  text-underline-offset: 3px;
}
.AirfareManager_inlineState {
  margin: 0;
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
  line-height: 1.55;
}
.AirfareManager_evidenceSection p {
  margin: 0;
  padding: 12px;
  border-radius: 10px;
  background: var(--ad-surface-sunken, #f8f9fb);
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.AirfareManager_statusForm {
  display: grid;
  gap: 14px;
}
.AirfareManager_statusForm .AirfareManager_filterField {
  max-width: 360px;
}
.AirfareManager_statusEffect {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 12px;
  background: var(--ad-surface-hover, #f6f8fb);
}
.AirfareManager_statusEffectHeader {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 650;
}
.AirfareManager_statusEffectHeader strong {
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
}
.AirfareManager_statusEffectMeaning,
.AirfareManager_statusEffectNote {
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  line-height: 1.55;
}
.AirfareManager_statusEffectGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 0;
}
.AirfareManager_statusEffectGrid > div {
  min-width: 0;
  padding-top: 9px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AirfareManager_statusEffectGrid dt {
  margin-bottom: 4px;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 650;
}
.AirfareManager_statusEffectGrid dd {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.AirfareManager_statusEffectNote {
  padding-top: 9px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
}
.AirfareManager_offerFields {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 12px;
  background: var(--ad-surface-hover, #f6f8fb);
}
.AirfareManager_offerFieldHeading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 12px;
}
.AirfareManager_offerFieldHeading strong {
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
}
.AirfareManager_offerFieldHeading span {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  line-height: 1.5;
}
.AirfareManager_offerField {
  display: grid;
  gap: 6px;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  font-weight: 650;
}
.AirfareManager_offerField b {
  color: var(--ad-danger-text, #a4332d);
  font-size: 11px;
}
.AirfareManager_offerField input,
.AirfareManager_offerField textarea {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #17191d);
  font: inherit;
}
.AirfareManager_offerField textarea {
  min-height: 84px;
  resize: vertical;
  line-height: 1.5;
}
.AirfareManager_offerField input:disabled,
.AirfareManager_offerField textarea:disabled {
  background: var(--ad-surface-hover, #f1f3f6);
  color: var(--ad-text-muted, #727687);
  cursor: not-allowed;
}
.AirfareManager_offerField small {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 450;
  line-height: 1.5;
}
.AirfareManager_offerPreview {
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  line-height: 1.5;
}
.AirfareManager_offerPreview b {
  color: var(--ad-text-strong, #17191d);
}
.AirfareManager_offerPermission {
  margin: 0;
  padding: 9px 11px;
  border-radius: 9px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-label, #424656);
  font-size: 11px;
  line-height: 1.5;
}
.AirfareManager_offerError {
  margin: 0;
  padding: 9px 11px;
  border-radius: 9px;
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
  font-size: 11px;
  line-height: 1.5;
}
.AirfareManager_offerSummaryNote,
.AirfareManager_offerSummaryTime {
  color: var(--ad-text-label, #424656);
}
.AirfareManager_evidenceField {
  display: grid;
  gap: 6px;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  font-weight: 650;
}
.AirfareManager_evidenceField b {
  color: var(--ad-danger-text, #a4332d);
  font-size: 11px;
}
.AirfareManager_evidenceField textarea {
  min-height: 88px;
  resize: vertical;
  line-height: 1.5;
}
.AirfareManager_evidenceField small {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 450;
  line-height: 1.5;
}
.AirfareManager_confirmation {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--ad-accent-line, #cfe0ff);
  border-radius: 12px;
  background: var(--ad-accent-surface, #eaf2ff);
}
.AirfareManager_confirmation p {
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.AirfareManager_confirmation .AirfareManager_confirmationTitle {
  color: var(--ad-text-strong, #17191d);
  font-size: 13px;
  font-weight: 750;
}
.AirfareManager_confirmation strong {
  color: var(--ad-text-strong, #17191d);
}
.AirfareManager_errorNotice,
.AirfareManager_errorMessage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
  font-size: 12px;
  line-height: 1.5;
}
.AirfareManager_errorNotice p,
.AirfareManager_errorMessage {
  margin: 0;
}
.AirfareManager_errorMessage {
  display: block;
  padding: 10px 12px;
}
.AirfareManager_successMessage {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--ad-success-surface, #edf7ee);
  color: var(--ad-success-text, #277144);
  font-size: 12px;
  line-height: 1.5;
}
.AirfareManager_loadingState,
.AirfareManager_emptyState {
  display: grid;
  gap: 10px;
  padding: 16px 4px;
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
}
.AirfareManager_emptyState h3 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 14px;
}
.AirfareManager_emptyState p {
  margin: 0;
}
.AirfareManager_skeletonRow {
  min-height: 62px;
  border-radius: 8px;
  background:
    linear-gradient(
      90deg,
      var(--ad-surface-sunken, #f8f9fb),
      var(--ad-surface-hover, #f6f8fb),
      var(--ad-surface-sunken, #f8f9fb));
  background-size: 200% 100%;
  animation: AirfareManager_loadingSweep 1.4s ease-in-out infinite;
}
.AirfareManager_operationsNote {
  margin: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  line-height: 1.55;
}
@keyframes AirfareManager_loadingSweep {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: -100% 0;
  }
}
@media (min-width: 1200px) {
  .AirfareManager_workspace {
    grid-template-columns: minmax(330px, 0.88fr) minmax(520px, 1.22fr);
    align-items: start;
  }
}
@media (max-width: 900px) {
  .AirfareManager_header {
    grid-template-columns: minmax(0, 1fr);
  }
  .AirfareManager_header .AirfareManager_boundaryNote {
    justify-self: stretch;
    max-width: none;
  }
  .AirfareManager_toolbar {
    align-items: end;
  }
  .AirfareManager_resultCount {
    flex-basis: 100%;
    order: 1;
    margin: 0;
  }
}
@media (max-width: 600px) {
  .AirfareManager_page {
    gap: 14px;
  }
  .AirfareManager_header h1 {
    font-size: 25px;
  }
  .AirfareManager_header p {
    font-size: 12px;
  }
  .AirfareManager_toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
  }
  .AirfareManager_filterField {
    min-width: 0;
  }
  .AirfareManager_toolbar > button {
    align-self: end;
  }
  .AirfareManager_resultCount {
    grid-column: 1 / -1;
  }
  .AirfareManager_listPanel,
  .AirfareManager_detailPanel,
  .AirfareManager_selectionEmpty {
    padding: 14px;
    border-radius: 14px;
  }
  .AirfareManager_requestButton {
    padding: 13px 6px;
  }
  .AirfareManager_requestMeta,
  .AirfareManager_requestFooter {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
  }
  .AirfareManager_detailGrid {
    grid-template-columns: minmax(0, 1fr);
  }
  .AirfareManager_statusEffectGrid {
    grid-template-columns: minmax(0, 1fr);
  }
  .AirfareManager_detailGrid .AirfareManager_noteField {
    grid-column: auto;
  }
  .AirfareManager_bookingSummary {
    align-items: start;
  }
  .AirfareManager_detailHeaderActions {
    width: 100%;
  }
  .AirfareManager_confirmation .AirfareManager_actionRow {
    align-items: stretch;
  }
  .AirfareManager_operationsNote {
    padding: 0 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .AirfareManager_requestButton,
  .AirfareManager_skeletonRow {
    animation: none;
    transition: none;
  }
}

/* app/admin/quotes/Quotes.module.css */
.Quotes_page {
  display: grid;
  gap: 20px;
  min-width: 0;
  color: var(--ad-text-strong);
  caret-color: var(--ad-accent);
}
.Quotes_page ::selection {
  color: var(--ad-text-strong);
  background: var(--ad-accent-surface);
}
.Quotes_pageHeader,
.Quotes_detailHeader {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
}
.Quotes_pageHeader h1,
.Quotes_detailHeader h1 {
  margin: 0;
  color: var(--ad-text-strong);
  font-size: 26px;
  line-height: 1.25;
}
.Quotes_pageHeader p,
.Quotes_detailTitle p {
  max-width: 72ch;
  margin: 8px 0 0;
  color: var(--ad-text-muted);
  line-height: 1.55;
}
.Quotes_panel,
.Quotes_requestPanel,
.Quotes_workflow,
.Quotes_history,
.Quotes_notes {
  min-width: 0;
  border: 1px solid var(--ad-line-card);
  border-radius: 14px;
  background: var(--ad-surface);
}
.Quotes_panel {
  overflow: hidden;
}
.Quotes_listHeader {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--ad-line-divider);
}
.Quotes_listHeader h2,
.Quotes_sectionHeading h2 {
  margin: 0;
  color: var(--ad-text-strong);
  font-size: 18px;
  line-height: 1.35;
}
.Quotes_listHeader p,
.Quotes_sectionHeading p {
  margin: 5px 0 0;
  color: var(--ad-text-muted);
  font-size: 13px;
  line-height: 1.5;
}
.Quotes_filters {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}
.Quotes_control,
.Quotes_field {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: var(--ad-text-label);
  font-size: 13px;
  font-weight: 600;
}
.Quotes_control select,
.Quotes_control input,
.Quotes_field input,
.Quotes_field select,
.Quotes_field textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--ad-line-field);
  border-radius: 8px;
  padding: 9px 11px;
  background: var(--ad-surface);
  color: var(--ad-text-strong);
  font: inherit;
  font-weight: 400;
  line-height: 1.45;
}
.Quotes_control select,
.Quotes_control input {
  min-height: 40px;
}
.Quotes_field textarea {
  resize: vertical;
}
.Quotes_control input::placeholder,
.Quotes_field input::placeholder,
.Quotes_field textarea::placeholder {
  color: var(--ad-text-muted);
  opacity: 1;
}
.Quotes_control select:focus-visible,
.Quotes_control input:focus-visible,
.Quotes_field input:focus-visible,
.Quotes_field select:focus-visible,
.Quotes_field textarea:focus-visible,
.Quotes_primaryButton:focus-visible,
.Quotes_secondaryButton:focus-visible,
.Quotes_textButton:focus-visible,
.Quotes_quoteLink:focus-visible,
.Quotes_backLink:focus-visible,
.Quotes_secondaryLink:focus-visible {
  outline: 3px solid var(--ad-focus-ring);
  outline-offset: 2px;
}
.Quotes_quoteList,
.Quotes_historyList,
.Quotes_notes ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.Quotes_quoteLink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  padding: 16px 20px;
  color: inherit;
  text-decoration: none;
  transition: background-color 160ms ease;
}
.Quotes_quoteList li + li,
.Quotes_historyItem + .Quotes_historyItem,
.Quotes_notes li + li {
  border-top: 1px solid var(--ad-line-divider);
}
.Quotes_quoteLink:hover {
  background: var(--ad-surface-hover);
}
.Quotes_quoteMain,
.Quotes_quoteMeta {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.Quotes_quoteMain strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 700;
}
.Quotes_quoteMain > span {
  overflow-wrap: anywhere;
  font-size: 15px;
  line-height: 1.45;
}
.Quotes_quoteMain small,
.Quotes_historyItem small,
.Quotes_notes small {
  color: var(--ad-text-muted);
  font-size: 12px;
  line-height: 1.45;
}
.Quotes_quoteMeta {
  justify-items: end;
  flex: 0 0 auto;
}
.Quotes_status {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border: 1px solid var(--ad-line-field);
  border-radius: 999px;
  padding: 4px 9px;
  background: var(--ad-surface-sunken);
  color: var(--ad-text-label);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
}
.Quotes_openAction {
  color: var(--ad-accent);
  font-size: 12px;
  font-weight: 700;
}
.Quotes_emptyState,
.Quotes_errorState {
  display: grid;
  justify-items: start;
  gap: 8px;
  padding: 24px 20px;
}
.Quotes_emptyState h3,
.Quotes_errorState h1,
.Quotes_errorState h3,
.Quotes_emptyState p,
.Quotes_errorState p {
  margin: 0;
}
.Quotes_emptyState h3,
.Quotes_errorState h1,
.Quotes_errorState h3 {
  color: var(--ad-text-strong);
  font-size: 16px;
}
.Quotes_emptyState p,
.Quotes_errorState p {
  color: var(--ad-text-muted);
  line-height: 1.55;
}
.Quotes_skeletonList {
  display: grid;
}
.Quotes_skeletonRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 78px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--ad-line-divider);
}
.Quotes_skeletonRow span {
  height: 12px;
  border-radius: 6px;
  background: var(--ad-surface-sunken);
}
.Quotes_skeletonRow span:first-child {
  width: min(36%, 260px);
}
.Quotes_skeletonRow span:nth-child(2) {
  width: min(22%, 130px);
}
.Quotes_skeletonRow span:last-child {
  width: 72px;
}
.Quotes_detailSkeleton {
  display: grid;
  gap: 18px;
  min-height: 420px;
  padding: 24px;
  border: 1px solid var(--ad-line-card);
  border-radius: 14px;
  background: var(--ad-surface);
}
.Quotes_detailSkeleton span {
  height: 14px;
  max-width: 100%;
  border-radius: 7px;
  background: var(--ad-surface-sunken);
}
.Quotes_detailSkeleton span:nth-child(1) {
  width: 38%;
  height: 24px;
}
.Quotes_detailSkeleton span:nth-child(2) {
  width: 72%;
}
.Quotes_detailSkeleton span:nth-child(3) {
  width: 88%;
}
.Quotes_detailSkeleton span:nth-child(4) {
  width: 54%;
}
.Quotes_primaryButton,
.Quotes_secondaryButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 9px 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
}
.Quotes_primaryButton {
  background: var(--ad-accent);
  color: #fff;
}
.Quotes_primaryButton:hover:not(:disabled) {
  background: var(--ad-accent-hover);
}
.Quotes_secondaryButton,
.Quotes_secondaryLink {
  border-color: var(--ad-line-field);
  background: var(--ad-surface);
  color: var(--ad-text-strong);
}
.Quotes_secondaryButton:hover:not(:disabled),
.Quotes_secondaryLink:hover {
  background: var(--ad-surface-hover);
}
.Quotes_primaryButton:disabled,
.Quotes_secondaryButton:disabled {
  opacity: 0.56;
  cursor: not-allowed;
}
.Quotes_secondaryLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border: 1px solid var(--ad-line-field);
  border-radius: 8px;
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.Quotes_textButton {
  border: 0;
  padding: 4px 0;
  background: transparent;
  color: var(--ad-accent);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-align: start;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.Quotes_textButton:hover:not(:disabled) {
  color: var(--ad-accent-hover);
}
.Quotes_textButton:disabled {
  color: var(--ad-text-muted);
  cursor: wait;
}
.Quotes_detailHeader {
  align-items: flex-start;
}
.Quotes_backLink {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 36px;
  border-radius: 6px;
  color: var(--ad-accent);
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.Quotes_detailTitle {
  min-width: 0;
}
.Quotes_detailTitle p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.Quotes_notice {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--ad-line-field);
  border-radius: 10px;
  padding: 12px 14px;
  background: var(--ad-surface-sunken);
}
.Quotes_notice p {
  margin: 0;
  color: var(--ad-text-strong);
  line-height: 1.55;
}
.Quotes_noticeError {
  border-color: var(--ad-danger-line);
  background: var(--ad-danger-surface);
  color: var(--ad-danger-text);
}
.Quotes_noticeSuccess {
  background: var(--ad-success-surface);
  color: var(--ad-success-text);
}
.Quotes_noticeWarning {
  background: var(--ad-warning-surface);
  color: var(--ad-warning-text);
}
.Quotes_noticeError p,
.Quotes_noticeSuccess p,
.Quotes_noticeWarning p {
  color: inherit;
}
.Quotes_requestPanel,
.Quotes_workflow,
.Quotes_history,
.Quotes_notes {
  padding: 20px;
}
.Quotes_sectionHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}
.Quotes_maskedNote {
  max-width: 25rem;
  color: var(--ad-text-muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: end;
}
.Quotes_requestFacts,
.Quotes_reviewFacts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 20px;
  margin: 18px 0 0;
}
.Quotes_requestFacts div,
.Quotes_reviewFacts div {
  min-width: 0;
}
.Quotes_requestFacts dt,
.Quotes_reviewFacts dt {
  margin: 0 0 4px;
  color: var(--ad-text-muted);
  font-size: 12px;
  line-height: 1.4;
}
.Quotes_requestFacts dd,
.Quotes_reviewFacts dd {
  margin: 0;
  color: var(--ad-text-strong);
  overflow-wrap: anywhere;
  line-height: 1.5;
}
.Quotes_requestMessage,
.Quotes_reviewText {
  min-width: 0;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--ad-line-divider);
}
.Quotes_requestMessage h3,
.Quotes_reviewText h4 {
  margin: 0 0 6px;
  color: var(--ad-text-label);
  font-size: 13px;
}
.Quotes_requestMessage p,
.Quotes_reviewText p,
.Quotes_internalReview p,
.Quotes_historyItem p,
.Quotes_notes li p {
  margin: 0;
  color: var(--ad-text-strong);
  line-height: 1.6;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.Quotes_detailColumns {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(17rem, 0.8fr);
  align-items: start;
  gap: 18px;
}
.Quotes_workflow,
.Quotes_history,
.Quotes_notes {
  display: grid;
  gap: 18px;
}
.Quotes_stepBody {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.Quotes_stepHeading {
  display: grid;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ad-line-divider);
}
.Quotes_stepHeading h3,
.Quotes_reviewSection h3,
.Quotes_internalReview h3,
.Quotes_warning h3,
.Quotes_savedState h3 {
  margin: 4px 0 0;
  color: var(--ad-text-strong);
  font-size: 16px;
  line-height: 1.4;
}
.Quotes_stepLabel {
  color: var(--ad-text-muted);
  font-size: 12px;
  font-weight: 700;
}
.Quotes_field {
  gap: 7px;
}
.Quotes_field small,
.Quotes_fieldHelp,
.Quotes_inlineNotice,
.Quotes_emptyInline p {
  margin: 0;
  color: var(--ad-text-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}
.Quotes_formGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.Quotes_scheduleSummary,
.Quotes_selectedTarget {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  border: 1px solid var(--ad-accent-line);
  border-radius: 10px;
  padding: 12px 14px;
  background: var(--ad-accent-surface);
  color: var(--ad-text-strong);
}
.Quotes_targetActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 12px;
}
.Quotes_scheduleSummary strong,
.Quotes_selectedTarget strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.Quotes_scheduleSummary span,
.Quotes_selectedTarget span {
  color: var(--ad-text-label);
  font-size: 13px;
  line-height: 1.5;
}
.Quotes_selectedTarget > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.Quotes_termsDetails {
  border-top: 1px solid var(--ad-line-divider);
  border-bottom: 1px solid var(--ad-line-divider);
  padding: 14px 0;
}
.Quotes_termsDetails summary {
  width: fit-content;
  color: var(--ad-text-label);
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.Quotes_termsDetails summary:focus-visible {
  outline: 3px solid var(--ad-focus-ring);
  outline-offset: 3px;
}
.Quotes_detailsBody {
  display: grid;
  gap: 14px;
  padding-top: 16px;
}
.Quotes_actionRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.Quotes_inlineNotice {
  border-radius: 8px;
  padding: 9px 11px;
  background: var(--ad-warning-surface);
  color: var(--ad-warning-text);
}
.Quotes_inlineError {
  display: grid;
  justify-items: start;
  gap: 6px;
  border-radius: 8px;
  padding: 11px 12px;
  background: var(--ad-danger-surface);
  color: var(--ad-danger-text);
}
.Quotes_inlineError p {
  margin: 0;
  line-height: 1.5;
}
.Quotes_emptyInline {
  display: grid;
  justify-items: start;
  gap: 8px;
  border-radius: 8px;
  padding: 12px;
  background: var(--ad-surface-sunken);
}
.Quotes_emptyInline p {
  line-height: 1.5;
}
.Quotes_reviewSection {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.Quotes_impactNotice {
  display: grid;
  gap: 8px;
  border: 1px solid var(--ad-warning-text);
  border-radius: 10px;
  padding: 13px 14px;
  background: var(--ad-warning-surface);
}
.Quotes_impactNotice h4,
.Quotes_impactNotice p,
.Quotes_impactNotice ul {
  margin: 0;
}
.Quotes_impactNotice h4,
.Quotes_impactNotice p,
.Quotes_impactNotice li {
  color: var(--ad-warning-text);
  line-height: 1.55;
}
.Quotes_impactNotice h4 {
  font-size: 14px;
}
.Quotes_impactNotice ul {
  display: grid;
  gap: 3px;
  padding-left: 18px;
}
.Quotes_reviewFacts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ad-line-divider);
}
.Quotes_reviewText {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.Quotes_internalReview {
  display: grid;
  gap: 8px;
  border: 1px solid var(--ad-line-field);
  border-radius: 10px;
  padding: 13px 14px;
  background: var(--ad-surface-sunken);
}
.Quotes_warning {
  display: grid;
  gap: 8px;
  border: 1px solid var(--ad-warning-text);
  border-radius: 10px;
  padding: 14px;
  background: var(--ad-warning-surface);
}
.Quotes_warning h3 {
  color: var(--ad-warning-text);
}
.Quotes_warning p {
  margin: 0;
  color: var(--ad-warning-text);
  line-height: 1.55;
}
.Quotes_savedState {
  display: grid;
  gap: 8px;
  padding: 15px;
  border-radius: 10px;
  background: var(--ad-success-surface);
}
.Quotes_savedState p {
  margin: 0;
  color: var(--ad-success-text);
  line-height: 1.55;
}
.Quotes_savedState h3 {
  color: var(--ad-success-text);
}
.Quotes_savedState .Quotes_actionRow {
  justify-content: flex-start;
  margin-top: 6px;
}
.Quotes_historyList {
  border-top: 1px solid var(--ad-line-divider);
}
.Quotes_historyItem {
  display: grid;
  gap: 6px;
  padding: 14px 0;
}
.Quotes_historyTop {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.Quotes_historyTop strong {
  color: var(--ad-text-strong);
  font-size: 14px;
  line-height: 1.45;
}
.Quotes_historyItem p {
  font-size: 13px;
}
.Quotes_notes ul {
  border-top: 1px solid var(--ad-line-divider);
}
.Quotes_notes li {
  display: grid;
  gap: 6px;
  padding: 13px 0;
}
@media (max-width: 900px) {
  .Quotes_detailColumns {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 680px) {
  .Quotes_listHeader {
    align-items: stretch;
    flex-direction: column;
  }
  .Quotes_filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .Quotes_detailHeader {
    flex-direction: column;
    gap: 4px;
  }
  .Quotes_requestFacts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .Quotes_reviewFacts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 460px) {
  .Quotes_page {
    gap: 14px;
  }
  .Quotes_pageHeader h1,
  .Quotes_detailHeader h1 {
    font-size: 22px;
  }
  .Quotes_listHeader,
  .Quotes_requestPanel,
  .Quotes_workflow,
  .Quotes_history,
  .Quotes_notes {
    padding: 16px;
  }
  .Quotes_filters,
  .Quotes_formGrid {
    grid-template-columns: minmax(0, 1fr);
  }
  .Quotes_quoteLink {
    align-items: flex-start;
    padding: 14px 16px;
  }
  .Quotes_quoteMeta {
    gap: 8px;
  }
  .Quotes_quoteMeta .Quotes_status {
    white-space: normal;
    text-align: center;
  }
  .Quotes_scheduleSummary,
  .Quotes_selectedTarget,
  .Quotes_notice {
    align-items: flex-start;
    flex-direction: column;
  }
  .Quotes_targetActions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }
  .Quotes_targetActions > * {
    width: 100%;
  }
  .Quotes_requestFacts,
  .Quotes_reviewFacts {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
  }
  .Quotes_actionRow {
    align-items: stretch;
    flex-direction: column-reverse;
  }
  .Quotes_actionRow > * {
    width: 100%;
  }
}
.Quotes_modeRow {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}
.Quotes_modeChoice {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--text, #1f2933);
}
.Quotes_modeChoice input {
  width: 18px;
  height: 18px;
  margin: 0;
}
.Quotes_technicalInfo {
  border-top: 1px dashed var(--ad-line-field);
  margin-top: 4px;
  padding-top: 10px;
}
.Quotes_technicalInfo summary {
  color: var(--ad-text-muted);
  cursor: pointer;
  font-size: 0.82rem;
}
.Quotes_technicalInfo .Quotes_field {
  margin-top: 10px;
  max-width: 320px;
}
@media (prefers-reduced-motion: reduce) {
  .Quotes_quoteLink,
  .Quotes_primaryButton,
  .Quotes_secondaryButton {
    transition: none;
  }
}

/* app/admin/travel-requests/TravelRequests.module.css */
.TravelRequests_layout {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.TravelRequests_listCard,
.TravelRequests_detailCard {
  min-width: 0;
}
.TravelRequests_filterRow {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
}
.TravelRequests_list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.TravelRequests_rowButton {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--ad-line-card, #e3e7ee);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.TravelRequests_rowButton:hover {
  border-color: var(--ad-accent, #0066ff);
}
.TravelRequests_rowButtonActive {
  border-color: var(--ad-accent, #0066ff);
  background: var(--ad-accent-surface, #eaf2ff);
}
.TravelRequests_rowMain {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.TravelRequests_rowMain strong {
  font-size: 14px;
}
.TravelRequests_rowMain span,
.TravelRequests_rowMain small {
  color: var(--ad-text-muted, #6b7280);
  font-size: 12px;
  line-height: 1.4;
}
.TravelRequests_empty {
  padding: 32px 12px;
  text-align: center;
  color: var(--ad-text-muted, #6b7280);
}
.TravelRequests_detailForm {
  display: grid;
  gap: 18px;
}
.TravelRequests_block {
  display: grid;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.TravelRequests_block h3 {
  margin: 0;
  font-size: 15px;
}
.TravelRequests_facts {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 6px 12px;
  margin: 0;
  font-size: 14px;
}
.TravelRequests_facts > div {
  display: contents;
}
.TravelRequests_facts dt {
  color: var(--ad-text-muted, #6b7280);
}
.TravelRequests_facts dd {
  margin: 0;
  word-break: break-word;
}
.TravelRequests_notes {
  white-space: pre-wrap;
}
.TravelRequests_inlineCheck {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.TravelRequests_inlineCheck input {
  width: 18px;
  height: 18px;
  margin: 0;
}
.TravelRequests_nights {
  display: flex;
  align-items: center;
  gap: 10px;
  align-self: end;
  font-size: 13px;
}
.TravelRequests_nights span {
  color: var(--ad-text-muted, #6b7280);
}
.TravelRequests_history {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
}
.TravelRequests_history ul {
  margin: 2px 0 0;
  padding-left: 16px;
  color: var(--ad-text-label, #424656);
}
.TravelRequests_historyMeta {
  color: var(--ad-text-muted, #6b7280);
  font-size: 12px;
}
@media (max-width: 900px) {
  .TravelRequests_layout {
    grid-template-columns: 1fr;
  }
}
.TravelRequests_itemLines {
  margin: 0;
  padding-left: 16px;
}

/* app/components/QuoteForm.module.css */
.QuoteForm_field {
  align-content: start;
}
.QuoteForm_labelText {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-height: 1.55em;
}
.QuoteForm_fieldHelp {
  margin: 0;
}

/* php-app/frontend/src/pages/finance/finance.css */
.finance-page {
  color-scheme: light;
  --finance-line: var(--ad-line-field, #dbe1eb);
  --finance-line-soft: var(--ad-line-divider, #edf0f4);
  --finance-surface: var(--ad-surface, #fff);
  --finance-surface-muted: var(--ad-surface-sunken, #f8f9fb);
  --finance-text: var(--ad-text-strong, #17191d);
  --finance-muted: var(--ad-text-muted, #727687);
  --finance-accent: var(--ad-accent, #0066ff);
  --finance-accent-surface: var(--ad-accent-surface, #eaf2ff);
  --finance-warning: #7e5800;
  --finance-warning-surface: #fff7e6;
  max-width: 1480px;
}
.finance-topbar {
  flex-wrap: wrap;
}
.finance-topbar > div:first-child {
  min-width: min(100%, 460px);
}
.finance-header-actions {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.finance-page .admin-btn,
.finance-page button,
.finance-page input,
.finance-page select,
.finance-page textarea {
  font: inherit;
}
.finance-page .admin-btn,
.finance-page button.admin-btn {
  cursor: pointer;
  min-height: 40px;
}
.finance-page .admin-btn:disabled,
.finance-page button:disabled,
.finance-page input:disabled,
.finance-page select:disabled,
.finance-page textarea:disabled {
  cursor: not-allowed;
  opacity: .58;
}
.finance-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.finance-notice {
  margin: 0 0 16px;
  padding-right: 60px;
}
.finance-state {
  max-width: 760px;
}
.finance-state h2 {
  margin-bottom: 8px;
}
.finance-state .admin-btn {
  display: inline-flex;
  margin-top: 8px;
  text-decoration: none;
}
.finance-section-heading,
.finance-refund-row-heading,
.finance-allocation-heading,
.finance-candidate-summary > div:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.finance-section-heading {
  margin-bottom: 14px;
}
.finance-section-heading > * {
  min-width: 0;
}
.finance-section-heading h2,
.finance-section-heading h3 {
  margin-bottom: 5px;
}
.finance-section-heading p,
.finance-refund-row-heading p {
  margin: 0;
}
.finance-section-heading .eyebrow,
.finance-refund-row-heading .eyebrow {
  margin: 0 0 6px;
}
.finance-provider-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid #e9c978;
  border-radius: 999px;
  background: var(--finance-warning-surface);
  color: var(--finance-warning);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.finance-stats {
  align-items: stretch;
}
.finance-report-stats {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.finance-status {
  vertical-align: middle;
  white-space: nowrap;
}
.finance-status-positive {
  background: #e8f7ed;
  color: #20783a;
}
.finance-status-warning {
  background: #fff4df;
  color: #9a5b00;
}
.finance-status-active {
  background: #eaf2ff;
  color: #2458b8;
}
.finance-status-muted {
  background: #f0f1f3;
  color: #676d79;
}
.finance-card {
  min-width: 0;
}
.finance-card > .finance-notice:last-child {
  margin-bottom: 0;
}
.finance-table-wrap {
  margin-top: 12px;
}
.finance-table {
  min-width: 720px;
}
.finance-table th,
.finance-table td {
  white-space: normal;
}
.finance-table td > small,
.finance-table td > b {
  display: block;
}
.finance-table td > .finance-status,
.finance-table td > .finance-target-pill {
  display: inline-flex;
  margin-top: 4px;
}
.finance-table-action {
  display: inline-flex;
  margin-top: 8px;
  text-decoration: none;
  white-space: nowrap;
}
.finance-target-summary {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 12px 14px;
  border: 1px solid var(--finance-line-soft);
  border-radius: 12px;
  background: var(--finance-surface-muted);
}
.finance-target-summary span,
.finance-list-help,
.finance-filter-help {
  color: var(--finance-muted);
  font-size: 12px;
}
.finance-target-pill {
  margin-inline-start: 8px;
}
.finance-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 260px;
}
.finance-refund-list {
  display: grid;
  gap: 16px;
}
.finance-refund-row {
  margin-bottom: 0;
}
.finance-refund-row-heading h2 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 6px;
}
.finance-refund-totals {
  display: grid;
  gap: 4px;
  min-width: 150px;
  color: var(--finance-muted);
  font-size: 12px;
  text-align: right;
}
.finance-refund-totals b {
  color: var(--finance-text);
  font-weight: 700;
}
.finance-refund-totals small {
  margin-top: 4px;
}
.finance-inline-warning {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 0;
  padding: 8px 10px;
  border: 1px solid rgba(211, 152, 34, 0.38);
  border-radius: 8px;
  background: var(--finance-warning-surface);
  color: var(--finance-warning);
  font-size: 12px;
}
.finance-refund-row-actions {
  margin-top: 16px;
}
.finance-pagination {
  align-items: center;
  justify-content: space-between;
  margin: 16px 0 0;
}
.finance-pagination > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.finance-empty {
  text-align: center;
}
.finance-empty h2 {
  margin-bottom: 7px;
}
.finance-empty p {
  margin: 0;
  color: var(--finance-muted);
}
.finance-detail-actions {
  margin-top: 16px;
}
.finance-summary-list,
.finance-evidence-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 0;
}
.finance-summary-list > div,
.finance-evidence-list > div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--finance-line-soft);
  border-radius: 10px;
  background: var(--finance-surface-muted);
}
.finance-summary-list dt,
.finance-evidence-list dt {
  color: var(--finance-muted);
  font-size: 11px;
}
.finance-summary-list dd,
.finance-evidence-list dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  color: var(--finance-text);
  font-size: 13px;
  font-weight: 600;
}
.finance-allocation-list {
  margin-bottom: 20px;
}
.finance-allocation-list > .finance-section-heading {
  margin: 28px 0 14px;
}
.finance-allocation-card {
  margin-bottom: 12px;
}
.finance-allocation-card h3 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  font-size: 16px;
}
.finance-allocation-card .finance-inline-warning {
  margin-top: 0;
}
.finance-outcome-form {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--finance-line-soft);
}
.finance-outcome-form fieldset,
.finance-schedule-editor {
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.finance-outcome-form legend,
.finance-schedule-count {
  margin-left: 6px;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  font-weight: 600;
}
.finance-schedule-editor legend {
  padding: 0;
  color: var(--finance-text);
  font-size: 13px;
  font-weight: 700;
}
.finance-choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.finance-choice-row label,
.finance-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: var(--finance-text);
  font-size: 13px;
}
.finance-choice-row label {
  flex: 0 0 auto;
  white-space: nowrap;
}
.finance-choice-row input,
.finance-checkbox input {
  width: auto;
  margin-top: 3px;
}
.finance-page[data-finance-area=cancellation-policy] .finance-checkbox {
  display: flex;
  align-items: flex-start;
  min-width: 0;
}
.finance-page[data-finance-area=cancellation-policy] .finance-checkbox > span {
  min-width: 0;
  line-height: 1.5;
}
.finance-page[data-finance-area=cancellation-policy] .finance-checkbox input {
  flex: 0 0 auto;
}
.finance-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.finance-form-grid label,
.finance-policy-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--finance-text);
  font-size: 13px;
}
.finance-form-grid input,
.finance-form-grid select,
.finance-form-grid textarea,
.finance-policy-form input,
.finance-policy-form select,
.finance-policy-form textarea,
.finance-outcome-form input,
.finance-outcome-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--finance-line);
  border-radius: 10px;
  padding: 10px 11px;
  background: var(--finance-surface);
  color: var(--finance-text);
}
.finance-page[data-finance-area=cancellation-policy] .finance-checkbox > span {
  flex: 1 1 auto;
}
.finance-page[data-finance-area=cancellation-policy] .finance-checkbox input {
  width: auto;
  min-width: 13px;
  max-width: 100%;
}
.finance-page[data-finance-area=cancellation-policy] .finance-checkbox input[type=checkbox] {
  flex: 0 0 13px;
  width: 13px;
  min-width: 13px;
  max-width: 13px;
  height: 13px;
}
.finance-form-grid textarea,
.finance-outcome-form textarea,
.finance-policy-form textarea {
  min-height: 88px;
  resize: vertical;
}
.finance-form-grid small,
.finance-policy-form label small {
  color: var(--finance-muted);
  font-size: 11px;
  line-height: 1.45;
}
.finance-form-wide {
  grid-column: 1 / -1;
}
.finance-retry-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.finance-retry-row .finance-inline-warning {
  margin: 0;
}
.finance-attempt-details {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--finance-line-soft);
}
.finance-attempt-details summary,
.finance-current-snapshot summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  color: var(--finance-text);
  font-size: 13px;
  font-weight: 700;
}
.finance-attempt-list {
  display: grid;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.finance-attempt-list > li {
  padding: 11px 12px;
  border: 1px solid var(--finance-line-soft);
  border-radius: 10px;
  background: var(--finance-surface-muted);
}
.finance-attempt-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.finance-attempt-heading time {
  margin-left: auto;
  color: var(--finance-muted);
  font-size: 11px;
}
.finance-evidence-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 9px;
}
.finance-evidence-list > div {
  padding: 8px 10px;
}
.finance-evidence-summary {
  margin-top: 0;
}
.finance-filter-card {
  margin-bottom: 16px;
}
.finance-refund-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px) auto;
  align-items: end;
  gap: 12px;
}
.finance-refund-filters label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--finance-text);
  font-size: 13px;
}
.finance-refund-filters input,
.finance-refund-filters select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--finance-line);
  border-radius: 10px;
  padding: 10px 11px;
  background: var(--finance-surface);
  color: var(--finance-text);
}
.finance-refund-filters > .admin-btn {
  white-space: nowrap;
}
.finance-refund-identifiers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0;
}
.finance-refund-identifiers > div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--finance-line-soft);
  border-radius: 10px;
  background: var(--finance-surface-muted);
}
.finance-refund-identifiers dt {
  color: var(--finance-muted);
  font-size: 11px;
}
.finance-refund-identifiers dd {
  display: grid;
  gap: 2px;
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  color: var(--finance-text);
  font-size: 13px;
  font-weight: 700;
}
.finance-refund-identifiers dd small {
  color: var(--finance-muted);
  font-size: 11px;
  font-weight: 500;
}
.finance-next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid var(--ad-accent-line, #cfe0ff);
  border-radius: 12px;
  background: var(--finance-accent-surface);
  color: var(--finance-text);
}
.finance-next-action > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.finance-next-action span {
  color: var(--finance-accent);
  font-size: 11px;
  font-weight: 700;
}
.finance-next-action strong {
  font-size: 14px;
}
.finance-next-action p {
  margin: 0;
  color: var(--finance-muted);
  font-size: 12px;
}
.finance-next-action .admin-actions {
  flex: 0 0 auto;
}
.finance-action-help {
  margin: 10px 0 0;
}
.finance-technical-details {
  margin-top: 4px;
}
.finance-technical-details summary {
  cursor: pointer;
  color: var(--finance-muted);
  font-size: 11px;
}
.finance-technical-details p {
  margin: 5px 0 0;
}
.finance-report-filters {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 14px;
}
.finance-report-filters label small {
  display: block;
}
.finance-filter-help {
  margin: 10px 0 12px;
}
.finance-empty-help {
  margin-top: 12px;
}
.finance-candidate-summary {
  display: grid;
  gap: 9px;
  margin: 18px 0;
  padding: 14px;
  border: 1px solid var(--finance-line-soft);
  border-radius: 12px;
  background: var(--finance-surface-muted);
}
.finance-candidate-summary h3 {
  margin: 0 0 4px;
  font-size: 14px;
}
.finance-candidate-summary p {
  margin: 0;
  color: var(--finance-muted);
  font-size: 12px;
}
.finance-candidate-summary > .finance-status {
  justify-self: start;
}
.finance-candidate-summary ul {
  margin: 0;
  padding-left: 18px;
  color: var(--finance-warning);
  font-size: 12px;
}
.finance-current-snapshot {
  margin: 0 0 18px;
  padding: 13px 14px;
  border: 1px solid var(--finance-line-soft);
  border-radius: 12px;
  background: var(--finance-surface-muted);
}
.finance-current-snapshot summary span {
  color: var(--finance-muted);
  font-size: 11px;
  font-weight: 500;
}
.finance-snapshot-content {
  margin-top: 14px;
  color: var(--finance-muted);
  font-size: 12px;
}
.finance-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}
.finance-snapshot-grid section {
  padding: 10px;
  border: 1px solid var(--finance-line-soft);
  border-radius: 10px;
  background: var(--finance-surface);
}
.finance-snapshot-grid h3 {
  margin: 0 0 6px;
  color: var(--finance-text);
  font-size: 12px;
}
.finance-snapshot-grid ul {
  margin: 0;
  padding-left: 15px;
}
.finance-snapshot-content > p {
  margin: 0;
}
.finance-form-section {
  display: grid;
  gap: 14px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--finance-line-soft);
}
.finance-form-section:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.finance-policy-form > fieldset.finance-form-section {
  padding-right: 0;
  padding-left: 0;
}
.finance-schedule-editor {
  padding-top: 15px;
  border-top: 1px solid var(--finance-line-soft);
}
.finance-schedule-editor .admin-table {
  min-width: 560px;
}
.finance-schedule-editor .admin-table input {
  max-width: 180px;
}
.finance-policy-impact {
  display: grid;
  gap: 4px;
  margin-bottom: 14px;
  padding: 11px 13px;
  border: 1px solid rgba(211, 152, 34, 0.38);
  border-radius: 8px;
  background: var(--finance-warning-surface);
  color: var(--finance-warning);
  font-size: 12px;
}
.finance-revision-tag {
  display: inline-flex;
  margin-inline-start: 6px;
  color: var(--finance-warning);
  font-size: 11px;
}
@media (max-width: 1120px) {
  .finance-report-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .finance-header-actions {
    justify-content: flex-start;
    width: 100%;
  }
  .finance-report-filters,
  .finance-form-grid,
  .finance-summary-list,
  .finance-refund-identifiers,
  .finance-snapshot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .finance-refund-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .finance-refund-filters > .admin-btn {
    justify-self: start;
  }
  .finance-refund-row-heading,
  .finance-allocation-heading {
    display: grid;
  }
  .finance-refund-totals {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    text-align: left;
  }
  .finance-refund-totals small {
    width: 100%;
  }
  .finance-attempt-heading time {
    margin-left: 0;
  }
}
@media (max-width: 600px) {
  .finance-report-stats,
  .finance-report-filters,
  .finance-form-grid,
  .finance-summary-list,
  .finance-refund-identifiers,
  .finance-evidence-list,
  .finance-snapshot-grid {
    grid-template-columns: 1fr;
  }
  .finance-refund-filters {
    grid-template-columns: 1fr;
  }
  .finance-page .admin-card {
    padding: 17px;
  }
  .finance-section-heading,
  .finance-candidate-summary > div:first-child {
    display: grid;
    gap: 8px;
  }
  .finance-provider-badge {
    justify-self: start;
  }
  .finance-pagination {
    align-items: flex-start;
    display: grid;
    gap: 10px;
  }
  .finance-pagination > .admin-btn {
    justify-self: start;
  }
  .finance-row-actions {
    min-width: 0;
  }
  .finance-row-actions .admin-btn,
  .finance-header-actions .admin-btn,
  .finance-header-actions a,
  .finance-detail-actions .admin-btn,
  .finance-next-action .admin-actions .admin-btn {
    flex: 1 1 auto;
    text-align: center;
  }
  .finance-next-action {
    align-items: flex-start;
    display: grid;
  }
  .finance-form-wide {
    grid-column: auto;
  }
}

/* app/components/CmsPublicDocument.module.css */
.CmsPublicDocument_document {
  box-sizing: border-box;
  display: grid;
  gap: 18px;
  min-width: 0;
  margin-top: 30px;
  overflow-wrap: anywhere;
}
.CmsPublicDocument_meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  min-width: 0;
}
.CmsPublicDocument_meta a {
  color: var(--public-primary, #075d73);
  font-weight: 700;
  text-decoration: none;
}
.CmsPublicDocument_meta a:hover,
.CmsPublicDocument_meta a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.CmsPublicDocument_title {
  min-width: 0;
  margin: 0;
  color: var(--public-heading, #183148);
  font-size: clamp(28px, 5vw, 48px);
  line-height: 1.18;
  letter-spacing: -.06em;
}
.CmsPublicDocument_summary {
  min-width: 0;
  margin: 0;
}
.CmsPublicDocument_body {
  min-width: 0;
  padding-top: 16px;
  border-top: 1px solid var(--public-line, #dedede);
}
.CmsPublicDocument_body .ProseMirror {
  min-width: 0;
}
.CmsPublicDocument_source {
  min-width: 0;
  margin: 0;
}
.CmsPublicDocument_source a {
  color: var(--public-primary, #075d73);
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.CmsPublicDocument_actions {
  margin-top: 2px;
}
.CmsPublicDocument_actions a,
.CmsPublicDocument_actions span {
  min-height: 44px;
  align-items: center;
  display: inline-flex;
  justify-content: center;
}
.CmsPublicDocument_related {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding-top: 16px;
  border-top: 1px solid var(--public-line, #dedede);
}
.CmsPublicDocument_related h3 {
  margin: 0;
  color: var(--public-heading, #183148);
  font-size: 18px;
}
.CmsPublicDocument_related ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.CmsPublicDocument_related li {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--public-line, #dedede);
}
.CmsPublicDocument_related li:last-child {
  border-bottom: 0;
}
.CmsPublicDocument_related a {
  color: var(--public-primary, #075d73);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.CmsPublicDocument_related li > span {
  color: var(--public-muted, #666);
  line-height: 1.6;
}
.CmsPublicDocument_inertLink {
  cursor: default;
  text-decoration: none;
}
@media (max-width: 700px) {
  .CmsPublicDocument_document {
    gap: 16px;
    margin-top: 24px;
  }
  .CmsPublicDocument_title {
    font-size: clamp(26px, 8vw, 38px);
  }
}

/* app/admin/content/HomePreview.module.css */
.HomePreview_backdrop {
  position: fixed;
  inset: 0;
  z-index: 180;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(10, 22, 31, .7);
}
.HomePreview_dialog {
  display: flex;
  flex-direction: column;
  width: min(1220px, 100%);
  max-height: min(900px, calc(100vh - 40px));
  overflow: hidden;
  border: 1px solid var(--ad-line-card, #d8e1ea);
  border-radius: 18px;
  background: var(--ad-surface-sunken, #f8fafc);
  color: var(--ad-text-strong, #1c1b1b);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .26);
}
.HomePreview_header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 19px 22px 14px;
  border-bottom: 1px solid var(--ad-line-divider, #e2e8f0);
  background: var(--ad-surface, #fff);
}
.HomePreview_heading {
  min-width: 0;
}
.HomePreview_kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--ad-text-muted, #4c70a5);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
}
.HomePreview_heading h2 {
  margin: 0;
  color: var(--ad-text-strong, #20242b);
  font-size: 20px;
  letter-spacing: -.04em;
}
.HomePreview_heading p {
  margin: 6px 0 0;
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
  line-height: 1.55;
}
.HomePreview_actions {
  flex: 0 0 auto;
}
.HomePreview_toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 22px;
  border-bottom: 1px solid var(--ad-line-divider, #e2e8f0);
  background: var(--ad-surface, #fff);
}
.HomePreview_viewportButtons {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.HomePreview_viewportButtons button {
  padding: 8px 10px;
  font-size: 12px;
}
.HomePreview_meta,
.HomePreview_scopeNote,
.HomePreview_notice {
  color: var(--ad-text-subtle, #687481);
  font-size: 11px;
  line-height: 1.55;
}
.HomePreview_scopeNote {
  margin: 0;
  padding: 9px 22px;
  border-bottom: 1px solid var(--ad-line-divider, #e2e8f0);
  background: var(--ad-accent-surface, #f4f8ff);
  color: var(--ad-accent-hover, #466482);
}
.HomePreview_notice {
  margin: 0;
  padding: 8px 22px;
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
}
.HomePreview_viewportShell {
  min-height: 0;
  overflow: auto;
  padding: 16px;
  overscroll-behavior: contain;
  background: #dfe6ed;
}
.HomePreview_stage {
  position: relative;
  min-height: 120px;
  margin: 0 auto;
}
.HomePreview_canvas {
  position: absolute;
  top: 0;
  left: 0;
  min-height: 100%;
  overflow: hidden;
  container-type: inline-size;
  transform-origin: top left;
  background: var(--paper);
}
@media (max-width: 700px) {
  .HomePreview_backdrop {
    padding: 0;
  }
  .HomePreview_dialog {
    width: 100%;
    max-height: 100vh;
    border: 0;
    border-radius: 0;
  }
  .HomePreview_header {
    padding: 15px 14px 11px;
  }
  .HomePreview_heading h2 {
    font-size: 17px;
  }
  .HomePreview_heading p {
    max-width: 54ch;
  }
  .HomePreview_toolbar {
    align-items: flex-start;
    padding: 10px 14px;
  }
  .HomePreview_scopeNote,
  .HomePreview_notice {
    padding-inline: 14px;
  }
  .HomePreview_viewportShell {
    padding: 10px;
  }
}

/* app/admin/content/HomeImageField.module.css */
.HomeImageField_field {
  --home-field-ink: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
  --home-field-label: var(--ad-text-label, var(--wmr-text-secondary, #424956));
  --home-field-muted: var(--ad-text-muted, var(--wmr-text-tertiary, #666e7b));
  --home-field-subtle: var(--ad-text-subtle, var(--wmr-text-tertiary, #5d6878));
  --home-field-line: var(--ad-line-card, var(--wmr-border, #edf0f4));
  --home-field-surface: var(--ad-surface, var(--wmr-surface, #fff));
  --home-field-sunken: var(--ad-surface-sunken, var(--wmr-background, #f8f9fa));
  --home-field-frame: var(--ad-line-divider, var(--wmr-border, #e7edf2));
  --home-field-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --home-field-radius: var(--wmr-radius-button, 12px);
  display: grid;
  gap: 12px;
  margin: 0 0 15px;
  color: var(--home-field-ink);
}
.HomeImageField_heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.HomeImageField_heading small,
.HomeImageField_assetMeta,
.HomeImageField_fallbackNote,
.HomeImageField_inheritNote {
  color: var(--home-field-muted);
  font-size: 11px;
  line-height: 1.45;
}
.HomeImageField_variantGrid,
.HomeImageField_previewGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.HomeImageField_variant,
.HomeImageField_preview {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--home-field-line);
  border-radius: var(--home-field-radius);
  background: var(--home-field-surface);
}
.HomeImageField_variant legend,
.HomeImageField_preview strong {
  padding: 0;
  color: var(--home-field-label);
  font-size: 12px;
  font-weight: 700;
}
.HomeImageField_variant select,
.HomeImageField_focus input {
  width: 100%;
}
.HomeImageField_focus {
  display: grid;
  gap: 5px;
  color: var(--home-field-subtle);
  font-size: 11px;
}
.HomeImageField_focusRow {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}
.HomeImageField_focusRow output {
  min-width: 38px;
  color: var(--home-field-label);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.HomeImageField_inheritNote {
  margin: 0;
  padding: 10px;
  border: 1px dashed var(--home-field-line);
  border-radius: 10px;
  background: var(--home-field-sunken);
}
.HomeImageField_previewFrame {
  position: relative;
  overflow: hidden;
  border-radius: 9px;
  background: var(--home-field-frame);
}
.HomeImageField_previewFrame[data-preview-mode=natural] {
  aspect-ratio: auto !important;
  max-height: 420px;
  overflow: auto;
}
.HomeImageField_previewFrame .home-image {
  display: block;
  width: 100%;
  height: 100%;
}
.HomeImageField_previewFrame .home-image:not([data-home-image-frame]) > img.home-image-element {
  width: 100%;
  height: 100%;
}
.HomeImageField_previewFrame .home-image:not([data-home-image-fit]) > img.home-image-element {
  object-fit: cover;
}
.HomeImageField_previewFrame .home-image[data-home-image-frame] > img.home-image-element {
  width: 100%;
}
.HomeImageField_assetMeta {
  overflow-wrap: anywhere;
}
.HomeImageField_fallbackNote {
  margin: 0;
}
@media (max-width: 600px) {
  .HomeImageField_variantGrid,
  .HomeImageField_previewGrid {
    grid-template-columns: 1fr;
  }
}
.HomeImageField_previewFrame[data-pannable=true] {
  cursor: grab;
  touch-action: none;
}
.HomeImageField_previewFrame[data-pannable=true]:active {
  cursor: grabbing;
}
.HomeImageField_previewFrame:focus-visible {
  outline: 2px solid var(--home-field-accent);
  outline-offset: 2px;
}
.HomeImageField_fieldCompact {
  gap: 10px;
}
.HomeImageField_fieldCompact > select {
  width: 100%;
  border: 1px solid var(--home-field-line);
  border-radius: 10px;
  padding: 10px 12px;
  background: var(--home-field-surface);
}
.HomeImageField_fitSummary {
  margin: 0;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.5;
  background: var(--home-field-sunken);
  color: var(--home-field-subtle);
}
.HomeImageField_fitSummary[data-tone=ok] {
  background: var(--ad-surface-success, #e8f7ed);
  color: var(--ad-text-success, #20783a);
}
.HomeImageField_fitSummary[data-tone=warn] {
  background: var(--ad-surface-warning, #fff7e6);
  color: var(--ad-text-warning, #7e5800);
}
.HomeImageField_advanced {
  border: 1px solid var(--home-field-line);
  border-radius: var(--home-field-radius);
  background: var(--home-field-surface);
}
.HomeImageField_advanced > summary {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  color: var(--home-field-label);
}
.HomeImageField_advanced > summary small {
  color: var(--home-field-muted);
  font-size: 11px;
  font-weight: 400;
}
.HomeImageField_advancedBody {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}
.HomeImageField_fieldCompact .HomeImageField_previewFrameMobile {
  max-width: 220px;
}

/* app/admin/content/HomeAuthoringWorkspace.module.css */
.HomeAuthoringWorkspace_workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 20px;
  align-items: start;
  margin-bottom: 20px;
}
.HomeAuthoringWorkspace_canvasColumn {
  min-width: 0;
}
.HomeAuthoringWorkspace_canvasBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.HomeAuthoringWorkspace_viewportGroup {
  display: flex;
  gap: 6px;
}
.HomeAuthoringWorkspace_canvasMeta {
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
}
.HomeAuthoringWorkspace_guardNotice {
  margin: 0 0 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--ad-surface-info, #eaf2ff);
  color: var(--ad-text-info, #0052cc);
  font-size: 13px;
}
.HomeAuthoringWorkspace_panel {
  position: sticky;
  top: 16px;
  max-height: calc(100vh - 32px);
  overflow: auto;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 18px;
  background: var(--ad-surface, #fff);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.03);
}
.HomeAuthoringWorkspace_panelHead h3 {
  margin: 4px 0 6px;
  font-size: 19px;
  letter-spacing: -0.04em;
}
.HomeAuthoringWorkspace_panelHint {
  margin: 0 0 14px;
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
  line-height: 1.55;
}
.HomeAuthoringWorkspace_sectionList {
  display: grid;
  gap: 4px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.HomeAuthoringWorkspace_sectionList li {
  padding-left: calc(var(--depth, 0) * 14px);
}
.HomeAuthoringWorkspace_sectionButton {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--ad-line-card, #e8ebf0);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.HomeAuthoringWorkspace_sectionButton:hover {
  border-color: var(--ad-line-focus, #9dc9ff);
}
.HomeAuthoringWorkspace_sectionButtonActive {
  border-color: var(--ad-primary, #0066ff);
  background: var(--ad-surface-info, #eaf2ff);
  font-weight: 700;
}
.HomeAuthoringWorkspace_sectionIndex {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--ad-surface-sunken, #f0f3f7);
  color: var(--ad-text-muted, #5d6878);
  font-size: 11px;
  font-weight: 700;
}
.HomeAuthoringWorkspace_sectionButtonActive .HomeAuthoringWorkspace_sectionIndex {
  background: var(--ad-primary, #0066ff);
  color: #fff;
}
.HomeAuthoringWorkspace_sectionName {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.HomeAuthoringWorkspace_sectionKind {
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
  font-weight: 400;
}
.HomeAuthoringWorkspace_fields {
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  padding-top: 14px;
}
.HomeAuthoringWorkspace_fields .content-editor-panel {
  border: 0;
  padding: 0;
}
.HomeAuthoringWorkspace_fields .form-grid {
  grid-template-columns: 1fr;
}
.HomeAuthoringWorkspace_fields .product-chooser {
  grid-template-columns: 1fr;
}
.HomeAuthoringWorkspace_fields .content-inline-card {
  grid-template-columns: 1fr;
}
.HomeAuthoringWorkspace_fieldsDisabled {
  opacity: 0.6;
  pointer-events: none;
}
@media (max-width: 1180px) {
  .HomeAuthoringWorkspace_workspace {
    grid-template-columns: 1fr;
  }
  .HomeAuthoringWorkspace_panel {
    position: static;
    max-height: none;
  }
}

/* app/admin/content/PopupManager.module.css */
.PopupManager_manager {
  --popup-ink: var(--wmr-text-primary, #17191d);
  --popup-muted: var(--wmr-text-tertiary, #667080);
  --popup-line: var(--wmr-border, #e3e7ed);
  --popup-soft: var(--wmr-background, #f7f9fb);
  --popup-accent: var(--wmr-admin-primary, #0066ff);
  --popup-accent-soft: var(--wmr-admin-primary-subtle, #eaf2ff);
  color: var(--popup-ink);
  overflow: visible;
}
.PopupManager_header,
.PopupManager_previewHeader,
.PopupManager_editorNav,
.PopupManager_listHeader,
.PopupManager_popupRowTitle,
.PopupManager_actions,
.PopupManager_rowActions,
.PopupManager_headerStatus,
.PopupManager_previewFacts {
  align-items: center;
  display: flex;
  gap: 10px;
}
.PopupManager_header,
.PopupManager_previewHeader,
.PopupManager_editorNav,
.PopupManager_listHeader {
  justify-content: space-between;
}
.PopupManager_editorNav {
  align-items: center;
  border-bottom: 1px solid var(--popup-line);
  display: flex;
  gap: 14px;
  margin: 18px 0 12px;
  padding-bottom: 12px;
}
.PopupManager_editorNav h3,
.PopupManager_editorNav p {
  margin: 0;
}
.PopupManager_editorNav h3 {
  font-size: 16px;
}
.PopupManager_editorNav p {
  color: var(--popup-muted);
  font-size: 12px;
  line-height: 1.55;
  margin-top: 4px;
}
.PopupManager_header {
  align-items: flex-start;
  gap: 18px;
}
.PopupManager_header h2,
.PopupManager_listHeader h3,
.PopupManager_previewHeader h3 {
  margin: 0;
}
.PopupManager_header h2 {
  font-size: 20px;
}
.PopupManager_panelEyebrow {
  color: var(--popup-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  margin: 0 0 5px;
  text-transform: uppercase;
}
.PopupManager_helper,
.PopupManager_assetFacts small,
.PopupManager_previewFacts small,
.PopupManager_customSizeGrid small,
.PopupManager_popupRowMain p,
.PopupManager_popupRowMain small {
  color: var(--popup-muted);
  font-size: 12px;
  line-height: 1.55;
}
.PopupManager_helper {
  margin: 7px 0 0;
}
.PopupManager_headerStatus {
  flex: 0 0 auto;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.PopupManager_saveState,
.PopupManager_status {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  gap: 7px;
  padding: 7px 10px;
  white-space: nowrap;
}
.PopupManager_saveState i {
  background: currentColor;
  border-radius: 50%;
  display: block;
  height: 7px;
  width: 7px;
}
.PopupManager_saveStateSaved,
.PopupManager_statusPublished {
  background: var(--ad-success-surface, #edf7ee);
  color: var(--ad-success-text, #277144);
}
.PopupManager_saveStateDirty,
.PopupManager_statusDraft {
  background: var(--ad-dirty-surface, #fff4df);
  color: var(--ad-dirty-text, #8a5a08);
}
.PopupManager_saveStateError {
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
}
.PopupManager_statusDisabled {
  background: #f0f1f3;
  color: #676d79;
}
.PopupManager_retryButton {
  background: transparent;
  border: 1px solid var(--ad-danger-text, #a4332d);
  border-radius: 8px;
  color: var(--ad-danger-text, #a4332d);
  font-size: 12px;
  padding: 6px 9px;
}
.PopupManager_retryButton:hover,
.PopupManager_retryButton:focus-visible {
  background: var(--ad-danger-surface, #fff1f0);
}
.PopupManager_boundaryNote,
.PopupManager_notice,
.PopupManager_previewUnavailable {
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.55;
}
.PopupManager_boundaryNote {
  background: var(--ad-note-surface, #f4f8f1);
  border: 1px solid var(--ad-note-line, #dfead8);
  display: grid;
  gap: 2px;
  margin: 18px 0 16px;
  padding: 12px 14px;
}
.PopupManager_boundaryNote strong {
  color: var(--popup-ink);
}
.PopupManager_notice {
  background: #f4f7fb;
  color: #5d6878;
  margin: 12px 0;
  padding: 12px 14px;
}
.PopupManager_noticeError {
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
}
.PopupManager_noticeWarning {
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
}
.PopupManager_noticeSuccess {
  background: var(--ad-success-surface, #edf7ee);
  color: var(--ad-success-text, #277144);
}
.PopupManager_form {
  display: grid;
  gap: 18px;
}
.PopupManager_editorGrid {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
}
.PopupManager_editorColumn {
  display: grid;
  gap: 15px;
  min-width: 0;
}
.PopupManager_fieldset {
  border: 1px solid var(--popup-line);
  border-radius: 13px;
  display: grid;
  gap: 13px;
  margin: 0;
  min-width: 0;
  padding: 15px;
}
.PopupManager_fieldset legend {
  color: var(--popup-ink);
  font-size: 14px;
  font-weight: 700;
  padding: 0 7px;
}
.PopupManager_fieldset label,
.PopupManager_customSizeGrid label {
  color: var(--ad-text-label, #424656);
  display: grid;
  font-size: 12px;
  gap: 7px;
  min-width: 0;
}
.PopupManager_fieldset input,
.PopupManager_fieldset select,
.PopupManager_customSizeGrid input {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 9px;
  color: var(--popup-ink);
  min-width: 0;
  padding: 10px 11px;
}
.PopupManager_fieldset input:disabled {
  background: #f2f4f7;
  color: #8b93a0;
}
.PopupManager_typeGrid,
.PopupManager_presetGrid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.PopupManager_typeOption,
.PopupManager_presetOption {
  align-items: center;
  background: var(--popup-soft);
  border: 1px solid var(--popup-line);
  border-radius: 10px;
  cursor: pointer;
  display: flex !important;
  gap: 9px !important;
  min-height: 57px;
  padding: 10px !important;
}
.PopupManager_typeOption:hover,
.PopupManager_presetOption:hover,
.PopupManager_typeOption:focus-within,
.PopupManager_presetOption:focus-within {
  border-color: var(--popup-accent);
}
.PopupManager_typeOptionActive,
.PopupManager_presetOptionActive {
  background: var(--popup-accent-soft);
  border-color: var(--popup-accent);
  box-shadow: inset 0 0 0 1px var(--popup-accent);
}
.PopupManager_typeOption input,
.PopupManager_presetOption input {
  flex: 0 0 auto;
  margin: 0;
  width: auto;
}
.PopupManager_typeOption span,
.PopupManager_presetOption span {
  display: grid;
  gap: 2px;
}
.PopupManager_typeOption strong,
.PopupManager_presetOption strong {
  font-size: 12px;
}
.PopupManager_typeOption small,
.PopupManager_presetOption small {
  color: var(--popup-muted);
  font-size: 11px;
}
.PopupManager_assetGrid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.PopupManager_imageSlotSummary {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.PopupManager_imageSlotSummary > div {
  background: var(--popup-soft);
  border: 1px solid var(--popup-line);
  border-radius: 10px;
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 11px;
}
.PopupManager_imageSlotSummary strong {
  font-size: 12px;
}
.PopupManager_imageSlotSummary span {
  color: var(--popup-muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}
.PopupManager_assetFacts {
  background: var(--popup-soft);
  border: 1px solid var(--popup-line);
  border-radius: 10px;
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 11px;
}
.PopupManager_assetFacts div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.PopupManager_assetFacts span,
.PopupManager_previewFacts span {
  color: var(--popup-muted);
  font-size: 11px;
}
.PopupManager_assetFacts strong,
.PopupManager_previewFacts strong {
  font-size: 12px;
  overflow-wrap: anywhere;
}
.PopupManager_pickerGrid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.PopupManager_pickerSlot {
  border: 1px solid var(--popup-line);
  border-radius: 12px;
  min-width: 0;
  padding: 12px;
}
.PopupManager_pickerSlot h4,
.PopupManager_pickerSlot p {
  margin: 0;
}
.PopupManager_pickerSlot h4 {
  font-size: 13px;
}
.PopupManager_pickerSlot > p {
  color: var(--popup-muted);
  font-size: 11px;
  line-height: 1.5;
  margin-top: 4px;
}
.PopupManager_pickerSlot > [data-image-candidate-picker] {
  margin-top: 10px;
}
.PopupManager_legacyUrlEditor {
  display: grid;
  gap: 7px;
}
.PopupManager_legacyUrlEditor label {
  color: var(--popup-ink);
  display: grid;
  font-size: 12px;
  gap: 7px;
}
.PopupManager_legacyUrlEditor input {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 9px;
  color: var(--popup-ink);
  min-width: 0;
  padding: 10px 11px;
}
.PopupManager_legacyUrlEditor small {
  color: var(--popup-muted);
  font-size: 11px;
  line-height: 1.5;
}
.PopupManager_candidatePreview {
  min-width: 0;
}
.PopupManager_candidatePreview .popup-preview-host {
  min-height: 260px;
}
.PopupManager_customSizeGrid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.PopupManager_actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.PopupManager_previewPanel {
  background: var(--popup-soft);
  border: 1px solid var(--popup-line);
  border-radius: 13px;
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 15px;
  position: sticky;
  top: 18px;
}
.PopupManager_previewHeader {
  align-items: flex-start;
}
.PopupManager_previewHeader h3 {
  font-size: 16px;
}
.PopupManager_previewTabs {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--popup-line);
  border-radius: 8px;
  display: inline-flex;
  gap: 2px;
  padding: 3px;
}
.PopupManager_previewTab,
.PopupManager_previewTabActive {
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: var(--popup-muted);
  font-size: 11px;
  min-height: 30px;
  padding: 6px 9px;
}
.PopupManager_previewTabActive {
  background: var(--popup-ink);
  color: #fff;
  font-weight: 700;
}
.PopupManager_previewStage {
  align-items: center;
  background: #e9edf2;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 11px;
  display: flex;
  justify-content: center;
  min-height: 510px;
  overflow: hidden;
  padding: 15px;
  position: relative;
}
.PopupManager_previewStageMobile {
  margin: 0 auto;
  max-width: 390px;
  width: 100%;
}
.PopupManager_previewStage .popup-backdrop {
  inset: 0;
  padding: 14px;
  position: absolute;
}
.PopupManager_previewStage .popup-card {
  max-height: 100%;
}
.PopupManager_previewUnavailable {
  align-items: center;
  background: var(--ad-surface, #fff);
  border: 1px dashed #bdc7d4;
  color: var(--popup-muted);
  display: grid;
  gap: 8px;
  justify-items: center;
  max-width: 270px;
  padding: 20px;
  text-align: center;
}
.PopupManager_previewUnavailable strong {
  color: var(--popup-ink);
}
.PopupManager_previewFacts {
  align-items: stretch;
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.PopupManager_previewFacts > div {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--popup-line);
  border-radius: 9px;
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
}
.PopupManager_listHeader {
  border-bottom: 1px solid var(--popup-line);
  margin-top: 25px;
  padding-bottom: 11px;
}
.PopupManager_listHeader h3 {
  font-size: 15px;
}
.PopupManager_listCount {
  color: var(--popup-muted);
  font-size: 12px;
}
.PopupManager_listActions {
  align-items: center;
  display: flex;
  gap: 12px;
}
.PopupManager_resumeEditor {
  align-items: center;
  border-bottom: 1px solid var(--popup-line);
  border-top: 1px solid var(--popup-line);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin: 18px 0;
  padding: 14px 0;
}
.PopupManager_resumeEditor strong {
  font-size: 13px;
}
.PopupManager_resumeEditor p {
  color: var(--popup-muted);
  font-size: 12px;
  line-height: 1.55;
  margin: 4px 0 0;
}
.PopupManager_popupList {
  display: grid;
}
.PopupManager_popupRow {
  align-items: center;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  display: flex;
  gap: 15px;
  justify-content: space-between;
  padding: 15px 0;
}
.PopupManager_popupRowMain {
  min-width: 0;
}
.PopupManager_popupRowTitle {
  flex-wrap: wrap;
}
.PopupManager_popupRowTitle strong {
  overflow-wrap: anywhere;
}
.PopupManager_popupRowMain p,
.PopupManager_popupRowMain small {
  display: block;
  margin: 4px 0 0;
}
.PopupManager_popupRowPeriod {
  color: var(--popup-ink, #1f2a37);
  font-size: 12px;
  font-weight: 600;
}
.PopupManager_popupRowFacts {
  display: grid;
  gap: 7px;
  margin-top: 7px;
}
.PopupManager_popupRowFacts span {
  color: var(--popup-muted);
  font-size: 11px;
}
.PopupManager_popupRowFacts strong {
  color: var(--popup-ink);
  font-weight: 700;
  margin-right: 3px;
}
.PopupManager_popupRowVersion {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.PopupManager_popupRowVersion + .PopupManager_popupRowVersion {
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  padding-top: 7px;
}
.PopupManager_popupRowVersionLabel {
  color: var(--popup-ink);
  font-size: 11px;
}
.PopupManager_popupRowVersionFacts {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 3px 15px;
}
.PopupManager_popupRowVersionFacts span {
  color: var(--popup-muted);
  font-size: 11px;
}
.PopupManager_popupRowVersionFacts b {
  color: var(--popup-ink);
  font-weight: 700;
  margin-left: 3px;
}
.PopupManager_rowActions {
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.PopupManager_empty {
  color: var(--popup-muted);
  font-size: 12px;
  margin: 17px 0 2px;
}
@media (max-width: 1080px) {
  .PopupManager_editorGrid {
    grid-template-columns: 1fr;
  }
  .PopupManager_previewPanel {
    position: static;
  }
}
@media (max-width: 680px) {
  .PopupManager_header,
  .PopupManager_editorNav,
  .PopupManager_popupRow {
    align-items: flex-start;
    display: grid;
  }
  .PopupManager_headerStatus,
  .PopupManager_listActions,
  .PopupManager_resumeEditor,
  .PopupManager_rowActions {
    justify-content: flex-start;
  }
  .PopupManager_resumeEditor {
    align-items: flex-start;
  }
  .PopupManager_typeGrid,
  .PopupManager_presetGrid,
  .PopupManager_assetGrid,
  .PopupManager_imageSlotSummary,
  .PopupManager_customSizeGrid,
  .PopupManager_previewFacts {
    grid-template-columns: 1fr;
  }
  .PopupManager_popupRowFacts {
    display: grid;
    gap: 3px;
  }
  .PopupManager_popupRowVersionFacts {
    display: grid;
    gap: 3px;
  }
  .PopupManager_previewStage {
    min-height: 450px;
    padding: 10px;
  }
}
.PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid {
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 20px;
}
.PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > #popup-preview-section {
  grid-column: 1;
  grid-row: 1 / span 4;
  position: sticky;
  top: 16px;
  min-width: 0;
}
.PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > .PopupManager_form,
.PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > #popup-publish-section,
.PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > [aria-label="팝업 중지 및 이력 복원"] {
  grid-column: 2;
  min-width: 0;
}
.PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > .PopupManager_form .form-grid {
  grid-template-columns: 1fr;
}
.PopupManager_manager[data-popup-layout=workspace] .PopupManager_pickerGrid {
  grid-template-columns: 1fr;
}
@media (max-width: 1180px) {
  .PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid {
    grid-template-columns: 1fr;
  }
  .PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > #popup-preview-section {
    grid-row: auto;
    position: static;
  }
  .PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > .PopupManager_form,
  .PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > #popup-publish-section,
  .PopupManager_manager[data-popup-layout=workspace] .PopupManager_editorGrid > [aria-label="팝업 중지 및 이력 복원"] {
    grid-column: 1;
  }
}

/* app/admin/content/PopupManagerWorkflow.module.css */
.PopupManagerWorkflow_formShell {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  display: grid;
  gap: 15px;
}
.PopupManagerWorkflow_formShell[disabled] {
  opacity: .75;
}
.PopupManagerWorkflow_previewContainer {
  min-width: 0;
  border: 1px solid var(--popup-line);
  border-radius: 11px;
  background: var(--popup-soft);
}
.PopupManagerWorkflow_history,
.PopupManagerWorkflow_recovery {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.PopupManagerWorkflow_history {
  border-top: 1px solid var(--popup-line);
  padding-top: 14px;
}
.PopupManagerWorkflow_historyHeading,
.PopupManagerWorkflow_publishSectionHeader {
  display: grid;
  gap: 4px;
}
.PopupManagerWorkflow_historyHeading h4,
.PopupManagerWorkflow_publishSectionHeader h4 {
  margin: 0;
  font-size: 13px;
}
.PopupManagerWorkflow_historyHeading p,
.PopupManagerWorkflow_publishSectionHeader p {
  color: var(--popup-muted);
  font-size: 12px;
  line-height: 1.55;
  margin: 0;
}
.PopupManagerWorkflow_recovery {
  border: 1px solid var(--popup-line);
  border-radius: 12px;
  padding: 14px;
}
.PopupManagerWorkflow_recovery pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 12px;
  max-height: 360px;
  overflow: auto;
}
.PopupManagerWorkflow_comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.PopupManagerWorkflow_comparison > div {
  min-width: 0;
}
.PopupManagerWorkflow_history select {
  max-width: 100%;
  padding: 8px;
  border: 1px solid var(--popup-line);
  border-radius: 8px;
}
.PopupManagerWorkflow_publication {
  background: var(--popup-soft);
  border: 1px solid var(--popup-line);
  border-radius: 12px;
  display: grid;
  gap: 12px;
  margin-bottom: 13px;
  min-width: 0;
  padding: 14px 15px;
}
.PopupManagerWorkflow_publicationHeader {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.PopupManagerWorkflow_publicationKicker {
  color: var(--popup-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 0 4px;
}
.PopupManagerWorkflow_publicationHeader h4 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  font-size: 15px;
}
.PopupManagerWorkflow_draftState {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--popup-line);
  border-radius: 999px;
  color: var(--popup-muted);
  font-size: 11px;
  padding: 6px 9px;
  white-space: nowrap;
}
.PopupManagerWorkflow_publicationFacts {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}
.PopupManagerWorkflow_publicationFacts > div {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--popup-line);
  border-radius: 9px;
  min-width: 0;
  padding: 9px 10px;
}
.PopupManagerWorkflow_publicationFacts dt {
  color: var(--popup-muted);
  font-size: 11px;
}
.PopupManagerWorkflow_publicationFacts dd {
  color: var(--popup-ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  margin: 3px 0 0;
  overflow-wrap: anywhere;
}
.PopupManagerWorkflow_versionFactsGrid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.PopupManagerWorkflow_versionFacts {
  background: var(--ad-surface, #fff);
  border: 1px solid var(--popup-line);
  border-radius: 10px;
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 10px;
}
.PopupManagerWorkflow_versionLabel {
  font-size: 12px;
}
.PopupManagerWorkflow_versionFacts .PopupManagerWorkflow_publicationFacts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.PopupManagerWorkflow_versionEmpty {
  color: var(--popup-muted);
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
}
.PopupManagerWorkflow_publicationHint {
  color: var(--popup-muted);
  font-size: 12px;
  line-height: 1.55;
  margin: 0;
}
.PopupManagerWorkflow_technicalMeta {
  border-top: 1px solid var(--popup-line);
  color: var(--popup-muted);
  font-size: 11px;
  padding-top: 10px;
}
.PopupManagerWorkflow_technicalMeta summary {
  cursor: pointer;
  font-weight: 700;
}
.PopupManagerWorkflow_technicalMeta summary:focus-visible {
  outline: 2px solid var(--popup-accent);
  outline-offset: 3px;
}
.PopupManagerWorkflow_technicalMetaGrid {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 18px;
  padding-top: 8px;
}
.PopupManagerWorkflow_technicalMetaGrid strong {
  color: var(--popup-ink);
  font-weight: 700;
}
.PopupManagerWorkflow_steps {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 16px;
}
.PopupManagerWorkflow_step {
  align-items: center;
  background: var(--ad-surface, #fff);
  border: 1px solid var(--popup-line);
  border-radius: 10px;
  color: var(--popup-ink);
  display: flex;
  gap: 8px;
  min-width: 0;
  padding: 9px 10px;
  text-decoration: none;
}
.PopupManagerWorkflow_step:hover,
.PopupManagerWorkflow_step:focus-visible {
  border-color: var(--popup-accent);
}
.PopupManagerWorkflow_step:focus-visible {
  outline: 2px solid var(--popup-accent);
  outline-offset: 2px;
}
.PopupManagerWorkflow_stepIndex {
  align-items: center;
  background: var(--popup-accent-soft);
  border-radius: 50%;
  color: var(--popup-accent);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  height: 22px;
  justify-content: center;
  width: 22px;
}
.PopupManagerWorkflow_stepBody {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.PopupManagerWorkflow_stepBody strong {
  font-size: 12px;
}
.PopupManagerWorkflow_stepBody small {
  color: var(--popup-muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}
.PopupManagerWorkflow_previewSection {
  min-width: 0;
}
.PopupManagerWorkflow_publishSection {
  border-top: 1px solid var(--popup-line);
  display: grid;
  gap: 10px;
  grid-column: 1;
  margin-top: 2px;
  padding-top: 15px;
}
.PopupManagerWorkflow_history {
  grid-column: 1;
}
@media (max-width: 780px) {
  .PopupManagerWorkflow_publicationFacts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .PopupManagerWorkflow_versionFactsGrid {
    grid-template-columns: 1fr;
  }
  .PopupManagerWorkflow_steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .PopupManagerWorkflow_comparison {
    grid-template-columns: 1fr;
  }
  .PopupManagerWorkflow_publicationHeader {
    align-items: flex-start;
    flex-direction: column;
  }
  .PopupManagerWorkflow_publicationFacts {
    grid-template-columns: 1fr;
  }
  .PopupManagerWorkflow_steps {
    margin-bottom: 12px;
  }
}

/* app/admin/content/PopupCanvas.module.css */
.PopupCanvas_canvasColumn {
  min-width: 0;
  display: grid;
  gap: 10px;
}
.PopupCanvas_bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.PopupCanvas_viewportGroup {
  display: flex;
  gap: 6px;
}
.PopupCanvas_meta {
  color: var(--ad-text-muted, #687481);
  font-size: 12px;
}
.PopupCanvas_notice {
  margin: 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--ad-surface-info, #eaf2ff);
  color: var(--ad-text-info, #0052cc);
  font-size: 13px;
}
.PopupCanvas_noticeError {
  background: var(--ad-surface-danger, #fdecec);
  color: var(--ad-text-danger, #ba1a1a);
}
.PopupCanvas_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 60;
}
.PopupCanvas_overlay .popup-preview-host {
  height: 100% !important;
}
.PopupCanvas_blankPage {
  background: var(--public-page, #edf0e9);
}
.PopupCanvas_blankNote {
  margin: 0;
  padding: 24px;
  color: var(--ad-text-muted, #687481);
  font-size: 13px;
  text-align: center;
}
.PopupCanvas_facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}
.PopupCanvas_facts > div {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
}
.PopupCanvas_facts dt {
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
}
.PopupCanvas_facts dd {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}
@media (max-width: 680px) {
  .PopupCanvas_facts {
    grid-template-columns: 1fr;
  }
}

/* app/admin/notices/NoticeManager.module.css */
.NoticeManager_listCard,
.NoticeManager_editorCard {
  min-width: 0;
}
.NoticeManager_listToolbar,
.NoticeManager_editorHeader,
.NoticeManager_editorActions,
.NoticeManager_statusLine,
.NoticeManager_recordMeta,
.NoticeManager_inlineFields {
  display: flex;
  align-items: center;
  gap: 8px;
}
.NoticeManager_listToolbar,
.NoticeManager_editorHeader {
  justify-content: space-between;
  gap: 12px;
}
.NoticeManager_listToolbar {
  margin-bottom: 18px;
}
.NoticeManager_listToolbar h2,
.NoticeManager_editorHeader h2 {
  margin: 0;
}
.NoticeManager_listToolbar p {
  margin: 5px 0 0;
}
.NoticeManager_filters {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(160px, 220px);
  align-items: end;
  gap: 12px;
  margin-bottom: 16px;
}
.NoticeManager_searchField,
.NoticeManager_statusFilter {
  display: grid;
  gap: 6px;
  color: var(--ad-text-strong, #202735);
  font-size: 13px;
  font-weight: 650;
}
.NoticeManager_searchField input,
.NoticeManager_statusFilter select {
  width: 100%;
  min-height: 42px;
}
.NoticeManager_tableWrap {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
}
.NoticeManager_table {
  min-width: 720px;
}
.NoticeManager_table th,
.NoticeManager_table td {
  vertical-align: top;
}
.NoticeManager_table thead th {
  white-space: nowrap;
}
.NoticeManager_titleCell {
  min-width: 220px;
}
.NoticeManager_noticeTitle {
  color: var(--ad-text-strong, #202735);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.NoticeManager_noticeSummary {
  display: block;
  max-width: 52ch;
  margin-top: 5px;
  overflow: hidden;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.NoticeManager_titleCell > .status-pill {
  display: inline-flex;
  margin-top: 7px;
}
.NoticeManager_statusStack {
  display: grid;
  justify-items: start;
  gap: 6px;
  white-space: nowrap;
}
.NoticeManager_pinned {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
}
.NoticeManager_slug {
  color: var(--ad-text-code, #536173);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.NoticeManager_revision {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.NoticeManager_empty {
  padding: 24px 12px !important;
  color: var(--ad-text-muted, #727687);
  text-align: center;
}
.NoticeManager_cards {
  display: grid;
  gap: 10px;
}
.NoticeManager_noticeCard {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 14px;
  background: var(--ad-surface, #fff);
}
.NoticeManager_cardHead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.NoticeManager_cardSummary {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.5;
}
.NoticeManager_cardStatus {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.NoticeManager_cardFacts {
  display: grid;
  gap: 5px;
  min-width: 0;
  margin: 0;
}
.NoticeManager_cardFacts > div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
}
.NoticeManager_cardFacts dt {
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.5;
}
.NoticeManager_cardFacts dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ad-text-strong, #202735);
  font-size: 13px;
  line-height: 1.5;
}
.NoticeManager_cardEdit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  text-align: center;
}
.NoticeManager_cardEmpty {
  margin: 0;
  padding: 18px 4px;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
  text-align: center;
}
.NoticeManager_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}
.NoticeManager_editorHeader {
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  margin-bottom: 14px;
}
.NoticeManager_editorHeader h2 {
  font-size: 20px;
  letter-spacing: -0.025em;
}
.NoticeManager_editorHeader p {
  margin: 5px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.NoticeManager_statusLine {
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.NoticeManager_recordMeta {
  flex-wrap: wrap;
  justify-content: space-between;
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 8px;
  margin-bottom: 16px;
  background: var(--ad-surface-subtle, #f7f8fa);
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.NoticeManager_recordMeta code {
  color: var(--ad-text-code, #536173);
  font-size: 12px;
}
.NoticeManager_editorForm {
  display: grid;
  gap: 16px;
}
.NoticeManager_fields {
  min-width: 0;
  padding: 0;
  border: 0;
  margin: 0;
}
.NoticeManager_wideField {
  grid-column: 1 / -1;
}
.NoticeManager_previewSection {
  display: grid;
  gap: 12px;
  padding-top: 18px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.NoticeManager_previewHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.NoticeManager_previewHeader h3 {
  margin: 0;
  color: var(--ad-text-strong, #202735);
  font-size: 16px;
  letter-spacing: -0.02em;
}
.NoticeManager_previewHelp {
  max-width: 68ch;
  margin: 6px 0 0;
}
.NoticeManager_previewPanel {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 14px;
  background: var(--ad-surface-subtle, #f7f8fa);
}
.NoticeManager_previewArticle {
  margin: 0;
}
.NoticeManager_previewArticle h2 {
  margin: 18px 0 10px;
  color: #102a2d;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  letter-spacing: -0.05em;
  line-height: 1.15;
}
.NoticeManager_previewStatus {
  color: var(--ad-text-subtle, #687481);
  font-weight: 650;
}
.NoticeManager_previewEmpty {
  padding: 12px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  margin-top: 30px;
}
.NoticeManager_metadata {
  grid-column: 1 / -1;
  padding-top: 4px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.NoticeManager_metadataSummary {
  padding: 12px 0;
  color: var(--ad-text-subtle, #687481);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.NoticeManager_metadataSummary span {
  display: inline-block;
  margin-left: 4px;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 500;
}
.NoticeManager_metadataFields {
  padding-bottom: 4px;
}
.NoticeManager_errorSummary {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--ad-danger-surface, #fff0ef);
  color: var(--ad-danger-text, #a42b20);
  font-size: 13px;
}
.NoticeManager_errorSummary ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 20px;
}
.NoticeManager_errorSummary a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.NoticeManager_fieldError {
  color: var(--ad-danger-text, #a42b20);
  font-size: 12px;
  font-weight: 600;
}
.NoticeManager_technicalField {
  min-width: 0;
  display: grid;
  gap: 8px;
}
.NoticeManager_technicalAction {
  justify-self: start;
}
.NoticeManager_technicalHint {
  margin: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.5;
}
.NoticeManager_inlineFields {
  align-items: flex-start;
  flex-wrap: wrap;
}
.NoticeManager_inlineFields > label {
  flex: 1 1 180px;
}
.NoticeManager_checkboxLabel {
  display: flex !important;
  align-items: center;
  gap: 8px !important;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
}
.NoticeManager_checkboxLabel input {
  width: auto;
}
.NoticeManager_editorActions {
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 18px;
}
.NoticeManager_conflict {
  display: grid;
  justify-items: start;
  gap: 7px;
  padding: 14px 16px;
  border-radius: 10px;
  margin: 0 0 16px;
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
  font-size: 13px;
}
.NoticeManager_loading {
  color: var(--ad-text-muted, #727687);
}
.NoticeManager_navigationGuardBackdrop {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgb(22 29 41 / 52%);
}
.NoticeManager_navigationGuardDialog {
  width: min(100%, 560px);
  padding: 24px;
  border: 0;
  border-radius: 14px;
  background: var(--ad-surface, #fff);
  box-shadow: 0 22px 56px rgb(20 29 43 / 24%);
  color: var(--ad-text-strong, #202735);
}
.NoticeManager_navigationGuardDialog:focus {
  outline: none;
}
.NoticeManager_navigationGuardTitle {
  margin: 0 0 12px;
  font-size: 19px;
  letter-spacing: -0.02em;
}
.NoticeManager_navigationGuardDialog > p {
  margin: 0 0 10px;
  line-height: 1.55;
}
.NoticeManager_navigationGuardWarning,
.NoticeManager_navigationGuardError {
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
}
.NoticeManager_navigationGuardWarning {
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
}
.NoticeManager_navigationGuardError {
  background: var(--ad-danger-surface, #fff0f0);
  color: var(--ad-danger-text, #8c2929);
}
.NoticeManager_navigationGuardActions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 20px;
}
@media (max-width: 650px) {
  .NoticeManager_filters {
    grid-template-columns: 1fr;
  }
  .NoticeManager_editorHeader {
    display: grid;
  }
  .NoticeManager_statusLine {
    justify-content: flex-start;
  }
  .NoticeManager_editorActions {
    justify-content: flex-start;
  }
  .NoticeManager_previewHeader {
    display: grid;
  }
  .NoticeManager_previewHeader > button {
    width: 100%;
  }
  .NoticeManager_previewPanel {
    padding: 8px;
  }
  .NoticeManager_recordMeta {
    display: grid;
    justify-content: start;
  }
  .NoticeManager_navigationGuardBackdrop {
    align-items: end;
    padding: 12px;
  }
  .NoticeManager_navigationGuardDialog {
    width: 100%;
    padding: 20px;
  }
  .NoticeManager_navigationGuardActions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .NoticeManager_navigationGuardActions > button {
    width: 100%;
  }
}

/* app/components/CmsVisualAuthoringSurface.module.css */
.CmsVisualAuthoringSurface_root {
  --cms-authoring-ink: var(--ad-text-strong, #202735);
  --cms-authoring-muted: var(--ad-text-muted, #626b78);
  --cms-authoring-line: var(--ad-line-field, #dfe4eb);
  --cms-authoring-accent: var(--ad-accent, #0066ff);
  display: grid;
  gap: 14px;
  min-width: 0;
}
.CmsVisualAuthoringSurface_surfaceHeader {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  justify-content: space-between;
  min-width: 0;
  padding: 12px 0;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.CmsVisualAuthoringSurface_surfaceHeading {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.CmsVisualAuthoringSurface_surfaceHeading strong {
  color: var(--cms-authoring-ink);
  font-size: 14px;
}
.CmsVisualAuthoringSurface_surfaceHeading span {
  color: var(--cms-authoring-muted);
  font-size: 12px;
  line-height: 1.5;
}
.CmsVisualAuthoringSurface_surfaceControls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.CmsVisualAuthoringSurface_controlGroup {
  align-items: center;
  display: inline-flex;
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--cms-authoring-line);
  border-radius: 10px;
  background: var(--ad-surface-sunken, #f8f9fb);
}
.CmsVisualAuthoringSurface_controlButton {
  min-height: 44px;
  min-width: 52px;
  padding: 8px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--cms-authoring-muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}
.CmsVisualAuthoringSurface_controlButton:hover:not(:disabled),
.CmsVisualAuthoringSurface_controlButton:focus-visible {
  color: var(--cms-authoring-ink);
  background: var(--ad-surface, #fff);
}
.CmsVisualAuthoringSurface_controlButtonActive {
  background: var(--ad-surface, #fff);
  color: var(--cms-authoring-accent);
  box-shadow: 0 1px 4px rgb(21 47 50 / 10%);
}
.CmsVisualAuthoringSurface_controlButton:disabled {
  cursor: not-allowed;
  opacity: .55;
}
.CmsVisualAuthoringSurface_workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 20px;
  align-items: start;
  min-width: 0;
}
.CmsVisualAuthoringSurface_canvasColumn {
  min-width: 0;
}
.CmsVisualAuthoringSurface_canvasBar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-height: 28px;
  margin-bottom: 8px;
}
.CmsVisualAuthoringSurface_canvasMeta {
  color: var(--cms-authoring-muted);
  font-size: 12px;
}
.CmsVisualAuthoringSurface_guardNotice {
  padding: 5px 9px;
  border-radius: 7px;
  background: var(--ad-surface-info, #eaf2ff);
  color: var(--ad-text-info, #0052cc);
  font-size: 12px;
}
.CmsVisualAuthoringSurface_panel {
  position: sticky;
  top: 16px;
  display: grid;
  gap: 14px;
  min-width: 0;
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 18px;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 18px;
  background: var(--ad-surface, #fff);
  box-shadow: 0 8px 24px rgb(15 23 42 / 3%);
  overscroll-behavior: contain;
}
.CmsVisualAuthoringSurface_panelHead {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.CmsVisualAuthoringSurface_panelKicker {
  color: var(--cms-authoring-accent);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.CmsVisualAuthoringSurface_panelHead h3 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cms-authoring-ink);
  font-size: 20px;
  letter-spacing: -.04em;
}
.CmsVisualAuthoringSurface_panelHint {
  margin: 0;
  color: var(--cms-authoring-muted);
  font-size: 12px;
  line-height: 1.55;
}
.CmsVisualAuthoringSurface_sectionList {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.CmsVisualAuthoringSurface_sectionList li {
  min-width: 0;
}
.CmsVisualAuthoringSurface_sectionButton {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 7px 10px;
  border: 1px solid var(--ad-line-card, #e8ebf0);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.CmsVisualAuthoringSurface_sectionButton:hover,
.CmsVisualAuthoringSurface_sectionButton:focus-visible {
  border-color: var(--ad-line-focus, #9dc9ff);
}
.CmsVisualAuthoringSurface_sectionButtonActive {
  border-color: var(--ad-primary, #0066ff);
  background: var(--ad-surface-info, #eaf2ff);
  font-weight: 700;
}
.CmsVisualAuthoringSurface_sectionIndex {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--ad-surface-sunken, #f0f3f7);
  color: var(--ad-text-muted, #5d6878);
  font-size: 11px;
  font-weight: 700;
}
.CmsVisualAuthoringSurface_sectionButtonActive .CmsVisualAuthoringSurface_sectionIndex {
  background: var(--ad-primary, #0066ff);
  color: #fff;
}
.CmsVisualAuthoringSurface_sectionName {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.CmsVisualAuthoringSurface_sectionKind {
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
  font-weight: 400;
}
.CmsVisualAuthoringSurface_selectedFields {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding-top: 14px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.CmsVisualAuthoringSurface_panelField {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--ad-text-strong, #202735);
  font-size: 13px;
  font-weight: 700;
}
.CmsVisualAuthoringSurface_panelFieldLabel {
  display: block;
}
.CmsVisualAuthoringSurface_panelInput,
.CmsVisualAuthoringSurface_panelTextarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #202735);
  font: inherit;
  font-weight: 400;
}
.CmsVisualAuthoringSurface_panelInput {
  min-height: 44px;
  padding: 10px 12px;
}
.CmsVisualAuthoringSurface_panelTextarea {
  min-height: 112px;
  padding: 10px 12px;
  line-height: 1.6;
  resize: vertical;
}
.CmsVisualAuthoringSurface_panelInput::placeholder,
.CmsVisualAuthoringSurface_panelTextarea::placeholder {
  color: var(--ad-text-muted, #626b78);
  opacity: 1;
}
.CmsVisualAuthoringSurface_panelInput:focus-visible,
.CmsVisualAuthoringSurface_panelTextarea:focus-visible {
  outline: 3px solid var(--ad-focus, #315e8c);
  outline-offset: 2px;
}
.CmsVisualAuthoringSurface_fieldError,
.CmsVisualAuthoringSurface_contentError {
  display: block;
  color: var(--ad-danger-text, #a42b20);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}
.CmsVisualAuthoringSurface_contentError {
  margin: 0;
  padding: 9px 10px;
  border-radius: 8px;
  background: var(--ad-danger-surface, #fff1f0);
}
.CmsVisualAuthoringSurface_bodyEditorPanel {
  min-width: 0;
}
.CmsVisualAuthoringSurface_bodyEditorPanel [data-product-content-editor=canvas] {
  display: block;
}
.CmsVisualAuthoringSurface_editorPortal {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.CmsVisualAuthoringSurface_metadataHint {
  margin: 0;
  color: var(--cms-authoring-muted);
  font-size: 12px;
  line-height: 1.5;
}
.CmsVisualAuthoringSurface_metadataDetails {
  min-width: 0;
  padding: 0 12px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 12px;
  background: var(--ad-surface, #fff);
}
.CmsVisualAuthoringSurface_metadataDetails > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  cursor: pointer;
  color: var(--ad-text-strong, #202735);
  font-size: 13px;
  font-weight: 700;
}
.CmsVisualAuthoringSurface_metadataDetails > summary:focus-visible {
  outline: 3px solid var(--ad-focus, #315e8c);
  outline-offset: 3px;
}
.CmsVisualAuthoringSurface_metadataDetails > summary span {
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
  font-weight: 500;
  text-align: right;
}
.CmsVisualAuthoringSurface_metadataContent {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 2px 0 14px;
}
.CmsVisualAuthoringSurface_metadataContent .form-grid {
  grid-template-columns: 1fr;
}
.CmsVisualAuthoringSurface_metadataContent .cms-authoring-metadata-grid {
  grid-template-columns: 1fr;
}
.CmsVisualAuthoringSurface_metadataContent .cms-authoring-action-row,
.CmsVisualAuthoringSurface_metadataContent .cms-authoring-action-fields {
  grid-template-columns: 1fr;
}
.CmsVisualAuthoringSurface_metadataContent .admin-form label {
  min-width: 0;
}
.CmsVisualAuthoringSurface_metadataContent input,
.CmsVisualAuthoringSurface_metadataContent select,
.CmsVisualAuthoringSurface_metadataContent textarea {
  max-width: 100%;
}
.CmsVisualAuthoringSurface_metadataContent .actionRow,
.CmsVisualAuthoringSurface_metadataContent .actionFields,
.CmsVisualAuthoringSurface_metadataContent .displayFields,
.CmsVisualAuthoringSurface_metadataContent .basicsFields {
  grid-template-columns: 1fr;
}
.CmsVisualAuthoringSurface_metadataContent .actionRow {
  align-items: stretch;
}
.CmsVisualAuthoringSurface_metadataContent .technicalField,
.CmsVisualAuthoringSurface_metadataContent .relatedField,
.CmsVisualAuthoringSurface_metadataContent .actionField {
  min-width: 0;
}
.CmsVisualAuthoringSurface_canvasRoot {
  min-width: 0;
  overflow-wrap: anywhere;
}
.CmsVisualAuthoringSurface_canvasDocument {
  margin: 0 !important;
}
.CmsVisualAuthoringSurface_canvasTitle {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.CmsVisualAuthoringSurface_canvasSummary {
  min-width: 0;
  overflow-wrap: anywhere;
}
.CmsVisualAuthoringSurface_bodyHost {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}
.CmsVisualAuthoringSurface_bodyHost .ProseMirror {
  min-height: 260px;
}
.CmsVisualAuthoringSurface_customerMode .CmsVisualAuthoringSurface_bodyHost {
  pointer-events: none;
}
@media (max-width: 1180px) {
  .CmsVisualAuthoringSurface_workspace {
    grid-template-columns: 1fr;
  }
  .CmsVisualAuthoringSurface_panel {
    position: static;
    max-height: none;
  }
}
@media (max-width: 700px) {
  .CmsVisualAuthoringSurface_surfaceHeader {
    display: grid;
  }
  .CmsVisualAuthoringSurface_surfaceControls {
    justify-content: stretch;
  }
  .CmsVisualAuthoringSurface_controlGroup {
    flex: 1 1 0;
  }
  .CmsVisualAuthoringSurface_controlButton {
    flex: 1 1 auto;
    padding-inline: 8px;
  }
  .CmsVisualAuthoringSurface_panel {
    padding: 14px;
    border-radius: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .CmsVisualAuthoringSurface_sectionButton,
  .CmsVisualAuthoringSurface_controlButton,
  .CmsVisualAuthoringSurface_canvasRoot [data-section-id] {
    transition: none;
  }
}

/* app/admin/help/HelpManager.module.css */
.HelpManager_workspace {
  display: grid;
  grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.45fr);
  gap: var(--ad-gap-loose, 20px);
  align-items: start;
}
.HelpManager_listCard,
.HelpManager_editorCard,
.HelpManager_categoryCard {
  min-width: 0;
}
.HelpManager_importCard {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}
.HelpManager_importHeader,
.HelpManager_reviewHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.HelpManager_importHeader h2,
.HelpManager_reviewHeader h3 {
  margin: 0;
}
.HelpManager_importHeader p {
  margin: 4px 0 0;
}
.HelpManager_importPreview,
.HelpManager_reviewPanel {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid var(--ad-warning-line, #f0d899);
  border-radius: 12px;
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
  font-size: 13px;
}
.HelpManager_importPreview p {
  margin: 0;
}
.HelpManager_importPreview ul,
.HelpManager_reviewPanel ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 20px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.HelpManager_reviewPanel {
  margin: 0 0 16px;
}
.HelpManager_reviewHeader h3 {
  font-size: 15px;
}
.HelpManager_listToolbar,
.HelpManager_editorHeader,
.HelpManager_editorActions,
.HelpManager_statusLine,
.HelpManager_listItemMeta,
.HelpManager_inlineFields,
.HelpManager_categoryToolbar,
.HelpManager_categoryRow {
  display: flex;
  align-items: center;
  gap: 8px;
}
.HelpManager_listToolbar,
.HelpManager_editorHeader,
.HelpManager_categoryToolbar {
  justify-content: space-between;
  gap: 12px;
}
.HelpManager_listToolbar h2,
.HelpManager_editorHeader h2,
.HelpManager_categoryToolbar h2 {
  margin: 0;
}
.HelpManager_listToolbar,
.HelpManager_categoryToolbar {
  margin-bottom: 16px;
}
.HelpManager_list {
  display: grid;
  gap: var(--ad-gap-tight, 4px);
}
.HelpManager_listItem {
  width: 100%;
  display: grid;
  gap: var(--ad-gap-tight, 4px);
  padding: var(--ad-gap, 12px);
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: inherit;
  text-align: left;
}
.HelpManager_listItem:hover,
.HelpManager_listItem:focus-visible {
  background: var(--ad-surface-hover, #f6f8fb);
}
.HelpManager_listItemActive {
  border-color: var(--ad-accent-line, #cfe0ff);
  background: var(--ad-accent-surface, #eaf2ff);
}
.HelpManager_listItemTitle {
  overflow: hidden;
  font-size: 14px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.HelpManager_listItemMeta {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  flex-wrap: wrap;
}
.HelpManager_listItemMeta code {
  color: var(--ad-text-code, #536173);
  font-size: 11px;
}
.HelpManager_editorHeader {
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  margin-bottom: 16px;
}
.HelpManager_editorHeader h2 {
  font-size: 20px;
  letter-spacing: -0.04em;
}
.HelpManager_editorHeader p {
  margin: 4px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.HelpManager_editorActions {
  justify-content: flex-end;
  flex-wrap: wrap;
}
.HelpManager_editorForm {
  display: grid;
  gap: 16px;
}
.HelpManager_wideField {
  grid-column: 1 / -1;
}
.HelpManager_slugField {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.HelpManager_slugField > label {
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 14px;
  font-weight: 650;
}
.HelpManager_slugControl {
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
.HelpManager_slugControl input {
  min-width: 0;
  flex: 1 1 auto;
}
.HelpManager_slugControl button {
  flex: 0 0 auto;
  white-space: nowrap;
}
.HelpManager_inlineFields {
  align-items: flex-start;
  flex-wrap: wrap;
}
.HelpManager_inlineFields > label {
  flex: 1 1 180px;
}
.HelpManager_checkboxLabel {
  display: flex !important;
  align-items: center;
  gap: 8px !important;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
}
.HelpManager_checkboxLabel input {
  width: auto;
}
.HelpManager_statusLine {
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
  flex-wrap: wrap;
}
.HelpManager_conflict {
  display: grid;
  gap: var(--ad-gap-tight, 4px);
  margin: 0 0 16px;
  padding: var(--ad-gap, 12px);
  border-radius: 12px;
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
  font-size: 12px;
}
.HelpManager_history {
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 12px;
}
.HelpManager_history summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}
.HelpManager_historyList {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}
.HelpManager_historyItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
}
.HelpManager_historyMeta {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.HelpManager_historyMeta strong {
  overflow-wrap: anywhere;
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 13px;
}
.HelpManager_historyItem button,
.HelpManager_reopenActions button {
  min-height: 44px;
}
.HelpManager_empty {
  padding: 20px 0;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
}
.HelpManager_categoryCard {
  margin-bottom: 20px;
}
.HelpManager_categoryList {
  display: grid;
  gap: var(--ad-gap-tight, 4px);
  margin-bottom: 12px;
}
.HelpManager_categoryRow {
  justify-content: space-between;
  padding: 8px 10px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  flex-wrap: wrap;
}
.HelpManager_reopenPreview {
  flex: 1 0 100%;
  display: grid;
  gap: 8px;
  margin-top: 4px;
  padding: 12px;
  border: 1px solid var(--ad-warning-line, #f0d899);
  border-radius: 10px;
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
  font-size: 13px;
}
.HelpManager_reopenPreview ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 20px;
  overflow-wrap: anywhere;
}
.HelpManager_reopenPreview code {
  color: inherit;
  font-size: 12px;
}
.HelpManager_reopenActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.HelpManager_categoryRow input[type=text] {
  min-width: 0;
}
@media (max-width: 850px) {
  .HelpManager_workspace {
    grid-template-columns: 1fr;
  }
  .HelpManager_list {
    max-height: 300px;
    overflow: auto;
  }
}
@media (max-width: 600px) {
  .HelpManager_importHeader,
  .HelpManager_reviewHeader {
    align-items: flex-start;
    flex-direction: column;
  }
  .HelpManager_importHeader button {
    width: 100%;
  }
  .HelpManager_slugControl {
    flex-direction: column;
  }
  .HelpManager_slugControl button {
    width: 100%;
  }
  .HelpManager_editorHeader {
    display: grid;
  }
  .HelpManager_editorActions {
    justify-content: flex-start;
  }
  .HelpManager_historyItem {
    align-items: stretch;
    flex-direction: column;
  }
  .HelpManager_historyItem button,
  .HelpManager_reopenActions button {
    width: 100%;
  }
}

/* app/admin/help/HelpWorkspace.module.css */
.HelpWorkspace_listCard,
.HelpWorkspace_editorCard {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.HelpWorkspace_listToolbar,
.HelpWorkspace_editorHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.HelpWorkspace_listToolbar h2,
.HelpWorkspace_editorHeader h2 {
  margin: 0;
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 20px;
}
.HelpWorkspace_listToolbar p,
.HelpWorkspace_editorHeader p {
  margin: 6px 0 0;
}
.HelpWorkspace_filters {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(180px, 0.65fr);
  gap: 14px;
  align-items: end;
}
.HelpWorkspace_filters label,
.HelpWorkspace_field {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 14px;
  font-weight: 650;
}
.HelpWorkspace_filters input,
.HelpWorkspace_filters select,
.HelpWorkspace_field input,
.HelpWorkspace_field select,
.HelpWorkspace_field textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 8px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-primary, #1c1b1b);
  font: inherit;
  font-weight: 400;
}
.HelpWorkspace_field textarea {
  resize: vertical;
}
.HelpWorkspace_filters input::placeholder,
.HelpWorkspace_field input::placeholder,
.HelpWorkspace_field textarea::placeholder {
  color: var(--ad-text-muted, #626b78);
  opacity: 1;
}
.HelpWorkspace_filters input:focus-visible,
.HelpWorkspace_filters select:focus-visible,
.HelpWorkspace_field input:focus-visible,
.HelpWorkspace_field select:focus-visible,
.HelpWorkspace_field textarea:focus-visible,
.HelpWorkspace_relatedOption input:focus-visible {
  outline: 3px solid var(--ad-focus, #315e8c);
  outline-offset: 2px;
}
.HelpWorkspace_articleList {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.HelpWorkspace_articleList li {
  min-width: 0;
}
.HelpWorkspace_articleLink {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 13px 15px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-primary, #1c1b1b);
  text-decoration: none;
  transition: background-color 160ms ease-out, border-color 160ms ease-out;
}
.HelpWorkspace_articleLink:hover {
  border-color: var(--ad-line-strong, #aeb8c4);
  background: var(--ad-surface-subtle, #f7f8fa);
}
.HelpWorkspace_articleLink:focus-visible,
.HelpWorkspace_secondaryTools summary:focus-visible,
.HelpWorkspace_advancedFields summary:focus-visible,
.HelpWorkspace_previewDisclosure summary:focus-visible {
  outline: 3px solid var(--ad-focus, #315e8c);
  outline-offset: 3px;
}
.HelpWorkspace_articleHeading,
.HelpWorkspace_articleMeta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-width: 0;
}
.HelpWorkspace_articleHeading strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 16px;
}
.HelpWorkspace_articleMeta {
  color: var(--ad-text-muted, #626b78);
  font-size: 13px;
}
.HelpWorkspace_articleMeta code {
  overflow-wrap: anywhere;
  color: inherit;
  font-size: 12px;
}
.HelpWorkspace_loadingRows {
  display: grid;
  gap: 8px;
}
.HelpWorkspace_loadingRows span {
  display: block;
  min-height: 56px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface-subtle, #f7f8fa);
}
.HelpWorkspace_emptyState {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 22px;
  border: 1px dashed var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  color: var(--ad-text-primary, #1c1b1b);
}
.HelpWorkspace_emptyState h2,
.HelpWorkspace_emptyState h3,
.HelpWorkspace_emptyState p {
  margin: 0;
}
.HelpWorkspace_emptyState h2,
.HelpWorkspace_emptyState h3 {
  font-size: 17px;
}
.HelpWorkspace_emptyState p {
  color: var(--ad-text-muted, #626b78);
  line-height: 1.55;
}
.HelpWorkspace_secondaryTools {
  margin-top: 18px;
  border-top: 1px solid var(--ad-line-field, #dfe4eb);
}
.HelpWorkspace_secondaryTools summary,
.HelpWorkspace_advancedFields summary,
.HelpWorkspace_previewDisclosure summary {
  display: flex;
  align-items: center;
  min-height: 48px;
  cursor: pointer;
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 14px;
  font-weight: 700;
}
.HelpWorkspace_secondaryTools summary:hover,
.HelpWorkspace_advancedFields summary:hover,
.HelpWorkspace_previewDisclosure summary:hover {
  color: var(--ad-accent, #244f79);
}
.HelpWorkspace_secondaryContent {
  display: grid;
  gap: 16px;
  padding: 0 0 18px;
}
.HelpWorkspace_statusLine {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}
.HelpWorkspace_editorForm {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.HelpWorkspace_formFieldset {
  display: grid;
  gap: 22px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.HelpWorkspace_primaryFields {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.HelpWorkspace_bodyField {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.HelpWorkspace_basicsFields {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(180px, 0.8fr) minmax(170px, 0.75fr);
  gap: 14px;
  align-items: start;
}
.HelpWorkspace_slugField > label {
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 14px;
  font-weight: 650;
}
.HelpWorkspace_slugControl {
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
.HelpWorkspace_slugControl input {
  min-width: 0;
  flex: 1 1 auto;
}
.HelpWorkspace_slugControl input[readonly] {
  background: var(--ad-surface-sunken, #f2f4f7);
  color: var(--ad-text-secondary, #46505c);
  cursor: default;
}
.HelpWorkspace_slugControl button {
  flex: 0 0 auto;
  white-space: nowrap;
}
.HelpWorkspace_advancedFields,
.HelpWorkspace_previewDisclosure {
  padding-top: 4px;
  border-top: 1px solid var(--ad-line-field, #dfe4eb);
}
.HelpWorkspace_advancedContent {
  display: grid;
  gap: 18px;
  padding: 4px 0 8px;
}
.HelpWorkspace_relatedField,
.HelpWorkspace_actionField {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.HelpWorkspace_relatedField legend,
.HelpWorkspace_actionField legend {
  margin-bottom: 2px;
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 14px;
  font-weight: 700;
}
.HelpWorkspace_relatedField > p,
.HelpWorkspace_actionField > p {
  margin: 0;
}
.HelpWorkspace_relatedChoices {
  display: grid;
  max-height: 320px;
  overflow: auto;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  overscroll-behavior: contain;
}
.HelpWorkspace_relatedOption {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-height: 56px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--ad-line-field, #dfe4eb);
  cursor: pointer;
}
.HelpWorkspace_relatedOption:last-child {
  border-bottom: 0;
}
.HelpWorkspace_relatedOption:hover {
  background: var(--ad-surface-subtle, #f7f8fa);
}
.HelpWorkspace_relatedOption input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 2px 0 0;
  accent-color: var(--ad-accent, #244f79);
}
.HelpWorkspace_relatedOption span {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.HelpWorkspace_relatedOption strong,
.HelpWorkspace_relatedOption small {
  overflow-wrap: anywhere;
}
.HelpWorkspace_relatedOption strong {
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 14px;
  font-weight: 650;
}
.HelpWorkspace_relatedOption small {
  color: var(--ad-text-muted, #626b78);
  font-size: 12px;
  line-height: 1.4;
}
.HelpWorkspace_selectionCount {
  justify-self: end;
  color: var(--ad-text-muted, #626b78);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.HelpWorkspace_actionRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ad-line-field, #dfe4eb);
}
.HelpWorkspace_actionFields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr);
  gap: 12px;
  min-width: 0;
}
.HelpWorkspace_manualTargetField {
  grid-column: 1 / -1;
}
.HelpWorkspace_actionRow > button {
  min-height: 44px;
}
.HelpWorkspace_actionFooter {
  display: flex;
  align-items: center;
  gap: 12px;
}
.HelpWorkspace_displayFields {
  display: grid;
  grid-template-columns: minmax(150px, 0.45fr) minmax(0, 1fr);
  gap: 14px;
  align-items: end;
}
.HelpWorkspace_checkboxLabel {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 14px;
}
.HelpWorkspace_checkboxLabel input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--ad-accent, #244f79);
}
.HelpWorkspace_previewDisclosure > p {
  margin: 0 0 12px;
}
.HelpWorkspace_previewArticle {
  max-width: 76ch;
  margin: 0 auto;
  padding: 24px;
  overflow-wrap: anywhere;
}
.HelpWorkspace_previewArticle h2 {
  margin-top: 0;
}
.HelpWorkspace_previewLinks {
  margin-top: 22px;
}
.HelpWorkspace_previewLink {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 8px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-primary, #1c1b1b);
  font-size: 14px;
  font-weight: 650;
}
.HelpWorkspace_previewRelated {
  margin-top: 24px;
}
.HelpWorkspace_previewRelated h3 {
  font-size: 17px;
}
.HelpWorkspace_previewRelated ul {
  display: grid;
  gap: 8px;
  padding-left: 20px;
}
.HelpWorkspace_editorActions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.HelpWorkspace_editorActions button {
  min-height: 44px;
}
.HelpWorkspace_editorCard fieldset:disabled {
  opacity: 0.78;
}
.HelpWorkspace_navigationGuardOverlay {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 20px;
  background: rgb(20 27 37 / 58%);
}
.HelpWorkspace_navigationGuardDialog {
  display: grid;
  gap: 14px;
  box-sizing: border-box;
  width: min(100%, 560px);
  padding: 24px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 14px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-primary, #1c1b1b);
  box-shadow: 0 24px 70px rgb(16 24 40 / 24%);
}
.HelpWorkspace_navigationGuardDialog h2,
.HelpWorkspace_navigationGuardDialog p {
  margin: 0;
}
.HelpWorkspace_navigationGuardDialog h2 {
  font-size: 20px;
}
.HelpWorkspace_navigationGuardDialog > p {
  color: var(--ad-text-secondary, #46505c);
  line-height: 1.55;
}
.HelpWorkspace_navigationGuardError {
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--ad-warning-bg, #fff5e5);
  color: var(--ad-warning-text, #7a3c00) !important;
}
.HelpWorkspace_navigationGuardActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
}
.HelpWorkspace_navigationGuardActions button {
  min-height: 44px;
}
.HelpWorkspace_navigationGuardActions button:focus-visible {
  outline: 3px solid var(--ad-focus, #315e8c);
  outline-offset: 2px;
}
@media (max-width: 720px) {
  .HelpWorkspace_filters,
  .HelpWorkspace_basicsFields,
  .HelpWorkspace_displayFields {
    grid-template-columns: minmax(0, 1fr);
  }
  .HelpWorkspace_listToolbar,
  .HelpWorkspace_editorHeader {
    flex-direction: column;
  }
  .HelpWorkspace_statusLine {
    justify-content: flex-start;
  }
  .HelpWorkspace_actionRow {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }
  .HelpWorkspace_actionFields {
    grid-template-columns: minmax(0, 1fr);
  }
  .HelpWorkspace_actionRow > button {
    justify-self: start;
  }
  .HelpWorkspace_manualTargetField {
    grid-column: auto;
  }
  .HelpWorkspace_slugControl {
    flex-direction: column;
  }
  .HelpWorkspace_slugControl button {
    width: 100%;
  }
  .HelpWorkspace_previewArticle {
    padding: 18px;
  }
  .HelpWorkspace_editorActions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .HelpWorkspace_editorActions button {
    width: 100%;
  }
  .HelpWorkspace_navigationGuardDialog {
    padding: 20px;
  }
  .HelpWorkspace_navigationGuardActions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .HelpWorkspace_navigationGuardActions button {
    width: 100%;
  }
}
.HelpWorkspace_errorSummary {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--ad-danger-surface, #fff0ef);
  color: var(--ad-danger-text, #a42b20);
  font-size: 13px;
}
.HelpWorkspace_errorSummary ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 20px;
}
.HelpWorkspace_errorSummary a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.HelpWorkspace_errorSummary button {
  justify-self: start;
}
.HelpWorkspace_fieldError {
  color: var(--ad-danger-text, #a42b20);
  font-size: 12px;
  font-weight: 600;
}

/* app/admin/policies/PolicyDocumentManager.module.css */
.PolicyDocumentManager_listCard,
.PolicyDocumentManager_editorCard {
  min-width: 0;
}
.PolicyDocumentManager_listToolbar,
.PolicyDocumentManager_editorHeader,
.PolicyDocumentManager_editorActions,
.PolicyDocumentManager_statusLine,
.PolicyDocumentManager_listItemMeta,
.PolicyDocumentManager_historyRow,
.PolicyDocumentManager_scopeIntro {
  display: flex;
  align-items: center;
  gap: 8px;
}
.PolicyDocumentManager_listToolbar,
.PolicyDocumentManager_editorHeader {
  justify-content: space-between;
  gap: 16px;
}
.PolicyDocumentManager_listToolbar {
  align-items: flex-start;
  margin-bottom: 18px;
}
.PolicyDocumentManager_listToolbar h2,
.PolicyDocumentManager_editorHeader h2,
.PolicyDocumentManager_sectionIntro h3,
.PolicyDocumentManager_richTextField h3,
.PolicyDocumentManager_scopeIntro h3,
.PolicyDocumentManager_previewPage h3 {
  margin: 0;
}
.PolicyDocumentManager_listToolbar h2 {
  font-size: 19px;
}
.PolicyDocumentManager_listToolbar p {
  margin: 5px 0 0;
}
.PolicyDocumentManager_count {
  flex: 0 0 auto;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.PolicyDocumentManager_listFilters {
  grid-template-columns: minmax(0, 1.6fr) minmax(180px, 0.65fr);
  align-items: start;
  margin-bottom: 20px;
}
.PolicyDocumentManager_listFilters label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--ad-text-secondary, #424656);
  font-size: 13px;
}
.PolicyDocumentManager_listFilters input,
.PolicyDocumentManager_listFilters select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: inherit;
}
.PolicyDocumentManager_listFilters .PolicyDocumentManager_field-help {
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.5;
}
.PolicyDocumentManager_list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.PolicyDocumentManager_listRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--ad-line-field, #e4e8ee);
  border-radius: 13px;
  background: var(--ad-surface, #fff);
}
.PolicyDocumentManager_listItem {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 2px;
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
}
.PolicyDocumentManager_listItem:hover .PolicyDocumentManager_listItemTitle,
.PolicyDocumentManager_listItem:focus-visible .PolicyDocumentManager_listItemTitle {
  color: var(--ad-accent-text, #0052cc);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.PolicyDocumentManager_listItemMain {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.PolicyDocumentManager_listItemTitle {
  overflow-wrap: anywhere;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}
.PolicyDocumentManager_listItemSummary {
  display: -webkit-box;
  overflow: hidden;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.PolicyDocumentManager_listItemMeta {
  min-width: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  flex-wrap: wrap;
}
.PolicyDocumentManager_listItemMeta code {
  overflow-wrap: anywhere;
  color: var(--ad-text-code, #536173);
  font-size: 11px;
}
.PolicyDocumentManager_listScope {
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-text, #0052cc);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.PolicyDocumentManager_listItemAction,
.PolicyDocumentManager_publicLink {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 9px;
  color: var(--ad-accent-text, #0052cc);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.PolicyDocumentManager_listItemAction {
  justify-self: start;
  background: var(--ad-accent-surface, #eaf2ff);
}
.PolicyDocumentManager_publicLink:hover,
.PolicyDocumentManager_publicLink:focus-visible {
  background: var(--ad-surface-hover, #f3f6fa);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.PolicyDocumentManager_empty {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 24px 0;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
}
.PolicyDocumentManager_kindTabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ad-line-field, #e4e8ee);
}
.PolicyDocumentManager_kindTab,
.PolicyDocumentManager_kindTabActive {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 13px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 999px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-secondary, #5b6370);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.PolicyDocumentManager_kindTab:hover {
  background: var(--ad-surface-hover, #f3f6fa);
  color: var(--ad-text, #27313f);
}
.PolicyDocumentManager_kindTabActive {
  border-color: var(--ad-accent-text, #0052cc);
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-text, #0052cc);
}
.PolicyDocumentManager_kindTabCount {
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--ad-surface-soft, #f0f2f6);
  color: inherit;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.PolicyDocumentManager_kindTabActive .PolicyDocumentManager_kindTabCount {
  background: rgb(255 255 255 / 70%);
}
.PolicyDocumentManager_kindGroup {
  display: grid;
  gap: 10px;
  padding-top: 18px;
  margin-top: 18px;
  border-top: 1px solid var(--ad-line-field, #e4e8ee);
}
.PolicyDocumentManager_kindGroup:first-of-type {
  padding-top: 4px;
  margin-top: 4px;
  border-top: 0;
}
.PolicyDocumentManager_kindHeading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 14px;
}
.PolicyDocumentManager_kindHeading h3 {
  margin: 0 0 3px;
  color: var(--ad-text, #27313f);
  font-size: 15px;
  font-weight: 800;
}
.PolicyDocumentManager_kindHeading p {
  margin: 0;
}
.PolicyDocumentManager_kindCount {
  margin-left: 6px;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  font-weight: 700;
}
.PolicyDocumentManager_kindAction {
  flex: 0 0 auto;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 9px;
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-text, #0052cc);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.PolicyDocumentManager_kindAction:hover,
.PolicyDocumentManager_kindAction:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.PolicyDocumentManager_kindEmpty {
  margin: 0;
  padding: 11px 12px;
  border: 1px dashed var(--ad-line-field, #e4e8ee);
  border-radius: 12px;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.6;
}
.PolicyDocumentManager_listFee {
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--ad-surface-soft, #f4f6f9);
  color: var(--ad-text-secondary, #5b6370);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.PolicyDocumentManager_fallbackNote {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  margin: 22px 0 0;
  padding: 14px;
  border: 1px solid var(--ad-line-field, #e4e8ee);
  border-radius: 13px;
  background: var(--ad-surface-soft, #f7f9fb);
  color: var(--ad-text-secondary, #5b6370);
  font-size: 12px;
  line-height: 1.6;
}
.PolicyDocumentManager_fallbackNote strong {
  color: var(--ad-text, #27313f);
  font-size: 13px;
}
.PolicyDocumentManager_fallbackNote > span {
  flex: 1 1 260px;
  min-width: 0;
}
.PolicyDocumentManager_fallbackLink {
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 9px;
  background: var(--ad-surface, #fff);
  border: 1px solid var(--ad-line-field, #e4e8ee);
  color: var(--ad-accent-text, #0052cc);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.PolicyDocumentManager_fallbackLink:hover,
.PolicyDocumentManager_fallbackLink:focus-visible {
  background: var(--ad-surface-hover, #f3f6fa);
}
@media (max-width: 640px) {
  .PolicyDocumentManager_kindHeading {
    align-items: flex-start;
  }
  .PolicyDocumentManager_fallbackNote {
    align-items: flex-start;
  }
}
.PolicyDocumentManager_empty p {
  margin: 0;
}
.PolicyDocumentManager_editorCard {
  display: grid;
  gap: 18px;
}
.PolicyDocumentManager_editorHeader {
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.PolicyDocumentManager_editorHeader h2 {
  overflow-wrap: anywhere;
  font-size: 20px;
  letter-spacing: -0.035em;
}
.PolicyDocumentManager_editorHeader p {
  margin: 5px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.PolicyDocumentManager_statusLine {
  justify-content: flex-end;
  color: var(--ad-text-subtle, #687481);
  font-size: 12px;
  flex-wrap: wrap;
}
.PolicyDocumentManager_editorForm {
  display: grid;
  gap: 18px;
}
.PolicyDocumentManager_formSection,
.PolicyDocumentManager_richTextField,
.PolicyDocumentManager_advancedContent,
.PolicyDocumentManager_historyList,
.PolicyDocumentManager_scopeSection {
  display: grid;
  gap: 14px;
}
.PolicyDocumentManager_sectionIntro {
  display: grid;
  gap: 5px;
}
.PolicyDocumentManager_sectionIntro h3,
.PolicyDocumentManager_richTextField h3,
.PolicyDocumentManager_scopeIntro h3 {
  font-size: 16px;
}
.PolicyDocumentManager_sectionIntro p,
.PolicyDocumentManager_richTextField p,
.PolicyDocumentManager_scopeIntro p {
  margin: 0;
}
.PolicyDocumentManager_requiredMark {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 500;
}
.PolicyDocumentManager_wideField {
  grid-column: 1 / -1;
}
.PolicyDocumentManager_fieldError {
  color: var(--ad-danger-text, #a42b20);
  font-size: 12px;
  font-weight: 600;
}
.PolicyDocumentManager_errorSummary {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--ad-danger-surface, #fff0ef);
  color: var(--ad-danger-text, #a42b20);
  font-size: 13px;
}
.PolicyDocumentManager_errorSummary ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 20px;
}
.PolicyDocumentManager_errorSummary a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.PolicyDocumentManager_technicalField {
  min-width: 0;
  display: grid;
  gap: 8px;
}
.PolicyDocumentManager_technicalAction {
  justify-self: start;
}
.PolicyDocumentManager_technicalHint {
  margin: 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.5;
}
.PolicyDocumentManager_scopeSection {
  gap: 12px;
  padding-top: 2px;
}
.PolicyDocumentManager_scopeIntro {
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.PolicyDocumentManager_scopeState {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--ad-surface-soft, #f7f9fb);
  color: var(--ad-text-muted, #586477);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.PolicyDocumentManager_scopeSummary {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border: 1px solid var(--ad-line-field, #e4e8ee);
  border-radius: 12px;
  background: var(--ad-surface-soft, #f7f9fb);
  color: var(--ad-text, #394454);
  font-size: 12px;
  line-height: 1.5;
}
.PolicyDocumentManager_scopeSummary strong {
  color: var(--ad-text-strong, #202735);
  font-size: 14px;
}
.PolicyDocumentManager_scopeItems {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}
.PolicyDocumentManager_scopeItems li {
  display: grid;
  gap: 1px;
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid var(--ad-line-field, #e1e6ed);
  border-radius: 8px;
  background: var(--ad-surface, #fff);
}
.PolicyDocumentManager_scopeItems li span {
  overflow-wrap: anywhere;
  font-weight: 700;
}
.PolicyDocumentManager_scopeItems li small,
.PolicyDocumentManager_scopeMore {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
}
.PolicyDocumentManager_scopeFieldset {
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--ad-line-field, #e4e8ee);
  border-radius: 12px;
}
.PolicyDocumentManager_scopeFieldset legend {
  padding: 0 6px;
  color: var(--ad-text-label, #394454);
  font-size: 13px;
  font-weight: 700;
}
.PolicyDocumentManager_optionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.PolicyDocumentManager_optionItem {
  min-height: 44px;
  display: flex !important;
  align-items: flex-start;
  gap: 8px !important;
  padding: 9px 10px;
  border: 1px solid var(--ad-line-field, #e1e6ed);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
}
.PolicyDocumentManager_optionItem input {
  width: auto;
  margin-top: 3px;
}
.PolicyDocumentManager_optionItem span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.PolicyDocumentManager_optionItem small {
  overflow-wrap: anywhere;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
}
.PolicyDocumentManager_advancedDetails,
.PolicyDocumentManager_preview,
.PolicyDocumentManager_history {
  padding: 0 14px;
  border: 1px solid var(--ad-line-field, #e4e8ee);
  border-radius: 12px;
  background: var(--ad-surface, #fff);
}
.PolicyDocumentManager_advancedDetails > summary,
.PolicyDocumentManager_preview > summary,
.PolicyDocumentManager_history > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  color: var(--ad-text-label, #394454);
  font-size: 13px;
  font-weight: 700;
}
.PolicyDocumentManager_advancedDetails > summary span,
.PolicyDocumentManager_history > summary span {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 500;
}
.PolicyDocumentManager_advancedContent {
  padding: 0 0 16px;
}
.PolicyDocumentManager_sourceNote {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-radius: 10px;
  background: var(--ad-surface-soft, #f7f9fb);
  color: var(--ad-text, #394454);
  font-size: 12px;
}
.PolicyDocumentManager_sourceNote code {
  overflow-wrap: anywhere;
  color: var(--ad-text-code, #536173);
}
.PolicyDocumentManager_sourceNote small {
  color: var(--ad-text-muted, #727687);
}
.PolicyDocumentManager_preview,
.PolicyDocumentManager_history {
  display: block;
}
.PolicyDocumentManager_preview > .PolicyDocumentManager_field-help,
.PolicyDocumentManager_history > .PolicyDocumentManager_field-help {
  margin: 0 0 12px;
}
.PolicyDocumentManager_previewPage {
  margin: 0 0 16px;
  padding: clamp(16px, 4vw, 32px);
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 10px;
  background: var(--ad-surface-soft, #f7f9fb);
}
.PolicyDocumentManager_previewPage > h3 {
  margin-top: 4px;
  overflow-wrap: anywhere;
  font-size: clamp(22px, 4vw, 32px);
}
.PolicyDocumentManager_previewPage > .PolicyDocumentManager_section-lead {
  margin: 8px 0 0;
  line-height: 1.6;
}
.PolicyDocumentManager_previewArticle {
  overflow: visible;
  margin: 18px 0 0;
  box-shadow: none;
}
.PolicyDocumentManager_historyList {
  padding-bottom: 14px;
}
.PolicyDocumentManager_historyRow {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.PolicyDocumentManager_historyRow > span {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.PolicyDocumentManager_historyRow small {
  overflow-wrap: anywhere;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
}
.PolicyDocumentManager_editorActions {
  justify-content: flex-end;
  flex-wrap: wrap;
}
.PolicyDocumentManager_conflict {
  display: grid;
  gap: 5px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
  font-size: 12px;
}
.PolicyDocumentManager_navigationGuardBackdrop {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgb(22 30 43 / 58%);
}
.PolicyDocumentManager_navigationGuardDialog {
  width: min(100%, 540px);
  display: grid;
  gap: 13px;
  padding: 24px;
  border: 1px solid var(--ad-line-field, #e1e6ed);
  border-radius: 16px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text, #27313f);
  box-shadow: 0 20px 60px rgb(17 24 39 / 28%);
}
.PolicyDocumentManager_navigationGuardDialog > p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}
.PolicyDocumentManager_navigationGuardTitle {
  margin: 0;
  font-size: 19px;
  letter-spacing: -0.025em;
}
.PolicyDocumentManager_navigationGuardWarning,
.PolicyDocumentManager_navigationGuardError {
  padding: 10px 12px;
  border-radius: 9px;
  font-size: 12px;
  line-height: 1.5;
}
.PolicyDocumentManager_navigationGuardWarning {
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
}
.PolicyDocumentManager_navigationGuardError {
  background: var(--ad-danger-surface, #fff0ef);
  color: var(--ad-danger-text, #a42b20);
}
.PolicyDocumentManager_navigationGuardActions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 3px;
}
@media (max-width: 760px) {
  .PolicyDocumentManager_listFilters,
  .PolicyDocumentManager_optionGrid {
    grid-template-columns: 1fr;
  }
  .PolicyDocumentManager_listRow {
    grid-template-columns: minmax(0, 1fr);
  }
  .PolicyDocumentManager_publicLink {
    justify-self: start;
  }
}
@media (max-width: 620px) {
  .PolicyDocumentManager_listToolbar,
  .PolicyDocumentManager_editorHeader,
  .PolicyDocumentManager_historyRow,
  .PolicyDocumentManager_scopeIntro {
    display: grid;
  }
  .PolicyDocumentManager_count {
    justify-self: start;
  }
  .PolicyDocumentManager_statusLine,
  .PolicyDocumentManager_editorActions {
    justify-content: flex-start;
  }
  .PolicyDocumentManager_navigationGuardDialog {
    padding: 20px;
  }
  .PolicyDocumentManager_navigationGuardActions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .PolicyDocumentManager_navigationGuardActions > button {
    width: 100%;
  }
  .PolicyDocumentManager_advancedDetails > summary,
  .PolicyDocumentManager_preview > summary,
  .PolicyDocumentManager_history > summary {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding: 8px 0;
  }
}

/* php-app/frontend/src/pages/cms/cms.css */
.cms-public-page {
  min-height: 60vh;
}
.cms-public-page > h1 {
  max-width: 18ch;
}
.cms-public-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin: 28px 0 24px;
}
.cms-public-search {
  display: flex;
  align-items: end;
  gap: 8px;
  width: min(100%, 620px);
}
.cms-public-search label,
.cms-search-grid label {
  display: grid;
  gap: 7px;
  color: var(--public-heading, #183148);
  font-size: 13px;
  font-weight: 700;
}
.cms-public-search label {
  flex: 1;
}
.cms-public-search input,
.cms-search-grid input,
.cms-search-grid select {
  min-height: 48px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  padding: 10px 14px;
  background: var(--public-surface, #fff);
  color: var(--public-heading, #183148);
  font: inherit;
  font-weight: 400;
}
.cms-public-search input:focus,
.cms-search-grid input:focus,
.cms-search-grid select:focus {
  border-color: #233e7b;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(35, 62, 123, .15);
}
.cms-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cms-card {
  display: grid;
  gap: 11px;
  border: 1px solid var(--public-line, #dedede);
  border-radius: var(--public-radius, 4px);
  padding: clamp(18px, 3vw, 28px);
  background: var(--public-surface, #fff);
}
.cms-card h2,
.cms-card h3 {
  margin: 0;
  color: var(--public-heading, #183148);
  font-size: clamp(19px, 2vw, 25px);
  line-height: 1.35;
  letter-spacing: -.04em;
}
.cms-card h2 a,
.cms-card h3 a {
  color: inherit;
  text-decoration: none;
}
.cms-card h2 a:hover,
.cms-card h2 a:focus-visible,
.cms-card h3 a:hover,
.cms-card h3 a:focus-visible {
  color: var(--public-primary, #075d73);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.cms-card p {
  margin: 0;
  color: var(--public-muted, #666);
  line-height: 1.75;
}
.cms-card-meta,
.cms-card-actions,
.cms-detail-meta {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  color: var(--public-muted, #777);
  font-size: 12px;
}
.cms-card-meta strong {
  color: var(--public-primary, #075d73);
}
.cms-card-actions {
  margin-top: 2px;
}
.cms-card-actions a,
.cms-inline-link {
  color: var(--public-primary, #075d73);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.cms-card-actions a:hover,
.cms-card-actions a:focus-visible,
.cms-inline-link:hover,
.cms-inline-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cms-empty,
.cms-state {
  display: grid;
  justify-items: start;
  gap: 8px;
  border: 1px solid var(--public-line, #dedede);
  border-radius: var(--public-radius, 4px);
  padding: 26px;
  background: var(--public-surface, #fff);
}
.cms-empty h2,
.cms-state h2 {
  margin: 0;
  color: var(--public-heading, #183148);
  font-size: 20px;
}
.cms-empty p,
.cms-state p {
  margin: 0;
  color: var(--public-muted, #666);
  line-height: 1.7;
}
.cms-state[role=alert] {
  border-color: #dca8a2;
  background: #fff8f7;
}
.cms-detail {
  gap: 18px;
  margin-top: 30px;
}
.cms-detail > h1,
.cms-detail > h2 {
  margin: 0;
  color: var(--public-heading, #183148);
  font-size: clamp(28px, 5vw, 48px);
  line-height: 1.18;
  letter-spacing: -.06em;
}
.cms-detail .section-lead {
  margin: 0;
}
.cms-detail-body {
  padding-top: 16px;
  border-top: 1px solid var(--public-line, #dedede);
}
.cms-detail-body p {
  color: var(--public-body, #30383d);
}
.cms-detail-body img,
.cms-detail-body video {
  max-width: 100%;
  height: auto;
}
.cms-detail-source {
  padding-top: 15px;
  border-top: 1px solid var(--public-line, #dedede);
  color: var(--public-muted, #777);
  font-size: 12px;
  line-height: 1.6;
}
.cms-cancellation-detail {
  gap: 24px;
}
.cms-cancellation-intro {
  display: grid;
  gap: 8px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--public-line, #dedede);
}
.cms-cancellation-intro h2,
.cms-cancellation-schedule h3,
.cms-cancellation-freeze h3,
.cms-cancellation-cost h3 {
  margin: 0;
  color: var(--public-heading, #183148);
  line-height: 1.35;
  letter-spacing: -.04em;
}
.cms-cancellation-intro h2 {
  font-size: clamp(24px, 3vw, 34px);
}
.cms-cancellation-status,
.cms-cancellation-cost,
.cms-cancellation-freeze {
  display: grid;
  gap: 7px;
  padding: 16px 18px;
  border: 1px solid var(--public-line, #dedede);
  border-radius: var(--public-radius, 4px);
  background: var(--public-subtle, #f5f7f5);
}
.cms-cancellation-status {
  border-color: #d9b477;
  background: #fffaf1;
}
.cms-cancellation-status strong,
.cms-cancellation-cost h3 {
  color: var(--public-primary, #075d73);
}
.cms-cancellation-status p,
.cms-cancellation-cost p,
.cms-cancellation-freeze p {
  margin: 0;
  color: var(--public-body, #30383d);
  line-height: 1.7;
}
.cms-cancellation-schedule-grid {
  display: grid;
  gap: 24px;
}
.cms-cancellation-schedule {
  display: grid;
  gap: 10px;
}
.cms-cancellation-schedule h3 {
  font-size: 20px;
}
.cms-cancellation-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--public-line, #dedede);
  border-radius: var(--public-radius, 4px);
}
.cms-cancellation-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: var(--public-surface, #fff);
  color: var(--public-body, #30383d);
  font-size: 14px;
  line-height: 1.5;
}
.cms-cancellation-table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.cms-cancellation-table th,
.cms-cancellation-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--public-line, #dedede);
  text-align: left;
  vertical-align: top;
}
.cms-cancellation-table thead th {
  background: var(--public-subtle, #f5f7f5);
  color: var(--public-heading, #183148);
  font-size: 12px;
  font-weight: 700;
}
.cms-cancellation-table tbody tr:last-child th,
.cms-cancellation-table tbody tr:last-child td {
  border-bottom: 0;
}
.cms-cancellation-table tbody th {
  width: 52%;
  color: var(--public-heading, #183148);
  font-weight: 600;
}
.cms-cancellation-freeze {
  border-top: 2px solid var(--public-primary, #075d73);
}
.cms-cancellation-freeze h3 {
  font-size: 20px;
}
.cms-search-grid {
  display: grid;
  gap: 14px;
}
.cms-search-bar {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.cms-search-query {
  flex: 1 1 auto;
  min-width: 0;
}
.cms-search-query input {
  width: 100%;
}
.cms-search-details > summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  color: var(--public-heading, #222824);
  font-size: 14px;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}
.cms-search-details > summary::-webkit-details-marker {
  display: none;
}
.cms-search-details-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cms-search-details-label::after {
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s ease, margin .2s ease;
  content: "";
}
.cms-search-details[open] .cms-search-details-label::after {
  margin-top: 4px;
  transform: rotate(-135deg);
}
.cms-search-details > summary:focus-visible {
  border-radius: 3px;
  outline: 2px solid #233e7b;
  outline-offset: 3px;
}
.cms-search-applied {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef1f8;
  color: #233e7b;
  font-size: 12px;
  font-weight: 700;
}
.cms-search-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 14px;
  margin-top: 10px;
  padding: 20px;
  border: 1px solid var(--public-line, #e3e6e0);
  border-radius: 5px;
  background: var(--public-surface, #fff);
}
.cms-search-filters input,
.cms-search-filters select {
  width: 100%;
  min-width: 0;
}
.cms-search-filters input[type=date] {
  display: block;
  -webkit-appearance: none;
  appearance: none;
  text-align: left;
  line-height: 1.4;
}
.cms-search-filters input[type=date]::-webkit-date-and-time-value {
  text-align: left;
}
.cms-search-filters input[type=date]::-webkit-calendar-picker-indicator {
  opacity: .55;
  cursor: pointer;
}
.cms-search-result-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--public-muted, #777);
  font-size: 12px;
}
.cms-public-page a:focus-visible,
.cms-public-page button:focus-visible {
  outline-color: var(--public-primary, #075d73);
}
@media (max-width: 700px) {
  .cms-public-search {
    display: grid;
    align-items: stretch;
  }
  .cms-public-search .dark-btn {
    justify-self: start;
  }
  .cms-search-filters {
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .cms-card,
  .cms-empty,
  .cms-state,
  .cms-cancellation-status,
  .cms-cancellation-cost,
  .cms-cancellation-freeze {
    padding: 20px;
  }
}
@media (prefers-color-scheme: dark) {
  .cms-card,
  .cms-empty,
  .cms-state,
  .cms-public-search input,
  .cms-search-grid input,
  .cms-search-grid select {
    border-color: #3a3f43;
    background: var(--public-surface, #202426);
  }
  .cms-state[role=alert] {
    border-color: #74413c;
    background: #2d2322;
  }
  .cms-cancellation-status {
    border-color: #80612d;
    background: #2d2921;
  }
}
.cms-hub {
  display: grid;
  gap: 34px;
  margin-top: 8px;
}
.cms-hub-section {
  display: grid;
  gap: 14px;
}
.cms-hub-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--public-line, #dedede);
}
.cms-hub-heading h2 {
  margin: 0;
  font-size: 22px;
  letter-spacing: -.04em;
}
.cms-hub-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.cms-hub-grid .cms-card h3 {
  margin: 0;
  font-size: 18px;
}
.cms-hub-empty {
  margin: 0;
}
.cms-hub-contact p {
  margin: 0;
}
.cms-hub-contact .cms-card-actions {
  gap: 18px;
  margin-top: 6px;
}
@media (max-width: 600px) {
  .cms-hub {
    gap: 26px;
  }
  .cms-hub-grid {
    grid-template-columns: 1fr;
  }
}
.support-airy .cms-public-search {
  align-items: end;
}
.support-airy .cms-public-search .dark-btn {
  flex: 0 0 auto;
  min-width: 96px;
}
.public-page.support-airy .cms-search-bar .dark-btn {
  flex: 0 0 auto;
  min-width: 96px;
  min-height: 52px;
}
.public-page.support-airy .cms-search-grid .cms-search-query input:not([type=hidden]):not([type=checkbox]) {
  min-height: 52px;
  padding: 12px 16px;
  font-size: 16px;
}
.support-airy .cms-search-panel {
  margin-top: 32px;
}
.support-airy .cms-search-summary {
  align-items: baseline;
  margin: 40px 0 16px;
}
.support-airy .cms-search-summary h2 {
  margin: 0;
  color: #222824;
  font-size: 22px;
  letter-spacing: -.02em;
}
.support-airy .cms-detail > h2 {
  font-size: clamp(26px, 3vw, 32px);
  line-height: 1.3;
  letter-spacing: -.03em;
  word-break: keep-all;
}
.public-page.support-airy > .cms-doc-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  margin: 14px 0 0;
  color: #656e66;
  font-size: 14px;
  line-height: 1.6;
}
.public-page.support-airy > .cms-doc-meta > * + *::before {
  content: "·";
  margin-right: 8px;
  color: #b9c0b6;
  font-weight: 400;
}
.public-page.support-airy > .cms-doc-meta time {
  margin-left: 2px;
  color: #222824;
  font-weight: 700;
}
.public-page.support-airy > .cms-doc-meta .cms-inline-link {
  font-size: 14px;
}
.public-page.support-airy .cms-hub {
  gap: 56px;
  margin-top: 40px;
}
.support-airy .cms-hub-heading {
  align-items: flex-end;
  padding-bottom: 0;
  border-bottom: 0;
}
.support-airy .cms-hub-section {
  gap: 18px;
}
.support-airy .cms-hub-heading h2 {
  color: #222824;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.035em;
}
.support-airy .cms-hub-heading h2::before {
  display: block;
  width: 22px;
  height: 3px;
  margin: 0 0 12px;
  border-radius: 2px;
  background: #233e7b;
  content: "";
}
@media (max-width: 700px) {
  .support-airy .cms-public-search .dark-btn {
    justify-self: stretch;
    width: 100%;
  }
  .public-page.support-airy .cms-search-bar .dark-btn {
    min-width: 72px;
    padding: 0 18px;
  }
}
.public-page.support-airy.cms-support-page .cms-card,
.public-page.support-airy.cms-support-page .cms-cancellation-table-wrap {
  border-color: #cdd3ca;
}
.public-page.support-airy.cms-support-page .cms-detail-body,
.public-page.support-airy.cms-support-page .cms-detail-source,
.public-page.support-airy.cms-support-page .cms-cancellation-intro,
.public-page.support-airy.cms-support-page .cms-cancellation-table th,
.public-page.support-airy.cms-support-page .cms-cancellation-table td,
.public-page.support-airy.cms-support-page .cms-detail hr,
.public-page.support-airy.cms-support-page .cms-detail [data-section-id=related],
.public-page.support-airy.cms-support-page .cms-detail [data-section-id=related] li {
  border-color: #edf0eb;
}
.public-page.support-airy > .cms-page-rule {
  height: 1px;
  margin: 32px 0 40px;
  background: #e3e6e0;
  box-shadow: 0 0 0 100vmax #e3e6e0;
  clip-path: inset(0 -100vmax);
}
.public-page.support-airy > .cms-crumbs {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.5;
}
.cms-crumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cms-crumbs li + li::before {
  margin-right: 8px;
  color: #9aa39b;
  content: "›";
  content: "›" / "";
}
.cms-crumbs a {
  color: #233e7b;
  font-weight: 600;
  text-decoration: none;
}
.cms-crumbs a:hover,
.cms-crumbs a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cms-crumbs a[aria-current=page] {
  color: #222824;
}
.cms-doc-layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}
.cms-doc-main {
  min-width: 0;
}
.public-page.support-airy .cms-doc-main > .cms-detail,
.public-page.support-airy .cms-doc-main > .cms-state {
  margin-top: 0;
}
.cms-doc-nav {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 2px;
  min-width: 0;
  max-height: calc(100vh - 112px);
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
.cms-doc-nav-title {
  margin: 0;
  padding: 0 12px 10px;
  color: #656e66;
  font-size: 13px;
  font-weight: 700;
}
.cms-doc-nav ul {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cms-doc-nav .cms-doc-nav-more {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e3e6e0;
}
.cms-doc-nav a {
  display: block;
  padding: 10px 12px;
  border-left: 2px solid transparent;
  color: #222824;
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
  word-break: keep-all;
}
.cms-doc-nav a:hover {
  color: #233e7b;
}
.cms-doc-nav a:focus-visible {
  outline: 2px solid #233e7b;
  outline-offset: -2px;
}
.cms-doc-nav a[aria-current=page] {
  border-left-color: #233e7b;
  color: #233e7b;
  font-weight: 800;
}
.public-page.support-airy.cms-support-page .cms-detail-body [data-product-content] > h2 {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid #e3e6e0;
  color: #222824;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -.03em;
}
.public-page.support-airy.cms-support-page .cms-detail-body [data-product-content] > h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
@media (max-width: 899.98px) {
  .cms-doc-layout {
    display: block;
  }
  .cms-doc-nav {
    position: static;
    display: flex;
    max-height: none;
    overflow-y: hidden;
    gap: 6px;
    margin: 0 0 24px;
    padding-bottom: 4px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .cms-doc-nav::-webkit-scrollbar {
    display: none;
  }
  .cms-doc-nav-title {
    display: none;
  }
  .cms-doc-nav ul {
    display: flex;
    flex: none;
    gap: 6px;
  }
  .cms-doc-nav .cms-doc-nav-more {
    margin: 0;
    padding: 0;
    border: 0;
  }
  .cms-doc-nav a {
    padding: 8px 12px;
    border: 1px solid #d7dcd5;
    border-radius: 5px;
    background: #fff;
    font-size: 14px;
    white-space: nowrap;
  }
  .cms-doc-nav a[aria-current=page] {
    border-color: #233e7b;
    font-weight: 700;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cms-search-details-label::after {
    transition: none;
  }
}

/* app/search/SearchProductCard.module.css */
.SearchProductCard_card {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  padding: 20px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #fff;
  color: #222824;
  text-decoration: none;
  transition: border-color .15s ease;
}
.SearchProductCard_card[data-has-image=false] {
  grid-template-columns: minmax(0, 1fr);
}
.SearchProductCard_card:hover {
  border-color: #c3cac0;
}
.SearchProductCard_card:hover .SearchProductCard_title {
  color: #233e7b;
}
.SearchProductCard_card:focus-visible {
  outline: 2px solid #233e7b;
  outline-offset: 2px;
}
.SearchProductCard_media {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 5px;
  background: #f5f6f3;
}
.SearchProductCard_media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.SearchProductCard_body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
}
.SearchProductCard_chips {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: #656e66;
  font-size: 12px;
}
.SearchProductCard_chip {
  display: inline-flex;
  padding: 3px 9px;
  border-radius: 999px;
  background: #eef1f8;
  color: #233e7b;
  font-weight: 700;
}
.SearchProductCard_title {
  margin: 10px 0 6px;
  color: #222824;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -.02em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.SearchProductCard_summary {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  color: #656e66;
  font-size: 14px;
  line-height: 1.7;
}
.SearchProductCard_match {
  margin: 6px 0 0;
  color: #656e66;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
}
.SearchProductCard_footer {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 16px;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 14px;
}
.SearchProductCard_meta {
  min-width: 0;
  color: #656e66;
  font-size: 13px;
}
.SearchProductCard_price {
  margin-left: auto;
  color: #222824;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
.SearchProductCard_price small {
  margin-left: 2px;
  color: #656e66;
  font-size: 13px;
  font-weight: 500;
}
.SearchProductCard_consult {
  color: #656e66;
  font-size: 14px;
  font-weight: 600;
}
@media (max-width: 700px) {
  .SearchProductCard_card {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
  }
  .SearchProductCard_media {
    aspect-ratio: 16 / 9;
  }
  .SearchProductCard_title {
    margin-top: 8px;
  }
}

/* php-app/frontend/src/pages/identity/identity.css */
.identity-public-shell .identity-button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 26px;
  text-align: center;
}
.identity-loading-shell {
  color: var(--ink);
}
.identity-loading-shell .login-card p {
  margin: 0;
  color: var(--muted);
}
@media (max-width: 900px) {
  .identity-public-shell .auth-aside {
    min-height: 250px;
  }
}

/* app/account/WithdrawSection.module.css */
.WithdrawSection_card {
  grid-column: 1 / -1;
}
.WithdrawSection_notice {
  display: grid;
  gap: 12px;
}
.WithdrawSection_facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 0;
}
.WithdrawSection_facts > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--public-subtle);
}
.WithdrawSection_facts dt {
  font-size: 12px;
  font-weight: 700;
  color: var(--public-heading);
}
.WithdrawSection_facts dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--public-body);
  overflow-wrap: anywhere;
}
.WithdrawSection_cautions {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--public-body);
}
.WithdrawSection_form {
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--public-line);
}
.WithdrawSection_field {
  display: grid;
  gap: 6px;
  max-width: 360px;
  font-size: 13px;
  color: var(--public-muted);
}
.WithdrawSection_field input {
  width: 100%;
  border: 1px solid var(--public-line);
  border-radius: 8px;
  padding: 9px 11px;
  font-size: 15px;
  background: var(--public-auth-input);
  color: var(--public-heading);
}
.WithdrawSection_confirm {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--public-heading);
  cursor: pointer;
}
.WithdrawSection_confirm input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--public-auth-error-text);
}
.WithdrawSection_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
button.WithdrawSection_danger,
button.WithdrawSection_danger:hover {
  background: var(--public-auth-error-text);
  border-color: var(--public-auth-error-text);
  color: var(--public-on-primary);
}
button.WithdrawSection_danger:hover:not(:disabled) {
  box-shadow: 0 0 0 3px var(--public-auth-error-border);
}
button.WithdrawSection_danger:disabled {
  cursor: not-allowed;
}
.WithdrawSection_blocked {
  display: grid;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--public-auth-error-border);
  border-radius: 10px;
  background: var(--public-auth-error-surface);
}
.WithdrawSection_blockedTitle {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--public-body);
}
.WithdrawSection_blockedTitle b {
  color: var(--public-auth-error-text);
}
.WithdrawSection_blockerList {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.WithdrawSection_blockerList li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 12px;
  padding: 10px 0;
  border-top: 1px solid var(--public-auth-error-border);
}
.WithdrawSection_blockerList li:first-child {
  padding-top: 0;
  border-top: 0;
}
.WithdrawSection_blockerCopy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  min-width: 0;
}
.WithdrawSection_blockerCopy small {
  font-size: 12px;
  color: var(--public-muted);
}
.WithdrawSection_blockerCopy b {
  font-size: 14px;
  color: var(--public-heading);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.WithdrawSection_blockedActions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
}
@media (max-width: 600px) {
  .WithdrawSection_facts {
    grid-template-columns: 1fr;
  }
  .WithdrawSection_field {
    max-width: none;
  }
  .WithdrawSection_actions button.WithdrawSection_danger {
    width: 100%;
  }
}

/* app/account/SocialConnections.module.css */
.SocialConnections_form input:not([type=checkbox]) {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--public-border, #d7dcd5);
  border-radius: var(--public-radius, 8px);
  padding: 10px 14px;
  background: var(--public-surface, #fff);
  color: var(--public-heading, #1f2937);
  font: inherit;
  font-size: 16px;
}
.SocialConnections_form input:not([type=checkbox]):focus-visible {
  outline: 2px solid var(--public-primary, #233e7b);
  outline-offset: 2px;
}

/* app/admin/access-log/AccessLog.module.css */
.AccessLog_page {
  --access-ink: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
  --access-label: var(--ad-text-label, #424656);
  --access-muted: var(--ad-text-muted, #727687);
  --access-subtle: var(--ad-text-subtle, #687481);
  --access-surface: var(--ad-surface, var(--wmr-surface, #fff));
  --access-sunken: var(--ad-surface-sunken, var(--wmr-background, #f8f9fb));
  --access-line: var(--ad-line-field, #dfe4eb);
  --access-divider: var(--ad-line-divider, #edf0f4);
  --access-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --access-accent-surface: var(--ad-accent-surface, #eaf2ff);
  --access-warning: var(--ad-warning-text, #7e5800);
  --access-warning-surface: var(--ad-warning-surface, #fff7e6);
  --access-danger: var(--ad-danger-text, #a4332d);
  --access-danger-surface: var(--ad-danger-surface, #fff1f0);
  --access-success: var(--ad-success-text, #277144);
  --access-success-surface: var(--ad-success-surface, #edf7ee);
  display: grid;
  gap: 18px;
  color: var(--access-ink);
}
.AccessLog_topbar {
  align-items: flex-start;
}
.AccessLog_heading {
  min-width: 0;
  max-width: 76ch;
}
.AccessLog_heading h1 {
  margin: 0;
  color: var(--access-ink);
  font-size: clamp(1.75rem, 2.6vw, 2rem);
  line-height: 1.2;
  letter-spacing: -0.035em;
}
.AccessLog_heading > .eyebrow {
  margin: 0 0 6px;
}
.AccessLog_bodyCopy {
  margin: 8px 0 0;
  color: var(--access-muted);
  font-size: 14px;
  line-height: 1.6;
}
.AccessLog_headerActions {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.AccessLog_card {
  margin: 0;
  padding: clamp(17px, 2vw, 23px);
  background: var(--access-surface);
  border-color: var(--ad-line-card, #eef0f4);
}
.AccessLog_sectionHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.AccessLog_sectionHeading h2 {
  margin: 0;
  color: var(--access-ink);
  font-size: 19px;
  line-height: 1.35;
  letter-spacing: -0.02em;
}
.AccessLog_sectionHeading .eyebrow {
  margin: 0 0 4px;
}
.AccessLog_sectionHint,
.AccessLog_fieldHelp {
  margin: 0;
  color: var(--access-muted);
  font-size: 13px;
  line-height: 1.55;
}
.AccessLog_filterForm,
.AccessLog_reviewForm {
  gap: 13px;
}
.AccessLog_rangeFieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.AccessLog_rangeFieldset legend {
  margin-bottom: 10px;
  color: var(--access-label);
  font-size: 14px;
  font-weight: 700;
}
.AccessLog_rangeGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.AccessLog_dateField {
  display: grid;
  gap: 7px;
  color: var(--access-label);
  font-size: 14px;
  font-weight: 600;
}
.AccessLog_filterForm input[type=date],
.AccessLog_reviewForm textarea {
  min-width: 0;
  min-height: 44px;
  font: inherit;
}
.AccessLog_filterForm input[type=date] {
  padding: 10px 12px;
  color: var(--access-ink);
}
.AccessLog_filterForm input[type=date]:focus-visible,
.AccessLog_reviewForm textarea:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.AccessLog_fieldHelp {
  margin-top: 8px;
}
.AccessLog_fieldError {
  margin: 8px 0 0;
  color: var(--access-danger);
  font-size: 13px;
  line-height: 1.5;
}
.AccessLog_checkboxRow {
  display: flex !important;
  align-items: center;
  gap: 10px !important;
  min-height: 44px;
  width: fit-content;
  max-width: 100%;
  color: var(--access-label) !important;
  font-size: 14px !important;
  line-height: 1.45;
  cursor: pointer;
}
.AccessLog_filterForm input[type=checkbox] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  flex: 0 0 20px;
  margin: 0;
  accent-color: var(--access-accent);
}
.AccessLog_filterActions,
.AccessLog_reviewActions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.AccessLog_actionButton {
  min-height: 44px;
  padding-inline: 15px;
  white-space: nowrap;
}
.AccessLog_draftNotice {
  color: var(--access-warning);
  font-size: 13px;
  line-height: 1.5;
}
.AccessLog_scopeCard {
  border-color: var(--ad-accent-line, #cfe0ff);
}
.AccessLog_scopeGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}
.AccessLog_scopeGrid > div {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--access-line);
  border-radius: 12px;
  background: var(--access-sunken);
}
.AccessLog_scopeGrid dt {
  color: var(--access-muted);
  font-size: 12px;
  line-height: 1.45;
}
.AccessLog_scopeGrid dd {
  margin: 5px 0 0;
  color: var(--access-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.AccessLog_scopeGrid small {
  display: block;
  margin-top: 4px;
  color: var(--access-muted);
  font-size: 12px;
  line-height: 1.45;
}
.AccessLog_scopeNotice,
.AccessLog_reviewScope {
  margin: 13px 0 0;
  color: var(--access-subtle);
  font-size: 13px;
  line-height: 1.6;
}
.AccessLog_scopeDetails {
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid var(--access-divider);
}
.AccessLog_scopeDetails summary {
  width: fit-content;
  max-width: 100%;
  color: var(--access-label);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}
.AccessLog_scopeDetails summary:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 3px;
  border-radius: 4px;
}
.AccessLog_scopeDetails p {
  max-width: 78ch;
  margin: 8px 0 0;
  color: var(--access-subtle);
  font-size: 13px;
  line-height: 1.6;
}
.AccessLog_scopeWarning {
  display: grid;
  gap: 4px;
  margin: 13px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--ad-danger-line, #f0c5c2);
  border-radius: 11px;
  background: var(--access-danger-surface);
  color: var(--access-danger);
  font-size: 13px;
  line-height: 1.55;
}
.AccessLog_scopeWarning p {
  margin: 0;
}
.AccessLog_summaryGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 12px;
}
.AccessLog_summaryGrid > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--access-line);
  border-radius: 12px;
  background: var(--access-sunken);
}
.AccessLog_summaryGrid dt {
  color: var(--access-muted);
  font-size: 13px;
  line-height: 1.45;
}
.AccessLog_summaryGrid dd {
  margin: 5px 0 0;
  color: var(--access-ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}
.AccessLog_summaryGrid dd span {
  margin-left: 4px;
  color: var(--access-muted);
  font-size: 13px;
  font-weight: 500;
}
.AccessLog_listHeading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0 8px;
}
.AccessLog_listHeading h3 {
  margin: 0;
  color: var(--access-label);
  font-size: 15px;
}
.AccessLog_listHeading > span {
  color: var(--access-muted);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.AccessLog_recordList {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--access-divider);
  list-style: none;
}
.AccessLog_recordRow {
  min-width: 0;
  padding: 15px 0;
  border-bottom: 1px solid var(--access-divider);
}
.AccessLog_recordMain {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.AccessLog_recordTitle {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}
.AccessLog_recordTitle strong {
  color: var(--access-ink);
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.AccessLog_recordIdentity,
.AccessLog_recordMeta {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 12px;
  min-width: 0;
  margin: 0;
  color: var(--access-muted);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.AccessLog_recordMeta {
  color: var(--access-subtle);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.AccessLog_recordMeta span {
  overflow-wrap: anywhere;
}
.AccessLog_actionCode {
  max-width: 100%;
  padding: 2px 6px;
  border-radius: 5px;
  background: var(--access-sunken);
  color: var(--access-subtle);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.AccessLog_emptyState {
  display: grid;
  gap: 5px;
  padding: 20px 14px;
  border: 1px dashed var(--access-line);
  border-radius: 12px;
  background: var(--access-sunken);
}
.AccessLog_emptyState strong {
  color: var(--access-ink);
  font-size: 14px;
}
.AccessLog_emptyState p {
  margin: 0;
  color: var(--access-muted);
  font-size: 13px;
  line-height: 1.5;
}
.AccessLog_reviewCard {
  border-color: var(--ad-accent-line, #cfe0ff);
}
.AccessLog_lastReview {
  margin: 9px 0 0;
  color: var(--access-muted);
  font-size: 13px;
  line-height: 1.55;
}
.AccessLog_previousNote {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid var(--ad-accent-line, #cfe0ff);
  border-radius: 10px;
  background: var(--access-accent-surface);
}
.AccessLog_previousNote strong {
  color: var(--access-label);
  font-size: 13px;
}
.AccessLog_previousNote p {
  margin: 5px 0 0;
  color: var(--access-ink);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.AccessLog_noteField {
  display: grid;
  gap: 7px;
  color: var(--access-label);
  font-size: 14px;
  font-weight: 600;
}
.AccessLog_noteField > span {
  display: inline;
  color: var(--access-muted);
  font-size: 13px;
  font-weight: 400;
}
.AccessLog_reviewForm textarea {
  min-height: 88px;
  resize: vertical;
  padding: 10px 12px;
  border-color: var(--access-line);
  color: var(--access-ink);
  line-height: 1.5;
}
.AccessLog_successMessage {
  margin: 0;
  color: var(--access-success);
  font-size: 13px;
  line-height: 1.5;
}
.AccessLog_loadingState {
  margin: 0;
  padding: 9px 0;
  color: var(--access-muted);
  font-size: 14px;
  line-height: 1.5;
}
.AccessLog_notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
@media (max-width: 900px) {
  .AccessLog_scopeGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .AccessLog_topbar {
    display: grid;
    gap: 12px;
  }
  .AccessLog_headerActions {
    justify-content: flex-start;
  }
  .AccessLog_headerActions .AccessLog_actionButton {
    flex: 1 1 100%;
  }
  .AccessLog_rangeGrid,
  .AccessLog_scopeGrid,
  .AccessLog_summaryGrid {
    grid-template-columns: 1fr;
  }
  .AccessLog_sectionHeading {
    display: grid;
    gap: 9px;
  }
  .AccessLog_sectionHint {
    margin-top: -8px;
  }
  .AccessLog_filterActions,
  .AccessLog_reviewActions {
    align-items: stretch;
  }
  .AccessLog_filterActions .AccessLog_actionButton,
  .AccessLog_reviewActions .AccessLog_actionButton {
    width: 100%;
  }
  .AccessLog_listHeading {
    align-items: flex-start;
  }
}
.AccessLog_searchGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 16px;
  align-items: end;
}
.AccessLog_searchGrid label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--access-label);
}
.AccessLog_searchGrid select,
.AccessLog_searchGrid input[type=text],
.AccessLog_searchGrid input:not([type]),
.AccessLog_searchGrid input[type=date] {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--access-line);
  border-radius: 8px;
  background: var(--access-surface);
  color: var(--access-ink);
  font: inherit;
  font-weight: 400;
}
.AccessLog_fieldHelpInline {
  font-weight: 400;
  color: var(--access-muted);
}
.AccessLog_detailList {
  margin: 6px 0 0;
  padding: 8px 12px;
  list-style: none;
  display: grid;
  gap: 3px;
  background: var(--access-sunken);
  border-radius: 8px;
  font-size: 13px;
  color: var(--access-label);
  word-break: break-all;
}
@media (max-width: 900px) {
  .AccessLog_searchGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .AccessLog_searchGrid {
    grid-template-columns: 1fr;
  }
}

/* app/admin/members/Members.module.css */
.Members_page {
  --member-ink: var(--ad-text-primary, var(--wmr-text-primary, #17191d));
  --member-muted: var(--ad-text-muted, var(--wmr-text-tertiary, #666e7b));
  --member-line: var(--ad-line-divider, var(--wmr-border, #e8eaed));
  --member-field-line: var(--ad-line-field, #dfe4eb);
  --member-soft: var(--ad-surface-subtle, var(--wmr-background, #f8f9fa));
  --member-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --member-accent-soft: var(--ad-accent-surface, var(--wmr-admin-primary-subtle, #eaf2ff));
  color: var(--member-ink);
}
.Members_headerActions,
.Members_filterActions,
.Members_inlineActions,
.Members_pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.Members_headerActions {
  justify-content: flex-end;
}
.Members_restoreNotice {
  margin: 0 0 12px;
  color: var(--member-muted);
  font-size: 12px;
  line-height: 1.5;
}
.Members_headerActions .admin-btn,
.Members_filterActions .admin-btn,
.Members_inlineActions .admin-btn,
.Members_pagination .admin-btn,
.Members_statusForm .admin-btn {
  min-height: 44px;
}
.Members_statePanel h1,
.Members_statePanel h2 {
  margin: 0;
  font-size: 18px;
}
.Members_statePanel p {
  max-width: 65ch;
  margin: 9px 0 16px;
  color: var(--member-muted);
  line-height: 1.6;
}
.Members_listSurface {
  min-width: 0;
}
.Members_toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(165px, 220px) auto;
  align-items: end;
  gap: 14px;
  margin-bottom: 18px;
}
.Members_searchField,
.Members_statusField {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--member-muted);
  font-size: 12px;
  font-weight: 600;
}
.Members_searchField input,
.Members_statusField select,
.Members_statusForm textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--member-field-line);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--member-ink);
}
.Members_searchField input,
.Members_statusField select {
  min-height: 44px;
  padding: 9px 11px;
}
.Members_searchField small {
  min-height: 18px;
  color: var(--member-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}
.Members_searchField input:focus-visible,
.Members_statusField select:focus-visible,
.Members_statusForm textarea:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.Members_filterActions {
  justify-content: flex-end;
  padding-bottom: 18px;
}
.Members_resultSummary {
  margin: 0 0 10px;
  color: var(--member-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.Members_tableFrame {
  overflow: hidden;
  border-top: 1px solid var(--member-line);
}
.Members_table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 13px;
}
.Members_table th {
  padding: 13px 10px;
  border-bottom: 1px solid var(--member-line);
  color: var(--member-muted);
  font-size: 12px;
  font-weight: 600;
}
.Members_table td {
  padding: 14px 10px;
  border-bottom: 1px solid var(--member-line);
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.Members_table tbody tr:hover {
  background: var(--ad-surface-hover, #f6f8fb);
}
.Members_memberName,
.Members_memberId {
  display: block;
}
.Members_memberName {
  font-weight: 700;
}
.Members_memberId {
  margin-top: 3px;
  color: var(--member-muted);
  font-size: 11px;
}
.Members_detailLink,
.Members_backLink,
.Members_relatedTitle {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: var(--member-accent);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: text-decoration-color 160ms ease;
}
.Members_detailLink:hover,
.Members_backLink:hover,
.Members_relatedTitle:hover {
  text-decoration-color: currentColor;
}
.Members_pagination {
  justify-content: center;
  margin-top: 20px;
}
.Members_pagination span {
  min-width: 110px;
  color: var(--member-muted);
  font-size: 12px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.Members_emptyState,
.Members_loadingState {
  display: grid;
  justify-items: start;
  gap: 8px;
  padding: 28px 4px 12px;
}
.Members_emptyState h2 {
  margin: 0;
  font-size: 17px;
}
.Members_emptyState p,
.Members_loadingText {
  margin: 0 0 8px;
  color: var(--member-muted);
  font-size: 13px;
  line-height: 1.6;
}
.Members_skeletonLine {
  display: block;
  width: min(100%, 620px);
  height: 14px;
  border-radius: 4px;
  background: var(--member-soft);
}
.Members_skeletonLine:nth-child(2) {
  width: min(86%, 520px);
}
.Members_skeletonLine:nth-child(3) {
  width: min(72%, 430px);
}
.Members_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.Members_detailHeading {
  min-width: 0;
}
.Members_backLink {
  display: inline-block;
  margin-bottom: 9px;
  font-size: 12px;
}
.Members_detailHeading h1 {
  margin: 0;
  font-size: 26px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.Members_detailHeading .Members_memberId {
  margin: 6px 0 0;
}
.Members_detailLayout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.8fr);
  gap: 34px;
  align-items: start;
}
.Members_mainColumn,
.Members_sideColumn {
  min-width: 0;
}
.Members_section {
  padding: 20px 0 22px;
  border-top: 1px solid var(--member-line);
}
.Members_section:first-child {
  padding-top: 0;
  border-top: 0;
}
.Members_sectionHeading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.Members_sectionHeading h2 {
  margin: 0;
  font-size: 16px;
  letter-spacing: -0.015em;
}
.Members_infoGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
  margin: 0;
}
.Members_infoGrid div {
  min-width: 0;
}
.Members_infoGrid dt {
  margin-bottom: 4px;
  color: var(--member-muted);
  font-size: 12px;
}
.Members_infoGrid dd {
  margin: 0;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.Members_maskingNotice,
.Members_ownerOnly,
.Members_emptyInline,
.Members_listLimitNotice,
.Members_statusExplanation {
  color: var(--member-muted);
  font-size: 12px;
  line-height: 1.6;
}
.Members_maskingNotice {
  margin: -3px 0 14px;
}
.Members_statusExplanation {
  margin: 0 0 14px;
}
.Members_statusAction {
  display: grid;
  justify-items: start;
  gap: 10px;
  margin-top: 14px;
}
.Members_statusActionHint {
  margin: 0;
  color: var(--member-muted);
  font-size: 12px;
  line-height: 1.6;
}
.Members_ownerOnly,
.Members_emptyInline {
  margin: 8px 0 0;
}
.Members_relatedList {
  border-top: 1px solid var(--member-line);
}
.Members_relatedRow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--member-line);
}
.Members_relatedCopy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.Members_relatedCopy span {
  color: var(--member-muted);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.Members_relatedTitle {
  width: fit-content;
  max-width: 100%;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.Members_relatedRow > :last-child {
  flex: 0 0 auto;
  margin-top: 0;
}
.Members_listLimitNotice {
  margin: 9px 0 0;
}
.Members_statusForm {
  display: grid;
  gap: 9px;
  width: 100%;
  margin-top: 2px;
  padding: 15px;
  border: 1px solid var(--member-line);
  border-radius: 12px;
  background: var(--member-soft);
}
.Members_statusForm label {
  font-size: 12px;
  font-weight: 700;
}
.Members_statusForm label span,
.Members_statusForm small {
  color: var(--member-muted);
  font-weight: 400;
}
.Members_statusForm textarea {
  min-height: 92px;
  padding: 9px 10px;
  resize: vertical;
  line-height: 1.5;
}
.Members_statusForm small {
  font-size: 12px;
  line-height: 1.5;
}
.Members_statusForm button {
  justify-self: start;
  margin-top: 3px;
}
.Members_historyList {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--member-line);
}
.Members_historyList li {
  padding: 13px 0;
  border-bottom: 1px solid var(--member-line);
}
.Members_historyHeading {
  display: grid;
  gap: 4px;
}
.Members_historyHeading strong {
  font-size: 12px;
}
.Members_historyHeading span {
  color: var(--member-muted);
  font-size: 12px;
}
.Members_historyList p {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.Members_refreshing {
  margin: -12px 0 16px;
  color: var(--member-muted);
  font-size: 11px;
}
.Members_inlineRetry {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--member-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 900px) {
  .Members_detailLayout {
    grid-template-columns: minmax(0, 1.2fr) minmax(230px, 0.8fr);
    gap: 24px;
  }
}
@media (max-width: 700px) {
  .Members_toolbar {
    grid-template-columns: minmax(0, 1fr) minmax(130px, 0.75fr);
    align-items: start;
  }
  .Members_searchField {
    grid-column: 1 / -1;
  }
  .Members_filterActions {
    justify-content: flex-start;
    padding: 0;
  }
  .Members_tableFrame {
    overflow: visible;
    border-top: 0;
  }
  .Members_table,
  .Members_table tbody {
    display: block;
  }
  .Members_table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .Members_table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2px 14px;
    padding: 13px 0;
    border-top: 1px solid var(--member-line);
  }
  .Members_table td {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 6px 0;
    border: 0;
  }
  .Members_table td::before {
    content: attr(data-label);
    color: var(--member-muted);
    font-size: 10px;
  }
  .Members_table td:first-child,
  .Members_table td:last-child {
    grid-column: 1 / -1;
  }
  .Members_table td:last-child {
    display: flex;
    justify-content: flex-end;
  }
  .Members_detailLayout {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
  .Members_sideColumn {
    order: 0;
  }
  .Members_infoGrid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .Members_relatedRow {
    gap: 8px;
  }
  .Members_relatedRow > :last-child {
    max-width: 42%;
    white-space: normal;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .Members_detailLink,
  .Members_backLink,
  .Members_relatedTitle {
    transition: none;
  }
}

/* app/admin/staff/StaffAccess.module.css */
.StaffAccess_page {
  --staff-ink: var(--ad-text-strong, var(--wmr-text-primary, #17191d));
  --staff-label: var(--ad-text-label, #424656);
  --staff-muted: var(--ad-text-muted, #727687);
  --staff-line: var(--ad-line-divider, #edf0f4);
  --staff-card-line: var(--ad-line-card, #eef0f4);
  --staff-field-line: var(--ad-line-field, #dfe4eb);
  --staff-soft: var(--ad-surface-sunken, #f8f9fb);
  --staff-hover: var(--ad-surface-hover, #f6f8fb);
  --staff-accent: var(--ad-accent, var(--wmr-admin-primary, #0066ff));
  --staff-focus: var(--ad-focus-ring, #9dc9ff);
  color: var(--staff-ink);
}
.StaffAccess_visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.StaffAccess_headerActions,
.StaffAccess_inlineActions,
.StaffAccess_statusActions,
.StaffAccess_formActions,
.StaffAccess_presetActions,
.StaffAccess_recordActions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.StaffAccess_headerActions,
.StaffAccess_recordActions {
  justify-content: flex-end;
}
.StaffAccess_headerActions .admin-btn,
.StaffAccess_inlineActions .admin-btn,
.StaffAccess_statusActions .admin-btn,
.StaffAccess_formActions .admin-btn,
.StaffAccess_presetActions .admin-btn,
.StaffAccess_recordActions .admin-btn {
  min-height: 44px;
}
.StaffAccess_pageDescription {
  max-width: 72ch;
  line-height: 1.6;
}
.StaffAccess_card {
  min-width: 0;
}
.StaffAccess_sectionIntro,
.StaffAccess_helperText,
.StaffAccess_statePanel p,
.StaffAccess_auditMeta,
.StaffAccess_memberMeta,
.StaffAccess_rowSummary,
.StaffAccess_createdNote {
  color: var(--staff-muted);
  font-size: 13px;
  line-height: 1.6;
}
.StaffAccess_sectionIntro {
  margin: 0;
}
.StaffAccess_statePanel {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 22px 0;
}
.StaffAccess_statePanel h2,
.StaffAccess_statePanel p {
  margin: 0;
}
.StaffAccess_statePanel h2 {
  font-size: 18px;
}
.StaffAccess_loadingText {
  margin: 0;
  color: var(--staff-muted);
  font-size: 13px;
}
.StaffAccess_loadingLines {
  display: grid;
  gap: 10px;
  width: min(100%, 640px);
  padding: 22px 0;
}
.StaffAccess_loadingLine {
  height: 14px;
  border-radius: 4px;
  background: var(--staff-soft);
}
.StaffAccess_loadingLine:nth-child(2) {
  width: 82%;
}
.StaffAccess_loadingLine:nth-child(3) {
  width: 68%;
}
.StaffAccess_list {
  margin: 18px 0 0;
  padding: 0;
  border-top: 1px solid var(--staff-line);
  list-style: none;
}
.StaffAccess_staffRow {
  display: grid;
  grid-template-columns: minmax(210px, 1.3fr) minmax(150px, .75fr) minmax(210px, 1.2fr) auto;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 17px 6px;
  border-bottom: 1px solid var(--staff-line);
  transition: background-color 150ms ease;
}
.StaffAccess_staffRow:hover {
  background: var(--staff-hover);
}
.StaffAccess_identity,
.StaffAccess_signals,
.StaffAccess_rowSummary {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.StaffAccess_identityName {
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 700;
}
.StaffAccess_identityEmail {
  overflow-wrap: anywhere;
  color: var(--staff-label);
  font-size: 13px;
}
.StaffAccess_memberMeta {
  font-size: 11px;
}
.StaffAccess_signals {
  justify-items: start;
  gap: 7px;
}
.StaffAccess_signalLine {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.StaffAccess_roleLabel {
  color: var(--staff-label);
  font-size: 13px;
  font-weight: 600;
}
.StaffAccess_rowSummary {
  font-size: 12px;
}
.StaffAccess_rowSummary span {
  display: block;
}
.StaffAccess_detailLink,
.StaffAccess_backLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  color: var(--staff-accent);
  font-size: 13px;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: text-decoration-color 150ms ease;
}
.StaffAccess_detailLink:hover,
.StaffAccess_backLink:hover {
  text-decoration-color: currentColor;
}
.StaffAccess_detailLink:focus-visible,
.StaffAccess_backLink:focus-visible,
.StaffAccess_inlineRetry:focus-visible,
.StaffAccess_codeInput:focus-visible,
.StaffAccess_field input:focus-visible,
.StaffAccess_field select:focus-visible,
.StaffAccess_field textarea:focus-visible,
.StaffAccess_roleSelect:focus-visible,
.StaffAccess_capabilityInput:focus-visible {
  outline: 3px solid var(--staff-focus);
  outline-offset: 2px;
}
.StaffAccess_emptyState {
  display: grid;
  justify-items: start;
  gap: 8px;
  padding: 26px 4px 8px;
}
.StaffAccess_emptyState h2 {
  margin: 0;
  font-size: 17px;
}
.StaffAccess_emptyState p {
  max-width: 66ch;
  margin: 0 0 8px;
  color: var(--staff-muted);
  font-size: 13px;
  line-height: 1.6;
}
.StaffAccess_formSection {
  display: grid;
  gap: 18px;
}
.StaffAccess_modeActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.StaffAccess_modeActions .admin-btn {
  min-height: 44px;
}
.StaffAccess_formGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.StaffAccess_field {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  color: var(--staff-label);
  font-size: 13px;
  font-weight: 600;
}
.StaffAccess_field input,
.StaffAccess_field select,
.StaffAccess_roleSelect,
.StaffAccess_codeInput {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid var(--staff-field-line);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--staff-ink);
  font: inherit;
  font-weight: 400;
}
.StaffAccess_field input::placeholder {
  color: var(--staff-muted);
  opacity: 1;
}
.StaffAccess_field input:disabled,
.StaffAccess_field select:disabled,
.StaffAccess_roleSelect:disabled {
  background: var(--staff-soft);
  color: var(--staff-muted);
  cursor: not-allowed;
}
.StaffAccess_field small {
  color: var(--staff-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.55;
}
.StaffAccess_helperText {
  margin: 0;
}
.StaffAccess_formActions {
  justify-content: flex-start;
}
.StaffAccess_createdNote {
  margin: 0;
}
.StaffAccess_issuedPanel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--staff-card-line);
  border-radius: 12px;
  background: var(--staff-soft);
}
.StaffAccess_issuedHeading,
.StaffAccess_sectionHeading,
.StaffAccess_historyHeading,
.StaffAccess_roleHeading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}
.StaffAccess_issuedHeading h2,
.StaffAccess_sectionHeading h2,
.StaffAccess_historyHeading h2,
.StaffAccess_roleHeading h2 {
  margin: 0;
  font-size: 17px;
  line-height: 1.4;
}
.StaffAccess_issuedHeading p,
.StaffAccess_sectionHeading p,
.StaffAccess_roleHeading p {
  margin: 5px 0 0;
  color: var(--staff-muted);
  font-size: 12px;
  line-height: 1.55;
}
.StaffAccess_codeFields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, .8fr);
  gap: 12px;
}
.StaffAccess_codeField {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--staff-label);
  font-size: 12px;
  font-weight: 600;
}
.StaffAccess_codeInput {
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Consolas,
    monospace;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}
.StaffAccess_detailSurface {
  display: grid;
  gap: 0;
}
.StaffAccess_detailSection {
  display: grid;
  gap: 14px;
  padding: 21px 0;
  border-bottom: 1px solid var(--staff-line);
}
.StaffAccess_detailSection:first-child {
  padding-top: 0;
}
.StaffAccess_detailSection:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.StaffAccess_sectionHeading {
  align-items: center;
}
.StaffAccess_sectionHeading p {
  max-width: 72ch;
}
.StaffAccess_identityGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  margin: 0;
}
.StaffAccess_identityGrid div {
  min-width: 0;
}
.StaffAccess_identityGrid dt {
  margin-bottom: 4px;
  color: var(--staff-muted);
  font-size: 11px;
  font-weight: 600;
}
.StaffAccess_identityGrid dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--staff-ink);
  font-size: 13px;
}
.StaffAccess_memberBadges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.StaffAccess_roleForm {
  display: grid;
  grid-template-columns: minmax(180px, 270px) auto;
  align-items: end;
  gap: 9px;
}
.StaffAccess_roleForm .StaffAccess_field {
  gap: 6px;
}
.StaffAccess_roleForm .admin-btn {
  min-height: 44px;
}
.StaffAccess_roleNotice,
.StaffAccess_ownerNotice,
.StaffAccess_impactNotice {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--staff-line);
  border-radius: 10px;
  background: var(--staff-soft);
  color: var(--staff-label);
  font-size: 12px;
  line-height: 1.6;
}
.StaffAccess_ownerNotice {
  background: var(--ad-accent-surface, #eaf2ff);
  border-color: var(--ad-accent-line, #cfe0ff);
}
.StaffAccess_presetArea {
  display: grid;
  gap: 9px;
}
.StaffAccess_presetArea h3,
.StaffAccess_capabilityGroup h3 {
  margin: 0;
  font-size: 13px;
}
.StaffAccess_presetActions {
  align-items: stretch;
}
.StaffAccess_presetButton {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-width: min(100%, 190px);
  max-width: 310px;
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid var(--staff-field-line);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--staff-ink);
  text-align: left;
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease;
}
.StaffAccess_presetButton:hover:not(:disabled) {
  border-color: var(--ad-accent-line, #cfe0ff);
  background: var(--staff-hover);
}
.StaffAccess_presetButtonSelected {
  border-color: var(--staff-accent);
  background: var(--ad-accent-surface, #eaf2ff);
}
.StaffAccess_presetButton:focus-visible,
.StaffAccess_copyButton:focus-visible,
.StaffAccess_dismissButton:focus-visible,
.StaffAccess_inlineRetry:focus-visible {
  outline: 3px solid var(--staff-focus);
  outline-offset: 2px;
}
.StaffAccess_presetButton:disabled {
  opacity: .6;
  cursor: not-allowed;
}
.StaffAccess_presetButton strong {
  font-size: 12px;
}
.StaffAccess_presetButton span {
  color: var(--staff-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.45;
}
.StaffAccess_presetButton small {
  color: var(--staff-accent);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.45;
}
.StaffAccess_capabilityList {
  display: grid;
  gap: 17px;
}
.StaffAccess_capabilityGroup {
  display: grid;
  gap: 8px;
}
.StaffAccess_capabilityRows {
  border-top: 1px solid var(--staff-line);
}
.StaffAccess_capabilityRow {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 12px 2px;
  border-bottom: 1px solid var(--staff-line);
  cursor: pointer;
}
.StaffAccess_capabilityInput {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--staff-accent);
}
.StaffAccess_capabilityInput:disabled {
  cursor: not-allowed;
}
.StaffAccess_capabilityCopy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.StaffAccess_capabilityName {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  font-size: 13px;
  font-weight: 650;
}
.StaffAccess_capabilityDescription {
  color: var(--staff-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.55;
}
.StaffAccess_capabilityFooter {
  display: grid;
  gap: 10px;
}
.StaffAccess_candidateReview {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--staff-card-line);
  border-radius: 10px;
  background: var(--staff-soft);
}
.StaffAccess_candidateHeading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}
.StaffAccess_candidateHeading h3,
.StaffAccess_changeColumns h4 {
  margin: 0;
  font-size: 13px;
}
.StaffAccess_candidateHeading p {
  margin: 4px 0 0;
  color: var(--staff-muted);
  font-size: 12px;
  line-height: 1.55;
}
.StaffAccess_changeColumns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.StaffAccess_changeColumns > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--staff-card-line);
  border-radius: 8px;
  background: var(--ad-surface, #fff);
}
.StaffAccess_changeList {
  display: grid;
  gap: 5px;
  margin: 8px 0 0;
  padding-left: 18px;
  font-size: 12px;
  line-height: 1.5;
}
.StaffAccess_changeListAdded {
  color: var(--staff-ink);
}
.StaffAccess_changeListRemoved {
  color: var(--staff-label);
}
.StaffAccess_changeEmpty {
  margin: 8px 0 0;
  color: var(--staff-muted);
  font-size: 12px;
}
.StaffAccess_dirtyNotice {
  margin: 0;
  color: var(--staff-label);
  font-size: 12px;
  line-height: 1.55;
}
.StaffAccess_historyList {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--staff-line);
  list-style: none;
}
.StaffAccess_historyRow {
  display: grid;
  grid-template-columns: minmax(160px, .6fr) minmax(0, 1.4fr);
  gap: 14px;
  padding: 12px 2px;
  border-bottom: 1px solid var(--staff-line);
}
.StaffAccess_historyTitle {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
  font-weight: 650;
}
.StaffAccess_historyMeta {
  display: block;
  color: var(--staff-muted);
  font-size: 11px;
  line-height: 1.5;
}
.StaffAccess_historySummary {
  overflow-wrap: anywhere;
  color: var(--staff-label);
  font-size: 12px;
  line-height: 1.55;
}
.StaffAccess_mutedLine {
  margin: 0;
  color: var(--staff-muted);
  font-size: 12px;
  line-height: 1.6;
}
.StaffAccess_copyButton,
.StaffAccess_dismissButton {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--staff-field-line);
  border-radius: 9px;
  background: var(--ad-surface, #fff);
  color: var(--staff-ink);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.StaffAccess_copyButton:hover,
.StaffAccess_dismissButton:hover {
  background: var(--staff-hover);
}
.StaffAccess_inlineRetry {
  padding: 0;
  border: 0;
  background: none;
  color: var(--staff-accent);
  font: inherit;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
@media (max-width: 960px) {
  .StaffAccess_staffRow {
    grid-template-columns: minmax(190px, 1fr) minmax(150px, .75fr) auto;
  }
  .StaffAccess_rowSummary {
    grid-column: 1 / -1;
  }
  .StaffAccess_detailLink {
    grid-column: 3;
    grid-row: 1;
  }
}
@media (max-width: 680px) {
  .StaffAccess_headerActions {
    justify-content: flex-start;
  }
  .StaffAccess_staffRow {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 12px;
    padding: 15px 3px;
  }
  .StaffAccess_identity {
    grid-column: 1;
  }
  .StaffAccess_signals {
    grid-column: 1;
  }
  .StaffAccess_rowSummary {
    grid-column: 1 / -1;
  }
  .StaffAccess_detailLink {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
  }
  .StaffAccess_formGrid,
  .StaffAccess_codeFields,
  .StaffAccess_identityGrid {
    grid-template-columns: minmax(0, 1fr);
  }
  .StaffAccess_roleForm {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }
  .StaffAccess_historyRow {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }
  .StaffAccess_issuedPanel {
    padding: 13px;
  }
  .StaffAccess_sectionHeading,
  .StaffAccess_issuedHeading,
  .StaffAccess_candidateHeading {
    align-items: flex-start;
    flex-direction: column;
  }
  .StaffAccess_changeColumns {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (prefers-reduced-motion: reduce) {
  .StaffAccess_staffRow,
  .StaffAccess_detailLink,
  .StaffAccess_backLink,
  .StaffAccess_presetButton {
    transition: none;
  }
}
.StaffAccess_stepUpBackdrop {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(5, 16, 28, .65);
}
.StaffAccess_stepUpDialog {
  width: min(440px, 100%);
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: 24px;
  border-radius: 16px;
  background: var(--wmr-surface, #fff);
  color: var(--wmr-text-primary, #1c1b1b);
}
.StaffAccess_stepUpDialog h2 {
  margin: 0 0 10px;
}
.StaffAccess_stepUpDialog p {
  margin: 0 0 16px;
}
.StaffAccess_stepUpDialog input {
  min-width: 0;
}
.StaffAccess_stepUpActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* app/admin/principal/principal.module.css */
.principal_page {
  min-width: 0;
  display: grid;
  gap: 20px;
}
.principal_topbar {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.principal_topbar h1 {
  margin: 0 0 6px;
}
.principal_topbar p {
  margin: 0;
}
.principal_card {
  min-width: 0;
  padding: 24px;
}
.principal_card h2 {
  margin: 0 0 12px;
}
.principal_card p {
  line-height: 1.6;
}
.principal_cardHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.principal_list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.principal_row {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--ad-line-divider, #e4e8ee);
  border-radius: 10px;
  display: grid;
  gap: 10px;
}
.principal_rowHeader {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.principal_rowHeader strong {
  overflow-wrap: anywhere;
}
.principal_meta {
  color: var(--ad-text-muted, #656b79);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.principal_actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.principal_actions button {
  min-height: 44px;
}
.principal_form {
  display: grid;
  gap: 16px;
}
.principal_formGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.principal_field {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.principal_field input,
.principal_field select {
  min-width: 0;
  width: 100%;
}
.principal_field small {
  line-height: 1.5;
}
.principal_issued {
  padding: 16px;
  border: 1px solid var(--ad-line-divider, #e4e8ee);
  border-radius: 10px;
  display: grid;
  gap: 10px;
}
.principal_issued input {
  width: 100%;
  min-width: 0;
}
.principal_tableWrap {
  width: 100%;
  overflow-x: auto;
}
.principal_table {
  width: 100%;
  border-collapse: collapse;
  min-width: 460px;
}
.principal_table th,
.principal_table td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--ad-line-divider, #e4e8ee);
  overflow-wrap: anywhere;
}
.principal_audit {
  display: grid;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.principal_audit li {
  border-bottom: 1px solid var(--ad-line-divider, #e4e8ee);
  padding-bottom: 10px;
  overflow-wrap: anywhere;
}
.principal_audit span {
  display: block;
}
.principal_status {
  margin: 0;
}
@media (max-width: 640px) {
  .principal_card {
    padding: 16px;
  }
  .principal_formGrid {
    grid-template-columns: minmax(0, 1fr);
  }
  .principal_topbar {
    display: grid;
  }
}

/* app/components/SupportRichTextEditor.module.css */
.SupportRichTextEditor_editor {
  min-width: 0;
  margin-block: 12px;
  border: 1px solid var(--line, #d8e1df);
  border-radius: 12px;
  overflow: hidden;
  background: var(--white, #fff);
  color: var(--ink, #17352f);
}
.SupportRichTextEditor_heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 12px;
}
.SupportRichTextEditor_heading label {
  font-weight: 700;
}
.SupportRichTextEditor_heading span,
.SupportRichTextEditor_hint {
  font-size: 12px;
}
.SupportRichTextEditor_tools {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px;
  border-block: 1px solid var(--line, #d8e1df);
}
.SupportRichTextEditor_tools button,
.SupportRichTextEditor_link button {
  border: 1px solid var(--line, #d8e1df);
  border-radius: 7px;
  padding: 7px 10px;
  background: transparent;
  color: inherit;
}
.SupportRichTextEditor_tools button[aria-pressed=true] {
  background: var(--ink, #17352f);
  color: var(--white, #fff);
}
.SupportRichTextEditor_tools button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.SupportRichTextEditor_surface .tiptap {
  min-height: 160px;
  max-height: 480px;
  overflow: auto;
  padding: 14px;
  outline-offset: -3px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.SupportRichTextEditor_surface .tiptap p {
  margin-block: .5em;
}
.SupportRichTextEditor_surface .tiptap blockquote {
  border-left: 3px solid currentColor;
  padding-left: 12px;
  margin-left: 4px;
}
.SupportRichTextEditor_surface .tiptap a {
  text-decoration: underline;
}
.SupportRichTextEditor_link {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
  padding: 12px;
}
.SupportRichTextEditor_link label {
  flex: 1 1 200px;
  min-width: 0;
}
.SupportRichTextEditor_link input {
  width: 100%;
}
.SupportRichTextEditor_hint,
.SupportRichTextEditor_editor > p {
  padding-inline: 12px;
}
.SupportRichTextEditor_preview {
  border-top: 1px solid var(--line, #d8e1df);
  padding: 14px;
  overflow-wrap: anywhere;
}

/* app/admin/inquiries/Inquiries.module.css */
.Inquiries_layout {
  --inquiry-divider: var(--ad-line-divider, #edf0f4);
  --inquiry-field-line: var(--ad-line-field, #dfe4eb);
  --inquiry-muted: var(--ad-text-muted, #727687);
  --inquiry-label: var(--ad-text-label, #424656);
  --inquiry-soft-surface: var(--ad-surface-sunken, #f8f9fb);
  --inquiry-accent: var(--ad-accent, #0066ff);
  display: grid;
  grid-template-columns: minmax(16rem, 0.88fr) minmax(0, 1.12fr);
  align-items: start;
  gap: 20px;
}
.Inquiries_layout .Inquiries_listCard,
.Inquiries_layout .Inquiries_detailCard {
  min-width: 0;
  overflow: hidden;
}
.Inquiries_layout .Inquiries_searchForm {
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) auto;
  align-items: center;
}
.Inquiries_layout .Inquiries_searchForm button {
  grid-column: auto;
}
.Inquiries_layout .Inquiries_list {
  max-height: min(68vh, 760px);
  overflow: auto;
  overscroll-behavior: contain;
}
.Inquiries_layout .Inquiries_row {
  align-items: flex-start;
  gap: 12px;
}
.Inquiries_layout .Inquiries_rowText {
  min-width: 0;
  gap: 4px;
}
.Inquiries_rowTitle,
.Inquiries_rowMeta {
  overflow-wrap: anywhere;
}
.Inquiries_rowTitle {
  white-space: normal;
}
.Inquiries_rowMeta {
  color: var(--inquiry-muted);
  line-height: 1.5;
}
.Inquiries_detailToolbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  margin-bottom: 14px;
}
.Inquiries_detailToolbar > button {
  align-self: start;
}
.Inquiries_detailStatus {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.Inquiries_detailHeading {
  min-width: 0;
}
.Inquiries_reference {
  margin: 0 0 4px;
  color: var(--inquiry-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.Inquiries_focusHeading:focus {
  outline: 3px solid #9dc9ff;
  outline-offset: 3px;
}
.Inquiries_detailHeading h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.Inquiries_layout .Inquiries_contact > * {
  min-width: 0;
  overflow-wrap: anywhere;
}
.Inquiries_layout .Inquiries_inquiryMessage {
  overflow-wrap: anywhere;
}
.Inquiries_replyThread {
  margin-top: 24px;
}
.Inquiries_replyThread h3 {
  margin: 0 0 10px;
  font-size: 16px;
}
.Inquiries_replyThreadHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.Inquiries_replyThreadHeading h3 {
  margin: 0 0 4px;
}
.Inquiries_replyThreadHeading .field-help {
  margin: 0;
}
.Inquiries_replyCount {
  flex: none;
  padding: 3px 8px;
  border: 1px solid var(--inquiry-field-line);
  border-radius: 999px;
  color: var(--inquiry-muted);
  font-size: 12px;
  line-height: 1.35;
  white-space: nowrap;
}
.Inquiries_olderReplies {
  margin-top: 12px;
  border-top: 1px solid var(--inquiry-divider);
}
.Inquiries_olderReplies summary {
  cursor: pointer;
  padding: 12px 0 8px;
  color: var(--inquiry-label);
  font-size: 13px;
  font-weight: 700;
}
.Inquiries_olderReplies summary:focus-visible {
  outline: 2px solid var(--inquiry-accent);
  outline-offset: 3px;
}
.Inquiries_olderRepliesList {
  padding-top: 2px;
}
.Inquiries_replyItem {
  min-width: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--inquiry-divider);
  overflow-wrap: anywhere;
}
.Inquiries_replyItem:last-child {
  border-bottom: 0;
}
.Inquiries_replyItem.Inquiries_internal {
  margin: 8px 0;
  padding: 14px;
  border: 1px solid #f0dfb2;
  border-radius: 10px;
  background: #fff8e8;
}
.Inquiries_replyItem.Inquiries_customer {
  margin: 8px 0;
  padding: 14px;
  border: 1px solid #d6e2f7;
  border-radius: 10px;
  background: #f3f7ff;
}
.Inquiries_replyItem .Inquiries_customerBadge {
  border-color: #c9d8f2;
  background: #e4ecfb;
  color: #233e7b;
}
.Inquiries_replyItemHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.Inquiries_replyItemHead small {
  color: var(--inquiry-muted);
  text-align: end;
  overflow-wrap: anywhere;
}
.Inquiries_replyEditor {
  display: grid;
  gap: 12px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--inquiry-field-line);
}
.Inquiries_visibilityLabel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-weight: 700;
}
.Inquiries_visibilityLabel select {
  min-width: 0;
  border: 1px solid var(--inquiry-field-line);
  border-radius: 10px;
  padding: 9px 12px;
  background: #fff;
  color: inherit;
}
.Inquiries_visibilityNotice {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--inquiry-soft-surface);
  color: var(--inquiry-label);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.Inquiries_draftNotice {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--ad-note-line, #dfead8);
  border-radius: 8px;
  background: var(--ad-note-surface, #f4f8f1);
  color: var(--inquiry-label);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.Inquiries_detailError {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.Inquiries_detailError span {
  min-width: 0;
  flex: 1 1 18rem;
  overflow-wrap: anywhere;
}
.Inquiries_navigationGuardBackdrop {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgb(22 29 41 / 52%);
}
.Inquiries_navigationGuardDialog {
  width: min(100%, 560px);
  padding: 24px;
  border: 0;
  border-radius: 14px;
  background: var(--ad-surface, #fff);
  box-shadow: 0 22px 56px rgb(20 29 43 / 24%);
  color: var(--ad-text-strong, #202735);
}
.Inquiries_navigationGuardDialog:focus {
  outline: none;
}
.Inquiries_navigationGuardTitle {
  margin: 0 0 12px;
  font-size: 19px;
  letter-spacing: -0.02em;
}
.Inquiries_navigationGuardDialog > p {
  margin: 0 0 10px;
  line-height: 1.55;
}
.Inquiries_navigationGuardWarning,
.Inquiries_navigationGuardError {
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
}
.Inquiries_navigationGuardWarning {
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
}
.Inquiries_navigationGuardError {
  background: var(--ad-danger-surface, #fff0f0);
  color: var(--ad-danger-text, #8c2929);
}
.Inquiries_navigationGuardActions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 20px;
}
@media (max-width: 900px) {
  .Inquiries_layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .Inquiries_listHiddenOnMobile,
  .Inquiries_detailHiddenOnMobile {
    display: none;
  }
  .Inquiries_layout .Inquiries_listCard {
    max-height: none;
    overflow: visible;
  }
  .Inquiries_layout .Inquiries_list {
    max-height: none;
  }
}
@media (max-width: 650px) {
  .Inquiries_navigationGuardBackdrop {
    align-items: end;
    padding: 12px;
  }
  .Inquiries_navigationGuardDialog {
    width: 100%;
    padding: 20px;
  }
  .Inquiries_navigationGuardActions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .Inquiries_navigationGuardActions > button {
    width: 100%;
  }
}
@media (max-width: 540px) {
  .Inquiries_layout .Inquiries_searchForm {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .Inquiries_layout .Inquiries_searchForm input,
  .Inquiries_layout .Inquiries_searchForm button {
    grid-column: 1 / -1;
  }
  .Inquiries_detailToolbar {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .Inquiries_detailToolbar > button {
    grid-column: 1 / -1;
  }
  .Inquiries_detailToolbar .Inquiries_detailHeading {
    grid-column: 1;
  }
  .Inquiries_detailToolbar > .Inquiries_detailStatus {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    justify-self: end;
  }
  .Inquiries_replyItemHead {
    align-items: flex-start;
    flex-direction: column;
  }
  .Inquiries_replyItemHead small {
    text-align: start;
  }
  .Inquiries_visibilityLabel {
    align-items: flex-start;
    flex-direction: column;
  }
  .Inquiries_visibilityLabel select {
    width: 100%;
  }
}

/* app/admin/notifications/NotificationInbox.module.css */
.NotificationInbox_page {
  display: grid;
  gap: 20px;
  color: var(--ad-text-strong, #17191d);
  color-scheme: light;
  accent-color: var(--ad-accent, #0066ff);
}
.NotificationInbox_page ::selection {
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-text-strong, #17191d);
}
.NotificationInbox_header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 0 58px 18px 0;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.NotificationInbox_headerCopy {
  min-width: 0;
}
.NotificationInbox_headerCopy h1 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.025em;
}
.NotificationInbox_headerCopy p {
  max-width: 68ch;
  margin: 9px 0 0;
  color: var(--ad-text-muted, #626a77);
  font-size: 14px;
  line-height: 1.55;
}
.NotificationInbox_headerActions,
.NotificationInbox_rowActions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.NotificationInbox_headerActions {
  justify-content: flex-end;
  flex: 0 0 auto;
}
.NotificationInbox_unreadCount {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 9px;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  white-space: nowrap;
}
.NotificationInbox_unreadCount b {
  color: var(--ad-text-strong, #17191d);
  font-variant-numeric: tabular-nums;
}
.NotificationInbox_button {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 9px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-label, #424656);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 150ms ease-out,
    border-color 150ms ease-out,
    color 150ms ease-out;
}
.NotificationInbox_button:hover:not(:disabled) {
  border-color: var(--ad-accent-line, #cfe0ff);
  background: var(--ad-surface-hover, #f6f8fb);
  color: var(--ad-text-strong, #17191d);
}
.NotificationInbox_button:focus-visible,
.NotificationInbox_filterButton:focus-visible,
.NotificationInbox_settingsLink:focus-visible,
.NotificationInbox_deliveryDetailsSummary:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.NotificationInbox_button:disabled,
.NotificationInbox_filterButton:disabled {
  color: var(--ad-text-muted, #727687);
  cursor: not-allowed;
  opacity: 0.62;
}
.NotificationInbox_buttonPrimary {
  border-color: var(--ad-accent, #0066ff);
  background: var(--ad-accent, #0066ff);
  color: #fff;
}
.NotificationInbox_buttonPrimary:hover:not(:disabled) {
  border-color: var(--ad-accent-hover, #0052cc);
  background: var(--ad-accent-hover, #0052cc);
  color: #fff;
}
.NotificationInbox_boundaryNote {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 13px 15px;
  border: 1px solid var(--ad-accent-line, #cfe0ff);
  border-radius: 12px;
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-text-label, #424656);
}
.NotificationInbox_boundaryNote p {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}
.NotificationInbox_noteMark {
  display: block;
  width: 20px;
  height: 20px;
  color: var(--ad-accent-hover, #0052cc);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.4;
}
.NotificationInbox_feedback,
.NotificationInbox_loadError {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.5;
}
.NotificationInbox_feedbackSuccess {
  border-color: var(--ad-note-line, #dfead8);
  background: var(--ad-note-surface, #f4f8f1);
  color: var(--ad-success-text, #277144);
}
.NotificationInbox_feedbackError,
.NotificationInbox_loadError {
  border-color: var(--ad-danger-line, #f0c5c2);
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
}
.NotificationInbox_inbox,
.NotificationInbox_preferences {
  min-width: 0;
  border: 1px solid var(--ad-line-card, #eef0f4);
  border-radius: 14px;
  background: var(--ad-surface, #fff);
}
.NotificationInbox_inbox {
  overflow: hidden;
}
.NotificationInbox_toolbar {
  display: grid;
  gap: 14px;
  padding: 17px 18px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.NotificationInbox_resultSummary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.NotificationInbox_resultSummary strong {
  color: var(--ad-text-label, #424656);
  font-size: 13px;
}
.NotificationInbox_resultSummary span {
  font-variant-numeric: tabular-nums;
}
.NotificationInbox_filterControls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.NotificationInbox_filters {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.NotificationInbox_filterButton {
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 999px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-muted, #687481);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.NotificationInbox_filterButton:hover:not(:disabled) {
  border-color: var(--ad-accent-line, #cfe0ff);
  background: var(--ad-surface-hover, #f6f8fb);
  color: var(--ad-text-strong, #17191d);
}
.NotificationInbox_filterSelected {
  border-color: var(--ad-accent-line, #cfe0ff);
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-hover, #0052cc);
  font-weight: 700;
}
.NotificationInbox_unreadFilter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  cursor: pointer;
}
.NotificationInbox_unreadFilter input,
.NotificationInbox_preferenceRow input {
  width: 16px;
  height: 16px;
  margin: 0;
}
.NotificationInbox_loadingText,
.NotificationInbox_refreshingText {
  margin: 0;
  padding: 20px 18px 8px;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
}
.NotificationInbox_refreshingText {
  padding-top: 12px;
  padding-bottom: 0;
  font-size: 12px;
}
.NotificationInbox_skeletonList {
  padding: 0 18px;
}
.NotificationInbox_skeletonRow {
  display: grid;
  gap: 10px;
  padding: 18px 0;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.NotificationInbox_skeletonRow span {
  display: block;
  height: 10px;
  border-radius: 5px;
  background: var(--ad-surface-sunken, #f8f9fb);
}
.NotificationInbox_skeletonLineShort {
  width: 26%;
}
.NotificationInbox_skeletonLineTitle {
  width: min(54%, 420px);
  height: 16px !important;
}
.NotificationInbox_skeletonLineBody {
  width: min(78%, 680px);
}
.NotificationInbox_skeletonLineActions {
  width: 170px;
  margin-top: 5px;
}
.NotificationInbox_loadError {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 18px;
}
.NotificationInbox_loadError p {
  margin: 0;
}
.NotificationInbox_emptyState {
  display: grid;
  justify-items: start;
  gap: 8px;
  padding: 28px 18px 32px;
}
.NotificationInbox_emptyState h2 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 16px;
  line-height: 1.35;
}
.NotificationInbox_emptyState p {
  max-width: 68ch;
  margin: 0 0 5px;
  color: var(--ad-text-muted, #727687);
  font-size: 13px;
  line-height: 1.55;
}
.NotificationInbox_list {
  padding: 0 18px;
}
.NotificationInbox_notificationRow {
  display: grid;
  gap: 14px;
  padding: 19px 0;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  scroll-margin-block: 18px;
}
.NotificationInbox_notificationRow:last-child {
  border-bottom: 0;
}
.NotificationInbox_notificationUnread {
  margin-inline: -10px;
  padding-inline: 10px;
  background: var(--ad-accent-surface, #eaf2ff);
}
.NotificationInbox_rowHeader,
.NotificationInbox_rowMeta,
.NotificationInbox_rowTitleLine {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.NotificationInbox_rowMeta {
  justify-content: flex-start;
  flex-wrap: wrap;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
}
.NotificationInbox_categoryLabel {
  color: var(--ad-text-label, #424656);
  font-weight: 700;
}
.NotificationInbox_rowMeta time,
.NotificationInbox_statusGrid time {
  font-variant-numeric: tabular-nums;
}
.NotificationInbox_deliveryBadge,
.NotificationInbox_readBadge {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
.NotificationInbox_toneInfo {
  border-color: var(--ad-accent-line, #cfe0ff);
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-hover, #0052cc);
}
.NotificationInbox_toneWarning {
  border-color: var(--ad-warning-line, #f0d899);
  background: var(--ad-warning-surface, #fff7e6);
  color: var(--ad-warning-text, #7e5800);
}
.NotificationInbox_toneDanger {
  border-color: var(--ad-danger-line, #f0c5c2);
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
}
.NotificationInbox_toneNeutral {
  border-color: var(--ad-line-field, #dfe4eb);
  background: var(--ad-surface-sunken, #f8f9fb);
  color: var(--ad-text-label, #424656);
}
.NotificationInbox_rowTitleLine {
  align-items: flex-start;
}
.NotificationInbox_rowCopy {
  min-width: 0;
}
.NotificationInbox_rowCopy h2 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.NotificationInbox_rowCopy p {
  max-width: 74ch;
  margin: 5px 0 0;
  color: var(--ad-text-muted, #626a77);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.NotificationInbox_readBadge {
  flex: 0 0 auto;
  border-color: var(--ad-line-field, #dfe4eb);
  background: var(--ad-surface, #fff);
  color: var(--ad-text-muted, #687481);
}
.NotificationInbox_readBadgeUnread {
  border-color: var(--ad-accent-line, #cfe0ff);
  color: var(--ad-accent-hover, #0052cc);
}
.NotificationInbox_statusGrid {
  display: grid;
  grid-template-columns: minmax(160px, 0.75fr) minmax(260px, 1.25fr);
  gap: 12px 20px;
  margin: 0;
  padding: 12px 0 0;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.NotificationInbox_statusGrid div {
  min-width: 0;
}
.NotificationInbox_statusGrid dt {
  margin: 0 0 4px;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 600;
}
.NotificationInbox_statusGrid dd {
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.NotificationInbox_statusGrid dd small {
  display: block;
  margin-top: 3px;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  line-height: 1.45;
}
.NotificationInbox_deliveryStatusAttention {
  font-weight: 700;
}
.NotificationInbox_deliveryDetails {
  min-width: 0;
  border: 1px solid var(--ad-line-divider, #edf0f4);
  border-radius: 10px;
  background: var(--ad-surface-sunken, #f8f9fb);
}
.NotificationInbox_deliveryDetailsAttention {
  border-color: var(--ad-warning-line, #f0d899);
  background: var(--ad-warning-surface, #fff7e6);
}
.NotificationInbox_deliveryDetailsSummary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
  padding: 9px 12px;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  list-style-position: inside;
}
.NotificationInbox_deliveryDetailsSummary::marker {
  color: var(--ad-text-muted, #727687);
}
.NotificationInbox_deliveryDetailsHint {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 500;
  text-align: right;
}
.NotificationInbox_deliveryDetailsAttention .NotificationInbox_deliveryDetailsHint {
  color: var(--ad-warning-text, #7e5800);
  font-weight: 700;
}
.NotificationInbox_deliveryDetails[open] .NotificationInbox_deliveryDetailsSummary {
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.NotificationInbox_deliveryDetailsBody {
  display: grid;
  gap: 10px;
  padding: 11px 12px 12px;
}
.NotificationInbox_deliveryDetailText,
.NotificationInbox_deliveryError {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}
.NotificationInbox_deliveryDetailText {
  color: var(--ad-text-label, #424656);
}
.NotificationInbox_deliveryMeta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 0;
}
.NotificationInbox_deliveryMeta div {
  min-width: 0;
}
.NotificationInbox_deliveryMeta dt {
  margin: 0 0 3px;
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  font-weight: 600;
}
.NotificationInbox_deliveryMeta dd {
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.NotificationInbox_deliveryError {
  padding-top: 9px;
  border-top: 1px solid var(--ad-danger-line, #f0c5c2);
  color: var(--ad-danger-text, #a4332d);
}
.NotificationInbox_rowActions {
  justify-content: flex-start;
  padding-top: 2px;
}
.NotificationInbox_noDetail {
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
}
.NotificationInbox_preferences {
  padding: 17px 18px 15px;
}
.NotificationInbox_preferencesHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.NotificationInbox_preferencesHeading h2 {
  margin: 0;
  color: var(--ad-text-strong, #17191d);
  font-size: 16px;
  line-height: 1.4;
}
.NotificationInbox_preferencesHeading p {
  margin: 5px 0 0;
  color: var(--ad-text-muted, #727687);
  font-size: 12px;
  line-height: 1.5;
}
.NotificationInbox_settingsLink {
  flex: 0 0 auto;
  color: var(--ad-accent-hover, #0052cc);
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.NotificationInbox_preferenceList {
  display: grid;
  margin-top: 14px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.NotificationInbox_preferenceRow {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
  cursor: pointer;
}
.NotificationInbox_preferenceRow span {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.NotificationInbox_preferenceRow b {
  color: var(--ad-text-label, #424656);
  font-size: 12px;
}
.NotificationInbox_preferenceRow small,
.NotificationInbox_preferenceSaving,
.NotificationInbox_preferenceHelp,
.NotificationInbox_preferenceEmpty {
  color: var(--ad-text-muted, #727687);
  font-size: 11px;
  line-height: 1.5;
}
.NotificationInbox_preferenceSaving {
  margin-inline-start: auto;
}
.NotificationInbox_preferenceHelp {
  margin: 13px 0 0;
}
.NotificationInbox_preferenceEmpty {
  margin: 16px 0 0;
}
@media (max-width: 900px) {
  .NotificationInbox_header {
    align-items: flex-start;
    flex-direction: column;
  }
  .NotificationInbox_headerActions {
    justify-content: flex-start;
  }
  .NotificationInbox_statusGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .NotificationInbox_header {
    padding-right: 0;
  }
  .NotificationInbox_headerCopy h1 {
    font-size: 24px;
  }
  .NotificationInbox_headerActions {
    width: 100%;
  }
  .NotificationInbox_filterControls {
    align-items: flex-start;
    flex-direction: column;
  }
  .NotificationInbox_rowHeader,
  .NotificationInbox_rowTitleLine {
    align-items: flex-start;
  }
  .NotificationInbox_rowTitleLine {
    flex-direction: column;
  }
  .NotificationInbox_statusGrid {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
  }
  .NotificationInbox_deliveryMeta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .NotificationInbox_deliveryDetailsSummary {
    align-items: flex-start;
  }
  .NotificationInbox_rowActions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .NotificationInbox_rowActions .NotificationInbox_button {
    width: 100%;
  }
  .NotificationInbox_noDetail {
    grid-column: 1 / -1;
  }
}
@media (max-width: 440px) {
  .NotificationInbox_toolbar,
  .NotificationInbox_list,
  .NotificationInbox_preferences {
    padding-inline: 13px;
  }
  .NotificationInbox_resultSummary {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .NotificationInbox_filters {
    max-width: 100%;
  }
  .NotificationInbox_headerActions .NotificationInbox_button {
    flex: 1 1 auto;
  }
  .NotificationInbox_unreadCount {
    flex: 1 1 100%;
    justify-content: space-between;
  }
  .NotificationInbox_loadError {
    align-items: flex-start;
    flex-direction: column;
  }
  .NotificationInbox_rowActions {
    grid-template-columns: minmax(0, 1fr);
  }
  .NotificationInbox_preferencesHeading {
    flex-direction: column;
  }
  .NotificationInbox_deliveryMeta {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* app/admin/notifications/settings/Settings.module.css */
.Settings_feedback {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid var(--ad-line-field, #dbe1eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #0c1c1e);
  font-size: 13px;
  line-height: 1.6;
}
.Settings_feedback[data-tone=error] {
  border-color: var(--ad-danger-line, #f0c5c2);
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #8f2823);
}
.Settings_statusGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 20px 0 0;
  padding: 0;
  border-top: 1px solid var(--ad-line-field, #dfe4eb);
  border-bottom: 1px solid var(--ad-line-field, #dfe4eb);
}
.Settings_statusCell {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  padding: 16px 14px;
  border-right: 1px solid var(--ad-line-field, #dfe4eb);
}
.Settings_statusCell:last-child {
  border-right: 0;
}
.Settings_statusLabel {
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.Settings_statusValue {
  margin: 0;
  color: var(--ad-text-strong, #0c1c1e);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.Settings_statusDetail {
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  line-height: 1.55;
}
.Settings_configLine {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 10px;
  margin: 15px 0 0;
  color: var(--ad-text-label, #424656);
  font-size: 13px;
  line-height: 1.5;
}
.Settings_configLine strong {
  color: var(--ad-text-strong, #0c1c1e);
}
.Settings_configLine small {
  flex-basis: 100%;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
}
.Settings_nextAction {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  padding: 15px;
  border: 1px solid var(--ad-accent-line, #cfe0ff);
  border-radius: 12px;
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-text-strong, #0c1c1e);
}
.Settings_nextAction[data-tone=warning] {
  border-color: var(--ad-dirty-line, #f1d79f);
  background: var(--ad-dirty-surface, #fff4df);
}
.Settings_nextAction[data-tone=danger] {
  border-color: var(--ad-danger-line, #f0c5c2);
  background: var(--ad-danger-surface, #fff1f0);
}
.Settings_nextAction[data-tone=success] {
  border-color: var(--ad-success-line, #cfe6d2);
  background: var(--ad-success-surface, #edf7ee);
}
.Settings_nextActionCopy {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.Settings_nextActionLabel {
  color: var(--ad-accent-hover, #0052cc);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}
.Settings_nextAction[data-tone=warning] .Settings_nextActionLabel {
  color: var(--ad-dirty-text, #8a5a08);
}
.Settings_nextAction[data-tone=danger] .Settings_nextActionLabel {
  color: var(--ad-danger-text, #a4332d);
}
.Settings_nextAction[data-tone=success] .Settings_nextActionLabel {
  color: var(--ad-success-text, #277144);
}
.Settings_nextActionCopy strong {
  font-size: 14px;
  line-height: 1.45;
}
.Settings_nextActionCopy p {
  max-width: 72ch;
  margin: 0;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  line-height: 1.6;
}
.Settings_testNotice {
  margin-top: 15px;
  padding: 13px 15px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface-sunken, #f5f7fa);
  color: var(--ad-text-strong, #0c1c1e);
}
.Settings_testNotice b {
  font-size: 13px;
}
.Settings_testNotice p {
  margin: 5px 0 0;
  color: var(--ad-text-label, #424656);
  font-size: 12px;
  line-height: 1.55;
}
.Settings_testButton {
  white-space: nowrap;
}
.Settings_connectHelp {
  margin: 0;
  line-height: 1.55;
}
@media (max-width: 900px) {
  .Settings_statusGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .Settings_statusCell:nth-child(2n) {
    border-right: 0;
  }
  .Settings_statusCell:nth-child(-n+2) {
    border-bottom: 1px solid var(--ad-line-field, #dfe4eb);
  }
}
@media (max-width: 600px) {
  .Settings_statusGrid {
    grid-template-columns: minmax(0, 1fr);
  }
  .Settings_statusCell,
  .Settings_statusCell:nth-child(2n) {
    border-right: 0;
    border-bottom: 1px solid var(--ad-line-field, #dfe4eb);
  }
  .Settings_statusCell:last-child {
    border-bottom: 0;
  }
  .Settings_nextAction {
    align-items: flex-start;
    display: grid;
  }
  .Settings_nextAction .admin-btn {
    justify-self: start;
  }
}

/* app/admin/settings/AdminSettings.module.css */
.AdminSettings_pageHeader {
  margin-bottom: 20px;
}
.AdminSettings_pageHeader > div {
  max-width: 72ch;
}
.AdminSettings_serviceChooser {
  margin: 0 0 18px;
}
.AdminSettings_chooserCopy {
  max-width: 72ch;
}
.AdminSettings_chooserCopy h2 {
  margin: 0;
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 17px;
  line-height: 1.4;
}
.AdminSettings_chooserCopy p {
  margin: 5px 0 0;
  color: var(--ad-text-label, #5b6370);
  font-size: 13px;
  line-height: 1.65;
}
.AdminSettings_serviceSelector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 13px;
}
.AdminSettings_serviceOption {
  display: flex;
  min-width: 0;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--ad-line-field, #dbe1eb);
  border-radius: 12px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #1c1b1b);
  text-align: left;
  transition: border-color 160ms ease, background-color 160ms ease;
}
.AdminSettings_serviceOption:hover {
  border-color: var(--ad-accent, #0066ff);
  background: var(--ad-surface-hover, #f8f9fb);
}
.AdminSettings_serviceOption[aria-pressed=true] {
  border-color: var(--ad-accent, #0066ff);
  background: var(--ad-surface-sunken, #edf4ff);
}
.AdminSettings_serviceOption:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 3px;
}
.AdminSettings_optionCopy {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.AdminSettings_optionCopy strong {
  font-size: 14px;
  line-height: 1.4;
}
.AdminSettings_optionCopy > span {
  color: var(--ad-text-label, #5b6370);
  font-size: 12px;
  line-height: 1.5;
}
.AdminSettings_statusBadge {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 27px;
  align-items: center;
  justify-content: center;
  padding: 4px 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
}
.AdminSettings_statusBadge.AdminSettings_statusDanger {
  border-color: var(--ad-danger-line, #f0c5c2);
  background: var(--ad-danger-surface, #fff1f0);
  color: var(--ad-danger-text, #a4332d);
}
.AdminSettings_servicePanel {
  overflow: visible;
}
.AdminSettings_panelHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminSettings_panelCopy {
  min-width: 0;
  max-width: 72ch;
}
.AdminSettings_panelCopy h2 {
  margin: 0;
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 20px;
  line-height: 1.35;
}
.AdminSettings_panelCopy p {
  margin: 6px 0 0;
  color: var(--ad-text-label, #5b6370);
  font-size: 13px;
  line-height: 1.65;
}
.AdminSettings_panelActions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.AdminSettings_servicePanel .admin-btn:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}
.AdminSettings_formBody {
  display: grid;
  gap: 16px;
  padding-top: 18px;
}
.AdminSettings_editModeBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 14px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 12px;
  background: var(--ad-surface-sunken, #f8f9fb);
}
.AdminSettings_editModeCopy {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.AdminSettings_editModeCopy strong {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
}
.AdminSettings_editModeCopy p {
  margin: 0;
  color: var(--ad-text-label, #5b6370);
  font-size: 12px;
  line-height: 1.55;
}
.AdminSettings_editModeSelector {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--ad-line-field, #dfe4eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
}
.AdminSettings_editModeOption {
  min-height: 44px;
  padding: 7px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--ad-text-label, #5b6370);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.AdminSettings_editModeOption:hover:not(:disabled) {
  background: var(--ad-surface-hover, #f8f9fb);
  color: var(--ad-accent-hover, #0052cc);
}
.AdminSettings_editModeOption[aria-pressed=true] {
  background: var(--ad-accent-surface, #eaf2ff);
  color: var(--ad-accent-hover, #0052cc);
}
.AdminSettings_editModeOption:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 2px;
}
.AdminSettings_editModeOption:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.AdminSettings_scopedEditNotice {
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border: 1px solid var(--ad-note-line, #dfead8);
  border-radius: 10px;
  background: var(--ad-note-surface, #f4f8f1);
}
.AdminSettings_scopedEditNotice b {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
}
.AdminSettings_scopedEditNotice p {
  margin: 0;
  color: var(--ad-text-label, #5b6370);
  font-size: 12px;
  line-height: 1.6;
}
.AdminSettings_deniedState {
  display: grid;
  gap: 12px;
  padding: 17px;
  border: 1px solid var(--ad-danger-line, #f0c5c2);
  border-radius: 12px;
  background: var(--ad-danger-surface, #fff1f0);
}
.AdminSettings_deniedState h3 {
  margin: 0;
  color: var(--ad-danger-text, #a4332d);
  font-size: 15px;
  line-height: 1.45;
}
.AdminSettings_deniedState p {
  margin: 5px 0 0;
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
  line-height: 1.7;
}
.AdminSettings_deniedLink {
  display: inline-flex;
  width: fit-content;
  min-height: 40px;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid var(--ad-line-field, #dbe1eb);
  border-radius: 10px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.AdminSettings_deniedLink:hover {
  border-color: var(--ad-accent, #0066ff);
  color: var(--ad-accent-hover, #0052cc);
}
.AdminSettings_deniedLink:focus-visible {
  outline: 3px solid var(--ad-focus-ring, #9dc9ff);
  outline-offset: 3px;
}
.AdminSettings_formBody > .admin-notice {
  margin: 0;
}
.AdminSettings_formBody > .field-help {
  margin: 0;
  line-height: 1.7;
}
.AdminSettings_formBody .admin-form .field-help {
  color: var(--ad-text-label, #5b6370);
}
.AdminSettings_servicePanel .admin-form input::placeholder,
.AdminSettings_servicePanel .admin-form textarea::placeholder {
  color: var(--ad-text-label, #5b6370);
  opacity: 1;
}
.AdminSettings_formBody .admin-form label.checkbox-line {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.AdminSettings_formBody .admin-form label.checkbox-line > input {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--ad-accent, #0066ff);
}
.AdminSettings_formBody .admin-form label.checkbox-line > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.AdminSettings_formBody .admin-form label.checkbox-line small {
  color: var(--ad-text-label, #5b6370);
  line-height: 1.55;
}
.AdminSettings_serviceMessage {
  margin: -4px 0 0;
  color: var(--ad-text-label, #5b6370);
  font-size: 12px;
  line-height: 1.65;
}
.AdminSettings_historySection {
  margin-top: 7px;
  padding-top: 19px;
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminSettings_historyHeading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.AdminSettings_historyHeading h3 {
  margin: 0;
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 14px;
  line-height: 1.45;
}
.AdminSettings_historyHeading > span {
  flex: 0 0 auto;
  color: var(--ad-text-label, #5b6370);
  font-size: 12px;
}
.AdminSettings_historySection > .field-help {
  margin: 0;
}
.AdminSettings_boundaryPanel {
  margin-bottom: 20px;
}
.AdminSettings_boundaryHeading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 17px;
}
.AdminSettings_boundaryHeading h2 {
  margin: 0;
  color: var(--ad-text-strong, #1c1b1b);
}
.AdminSettings_boundaryHeading p {
  margin: 5px 0 0;
  color: var(--ad-text-label, #5b6370);
  font-size: 13px;
  line-height: 1.6;
}
.AdminSettings_boundaryGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--ad-line-divider, #edf0f4);
  border-bottom: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminSettings_boundaryGrid > div {
  min-width: 0;
  padding: 15px 16px 15px 0;
}
.AdminSettings_boundaryGrid > div + div {
  padding-left: 16px;
  border-left: 1px solid var(--ad-line-divider, #edf0f4);
}
.AdminSettings_boundaryGrid b {
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 13px;
}
.AdminSettings_boundaryGrid p {
  margin: 6px 0 0;
  color: var(--ad-text-label, #5b6370);
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .AdminSettings_editModeBar {
    align-items: stretch;
    display: grid;
  }
  .AdminSettings_editModeSelector {
    width: 100%;
  }
  .AdminSettings_editModeOption {
    flex: 1 1 0;
  }
  .AdminSettings_panelHeader {
    display: grid;
    gap: 13px;
  }
  .AdminSettings_panelActions {
    justify-content: flex-start;
  }
  .AdminSettings_boundaryGrid {
    grid-template-columns: 1fr;
  }
  .AdminSettings_boundaryGrid > div,
  .AdminSettings_boundaryGrid > div + div {
    padding: 14px 0;
    border-left: 0;
  }
  .AdminSettings_boundaryGrid > div + div {
    border-top: 1px solid var(--ad-line-divider, #edf0f4);
  }
}
@media (max-width: 600px) {
  .AdminSettings_serviceSelector {
    grid-template-columns: 1fr;
  }
  .AdminSettings_serviceOption {
    min-height: 72px;
  }
  .AdminSettings_boundaryHeading {
    display: grid;
    gap: 10px;
  }
  .AdminSettings_historyHeading {
    align-items: flex-start;
  }
}
@media (max-width: 380px) {
  .AdminSettings_serviceOption {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }
  .AdminSettings_panelActions {
    align-items: stretch;
    flex-direction: column;
  }
  .AdminSettings_panelActions .admin-btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .AdminSettings_serviceOption {
    transition: none;
  }
}

/* app/admin/settings/IntegrationsHub.module.css */
.IntegrationsHub_hub {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  margin-bottom: 20px;
}
.IntegrationsHub_list {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
}
.IntegrationsHub_group {
  display: grid;
  gap: 6px;
}
.IntegrationsHub_groupLabel {
  margin: 0 0 2px 4px;
  color: var(--ad-text-muted, #687481);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.IntegrationsHub_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--ad-line-card, #e8ebf0);
  border-radius: 12px;
  background: var(--ad-surface, #fff);
  color: var(--ad-text-strong, #1c1b1b);
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
.IntegrationsHub_item:hover {
  border-color: var(--ad-line-focus, #9dc9ff);
}
.IntegrationsHub_itemActive {
  border-color: var(--ad-primary, #0066ff);
  background: var(--ad-surface-info, #eaf2ff);
  font-weight: 700;
}
.IntegrationsHub_itemLabel {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.IntegrationsHub_panel {
  min-width: 0;
}
.IntegrationsHub_panelMeta {
  display: grid;
  justify-items: end;
  gap: 4px;
}
.IntegrationsHub_panelForm {
  gap: 16px;
}
.IntegrationsHub_about {
  margin: 0;
  color: var(--ad-text-muted, #5d6878);
  font-size: 13px;
  line-height: 1.6;
}
.IntegrationsHub_fieldGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}
.IntegrationsHub_fieldGrid label {
  min-width: 0;
}
.IntegrationsHub_required {
  margin-left: 6px;
  color: var(--ad-text-danger, #ba1a1a);
  font-size: 11px;
  font-weight: 700;
}
.IntegrationsHub_secretRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.IntegrationsHub_linkButton {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ad-primary, #0066ff);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
}
.IntegrationsHub_checkboxField {
  display: flex !important;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: 10px;
  padding-top: 0;
}
.IntegrationsHub_checkboxField input {
  display: block;
  width: auto !important;
  min-width: 0;
  flex: 0 0 auto;
  margin-top: 2px;
}
.IntegrationsHub_checkboxField span {
  min-width: 0;
}
.IntegrationsHub_legacy > summary {
  display: grid;
  gap: 4px;
  cursor: pointer;
  margin-bottom: 12px;
}
.IntegrationsHub_dialogBackdrop {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(10, 22, 31, 0.6);
}
.IntegrationsHub_dialog {
  display: grid;
  gap: 12px;
  width: min(440px, 100%);
  padding: 26px;
  border-radius: 18px;
  background: var(--ad-surface, #fff);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.26);
}
.IntegrationsHub_dialog h2 {
  margin: 0;
  font-size: 20px;
  letter-spacing: -0.03em;
}
.IntegrationsHub_dialog label {
  display: grid;
  gap: 6px;
  font-size: 13px;
}
.IntegrationsHub_dialog input {
  width: 100%;
  border: 1px solid var(--ad-line-card, #dfe4eb);
  border-radius: 10px;
  padding: 11px 12px;
}
.IntegrationsHub_dialogLead {
  margin: 0;
  color: var(--ad-text-muted, #5d6878);
  font-size: 13px;
  line-height: 1.6;
}
@media (max-width: 960px) {
  .IntegrationsHub_hub {
    grid-template-columns: 1fr;
  }
  .IntegrationsHub_list {
    position: static;
  }
  .IntegrationsHub_fieldGrid {
    grid-template-columns: 1fr;
  }
}

/* app/admin/jobs/JobsPage.module.css */
.JobsPage_runnerFacts {
  display: grid;
  grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
  gap: 6px 12px;
  min-width: 0;
  margin: 12px 0;
}
.JobsPage_runnerFacts dt,
.JobsPage_runnerFacts dd {
  min-width: 0;
}
.JobsPage_runnerFacts dd {
  margin: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.JobsPage_runnerFacts code {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 600px) {
  .JobsPage_runnerFacts {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .JobsPage_runnerFacts dd {
    margin: 0;
  }
}

/* app/inquiry/InquiryClient.module.css */
.InquiryClient_formFieldset {
  display: grid;
  gap: 15px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.InquiryClient_formFieldset [data-support-editor=true] {
  margin-block: 0;
}
.InquiryClient_followUp {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.InquiryClient_followUp > button {
  justify-self: start;
}
.InquiryClient_followUpForm {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid #e3e6e0;
  border-radius: 10px;
  background: #fbfbfa;
}
.InquiryClient_followUpForm label {
  color: #424656;
  font-size: 13px;
  font-weight: 700;
}
.InquiryClient_followUpForm textarea {
  width: 100%;
  min-height: 84px;
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: inherit;
  font: inherit;
  resize: vertical;
}
.InquiryClient_followUpActions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.InquiryClient_customerReply {
  margin-top: 10px;
  padding: 11px 12px;
  border-radius: 10px;
  background: #eef1f8;
}
.InquiryClient_customerReply small {
  color: #233e7b;
  font-size: 11px;
}
.InquiryClient_customerReply p {
  margin: 4px 0 0;
  font-size: 13px;
  white-space: pre-wrap;
}

/* app/content.css */
[data-admin-layout][data-admin-tokens=v2] {
  --wmr-background:var(--wmr-scale-gray-50,#f8f9fa);
  --wmr-text-primary:var(--wmr-scale-gray-900,#17191d);
  --wmr-text-secondary:var(--wmr-scale-gray-700,#424956);
  --wmr-text-tertiary:var(--wmr-scale-gray-500,#666e7b);
  --wmr-surface:var(--wmr-scale-gray-0,#fff);
  --wmr-surface-secondary:rgba(255,255,255,.85);
  --wmr-border:var(--wmr-scale-gray-200,#e8eaed);
  --wmr-primary:var(--wmr-scale-brand-600,#0066ff);
  --wmr-primary-hover:var(--wmr-scale-brand-700,#0052cc);
  --wmr-admin-primary:var(--wmr-primary);
  --wmr-admin-primary-hover:var(--wmr-primary-hover);
  --wmr-admin-primary-subtle:var(--wmr-scale-brand-100,#eaf2ff);
  --wmr-radius-button:var(--wmr-scale-radius-sm,12px);
  --wmr-v2-shadow-raised:0 10px 24px rgba(23,25,29,.07);
  --wmr-v2-weight-regular:var(--wmr-scale-weight-regular,400);
  --wmr-v2-weight-medium:var(--wmr-scale-weight-medium,500);
  --wmr-v2-weight-bold:var(--wmr-scale-weight-bold,700);
}
[data-admin-layout][data-admin-tokens=v2] {
  --ad-surface:#fff;
  --ad-surface-hover:#f6f8fb;
  --ad-surface-sunken:#f8f9fb;
  --ad-line-field:#dfe4eb;
  --ad-line-divider:#edf0f4;
  --ad-line-card:#eef0f4;
  --ad-text-strong:var(--wmr-text-primary,#17191d);
  --ad-text-label:#424656;
  --ad-text-muted:#727687;
  --ad-text-subtle:#687481;
  --ad-text-code:#536173;
  --ad-accent:var(--wmr-admin-primary,#0066ff);
  --ad-accent-hover:var(--wmr-admin-primary-hover,#0052cc);
  --ad-accent-surface:var(--wmr-admin-primary-subtle,#eaf2ff);
  --ad-accent-line:#cfe0ff;
  --ad-warning-surface:#fff7e6;
  --ad-warning-text:#7e5800;
  --ad-success-surface:#edf7ee;
  --ad-success-text:#277144;
  --ad-danger-surface:#fff1f0;
  --ad-danger-text:#a4332d;
  --ad-dirty-surface:#fff4df;
  --ad-dirty-text:#8a5a08;
  --ad-note-surface:#f4f8f1;
  --ad-note-line:#dfead8;
}
[data-admin-layout][data-admin-tokens=v2] {
  --ad-focus-ring:#9dc9ff;
}
[data-admin-layout][data-admin-tokens=v2] {
  --ad-danger-line:#f0c5c2;
  --ad-danger-surface-hover:#fde8e6;
}
[data-admin-layout] {
  --ad-gap-tight:4px;
  --ad-gap:12px;
  --ad-gap-loose:20px;
}
[data-admin-layout] [data-admin-density=compact] {
  --ad-gap-tight:2px;
  --ad-gap:8px;
  --ad-gap-loose:16px;
}
.hero-video {
  background: #17352f;
  object-fit: cover;
}
.landscape-card-description {
  font-size: 13px;
  color: var(--muted);
  margin: 8px 0 0;
}
.story-eyebrow,
.closing-eyebrow {
  color: #d9e99c;
}
.closing-eyebrow {
  color: #bdcbc4;
}
.background-text .background-body {
  max-width: 700px;
  font-size: 18px;
  white-space: pre-line;
  color: #51635e;
}
.background-image-block img {
  width: 100%;
  max-height: 640px;
  object-fit: cover;
  border-radius: var(--radius);
}
.background-image-block p {
  color: var(--muted);
  margin: 14px 0 0;
}
.background-columns-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--column-gap,24px);
  padding: 0 max(24px, calc((100vw - 1240px)/2));
}
.background-columns .section {
  padding-left: 0;
  padding-right: 0;
}
.background-column {
  min-width: 0;
}
.background-column .section {
  padding-top: 0;
  padding-bottom: 35px;
}
.background-button {
  text-align: center;
}
.dark-secondary {
  border-color: var(--ink);
  color: var(--ink);
}
.background-spacer {
  width: 100%;
}
.background-divider {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 0 max(24px, calc((100vw - 1240px)/2));
}
.background-hero .hero-bottom a {
  color: #d6e0d8;
}
.content-page {
  max-width: 1440px;
  margin: 0 auto;
}
.content-message {
  margin-bottom: 18px;
}
.content-version-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}
.content-version-toolbar > div:first-child {
  display: grid;
  gap: 6px;
  min-width: min(100%, 440px);
}
.content-version-toolbar label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  color: #424956;
}
.content-version-toolbar select {
  width: 100%;
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 11px 12px;
  background: #fff;
}
.content-version-toolbar small {
  color: #727687;
}
.content-version-toolbar optgroup {
  font-weight: 700;
  color: #1d2330;
}
.content-version-toolbar option {
  font-weight: 400;
  color: #1d2330;
}
.content-version-legend {
  font-size: 12px;
  color: #8a8f9e;
}
.content-edit-shell {
  overflow: visible;
}
.content-edit-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  border-bottom: 1px solid #edf0f4;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.content-edit-header h2,
.content-panel-heading h2,
.content-panel-heading h3 {
  margin: 0;
  letter-spacing: -.04em;
}
.content-edit-controls {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(180px, 1fr);
  gap: 12px;
  width: min(100%, 500px);
}
.content-edit-controls label,
.content-editor-panel label,
.popup-manager label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  color: #424956;
}
.content-edit-controls input,
.content-edit-controls select {
  width: 100%;
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 11px 12px;
  background: #fff;
}
.content-editor-stack {
  display: grid;
  gap: 14px;
}
.content-editor-panel {
  border: 1px solid #eef0f4;
  border-radius: 16px;
  padding: 20px;
  background: #fff;
}
.content-panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 15px;
  margin-bottom: 17px;
}
.content-panel-heading h3 {
  font-size: 19px;
}
.content-editor-panel .form-grid {
  margin-bottom: 15px;
}
.content-fieldset {
  border: 1px solid #edf0f4;
  border-radius: 12px;
  padding: 14px;
  margin: 16px 0;
}
.content-fieldset legend {
  padding: 0 7px;
  font-size: 13px;
  font-weight: 700;
}
.product-chooser {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.product-choice {
  display: flex !important;
  align-items: start;
  gap: 9px !important;
  background: #f8fafc;
  padding: 11px;
  border-radius: 10px;
}
.product-choice input {
  margin-top: 3px;
  width: auto;
}
.product-choice span {
  display: grid;
  gap: 2px;
}
.product-choice small {
  color: #727687;
}
.media-field-preview {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border-radius: 10px;
  margin-top: 5px;
  border: 1px solid #eef0f4;
}
.content-inline-card {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
  border: 1px solid #edf0f4;
  border-radius: 12px;
  padding: 12px;
  margin-top: 10px;
}
.content-inline-card > div:first-child {
  display: grid;
  align-content: start;
  gap: 3px;
}
.content-inline-card small {
  color: #727687;
}
.block-editor {
  display: grid;
  gap: 14px;
}
.block-editor-intro {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 15px;
  border-radius: 12px;
  background: #f6f8fb;
  color: #5d6878;
}
.block-editor-intro span {
  font-size: 13px;
}
.block-editor-intro select {
  margin-left: auto;
  border: 1px solid #dfe4eb;
  border-radius: 9px;
  padding: 9px;
  background: #fff;
}
.block-editor-row {
  border: 1px solid #e8ebf0;
  border-radius: 14px;
  padding: 16px;
  background: #fff;
}
.block-editor-row-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
}
.block-editor-row-head > div:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}
.block-index {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #eaf2ff;
  color: #0052cc;
  font-size: 12px;
  font-weight: 700;
}
.block-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.block-actions .admin-btn {
  padding: 7px 9px;
  font-size: 12px;
}
.row-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.media-library,
.popup-manager {
  margin-top: 20px;
}
.media-capability-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 15px;
}
.media-capability-grid > div {
  display: grid;
  gap: 4px;
  background: #f6f8fb;
  border-radius: 12px;
  padding: 13px;
}
.media-capability-grid span {
  color: #727687;
  font-size: 12px;
}
.media-capability-disabled {
  background: #fff7e6 !important;
}
.media-upload-form {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 9px;
  margin-bottom: 14px;
}
.media-upload-form input {
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
  min-width: 0;
}
.media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 15px;
}
.media-card {
  border: 1px solid #edf0f4;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.media-card > img,
.media-card > video {
  width: 100%;
  height: 150px;
  object-fit: cover;
  background: #edf0f4;
}
.media-card > div {
  display: grid;
  gap: 4px;
  padding: 11px;
}
.media-card small,
.media-alt {
  color: #727687;
  font-size: 11px;
  overflow-wrap: anywhere;
}
.media-card > .admin-btn {
  margin: 0 11px 11px;
}
.popup-list {
  margin-top: 22px;
}
.popup-manager .form-grid {
  margin-bottom: 14px;
}
.popup-manager .admin-actions {
  justify-content: flex-start;
}
.popup-manager .revision-row {
  align-items: center;
}
.popup-manager .revision-row > span:first-child {
  min-width: 180px;
}
.popup-manager .revision-row > .status-pill {
  margin-left: auto;
}
.columns-editor {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed #dfe4eb;
}
.columns-editor > p {
  margin: 0;
  color: #727687;
  font-size: 13px;
}
.columns-editor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.columns-editor-column {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 12px;
  border: 1px solid #edf0f4;
  border-radius: 12px;
  background: #f8fafc;
}
.columns-editor-column > b,
.columns-editor-column > strong {
  font-size: 12px;
  color: #5d6878;
}
@media (max-width: 900px) {
  .columns-editor-grid {
    grid-template-columns: 1fr 1fr;
  }
  .background-columns-grid {
    grid-template-columns: 1fr;
    padding-left: 0;
    padding-right: 0;
  }
  .content-version-toolbar,
  .content-edit-header {
    display: block;
  }
  .content-version-toolbar .admin-actions {
    margin-top: 12px;
  }
  .content-edit-controls {
    width: 100%;
    margin-top: 15px;
  }
  .content-inline-card {
    grid-template-columns: 1fr 1fr;
  }
  .media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .columns-editor-grid {
    grid-template-columns: 1fr;
  }
  .product-chooser,
  .media-capability-grid,
  .media-grid {
    grid-template-columns: 1fr;
  }
  .media-upload-form {
    grid-template-columns: 1fr;
  }
  .content-inline-card {
    grid-template-columns: 1fr;
  }
  .block-editor-row-head {
    display: block;
  }
  .block-actions {
    margin-top: 12px;
  }
  .popup-manager .revision-row {
    display: grid;
    grid-template-columns: 1fr auto;
  }
  .popup-manager .revision-row > .status-pill {
    margin-left: 0;
  }
  .popup-manager .row-actions {
    grid-column: 1/-1;
  }
}
.hero-media-frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #25423d;
}
.hero-media-frame .hero-video-poster {
  z-index: 0;
}
.hero-media-frame .hero-video {
  z-index: 1;
  background: #17352f;
}
.public-video-frame {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  background: #17352f;
  aspect-ratio: 16/9;
}
.public-video-poster,
.public-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.public-video-poster {
  z-index: 0;
}
.public-video {
  z-index: 1;
}
.background-video-block {
  padding-top: 0;
}
.background-video-block .public-video-frame {
  max-width: 1240px;
  margin: 0 auto;
}
.section-name-fields {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #e8edf3;
  border-radius: 12px;
  background: #fbfcfe;
}
.section-name-fields .form-grid {
  margin-bottom: 0;
}
.section-name-preview {
  margin: 0;
  color: #657184;
  font-size: 12px;
}
.section-name-preview b {
  color: #1f2937;
}
.section-name-preview span {
  color: #7b8797;
}
.hero-media-fields {
  display: grid;
  gap: 10px;
  margin-bottom: 15px;
}
.hero-media-fields > .field-help {
  margin: 0;
}
.media-capability-grid > div small {
  color: #727687;
  font-size: 11px;
}
.media-card[data-media-type=video] {
  border-color: #dbe8ff;
}
.media-card[data-media-type=video]:before {
  content: "MP4 영상";
  display: inline-block;
  position: absolute;
  margin: 9px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #2458b8;
  font-size: 10px;
  font-weight: 700;
  z-index: 2;
}
.media-card {
  position: relative;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .hero-media-frame .hero-video {
    display: none;
  }
  .public-video-frame .public-video {
    display: none;
  }
  .hero-media-frame .hero-video-poster,
  .public-video-frame .public-video-poster {
    display: block;
  }
}
.hero-media-frame {
  z-index: 0;
}
.hero-overlay {
  z-index: 1;
}
.hero-inner,
.hero-bottom {
  z-index: 2;
}
.home-image {
  display: block;
  width: 100%;
  max-width: 100%;
}
.home-image > img.home-image-element {
  display: block;
  max-width: 100%;
}
.hero .home-image.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.story > .home-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.home-image[data-home-image-custom-focus=true] > img.home-image-element {
  object-position: var(--home-image-desktop-position,50% 50%) !important;
}
.home-image[data-home-image-custom-focus=true][data-home-image-preview-viewport=mobile] > img.home-image-element {
  object-position: var(--home-image-mobile-position,50% 50%) !important;
}
.home-image[data-home-image-custom-focus=true][data-home-image-preview-viewport=desktop] > img.home-image-element {
  object-position: var(--home-image-desktop-position,50% 50%) !important;
}
.background-image-block > .home-image,
.landscape-card > .home-image,
.product-card > .home-image {
  width: 100%;
}
.background-image-block > .home-image > img {
  width: 100%;
  max-height: 640px;
  object-fit: cover;
  border-radius: var(--radius);
}
@media (max-width: 767px) {
  .home-image[data-home-image-custom-focus=true]:not([data-home-image-preview-viewport]) > img.home-image-element {
    object-position: var(--home-image-mobile-position,50% 50%) !important;
  }
}
.home-image[data-home-image-fit] > img.home-image-element {
  object-fit: var(--home-image-desktop-fit,cover);
  background: var(--home-image-desktop-background,transparent);
}
.home-image[data-home-image-fit][data-home-image-preview-viewport=mobile] > img.home-image-element {
  object-fit: var(--home-image-mobile-fit,cover);
  background: var(--home-image-mobile-background,transparent);
}
.home-image[data-home-image-frame] > img.home-image-element {
  aspect-ratio: var(--home-image-desktop-ratio,auto);
  height: auto;
  max-height: none;
}
.home-image[data-home-image-frame][data-home-image-preview-viewport=mobile] > img.home-image-element {
  aspect-ratio: var(--home-image-mobile-ratio,auto);
}
.home-image[data-home-image-width] > img.home-image-element {
  width: var(--home-image-desktop-width,100%);
  max-width: var(--home-image-desktop-max-width,100%);
  margin-inline: auto;
}
.home-image[data-home-image-width][data-home-image-preview-viewport=mobile] > img.home-image-element {
  width: var(--home-image-mobile-width,100%);
  max-width: var(--home-image-mobile-max-width,100%);
}
@media (max-width: 767px) {
  .home-image[data-home-image-fit]:not([data-home-image-preview-viewport]) > img.home-image-element {
    object-fit: var(--home-image-mobile-fit,cover);
    background: var(--home-image-mobile-background,transparent);
  }
  .home-image[data-home-image-frame]:not([data-home-image-preview-viewport]) > img.home-image-element {
    aspect-ratio: var(--home-image-mobile-ratio,auto);
  }
  .home-image[data-home-image-width]:not([data-home-image-preview-viewport]) > img.home-image-element {
    width: var(--home-image-mobile-width,100%);
    max-width: var(--home-image-mobile-max-width,100%);
  }
}
.block-editor-row.is-collapsed {
  padding: 10px 14px;
  background: #fafbfc;
}
.block-editor-row.is-collapsed > .block-editor-row-head {
  margin-bottom: 0;
}
.block-editor-row.is-collapsed > .block-editor-row-head .block-actions {
  display: none;
}
.block-editor-row.is-collapsed:hover {
  border-color: #9dc9ff;
  cursor: pointer;
}
.block-editor-row.is-selected {
  border-color: #0066ff;
  box-shadow: 0 0 0 2px rgba(0, 102, 255, .12);
}
.section-name-details {
  border: 1px solid #edf0f4;
  border-radius: 12px;
  background: #fafbfc;
  margin-bottom: 12px;
}
.section-name-details > summary {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  cursor: pointer;
  font-size: 13px;
  color: #424956;
}
.section-name-details > summary small {
  color: #727687;
  font-size: 11px;
}
.section-name-details > .form-grid {
  padding: 0 12px 12px;
  margin: 0;
}

/* app/globals.css */
@font-face {
  font-family: PretendardAite;
  src: url(/media/pretendard-regular.woff) format("woff");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: PretendardAite;
  src: url(/media/pretendard-bold.woff) format("woff");
  font-weight: 700;
  font-display: swap;
}
:root {
  --ink:#0c1c1e;
  --ink-soft:#24413d;
  --paper:#edf0e9;
  --paper-dark:#dce5de;
  --white:#fff;
  --blue:#00489d;
  --navy:#051469;
  --muted:#60736e;
  --line:#d8e0da;
  --cyan:#00b9c9;
  --radius:18px;
  --shadow:0 24px 70px rgba(12,28,30,.12);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family:
    PretendardAite,
    system-ui,
    sans-serif;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.55;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
img {
  max-width: 100%;
  display: block;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #9dc9ff;
  outline-offset: 3px;
}
.site-header {
  height: 76px;
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(237, 240, 233, .92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(12, 28, 30, .08);
  display: flex;
  align-items: center;
  gap: 34px;
  padding: 0 max(24px, calc((100vw - 1240px)/2));
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  letter-spacing: -.04em;
  font-size: 21px;
  white-space: nowrap;
}
.brand-mark {
  width: 30px;
  height: 30px;
  border: 2px solid currentColor;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 14px;
}
.site-nav {
  display: flex;
  gap: 25px;
  font-size: 14px;
  color: #40534e;
}
.site-nav a:hover {
  color: var(--ink);
}
.header-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}
.header-icon {
  border: 0;
  background: transparent;
  padding: 8px;
  color: var(--ink);
}
.header-cta {
  border: 0;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  padding: 11px 17px;
  font-size: 13px;
}
.hero {
  min-height: calc(100vh - 76px);
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #25423d;
  color: white;
}
.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(4, 23, 19, .62),
      rgba(4, 23, 19, .18) 60%,
      rgba(4, 23, 19, .08));
}
.hero-inner {
  position: relative;
  z-index: 1;
  width: min(1240px, 100%);
  padding: 130px 32px 96px;
}
.hero-kicker {
  font-size: 13px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #d9e99c;
  margin-bottom: 25px;
}
.hero h1 {
  font-size: clamp(58px, 11vw, 150px);
  line-height: .98;
  letter-spacing: -.07em;
  margin: 0;
  max-width: 8ch;
}
.hero-copy {
  font-size: 20px;
  line-height: 1.6;
  white-space: pre-line;
  margin: 30px 0 35px;
  max-width: 28ch;
}
.primary-btn,
.secondary-btn {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  border-radius: 999px;
  padding: 15px 22px;
  border: 1px solid transparent;
  font-weight: 700;
  font-size: 14px;
}
.primary-btn {
  background: var(--white);
  color: var(--ink);
}
.primary-btn:hover {
  background: #d9e99c;
}
.secondary-btn {
  background: transparent;
  border-color: rgba(255, 255, 255, .6);
  color: white;
}
.hero-bottom {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #d6e0d8;
}
.section {
  padding: 110px max(24px, calc((100vw - 1240px)/2));
}
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 54px;
}
.eyebrow {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.section h2 {
  font-size: clamp(36px, 5.4vw, 76px);
  line-height: 1.15;
  letter-spacing: -.06em;
  margin: 12px 0 0;
  white-space: pre-line;
}
.section-lead {
  max-width: 33ch;
  color: #51635e;
  line-height: 1.8;
}
.landscape-grid,
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.landscape-card,
.product-card {
  min-width: 0;
}
.landscape-card img,
.product-card img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}
.landscape-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 18px;
  font-size: 16px;
}
.landscape-meta span:last-child {
  font-size: 22px;
}
.story {
  min-height: 740px;
  position: relative;
  display: grid;
  place-items: center;
  color: white;
  overflow: hidden;
}
.story img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.story:after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(3, 23, 25, .52);
}
.story-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 40px 24px;
}
.story h2 {
  font-size: clamp(40px, 6vw, 90px);
  line-height: 1.13;
  letter-spacing: -.06em;
  white-space: pre-line;
  margin: 0;
}
.story p {
  font-size: 18px;
  white-space: pre-line;
  margin: 25px auto 30px;
  max-width: 32ch;
}
.product-section {
  background: #f1f2ea;
}
.product-card {
  background: transparent;
}
.product-card img {
  height: 300px;
}
.product-card-body {
  padding: 20px 2px;
}
.product-card-kicker {
  font-size: 12px;
  color: var(--muted);
}
.product-card h3 {
  font-size: 22px;
  letter-spacing: -.04em;
  margin: 8px 0;
}
.product-card p {
  color: #5a6a65;
  font-size: 14px;
  margin: 0 0 15px;
}
.text-link {
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  gap: 10px;
}
.closing {
  text-align: center;
  padding: 125px 24px;
  background: var(--ink);
  color: var(--paper);
}
.closing h2 {
  font-size: clamp(45px, 7vw, 100px);
  letter-spacing: -.07em;
  margin: 20px 0 36px;
}
.site-footer {
  padding: 40px max(24px, calc((100vw - 1240px)/2));
  background: #08171a;
  color: #aebdb7;
  border-top: 1px solid rgba(255, 255, 255, .2);
  display: flex;
  gap: 30px;
  justify-content: space-between;
  font-size: 12px;
}
.site-footer strong {
  color: white;
  font-size: 20px;
}
.popup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(4, 14, 16, .58);
  display: grid;
  place-items: center;
  padding: 22px;
}
.popup-card {
  background: white;
  color: var(--ink);
  width: min(560px, 100%);
  max-height: calc(100vh - 44px);
  overflow: auto;
  border-radius: 12px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .3);
  position: relative;
}
.popup-card img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}
.popup-body {
  padding: 25px;
}
.popup-body h2 {
  font-size: 25px;
  line-height: 1.25;
  margin: 0 38px 10px 0;
}
.popup-body p {
  color: var(--muted);
  margin: 0 0 20px;
}
.popup-close {
  position: absolute;
  right: 14px;
  top: 14px;
  border: 0;
  background: white;
  color: var(--ink);
  border-radius: 50%;
  width: 38px;
  height: 38px;
  font-size: 21px;
  z-index: 2;
}
.popup-footer {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.muted-btn {
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  border-radius: 999px;
  padding: 10px 15px;
  font-size: 13px;
}
.dark-btn {
  border: 0;
  background: var(--ink);
  color: white;
  border-radius: 999px;
  padding: 11px 17px;
  font-size: 13px;
}
.search-panel {
  position: fixed;
  inset: 76px 0 auto;
  z-index: 80;
  background: rgba(237, 240, 233, .98);
  border-bottom: 1px solid var(--line);
  padding: 25px max(24px, calc((100vw - 1240px)/2));
  box-shadow: var(--shadow);
}
.search-row {
  display: flex;
  gap: 10px;
}
.search-row input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 14px 18px;
  background: white;
}
.search-results {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 15px;
  max-height: 360px;
  overflow: auto;
}
.search-result {
  border: 1px solid var(--line);
  background: white;
  border-radius: 14px;
  padding: 14px;
}
.search-result small {
  color: var(--muted);
}
.search-result .search-result-match {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}
.search-result strong {
  display: block;
}
.admin-layout {
  min-height: 100vh;
  background: var(--wmr-background,#f8f9fb);
  color: var(--wmr-text-primary,#1c1b1b);
  display: flex;
}
.admin-layout {
  --public-primary:#0052cc;
}
.admin-sidebar {
  width: 255px;
  flex: 0 0 255px;
  background: #fff;
  border-right: 1px solid #e7ebf0;
  padding: 26px 18px;
  display: flex;
  flex-direction: column;
}
.admin-sidebar .brand {
  margin: 0 12px 35px;
}
.admin-nav {
  display: grid;
  gap: 5px;
}
.admin-nav a {
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
  color: #5b6370;
}
.admin-nav a:hover,
.admin-nav a.active {
  background: #eaf2ff;
  color: #0052cc;
  font-weight: 700;
}
.admin-bottom {
  margin-top: auto;
  padding: 15px 12px;
  border-top: 1px solid #edf0f4;
  font-size: 12px;
  color: #727687;
}
.admin-main {
  flex: 1;
  min-width: 0;
  padding: 30px clamp(20px, 4vw, 56px);
}
.admin-topbar {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  margin-bottom: 26px;
}
.admin-topbar h1 {
  font-size: 30px;
  letter-spacing: -.04em;
  margin: 0;
}
.admin-topbar p {
  color: #727687;
  margin: 6px 0 0;
}
.admin-actions {
  display: flex;
  gap: 8px;
}
.admin-btn {
  border: 1px solid #dbe1eb;
  border-radius: 10px;
  padding: 10px 14px;
  background: #fff;
  color: #424656;
  font-size: 13px;
}
.admin-btn.primary {
  background: #0066ff;
  color: #fff;
  border-color: #0066ff;
}
.admin-btn.danger {
  color: #ba1a1a;
}
.admin-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin-bottom: 25px;
}
.admin-stat {
  background: #fff;
  border: 1px solid #eef0f4;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .03);
}
.admin-stat small {
  color: #727687;
}
.admin-stat strong {
  display: block;
  font-size: 29px;
  margin-top: 8px;
}
.admin-card {
  background: #fff;
  border: 1px solid #eef0f4;
  border-radius: 18px;
  padding: 22px;
  margin-bottom: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .03);
}
.admin-card h2 {
  font-size: 18px;
  margin: 0 0 16px;
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.admin-table th,
.admin-table td {
  text-align: left;
  padding: 13px 10px;
  border-bottom: 1px solid #f0f2f5;
  vertical-align: top;
}
.admin-table th {
  color: #727687;
  font-weight: 500;
}
.status-pill {
  display: inline-flex;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  background: #edf2ff;
  color: #2458b8;
}
.status-pill.green {
  background: #e8f7ed;
  color: #20783a;
}
.status-pill.orange {
  background: #fff4df;
  color: #9a5b00;
}
.status-pill.gray {
  background: #f0f1f3;
  color: #676d79;
}
.admin-form {
  display: grid;
  gap: 15px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
.admin-form label,
.public-form label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  color: #424656;
}
.admin-form input,
.admin-form select,
.admin-form textarea,
.public-form input,
.public-form select,
.public-form textarea {
  width: 100%;
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 11px 12px;
  background: #fff;
  color: var(--ink);
}
.admin-form textarea,
.public-form textarea {
  min-height: 100px;
  resize: vertical;
}
.admin-notice {
  padding: 13px 15px;
  border-radius: 12px;
  background: #f4f7fb;
  color: #5d6878;
  font-size: 13px;
}
.admin-notice.warning {
  background: #fff7e6;
  color: #7e5800;
}
.two-col {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 20px;
}
.calendar-shell {
  overflow: auto;
}
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(100px, 1fr));
  min-width: 700px;
  border-top: 1px solid #e8ebf0;
  border-left: 1px solid #e8ebf0;
}
.calendar-grid > div {
  min-height: 85px;
  padding: 9px;
  border-right: 1px solid #e8ebf0;
  border-bottom: 1px solid #e8ebf0;
  font-size: 12px;
}
.calendar-grid .weekday {
  min-height: 38px;
  background: #f8f9fb;
  color: #727687;
  font-weight: 700;
}
.calendar-day strong {
  display: block;
  font-size: 13px;
}
.calendar-day.selected {
  background: #eaf2ff;
}
.departure-dot {
  margin-top: 7px;
  padding: 4px 6px;
  border-radius: 7px;
  background: #eaf2ff;
  color: #0052cc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.public-shell {
  min-height: 100vh;
}
.public-page {
  width: min(100%, 1040px);
  margin: 0 auto;
  padding: 70px 24px;
}
.public-page h1 {
  font-size: 52px;
  letter-spacing: -.06em;
  line-height: 1.1;
}
.public-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(12, 28, 30, .05);
  margin: 25px 0;
}
.public-form {
  display: grid;
  gap: 15px;
  max-width: 760px;
}
.public-form .field-help {
  font-size: 12px;
  color: var(--muted);
}
.price-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px;
  background: #f5f7f1;
  border-radius: 14px;
  margin: 15px 0;
}
.price-box strong {
  font-size: 23px;
}
.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    linear-gradient(
      145deg,
      #edf0e9,
      #dbe6e0);
}
.login-card {
  width: min(460px, 100%);
  background: white;
  border-radius: 22px;
  padding: 34px;
  box-shadow: var(--shadow);
}
.login-card h1 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -.05em;
}
.demo-list {
  display: grid;
  gap: 8px;
  margin: 18px 0;
  padding: 14px;
  border-radius: 12px;
  background: #f5f7f4;
  font-size: 12px;
  color: #52635e;
}
.demo-list code {
  color: var(--navy);
}
.toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 200;
  padding: 13px 17px;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  font-size: 13px;
  box-shadow: var(--shadow);
}
@media (max-width: 900px) {
  .site-header {
    gap: 15px;
    padding: 0 18px;
  }
  .site-nav {
    gap: 13px;
    font-size: 12px;
  }
  .header-actions .header-cta {
    display: none;
  }
  .hero-inner {
    padding: 110px 22px 80px;
  }
  .hero-bottom {
    left: 22px;
    right: 22px;
  }
  .section {
    padding: 75px 22px;
  }
  .section-heading {
    display: block;
    margin-bottom: 35px;
  }
  .section-lead {
    margin-top: 20px;
  }
  .landscape-grid,
  .product-grid {
    gap: 12px;
  }
  .landscape-card img {
    height: 270px;
  }
  .product-card img {
    height: 230px;
  }
  .admin-sidebar {
    width: 215px;
    flex-basis: 215px;
  }
  .admin-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .two-col {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .site-header {
    height: 66px;
  }
  .brand {
    font-size: 18px;
  }
  .brand-mark {
    width: 27px;
    height: 27px;
  }
  .site-nav {
    display: none;
  }
  .hero {
    min-height: calc(100vh - 66px);
  }
  .hero h1 {
    font-size: clamp(60px, 20vw, 115px);
  }
  .hero-copy {
    font-size: 17px;
  }
  .landscape-grid {
    grid-template-columns: 1fr;
  }
  .landscape-card img {
    height: 320px;
  }
  .product-grid {
    grid-template-columns: 1fr;
  }
  .story {
    min-height: 610px;
  }
  .story p {
    font-size: 15px;
  }
  .site-footer {
    display: grid;
    gap: 18px;
  }
  .search-panel {
    inset: 66px 0 auto;
  }
  .search-results {
    grid-template-columns: 1fr;
  }
  .admin-layout {
    display: block;
  }
  .admin-sidebar {
    width: 100%;
    height: auto;
    padding: 14px 14px 12px;
    border-right: 0;
    border-bottom: 1px solid #e7ebf0;
  }
  .admin-sidebar .brand {
    margin: 0 7px 12px;
  }
  .admin-nav {
    display: flex;
    overflow: auto;
    gap: 4px;
  }
  .admin-nav a {
    white-space: nowrap;
    padding: 9px 11px;
    font-size: 12px;
  }
  .admin-bottom {
    display: none;
  }
  .admin-main {
    padding: 22px 14px;
  }
  .admin-topbar {
    display: block;
  }
  .admin-actions {
    margin-top: 14px;
  }
  .admin-grid {
    gap: 9px;
  }
  .admin-stat {
    padding: 14px;
  }
  .admin-stat strong {
    font-size: 23px;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .admin-table {
    min-width: 640px;
  }
  .admin-card {
    overflow: auto;
    padding: 17px;
  }
  .public-page {
    padding: 45px 18px;
  }
  .public-page h1 {
    font-size: 40px;
  }
  .public-card {
    padding: 20px;
  }
  .popup-card img {
    height: 210px;
  }
}
.filter-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 32px 0 38px;
}
.filter-chip {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
  padding: 9px 15px;
  font-size: 13px;
}
.filter-chip.active {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
}
.product-hero {
  min-height: 390px;
  background: var(--ink);
  color: white;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: stretch;
}
.product-hero > img {
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
}
.product-hero > div {
  padding: 68px max(24px, calc((100vw - 1240px)/2)) 60px 48px;
  align-self: center;
}
.product-hero h1 {
  font-size: clamp(38px, 5vw, 72px);
  letter-spacing: -.07em;
  line-height: 1.12;
  margin: 13px 0 20px;
}
.product-hero p:not(.eyebrow) {
  color: #d6e0d8;
  max-width: 34ch;
}
.calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 15px;
}
.calendar-toolbar h2 {
  margin: 0;
  font-size: 18px;
}
.guide-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 25px;
}
.guide-buttons a {
  background: #f3f6f1;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
}
.quote-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
.quote-steps > div {
  display: grid;
  gap: 5px;
}
.quote-steps b {
  font-size: 14px;
}
.quote-steps span {
  font-size: 13px;
  color: var(--muted);
}
.revision-row,
.account-row {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  border-bottom: 1px solid #edf0f4;
  padding: 14px 0;
}
.revision-row:last-child,
.account-row:last-child {
  border-bottom: 0;
}
.revision-row span:first-child,
.account-row span:first-child {
  display: grid;
  gap: 3px;
}
.revision-row small,
.account-row small {
  color: #727687;
}
.inquiry-row {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #edf0f4;
  background: transparent;
  padding: 15px 0;
  gap: 15px;
  color: inherit;
}
.inquiry-row span:first-child {
  display: grid;
  gap: 3px;
}
.inquiry-row small {
  color: #727687;
}
.inquiry-row.selected {
  color: #0052cc;
}
.reply-box {
  width: 100%;
  min-height: 150px;
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 12px;
  margin: 20px 0 12px;
  resize: vertical;
}
.quick-admin-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 18px;
}
.quick-admin-links a {
  padding: 13px;
  background: #f6f8fb;
  border-radius: 12px;
  font-size: 13px;
}
.field-help {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.55;
}
.guide-copy {
  max-width: 780px;
  line-height: 1.85;
}
.calendar-shell .price-box {
  margin-bottom: 0;
}
.calendar-shell {
  min-width: 0;
}
@media (max-width: 800px) {
  .product-hero {
    grid-template-columns: 1fr;
  }
  .product-hero > img {
    min-height: 290px;
    max-height: 390px;
  }
  .product-hero > div {
    padding: 35px 22px 45px;
  }
  .quote-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .quick-admin-links {
    grid-template-columns: 1fr;
  }
  .quote-steps {
    grid-template-columns: 1fr;
  }
}
.search-status {
  margin: 14px 0;
  padding: 11px 14px;
  border-radius: 12px;
  background: #eef6f3;
  color: #42635b;
  font-size: 12px;
}
.text-button {
  border: 0;
  background: transparent;
  color: inherit;
  text-decoration: underline;
  padding: 0;
  font-weight: 700;
}
.search-page h1 {
  margin-bottom: 12px;
}
.search-form {
  display: grid;
  gap: 18px;
}
.search-form label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  color: #424656;
}
.search-form input,
.search-form select {
  width: 100%;
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 11px 12px;
  background: #fff;
  color: var(--ink);
}
.search-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.search-results-page {
  margin-top: 35px;
}
.search-results-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 15px;
  margin-bottom: 18px;
}
.search-results-heading h2 {
  margin: 0;
  font-size: 22px;
  letter-spacing: -.04em;
}
.search-results-heading span {
  font-size: 12px;
  color: var(--muted);
}
.search-result-list {
  display: grid;
  gap: 12px;
}
.search-result-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 19px 20px;
}
.search-result-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.search-result-card h3 {
  margin: 9px 0 6px;
  font-size: 21px;
  letter-spacing: -.04em;
}
.search-result-card p {
  margin: 0;
  color: #5a6a65;
  font-size: 14px;
}
.search-result-meta {
  display: flex;
  gap: 13px;
  flex-wrap: wrap;
  margin-top: 14px;
  color: var(--muted);
  font-size: 12px;
}
.empty-state {
  color: #5a6a65;
}
.empty-state h2 {
  color: var(--ink);
  margin-top: 0;
}
.guide-buttons a.active {
  background: var(--ink);
  color: #fff;
}
.guide-copy h2 {
  font-size: 22px;
  margin: 0 0 10px;
}
.guide-section {
  padding: 0 0 22px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 22px;
}
.guide-section:last-of-type {
  border-bottom: 0;
  margin-bottom: 0;
}
.guide-section p {
  margin: 7px 0;
  color: #4e625c;
}
.guide-document-meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 12px;
  color: var(--muted);
}
.guide-source {
  max-width: 780px;
}
.guide-source h2 {
  margin: 0 0 10px;
  font-size: 22px;
}
.guide-source p {
  color: #52635e;
}
.guide-next-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 20px 0 40px;
}
.notice-list {
  display: grid;
  gap: 15px;
}
.notice-card {
  margin: 0;
}
.notice-card h2 {
  font-size: 25px;
  letter-spacing: -.04em;
  margin: 11px 0 6px;
}
.notice-card p {
  color: #5a6a65;
  margin: 0 0 16px;
}
.notice-card-meta {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
}
.notice-card-meta span:first-child {
  color: #315c54;
  font-weight: 700;
}
.notice-detail {
  max-width: 820px;
}
.notice-detail h1 {
  margin: 18px 0 10px;
}
.notice-body {
  margin-top: 30px;
}
.support-note {
  display: grid;
  gap: 3px;
  max-width: 760px;
  padding: 14px 16px;
  border-left: 1px solid var(--cyan);
  background: #e7f2ed;
  color: #31554c;
  font-size: 13px;
  margin: 24px 0;
}
.support-note span {
  color: #526d65;
}
.inquiry-layout {
  align-items: start;
}
.inquiry-history {
  min-width: 0;
}
.section-heading-compact {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  margin-bottom: 15px;
}
.section-heading-compact h2 {
  margin: 0;
}
.inquiry-history-item {
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.inquiry-history-item:last-child {
  border-bottom: 0;
}
.inquiry-history-head,
.inquiry-detail-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}
.inquiry-history-head strong {
  display: block;
}
.inquiry-history-head small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 3px;
}
.inquiry-history-item > p {
  font-size: 13px;
  color: #52635e;
  white-space: pre-wrap;
}
.consent-row {
  display: flex !important;
  grid-template-columns: auto 1fr !important;
  align-items: start;
  gap: 8px;
}
.consent-row input {
  width: auto !important;
  margin-top: 4px;
}
.consent-row small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
}
.public-reply {
  margin-top: 10px;
  padding: 11px 12px;
  border-radius: 10px;
  background: #f3f7f3;
}
.public-reply small {
  color: #4e6b62;
  font-size: 11px;
}
.public-reply p {
  margin: 4px 0 0;
  font-size: 13px;
  white-space: pre-wrap;
}
.inquiry-admin-boundary {
  display: grid;
  gap: 4px;
  margin-bottom: 18px;
}
.inquiry-admin-layout {
  align-items: start;
}
.admin-search-form {
  display: grid;
  grid-template-columns: 1.5fr 1fr auto;
  gap: 8px;
  margin-bottom: 15px;
}
.admin-search-form input,
.admin-search-form select {
  min-width: 0;
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
}
.inquiry-list {
  max-height: 650px;
  overflow: auto;
}
.inquiry-detail-head h2 {
  margin: 0;
  font-size: 22px;
}
.inquiry-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 12px 0;
  margin: 14px 0;
  border-top: 1px solid #edf0f4;
  border-bottom: 1px solid #edf0f4;
  font-size: 12px;
  color: #667080;
}
.inquiry-contact b {
  color: #2b3340;
}
.inquiry-message {
  padding: 15px;
  background: #f7f9fb;
  border-radius: 12px;
}
.inquiry-message p {
  margin: 0;
  white-space: pre-wrap;
  font-size: 14px;
}
.reply-thread {
  margin-top: 22px;
}
.reply-thread h3 {
  font-size: 15px;
  margin: 0 0 10px;
}
.reply-item {
  padding: 12px 0;
  border-bottom: 1px solid #edf0f4;
}
.reply-item.internal {
  background: #fff9ec;
  padding: 12px;
  border-radius: 10px;
  border-bottom: 0;
  margin-bottom: 8px;
}
.reply-item > div {
  display: flex;
  gap: 9px;
  align-items: center;
}
.reply-item small {
  color: #727687;
  font-size: 11px;
}
.reply-item p {
  white-space: pre-wrap;
  margin: 8px 0 0;
  font-size: 13px;
}
.reply-editor {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #edf0f4;
}
.reply-editor label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  color: #424656;
}
.reply-editor select {
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
}
.reply-editor textarea {
  width: 100%;
  min-height: 130px;
  margin: 12px 0;
  border: 1px solid #dfe4eb;
  border-radius: 10px;
  padding: 12px;
  resize: vertical;
}
.inquiry-detail-card {
  min-width: 0;
}
@media (max-width: 800px) {
  .search-filter-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .search-results-heading {
    display: block;
  }
  .search-results-heading span {
    display: block;
    margin-top: 7px;
  }
  .admin-search-form {
    grid-template-columns: 1fr 1fr;
  }
  .admin-search-form button {
    grid-column: 1/-1;
  }
  .inquiry-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .search-filter-grid {
    grid-template-columns: 1fr;
  }
  .search-row {
    flex-wrap: wrap;
  }
  .search-row input {
    flex-basis: 100%;
  }
  .search-row button {
    flex: 1;
  }
  .guide-document-meta {
    display: grid;
  }
  .inquiry-history-head,
  .inquiry-detail-head {
    display: block;
  }
  .inquiry-history-head .status-pill,
  .inquiry-detail-head .status-pill {
    margin-top: 8px;
  }
  .admin-search-form {
    grid-template-columns: 1fr;
  }
  .admin-search-form button {
    grid-column: auto;
  }
  .inquiry-contact {
    display: grid;
  }
}
:root {
  --public-primary:#00489d;
  --public-primary-hover:#003a80;
  --public-on-primary:#fff;
  --public-page:#fff;
  --public-surface:#fff;
  --public-subtle:#fafafa;
  --public-heading:#252525;
  --public-body:#454545;
  --public-muted:#666;
  --public-line:#e2e2e2;
  --public-radius:5px;
  --public-content-width:1180px;
  --public-focus-ring:#9dc9ff;
  --public-auth-aside:#0d191e;
  --public-auth-aside-text:#edf2eb;
  --public-auth-aside-title:#f3f5ed;
  --public-auth-aside-eyebrow:rgba(237,242,235,.72);
  --public-auth-input:#f8f8f8;
  --public-auth-disabled:#9fb4cf;
  --public-auth-ghost:#454545;
  --public-auth-error-border:#e6c0c0;
  --public-auth-error-surface:#fdf5f4;
  --public-auth-error-text:#8c2f24;
}
.site-header {
  height: 80px;
  background: rgba(255, 255, 255, .97);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #ededed;
  color: var(--public-heading);
  box-shadow: none;
}
.brand-mark {
  color: var(--public-primary);
  border-color: currentColor;
}
.site-nav {
  color: #555;
}
.header-icon {
  font-size: 22px;
  line-height: 1;
  color: var(--public-heading);
}
.header-cta {
  background: transparent;
  color: #555;
  border-radius: 0;
  padding: 8px 0;
  font-size: 13px;
}
.header-cta:hover {
  color: var(--public-primary);
}
.products-page,
.product-detail-page {
  min-height: calc(100vh - 80px);
  background: var(--public-page);
  color: var(--public-body);
}
.catalog-banner {
  height: 245px;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #183148;
  color: #fff;
}
.catalog-banner > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
}
.catalog-banner-overlay {
  position: absolute;
  inset: 0;
  background: rgba(7, 24, 41, .48);
}
.catalog-banner-content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 24px;
}
.catalog-banner-content h1 {
  margin: 0;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: -.06em;
  font-weight: 600;
  color: #fff;
}
.catalog-banner-content p {
  max-width: 34ch;
  margin: 9px auto 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .86);
}
.catalog-breadcrumbs,
.product-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 60px;
  padding: 0 max(24px, calc((100vw - var(--public-content-width))/2));
  background: var(--public-surface);
  border-bottom: 1px solid var(--public-line);
  font-size: 15px;
  color: #454545;
}
.catalog-breadcrumbs a,
.product-breadcrumbs a {
  font-weight: 700;
}
.catalog-breadcrumbs a:hover,
.product-breadcrumbs a:hover {
  color: var(--public-primary);
}
.catalog-breadcrumbs span,
.product-breadcrumbs span {
  color: #aaa;
}
.catalog-breadcrumbs strong,
.product-breadcrumbs strong {
  font-weight: 700;
  color: var(--public-heading);
}
.catalog-content {
  width: min(100%, var(--public-content-width));
  margin: 0 auto;
  padding: 30px 30px 96px;
}
.catalog-category-tabs {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--public-line);
  overflow-x: auto;
}
.catalog-category-tabs a {
  flex: 0 0 auto;
  padding: 0 20px 14px;
  color: #777;
  font-size: 16px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}
.catalog-category-tabs a:first-child {
  padding-left: 0;
}
.catalog-category-tabs a:hover,
.catalog-category-tabs a.active {
  color: var(--public-primary);
}
.catalog-category-tabs a.active {
  border-bottom-color: var(--public-primary);
  font-weight: 700;
}
.catalog-category-nav {
  margin-bottom: 28px;
}
.catalog-category-nav .catalog-category-tabs {
  margin-bottom: 0;
}
.catalog-category-nav .catalog-category-tabs[data-level="2"],
.catalog-category-nav .catalog-category-tabs[data-level="3"] {
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 0 0;
  border-bottom: 0;
  overflow: visible;
}
.catalog-category-nav .catalog-category-tabs[data-level="3"] {
  padding-top: 10px;
}
.catalog-category-nav .catalog-category-tabs[data-level="2"] a,
.catalog-category-nav .catalog-category-tabs[data-level="3"] a {
  padding: 6px 14px;
  border: 1px solid var(--public-line);
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.4;
  color: #555;
  font-weight: 400;
}
.catalog-category-nav .catalog-category-tabs[data-level="3"] a {
  padding: 5px 12px;
  font-size: 13px;
}
.catalog-category-nav .catalog-category-tabs[data-level="2"] a:not(.active):not(.active-all):hover,
.catalog-category-nav .catalog-category-tabs[data-level="3"] a:not(.active):not(.active-all):hover {
  border-color: var(--public-primary);
  color: var(--public-primary);
}
.catalog-category-nav .catalog-category-tabs a.ancestor {
  color: var(--public-primary);
  font-weight: 700;
}
.catalog-category-nav .catalog-category-tabs[data-level="1"] a.ancestor {
  border-bottom-color: var(--public-primary);
}
.catalog-category-nav .catalog-category-tabs[data-level="2"] a.ancestor,
.catalog-category-nav .catalog-category-tabs[data-level="3"] a.ancestor {
  border-color: var(--public-primary);
}
.catalog-category-nav .catalog-category-tabs[data-level="2"] a.active,
.catalog-category-nav .catalog-category-tabs[data-level="3"] a.active,
.catalog-category-nav .catalog-category-tabs a.active-all {
  background: var(--public-primary);
  border-color: var(--public-primary);
  color: #fff;
  font-weight: 700;
}
.catalog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 40px;
  align-items: start;
}
.catalog-results {
  min-width: 0;
}
.catalog-results-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}
.catalog-results-heading h2 {
  margin: 7px 0 0;
  font-size: 22px;
  line-height: 1.3;
  letter-spacing: -.045em;
  color: var(--public-heading);
}
.catalog-results-count {
  font-size: 13px;
  font-weight: 700;
  color: #555;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.catalog-results-sort {
  font-size: 13px;
  color: #888;
  white-space: nowrap;
}
.catalog-product-list {
  display: grid;
  gap: 16px;
}
.catalog-product-card {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  min-width: 0;
  min-height: 218px;
  background: var(--public-surface);
  border: 1px solid #dedede;
  border-radius: var(--public-radius);
  overflow: hidden;
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}
.catalog-product-card:hover {
  border-color: #b4c8dd;
  box-shadow: 0 8px 20px rgba(0, 72, 157, .08);
  transform: translateY(-1px);
}
.catalog-product-card-media {
  min-width: 0;
  min-height: 218px;
  background: #e9edf1;
}
.catalog-product-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;
}
.catalog-product-card-body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 26px 28px 22px;
}
.catalog-product-card-topline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--public-primary);
  font-size: 13px;
  line-height: 1.4;
}
.catalog-product-card-topline span:last-child {
  color: #888;
}
.catalog-product-card h3 {
  margin: 22px 0 10px;
  color: var(--public-heading);
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: -.05em;
}
.catalog-product-card p {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.catalog-product-card-footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 15px;
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid #eeeeee;
  font-size: 12px;
  color: #888;
}
.catalog-product-card-footer strong {
  font-size: 22px;
  line-height: 1.2;
  color: var(--public-heading);
  letter-spacing: -.055em;
  white-space: nowrap;
}
.catalog-search-aside {
  position: sticky;
  top: 104px;
  overflow: hidden;
  background: var(--public-surface);
  border: 1px solid #dedede;
  border-radius: var(--public-radius);
}
.catalog-search-aside h2 {
  margin: 0;
  padding: 17px 20px;
  background: var(--public-primary);
  color: #fff;
  text-align: center;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -.04em;
}
.catalog-search-form {
  display: grid;
  gap: 14px;
  padding: 20px;
}
.catalog-search-form label {
  display: grid;
  gap: 7px;
  color: #555;
  font-size: 13px;
}
.catalog-search-form input {
  width: 100%;
  min-width: 0;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  background: var(--public-subtle);
  color: var(--public-heading);
  padding: 13px 12px;
  font-size: 14px;
}
.catalog-search-form input::placeholder {
  color: #999;
}
.catalog-primary-button,
.catalog-secondary-button,
.public-primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 3px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease;
}
.catalog-primary-button,
.public-primary-button {
  background: var(--public-primary);
  color: var(--public-on-primary);
}
.catalog-primary-button:hover,
.public-primary-button:hover {
  background: var(--public-primary-hover);
  color: #fff;
}
.catalog-primary-button:active,
.catalog-secondary-button:active,
.public-primary-button:active {
  transform: translateY(1px);
}
.catalog-primary-button:disabled,
.public-primary-button:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.catalog-search-reset {
  color: #777;
  text-align: center;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.catalog-search-note {
  margin: 0 20px 20px;
  padding: 14px;
  border-top: 1px solid #eeeeee;
  color: #777;
  font-size: 12px;
  line-height: 1.6;
}
.catalog-search-note strong {
  display: block;
  margin-bottom: 5px;
  color: #555;
  font-size: 13px;
}
.catalog-empty-state {
  padding: 44px 28px;
  background: var(--public-surface);
  border: 1px solid #dedede;
  border-radius: var(--public-radius);
  text-align: center;
}
.catalog-empty-state h2 {
  margin: 0;
  color: var(--public-heading);
  font-size: 20px;
  letter-spacing: -.04em;
}
.catalog-empty-state p {
  margin: 10px 0 20px;
  color: #777;
  font-size: 14px;
}
.catalog-secondary-button {
  border-color: #cfcfcf;
  background: var(--public-surface);
  color: var(--public-heading);
}
.catalog-secondary-button:hover {
  border-color: var(--public-primary);
  color: var(--public-primary);
}
.product-detail-shell {
  width: min(100%, var(--public-content-width));
  margin: 0 auto;
  padding: 30px 30px 96px;
}
.product-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  min-width: 0;
  background: var(--public-surface);
  border: 1px solid #dedede;
  border-radius: var(--public-radius);
  overflow: hidden;
}
.product-detail-hero-media {
  min-width: 0;
  background: #e9edf1;
}
.product-detail-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  aspect-ratio: 4/3;
}
.product-detail-hero-content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 42px 40px;
}
.product-detail-code {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: #666;
  font-size: 13px;
}
.product-detail-code span + span {
  color: var(--public-primary);
}
.product-detail-hero h1 {
  margin: 22px 0 16px;
  color: var(--public-heading);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.2;
  letter-spacing: -.07em;
  word-break: keep-all;
}
.product-detail-description {
  margin: 0;
  color: #555;
  font-size: 16px;
  line-height: 1.75;
  word-break: keep-all;
}
.product-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 24px;
}
.product-detail-tags span {
  padding: 6px 9px;
  background: #f5f5f5;
  border: 1px solid #ededed;
  border-radius: 3px;
  color: #666;
  font-size: 12px;
}
.product-summary-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 30px 0 0;
  border-top: 1px solid #e7e7e7;
}
.product-summary-list > div {
  display: grid;
  gap: 5px;
  padding: 15px 0;
  border-bottom: 1px solid #e7e7e7;
}
.product-summary-list dt {
  color: #888;
  font-size: 12px;
}
.product-summary-list dd {
  margin: 0;
  color: var(--public-heading);
  font-size: 14px;
  font-weight: 700;
}
.product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 24px;
  align-items: start;
  margin-top: 24px;
}
.product-detail-main {
  min-width: 0;
  background: var(--public-surface);
  border: 1px solid #dedede;
  border-radius: var(--public-radius);
}
.product-info-section,
.product-guide-section {
  padding: 0 30px 34px;
}
.product-info-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-bottom: 1px solid #dedede;
}
.product-info-tabs a {
  padding: 18px 10px 15px;
  color: #999;
  font-size: 17px;
  text-align: center;
  border-bottom: 2px solid transparent;
}
.product-info-tabs a.active,
.product-info-tabs a:hover {
  color: var(--public-primary);
  border-bottom-color: var(--public-primary);
  font-weight: 700;
}
.product-info-heading {
  padding: 32px 0 20px;
}
.product-info-heading > span,
.product-side-label,
.booking-section-heading > span,
.booking-callout > span {
  color: var(--public-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}
.product-info-heading h2 {
  margin: 8px 0 0;
  color: var(--public-heading);
  font-size: 24px;
  line-height: 1.35;
  letter-spacing: -.05em;
}
.product-copy-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  padding-top: 4px;
}
.product-copy-stack section + section {
  padding-top: 24px;
  border-top: 1px solid #ededed;
}
.product-copy-stack h3 {
  margin: 0 0 10px;
  color: var(--public-heading);
  font-size: 16px;
}
.product-copy-stack p {
  margin: 0;
  color: #555;
  font-size: 15px;
  line-height: 1.85;
  word-break: keep-all;
}
.product-content-notes {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #ededed;
}
.product-content-notes h3 {
  margin: 0 0 10px;
  color: var(--public-heading);
  font-size: 16px;
}
.product-guide-section {
  border-top: 1px solid #dedede;
}
.product-guide-notice {
  padding: 32px 30px;
  margin-top: 0;
  border-top: 1px solid #dedede;
}
.product-guide-notice > h3 {
  margin: 0 0 24px;
  color: var(--public-heading);
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.product-detail-page .product-guide-notice :is([data-product-content], [data-product-content] .ProseMirror) > * + * {
  margin-top: 12px;
}
.product-detail-page .product-guide-notice :is([data-product-content], [data-product-content] .ProseMirror) > :is(h1, h2, h3, h4) {
  margin: 32px 0 0;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: -.01em;
}
.product-detail-page .product-guide-notice :is([data-product-content], [data-product-content] .ProseMirror) > :is(h1, h2, h3, h4) + * {
  margin-top: 8px;
}
.product-detail-page .product-guide-notice :is([data-product-content], [data-product-content] .ProseMirror) > :first-child {
  margin-top: 0;
}
.product-detail-page .product-guide-notice :is([data-product-content], [data-product-content] .ProseMirror) > :last-child {
  margin-bottom: 0;
}
.product-fee-table-wrap {
  margin-top: 14px;
  display: grid;
  gap: 8px;
  overflow-x: auto;
}
.product-fee-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.product-fee-table th,
.product-fee-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--public-line);
  text-align: left;
}
.product-fee-table thead th {
  background: var(--public-subtle);
  color: var(--public-muted);
  font-size: 12px;
  font-weight: 600;
}
.product-fee-table tbody th {
  font-weight: 600;
  color: var(--public-heading);
  white-space: nowrap;
}
.product-fee-table td {
  color: var(--public-body);
  font-variant-numeric: tabular-nums;
}
.product-guide-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.product-guide-links a {
  display: grid;
  align-content: center;
  min-height: 92px;
  padding: 15px;
  border: 1px solid #dedede;
  border-radius: var(--public-radius);
  background: var(--public-surface);
  transition: border-color .2s ease, background-color .2s ease;
}
.product-guide-links a:hover {
  border-color: #9db9d5;
  background: #f7faff;
}
.product-guide-links strong {
  color: var(--public-heading);
  font-size: 14px;
  line-height: 1.45;
  word-break: keep-all;
}
.product-guide-links span {
  margin-top: 6px;
  color: #888;
  font-size: 12px;
}
.product-detail-aside {
  min-width: 0;
}
.product-side-card {
  position: sticky;
  top: 104px;
  padding: 24px;
  background: var(--public-surface);
  border: 1px solid #dedede;
  border-radius: var(--public-radius);
}
.product-side-card h2 {
  margin: 12px 0 12px;
  color: var(--public-heading);
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: -.05em;
  word-break: keep-all;
}
.product-side-card p {
  margin: 0 0 20px;
  color: #666;
  font-size: 14px;
  line-height: 1.7;
  word-break: keep-all;
}
.product-side-card .public-primary-button {
  width: 100%;
}
.product-not-found {
  min-height: 520px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 20px;
  text-align: center;
}
.product-not-found h1 {
  margin: 0;
  color: var(--public-heading);
  font-size: 34px;
  letter-spacing: -.06em;
}
.product-booking-panel {
  margin-top: 32px;
  background: var(--public-surface);
  border: 1px solid #dedede;
  border-radius: var(--public-radius);
  overflow: hidden;
}
.booking-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 58px;
  padding: 0 24px;
  background: var(--public-primary);
  color: #fff;
}
.booking-panel-heading h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -.04em;
}
.booking-panel-heading span {
  font-size: 13px;
  color: rgba(255, 255, 255, .84);
}
.booking-panel-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  grid-template-areas: "calendar summary" "form summary";
  align-items: start;
}
.booking-calendar-column {
  grid-area: calendar;
  min-width: 0;
  padding: 30px;
  border-bottom: 1px solid #dedede;
}
.booking-summary {
  grid-area: summary;
  position: sticky;
  top: 104px;
  align-self: start;
  min-width: 0;
  padding: 24px;
  background: var(--public-subtle);
  border-left: 1px solid #dedede;
}
.booking-form-column {
  grid-area: form;
  min-width: 0;
  padding: 30px;
}
.booking-section-heading {
  margin-bottom: 20px;
}
.booking-section-heading h3,
.booking-callout h3 {
  margin: 7px 0 7px;
  color: var(--public-heading);
  font-size: 21px;
  line-height: 1.4;
  letter-spacing: -.05em;
  word-break: keep-all;
}
.booking-section-heading p,
.booking-callout p {
  margin: 0;
  color: #777;
  font-size: 13px;
  line-height: 1.7;
  word-break: keep-all;
}
.booking-calendar-card {
  min-width: 0;
  margin: 0;
  padding: 4px 0 0;
  border: 0;
}
.booking-summary-heading {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 17px;
  border-bottom: 1px solid #dedede;
}
.booking-summary-heading span {
  color: var(--public-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}
.booking-summary-heading strong {
  color: var(--public-heading);
  font-size: 18px;
  letter-spacing: -.04em;
}
.booking-summary-list {
  display: grid;
  margin: 0;
}
.booking-summary-list > div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid #e5e5e5;
}
.booking-summary-list dt {
  color: #888;
  font-size: 12px;
}
.booking-summary-list dd {
  margin: 0;
  color: var(--public-heading);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  word-break: keep-all;
}
.booking-summary-price {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding: 22px 0 10px;
}
.booking-summary-price span {
  color: #777;
  font-size: 12px;
}
.booking-summary-price strong {
  color: var(--public-primary);
  font-size: 22px;
  letter-spacing: -.06em;
  text-align: right;
  white-space: nowrap;
}
.booking-summary-note,
.booking-summary-empty {
  margin: 0;
  color: #777;
  font-size: 12px;
  line-height: 1.65;
  word-break: keep-all;
}
.booking-summary-action {
  width: 100%;
  margin-top: 20px;
}
.booking-form-column {
  border-top: 1px solid #dedede;
}
.booking-form {
  display: grid;
  gap: 16px;
  max-width: 760px;
}
.booking-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.booking-form-grid--travelers {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.booking-field {
  display: grid;
  gap: 7px;
  color: #454545;
  font-size: 14px;
  line-height: 1.4;
}
.booking-field-optional {
  color: #999;
  font-size: 12px;
  font-weight: 400;
}
.booking-field input,
.booking-field select,
.booking-field textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #d6d6d6;
  border-radius: 3px;
  background: var(--public-subtle);
  color: var(--public-heading);
  padding: 12px;
  font-size: 14px;
  line-height: 1.4;
}
.booking-field textarea {
  min-height: 116px;
  resize: vertical;
}
.booking-field input::placeholder,
.booking-field textarea::placeholder {
  color: #999;
}
.booking-field input:read-only {
  background: #f1f1f1;
  color: #777;
}
.booking-stay-fixed {
  display: grid;
  gap: 5px;
  border: 1px solid #e3e3e3;
  border-radius: 3px;
  background: var(--public-subtle);
  padding: 13px 14px;
  color: #555;
  font-size: 13px;
  line-height: 1.5;
  word-break: keep-all;
}
.booking-stay-fixed strong {
  color: var(--public-heading);
  font-size: 13px;
  font-weight: 600;
}
.booking-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #555;
  font-size: 13px;
  line-height: 1.5;
}
.booking-consent input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  accent-color: var(--public-primary);
}
.booking-consent small {
  margin-left: 5px;
  color: #999;
  font-size: 11px;
}
.public-field-help {
  color: #777;
  font-size: 12px;
  line-height: 1.65;
}
.public-booking-feedback {
  padding: 18px 20px;
  border-radius: 3px;
  color: #455a64;
  font-size: 13px;
  line-height: 1.7;
}
.public-booking-feedback strong {
  color: var(--public-heading);
  font-size: 16px;
}
.public-booking-feedback p {
  margin: 6px 0 0;
}
.public-booking-feedback--success {
  background: #eef5fb;
  border: 1px solid #cfe0f0;
}
.public-booking-feedback--error {
  background: #fff5f1;
  border: 1px solid #efd3c9;
  color: #8a3b27;
}
.booking-success-links {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 15px;
}
.booking-success-links a {
  color: var(--public-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.booking-callout {
  max-width: 560px;
  padding: 22px;
  background: #f5f8fb;
  border-left: 1px solid var(--public-primary);
}
.booking-empty-state {
  padding: 22px;
  background: #f7f7f7;
  color: #666;
  font-size: 13px;
  line-height: 1.7;
}
.booking-empty-state strong {
  display: block;
  color: var(--public-heading);
  font-size: 16px;
}
.booking-empty-state p {
  margin: 6px 0 0;
}
.public-calendar {
  min-width: 0;
}
.public-calendar .calendar-toolbar {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.calendar-nav-button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #d4d4d4;
  border-radius: 3px;
  background: var(--public-surface);
  color: var(--public-heading);
  font-size: 26px;
  line-height: 1;
}
.calendar-nav-button:hover {
  border-color: var(--public-primary);
  color: var(--public-primary);
}
.calendar-month {
  color: var(--public-heading);
  font-size: 18px;
  text-align: center;
  letter-spacing: -.04em;
}
.public-calendar .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  min-width: 0;
  border: 1px solid #dedede;
  border-right: 0;
  border-bottom: 0;
  background: var(--public-surface);
}
.public-calendar .calendar-grid > div {
  display: flex;
  min-width: 0;
  min-height: 96px;
  flex-direction: column;
  gap: 6px;
  padding: 9px 7px;
  background: var(--public-surface);
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  font-size: 12px;
}
.public-calendar .calendar-grid .weekday {
  display: grid;
  place-items: center;
  min-height: 40px;
  padding: 8px;
  background: #f7f7f7;
  color: #777;
  font-size: 13px;
  font-weight: 700;
}
.public-calendar .calendar-day > strong {
  color: var(--public-heading);
  font-size: 13px;
  line-height: 1;
}
.public-calendar .calendar-day.selected {
  background: #edf4fb;
}
.public-calendar .calendar-day.selected-start {
  box-shadow: inset 3px 0 0 var(--public-primary);
}
.public-calendar .calendar-day.selected-end {
  box-shadow: inset -3px 0 0 var(--public-primary);
}
.public-calendar .calendar-day.selected-extension {
  background:
    repeating-linear-gradient(
      135deg,
      #edf4fb 0 6px,
      #d6e5f4 6px 9px);
}
.public-calendar .calendar-extension-label {
  margin-top: auto;
  color: var(--public-primary);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.departure-dot {
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: 3px;
  border: 1px solid #d4e1ef;
  border-radius: 3px;
  background: #f0f6fc;
  color: var(--public-primary);
  padding: 5px 4px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.departure-dot:hover {
  border-color: var(--public-primary);
}
.departure-dot.selected {
  background: var(--public-primary);
  border-color: var(--public-primary);
  color: #fff;
}
.departure-dot.disabled {
  border-color: #e6e6e6;
  background: #f5f5f5;
  color: #aaa;
  cursor: not-allowed;
}
.departure-dot.occupied {
  background: #fff;
  border-style: dashed;
}
.calendar-departure-option {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.calendar-status {
  min-width: 0;
  color: #888;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar-help {
  margin: 14px 0 0;
  color: #777;
  font-size: 12px;
  line-height: 1.6;
}
.calendar-selection-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 16px;
  padding: 14px 16px;
  background: #f5f8fb;
  border: 1px solid #dce7f1;
  border-radius: 3px;
  color: #555;
  font-size: 13px;
  line-height: 1.6;
}
.calendar-selection-summary b {
  color: var(--public-heading);
}
.calendar-selection-summary small {
  color: #777;
  font-size: 11px;
}
.calendar-selection-summary strong {
  color: var(--public-primary);
  font-size: 15px;
  white-space: nowrap;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (prefers-reduced-motion: reduce) {
  .catalog-product-card,
  .catalog-primary-button,
  .catalog-secondary-button,
  .public-primary-button,
  .product-guide-links a,
  .calendar-nav-button {
    transition: none;
  }
  .catalog-product-card:hover {
    transform: none;
  }
}
@media (max-width: 900px) {
  .catalog-breadcrumbs,
  .product-breadcrumbs {
    padding: 0 22px;
  }
  .catalog-content,
  .product-detail-shell {
    padding-left: 22px;
    padding-right: 22px;
  }
  .catalog-layout,
  .product-detail-grid {
    grid-template-columns: 1fr;
  }
  .catalog-search-aside {
    position: static;
    order: -1;
  }
  .product-detail-hero {
    grid-template-columns: 1fr;
  }
  .product-detail-hero-media img {
    min-height: 300px;
    max-height: 430px;
  }
  .product-detail-hero-content {
    padding: 32px;
  }
  .product-side-card {
    position: static;
  }
  .product-guide-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .booking-panel-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "calendar" "summary" "form";
  }
  .booking-summary {
    position: static;
    border-top: 1px solid #dedede;
    border-left: 0;
  }
  .booking-form-column {
    border-top: 1px solid #dedede;
  }
  .site-header {
    padding-left: 22px;
    padding-right: 22px;
  }
  .header-actions .header-cta {
    display: inline-flex;
  }
}
@media (max-width: 600px) {
  .site-header {
    height: 66px;
    padding: 0 16px;
  }
  .brand {
    font-size: 18px;
  }
  .brand-mark {
    width: 27px;
    height: 27px;
  }
  .header-actions {
    gap: 6px;
  }
  .header-actions .header-cta {
    font-size: 12px;
  }
  .catalog-banner {
    height: 190px;
  }
  .catalog-banner-content h1 {
    font-size: 32px;
  }
  .catalog-banner-content p {
    font-size: 12px;
  }
  .catalog-breadcrumbs,
  .product-breadcrumbs {
    min-height: 52px;
    gap: 10px;
    padding: 0 16px;
    font-size: 12px;
    overflow: hidden;
    white-space: nowrap;
  }
  .catalog-breadcrumbs strong,
  .product-breadcrumbs strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .catalog-content,
  .product-detail-shell {
    padding: 22px 16px 64px;
  }
  .catalog-category-tabs {
    margin-bottom: 22px;
  }
  .catalog-category-tabs a {
    padding: 0 14px 12px;
    font-size: 14px;
  }
  .catalog-results-heading {
    align-items: start;
    display: block;
  }
  .catalog-results-heading h2 {
    font-size: 20px;
  }
  .catalog-results-sort {
    display: block;
    margin-top: 8px;
  }
  .catalog-product-card {
    grid-template-columns: 118px minmax(0, 1fr);
    min-height: 166px;
  }
  .catalog-product-card-media {
    min-height: 166px;
  }
  .catalog-product-card-body {
    padding: 16px 15px 14px;
  }
  .catalog-product-card-topline {
    display: block;
    font-size: 11px;
  }
  .catalog-product-card-topline span:last-child {
    display: block;
    margin-top: 3px;
  }
  .catalog-product-card h3 {
    margin: 13px 0 7px;
    font-size: 17px;
  }
  .catalog-product-card p {
    font-size: 12px;
    line-height: 1.55;
    -webkit-line-clamp: 2;
  }
  .catalog-product-card-footer {
    padding-top: 12px;
    font-size: 10px;
  }
  .catalog-product-card-footer strong {
    font-size: 16px;
  }
  .catalog-search-aside h2 {
    font-size: 18px;
  }
  .catalog-search-form {
    padding: 16px;
  }
  .catalog-search-note {
    margin: 0 16px 16px;
  }
  .product-detail-hero-media img {
    min-height: 250px;
    max-height: 330px;
  }
  .product-detail-hero-content {
    padding: 24px 20px 26px;
  }
  .product-detail-hero h1 {
    margin: 16px 0 12px;
    font-size: 30px;
  }
  .product-detail-description {
    font-size: 14px;
  }
  .product-summary-list {
    margin-top: 22px;
  }
  .product-detail-grid {
    gap: 16px;
    margin-top: 16px;
  }
  .product-detail-main {
    border-radius: 3px;
  }
  .product-info-section,
  .product-guide-section {
    padding: 0 18px 24px;
  }
  .product-guide-notice {
    padding: 24px 18px;
  }
  .product-guide-notice > h3 {
    margin-bottom: 20px;
  }
  .product-info-tabs a {
    padding: 15px 6px 12px;
    font-size: 15px;
  }
  .product-info-heading {
    padding: 24px 0 16px;
  }
  .product-info-heading h2 {
    font-size: 21px;
  }
  .product-copy-stack {
    gap: 20px;
  }
  .product-copy-stack section + section {
    padding-top: 20px;
  }
  .product-guide-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .product-guide-links a {
    min-height: 80px;
    padding: 12px;
  }
  .product-guide-links strong {
    font-size: 12px;
  }
  .product-side-card {
    padding: 20px;
  }
  .product-side-card h2 {
    font-size: 18px;
  }
  .product-booking-panel {
    margin-top: 16px;
  }
  .booking-panel-heading {
    min-height: 54px;
    padding: 0 18px;
  }
  .booking-panel-heading h2 {
    font-size: 18px;
  }
  .booking-panel-heading span {
    font-size: 11px;
  }
  .booking-calendar-column,
  .booking-form-column {
    padding: 22px 18px;
  }
  .booking-summary {
    padding: 20px 18px;
  }
  .booking-section-heading h3,
  .booking-callout h3 {
    font-size: 19px;
  }
  .booking-form-grid,
  .booking-form-grid--travelers {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .public-calendar .calendar-toolbar {
    grid-template-columns: 36px 1fr 36px;
  }
  .calendar-nav-button {
    width: 36px;
    height: 36px;
  }
  .public-calendar .calendar-grid > div {
    min-height: 70px;
    padding: 7px 3px;
    gap: 4px;
  }
  .public-calendar .calendar-grid .weekday {
    min-height: 34px;
    padding: 6px 2px;
    font-size: 11px;
  }
  .public-calendar .calendar-day > strong {
    font-size: 11px;
  }
  .departure-dot {
    margin-top: 1px;
    padding: 4px 2px;
    font-size: 9px;
    letter-spacing: -.04em;
  }
  .calendar-status {
    font-size: 9px;
    text-align: center;
  }
  .public-calendar {
    min-width: 308px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  .public-calendar .calendar-toolbar {
    min-width: 308px;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 10px;
  }
  .public-calendar .calendar-nav-button {
    width: 44px;
    height: 44px;
  }
  .public-calendar .calendar-grid {
    min-width: 308px;
  }
  .public-calendar .calendar-grid > div {
    min-height: 104px;
    padding: 9px 4px;
    gap: 6px;
  }
  .public-calendar .calendar-grid .weekday {
    min-height: 40px;
    padding: 7px 3px;
    font-size: 12px;
  }
  .public-calendar .calendar-day > strong {
    font-size: 13px;
    line-height: 1.2;
    text-align: center;
  }
  .public-calendar .departure-dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0 auto;
    padding: 7px 3px;
    font-size: 10px;
    line-height: 1.25;
    letter-spacing: -.06em;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    text-align: center;
  }
  .public-calendar .calendar-departure-option {
    gap: 3px;
    justify-items: center;
  }
  .public-calendar .calendar-status {
    font-size: 10px;
    line-height: 1.3;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    text-align: center;
  }
  .calendar-selection-summary {
    align-items: flex-start;
    display: block;
    padding: 12px;
    font-size: 12px;
  }
  .calendar-selection-summary strong {
    display: block;
    margin-top: 7px;
    font-size: 14px;
  }
}
.kakao-channel-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: max-content;
  color: var(--public-primary);
  font-weight: 700;
  text-decoration: none;
}
.kakao-channel-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.kakao-channel-link--header {
  font-size: 12px;
  white-space: nowrap;
}
.kakao-channel-link--button {
  padding: 10px 14px;
  border: 1px solid var(--public-primary);
  border-radius: 3px;
  background: var(--public-primary);
  color: var(--public-on-primary);
  font-size: 13px;
}
.kakao-channel-link--button:hover {
  background: var(--public-primary-hover);
  color: var(--public-on-primary);
  text-decoration: none;
}
.kakao-channel-link--unavailable {
  color: #7d8790;
  cursor: default;
  font-weight: 600;
}
.kakao-channel-link--unavailable:hover {
  text-decoration: none;
}
.kakao-channel-link--talk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 0 18px 0 15px;
  border: 0;
  border-radius: 8px;
  background: #FEE500;
  color: rgba(0, 0, 0, .85);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  text-decoration: none;
  width: max-content;
}
.kakao-channel-link--talk .kakao-channel-link__symbol {
  width: 18px;
  height: 18px;
  flex: none;
}
.kakao-channel-link--talk .kakao-channel-link__label {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.kakao-channel-link.kakao-channel-link--talk:hover {
  background: #F5DC00;
  color: rgba(0, 0, 0, .85);
  text-decoration: none;
}
.kakao-channel-link--talk:focus-visible {
  outline: 2px solid #191919;
  outline-offset: 2px;
}
.kakao-channel-link--talk.kakao-channel-link--inline {
  min-height: 40px;
  font-size: 14px;
}
.public-channel-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 22px 0;
  padding: 16px 18px;
  border: 1px solid #d6e4ef;
  background: #f3f8fc;
  color: #30495e;
}
.public-channel-callout > div {
  display: grid;
  gap: 4px;
}
.public-channel-callout b {
  font-size: 14px;
}
.public-channel-callout span {
  color: #617487;
  font-size: 12px;
  line-height: 1.5;
}
.product-kakao-callout {
  display: grid;
  gap: 7px;
  margin-top: 18px;
  padding-top: 17px;
  border-top: 1px solid #e6ebef;
}
.product-kakao-callout > span {
  font-size: 11px;
  color: #65717c;
  font-weight: 700;
  letter-spacing: .04em;
}
.product-kakao-callout small {
  color: #707b85;
  line-height: 1.5;
}
.product-side-card > .product-kakao-callout:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.channel-settings-card .checkbox-line {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0;
  padding: 14px 16px;
  border: 1px solid #e3e9f0;
  border-radius: 10px;
  background: #f8fafc;
}
.channel-settings-card .checkbox-line input {
  width: auto;
  margin-top: 3px;
}
.channel-settings-card .checkbox-line span {
  display: grid;
  gap: 4px;
}
.channel-settings-card .checkbox-line small {
  color: #727d89;
  font-size: 12px;
  line-height: 1.5;
}
.settings-boundary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.settings-boundary-grid > div {
  padding: 15px;
  border: 1px solid #e8edf2;
  border-radius: 10px;
  background: #fbfcfd;
}
.settings-boundary-grid b {
  font-size: 13px;
}
.settings-boundary-grid p {
  margin: 7px 0 0;
  color: #687481;
  font-size: 12px;
  line-height: 1.6;
}
.settings-history {
  display: grid;
  gap: 0;
  border-top: 1px solid #edf0f4;
}
.settings-history-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid #edf0f4;
}
.settings-history-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.settings-history-row b {
  font-size: 13px;
}
.settings-history-row span,
.settings-history-row small {
  color: #727d89;
  font-size: 12px;
}
.settings-history-row small {
  font-size: 11px;
}
.settings-history-row .admin-btn {
  white-space: nowrap;
}
@media (max-width: 700px) {
  .kakao-channel-link--header {
    display: none;
  }
  .public-channel-callout {
    align-items: flex-start;
    display: grid;
  }
  :is(.quote-page, .airfare-page) .public-channel-callout {
    grid-template-columns: minmax(0, 1fr);
  }
  :is(.quote-page, .airfare-page) .public-channel-callout .kakao-channel-link--talk {
    width: 100%;
  }
  .settings-boundary-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .settings-history-row {
    align-items: flex-start;
    display: grid;
  }
  .settings-history-row .admin-btn {
    justify-self: start;
  }
}
.pwa-runtime-banner {
  position: fixed;
  z-index: 210;
  left: 50%;
  top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: min(680px, calc(100vw - 28px));
  transform: translateX(-50%);
  padding: 11px 14px;
  border: 1px solid #dfe4eb;
  border-radius: 12px;
  background: #fff;
  color: #424656;
  font-size: 12px;
  line-height: 1.5;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .14);
}
.pwa-runtime-banner--offline {
  background: #fff7e6;
  color: #7e5800;
  border-color: #f1d89a;
}
.pwa-runtime-banner--update {
  justify-content: space-between;
}
.pwa-runtime-banner .admin-btn {
  flex: 0 0 auto;
  padding: 8px 11px;
}
.admin-pwa-card {
  overflow: visible;
}
.admin-pwa-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 22px;
  border-top: 1px solid #edf0f4;
  border-bottom: 1px solid #edf0f4;
}
.admin-pwa-status-grid > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 17px 15px;
  border-right: 1px solid #edf0f4;
}
.admin-pwa-status-grid > div:last-child {
  border-right: 0;
}
.admin-pwa-status-grid span {
  color: #727d89;
  font-size: 12px;
}
.admin-pwa-status-grid strong {
  color: #1c1b1b;
  font-size: 16px;
}
.admin-pwa-status-grid small {
  color: #687481;
  font-size: 12px;
  line-height: 1.55;
}
.admin-pwa-install-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  padding: 15px;
  background: #f4f7fb;
  border-radius: 12px;
}
.admin-pwa-install-action p,
.admin-pwa-note p {
  margin: 5px 0 0;
  color: #687481;
  font-size: 12px;
  line-height: 1.6;
}
.admin-pwa-note {
  margin-top: 18px;
  padding: 14px 15px;
  border: 1px solid #dfe8f5;
  border-radius: 12px;
  background: #f8fbff;
}
.admin-pwa-note b {
  font-size: 13px;
}
.admin-pwa-device-list {
  display: grid;
  margin-top: 18px;
  border-top: 1px solid #edf0f4;
}
.admin-pwa-device-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #edf0f4;
}
.admin-pwa-device-meta {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.admin-pwa-device-meta > div {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.admin-pwa-device-meta b {
  font-size: 13px;
}
.admin-pwa-device-meta span,
.admin-pwa-device-meta small {
  color: #727d89;
  font-size: 12px;
  line-height: 1.5;
}
.admin-pwa-device-meta small {
  font-size: 11px;
}
.admin-pwa-empty {
  margin-top: 18px;
  padding: 18px 16px;
  background: #f8f9fb;
  border-radius: 12px;
}
.admin-pwa-empty b {
  font-size: 14px;
}
.admin-pwa-empty p {
  margin: 6px 0 0;
  color: #687481;
  font-size: 12px;
  line-height: 1.65;
}
.admin-pwa-connect {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #edf0f4;
}
.admin-pwa-connect .field-help {
  margin: 0;
}
@media (max-width: 700px) {
  .pwa-runtime-banner--update {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-pwa-status-grid {
    grid-template-columns: 1fr;
  }
  .admin-pwa-status-grid > div {
    border-right: 0;
    border-bottom: 1px solid #edf0f4;
  }
  .admin-pwa-status-grid > div:last-child {
    border-bottom: 0;
  }
  .admin-pwa-install-action,
  .admin-pwa-device-row {
    align-items: flex-start;
    display: grid;
  }
  .admin-pwa-install-action .admin-btn,
  .admin-pwa-device-row .admin-actions {
    justify-self: start;
  }
  .admin-pwa-device-row .admin-actions {
    display: flex;
    flex-wrap: wrap;
  }
}
.site-header {
  min-height: 80px;
}
.header-menu-button,
.site-mobile-menu {
  display: none;
}
.site-header-logout-error {
  position: absolute;
  top: calc(100% + 8px);
  right: 16px;
  z-index: 55;
  width: min(380px, calc(100vw - 32px));
  margin: 0;
  padding: 11px 14px;
  border: 1px solid #efcfcb;
  border-radius: 5px;
  background: #fff8f6;
  color: #8d2b22;
  font-size: 13px;
  line-height: 1.5;
  box-shadow: 0 8px 22px rgba(12, 28, 30, .12);
}
.site-header-logout:disabled {
  cursor: wait;
  opacity: .65;
}
.home-type-immersive {
  background: var(--paper);
  color: var(--ink);
}
.home-type-immersive > .site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  background: transparent;
  border-bottom-color: transparent;
  color: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.home-type-immersive > .site-header[data-home-header-active=true] {
  background: rgba(7, 50, 56, .9);
  border-bottom-color: rgba(255, 255, 255, .28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.home-type-immersive > .site-header .brand-mark {
  color: #fff;
}
.home-type-immersive > .site-header .site-nav {
  margin-left: auto;
  color: rgba(255, 255, 255, .88);
}
.home-type-immersive > .site-header .site-nav a:hover,
.home-type-immersive > .site-header .header-icon,
.home-type-immersive > .site-header .header-cta {
  color: #fff;
}
.home-type-immersive > .site-header .kakao-channel-link--header {
  color: rgba(255, 255, 255, .78);
}
.home-type-immersive > .site-header .header-actions {
  margin-left: 18px;
}
.home-type-immersive .hero {
  height: auto;
  min-height: clamp(620px, 92svh, 900px);
  margin-top: 0;
}
.home-type-immersive .home-header-scroll-marker {
  position: absolute;
  top: 32px;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.home-type-immersive .hero-inner {
  display: flex;
  width: min(1148px, 100%);
  flex-direction: column;
  align-items: center;
  padding: clamp(104px, 16svh, 168px) 32px clamp(72px, 11svh, 112px);
  text-align: center;
}
.home-type-immersive .hero-image {
  object-position: 50% 46%;
}
.home-type-immersive .hero-overlay {
  background:
    linear-gradient(
      90deg,
      rgba(4, 23, 19, .7),
      rgba(4, 23, 19, .25) 62%,
      rgba(4, 23, 19, .1));
}
.home-type-immersive .hero h1 {
  max-width: 7ch;
  font-size: clamp(116px, 10vw, 168px);
  line-height: .92;
}
.home-type-immersive .hero-copy {
  max-width: 32ch;
  margin: 22px 0 30px;
  font-size: 19px;
  line-height: 1.6;
}
.home-type-immersive .hero .primary-btn {
  min-height: 46px;
  padding: 13px 25px;
}
.home-type-immersive .hero-bottom {
  display: none;
}
.home-type-immersive .section {
  width: min(100%, 1148px);
  margin: 0 auto;
  padding: 104px 0;
}
.home-type-immersive .section-heading {
  align-items: end;
  margin-bottom: 42px;
}
.home-type-immersive .section-heading h2 {
  max-width: 12ch;
  font-size: clamp(38px, 5vw, 70px);
}
.home-type-immersive .section-lead {
  max-width: 34ch;
  font-size: 15px;
}
.home-type-immersive .landscape-grid,
.home-type-immersive .product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.home-type-immersive .landscape-card img {
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
}
.home-type-immersive .landscape-meta {
  padding-top: 16px;
  font-size: 15px;
}
.home-type-immersive .landscape-card-description {
  margin: 8px 0 0;
  color: #60736e;
  font-size: 13px;
  line-height: 1.65;
}
.home-type-immersive #landscape.vita-landscape {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(72px, 6vw, 100px) 0 0;
  background: #0d191e;
  color: #edf2eb;
  overflow: clip;
  scroll-margin-top: 76px;
}
.home-type-immersive .vita-landscape-intro {
  display: grid;
  grid-template-columns: minmax(0, 900px);
  gap: 14px;
  width: 100%;
  min-height: 0;
  margin: 0 auto;
  padding: 0 clamp(20px, 2.2vw, 42px);
}
.home-type-immersive .vita-landscape-rail {
  padding-top: 0;
}
.home-type-immersive .vita-landscape-rail .eyebrow {
  margin: 0;
  color: rgba(237, 242, 235, .72);
}
.home-type-immersive .vita-landscape-copy {
  align-self: start;
  max-width: 900px;
  padding: 0 0 72px;
}
.home-type-immersive .vita-landscape-copy h2 {
  max-width: 20ch;
  margin: 0;
  color: #f3f5ed;
  font-size: clamp(38px, 4.2vw, 68px);
  line-height: 1.13;
  letter-spacing: -.04em;
}
.home-type-immersive .vita-landscape-copy p {
  max-width: 32ch;
  margin: 26px 0 0;
  color: rgba(237, 242, 235, .78);
  font-size: 18px;
  line-height: 1.7;
}
.home-type-immersive .vita-landscape-gallery {
  border-top: 1px solid rgba(237, 242, 235, .24);
}
.home-type-immersive .vita-landscape-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.home-type-immersive .vita-landscape-grid .landscape-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 2.2vw, 42px);
  border-right: 1px solid rgba(237, 242, 235, .24);
  color: #edf2eb;
}
.home-type-immersive .vita-landscape-grid .landscape-card:last-child {
  border-right: 0;
}
.home-type-immersive .vita-landscape-grid .landscape-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1.1;
  object-fit: cover;
  object-position: center 48%;
  filter: saturate(.88);
}
.home-type-immersive .vita-landscape-grid .landscape-card:nth-child(2) img {
  object-position: 58% 50%;
}
.home-type-immersive .vita-landscape-grid .landscape-card:nth-child(3) img {
  object-position: 44% 50%;
}
.home-type-immersive .vita-landscape-grid .landscape-meta {
  order: -1;
  padding: 0 0 18px;
  color: #f3f5ed;
  font-size: 15px;
}
.home-type-immersive .vita-landscape-grid .landscape-meta span:last-child {
  font-size: 21px;
}
.home-type-immersive .vita-landscape-grid .landscape-card-description {
  margin: 8px 0 0;
  color: rgba(237, 242, 235, .68);
}
.home-type-immersive .story {
  min-height: 600px;
}
.home-type-immersive .story-inner {
  width: min(1148px, 100%);
  padding: 88px 32px;
  text-align: left;
}
.home-type-immersive .story-inner p {
  margin-left: 0;
}
.home-type-immersive .product-section {
  width: 100%;
  padding-inline: max(24px, calc((100vw - 1148px)/2));
  background: #182a30;
  color: #edf2eb;
}
.home-type-immersive .product-section :is(h2, h3, .text-link) {
  color: #edf2eb;
}
.home-type-immersive .product-section :is(.eyebrow, .section-lead, .product-card p, .product-card-kicker) {
  color: #aab9bc;
}
.home-type-immersive .product-section .product-card {
  color: inherit;
  background: transparent;
}
.home-type-immersive .closing {
  background: #0d191e;
  color: #edf2eb;
  border-top: 1px solid #2b383d;
}
.home-type-immersive .closing h2 {
  color: #edf2eb;
}
.home-type-immersive .closing p {
  color: #aab9bc;
}
.home-type-immersive .product-card img {
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.home-type-immersive .product-card-body {
  padding: 18px 0;
}
.home-type-immersive .product-card h3 {
  font-size: 20px;
}
.home-type-immersive .product-card p {
  line-height: 1.65;
}
.home-type-immersive .closing {
  padding: 104px 24px;
}
.home-type-immersive .site-footer {
  padding-left: max(24px, calc((100vw - 1148px)/2));
  padding-right: max(24px, calc((100vw - 1148px)/2));
}
.product-category-visual {
  height: 329px;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #183148;
  color: #fff;
}
.product-category-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
}
.product-category-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(7, 24, 41, .5);
}
.product-category-visual-content {
  position: relative;
  z-index: 1;
  width: min(100%, 1148px);
  padding: 24px 32px;
}
.product-category-visual-content span {
  display: block;
  color: rgba(255, 255, 255, .82);
  font-size: 12px;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.product-category-visual-content h1 {
  margin: 10px 0 0;
  color: #fff;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.1;
  letter-spacing: -.07em;
}
.product-category-visual-content p {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 16px;
}
.product-detail-shell {
  width: min(100%, 1148px);
  padding-left: 0;
  padding-right: 0;
}
.product-detail-hero {
  grid-template-columns: minmax(0, 660px) minmax(0, 1fr);
}
.product-detail-hero-media {
  aspect-ratio: 660 / 447;
  overflow: hidden;
}
.product-detail-hero-media img {
  min-height: 0;
  aspect-ratio: 660 / 447;
  object-fit: cover;
}
.product-detail-hero-content {
  min-height: 447px;
  padding: 42px 44px;
}
.product-detail-main,
.product-booking-panel,
.product-side-card {
  border-radius: var(--public-radius);
}
.product-detail-page .product-detail-grid {
  margin-top: 28px;
}
.product-detail-page .product-info-section,
.product-detail-page .product-guide-section {
  scroll-margin-top: 96px;
}
.product-detail-page .product-booking-panel {
  scroll-margin-top: 96px;
}
.quote-page {
  width: 100%;
  max-width: none;
  padding: 0 max(24px, calc((100% - 1148px)/2)) 104px;
  background: var(--public-page);
  color: var(--public-body);
  --public-primary:#233e7b;
  --public-primary-hover:#1b3062;
  --public-line:#e3e6e0;
  --public-heading:#222824;
  --public-muted:#656e66;
  --public-subtle:#f5f6f3;
}
.quote-hero {
  padding: 56px 0 28px;
}
.quote-hero h1 {
  margin: 10px 0 0;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.04em;
  color: var(--public-heading);
  word-break: keep-all;
}
.quote-hero .section-lead {
  max-width: 52ch;
  margin: 12px 0 0;
  font-size: 16px;
  line-height: 1.7;
  color: var(--public-muted);
}
.quote-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 48px;
  align-items: start;
  padding-top: 32px;
  border-top: 1px solid var(--public-line);
}
.quote-form-section {
  display: grid;
  gap: 24px;
  min-width: 0;
  scroll-margin-top: 96px;
}
.quote-form-heading h2 {
  margin: 0;
  color: var(--public-heading);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.035em;
}
.quote-form-heading h2::before {
  content: "";
  display: block;
  width: 22px;
  height: 3px;
  margin: 0 0 12px;
  border-radius: 2px;
  background: var(--public-primary);
}
.quote-form-heading > p {
  max-width: 52ch;
  margin: 6px 0 0;
  color: var(--public-muted);
  font-size: 14px;
  line-height: 1.65;
}
.quote-kind-picker {
  display: grid;
  gap: 10px;
}
.quote-kind-title {
  margin: 0;
  color: var(--public-heading);
  font-size: 15px;
  font-weight: 700;
}
.quote-kind-help {
  margin: 0;
  color: var(--public-muted);
  font-size: 13px;
  line-height: 1.5;
}
.quote-entry-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.quote-entry-links a {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 42px;
  padding: 8px 18px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  background: #fff;
  color: var(--public-body);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.quote-entry-links a:hover {
  border-color: var(--public-primary);
  color: var(--public-primary);
}
.quote-entry-links a[aria-current=page] {
  background: var(--public-primary);
  border-color: var(--public-primary);
  color: #fff;
}
.quote-entry-links a[aria-current=page]:hover {
  background: var(--public-primary-hover);
  border-color: var(--public-primary-hover);
  color: #fff;
}
.quote-side {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 96px;
  min-width: 0;
}
.quote-process {
  display: grid;
  gap: 14px;
  padding: 20px 22px;
  border: 1px solid #cdd3ca;
  border-radius: 5px;
  background: var(--public-surface,#fff);
}
.quote-process h2 {
  margin: 0;
  color: var(--public-heading);
  font-size: 17px;
  line-height: 1.35;
  letter-spacing: -.02em;
}
.quote-process-grid {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.quote-step {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  column-gap: 8px;
  row-gap: 2px;
  padding: 11px 0;
  border-top: 1px solid #edf0eb;
}
.quote-step:first-child {
  padding-top: 0;
  border-top: 0;
}
.quote-step:last-child {
  padding-bottom: 0;
}
.quote-step-index {
  grid-row: span 2;
  padding-top: 2px;
  color: var(--public-primary);
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.quote-step b {
  color: var(--public-heading);
  font-size: 15px;
  letter-spacing: -.02em;
}
.quote-step > span:last-child {
  color: var(--public-muted);
  font-size: 13px;
  line-height: 1.55;
}
.quote-side-browse {
  margin: 2px 0 0;
  color: var(--public-muted);
  font-size: 13px;
  line-height: 1.6;
}
.quote-side-browse a {
  color: var(--public-primary);
  font-weight: 700;
}
.quote-page .quote-channel-callout {
  display: grid;
  gap: 12px;
  margin: 0;
}
.quote-page .quote-channel-callout > div {
  display: grid;
  gap: 4px;
}
.quote-aside-note {
  display: grid;
  gap: 6px;
  padding: 18px 20px;
  word-break: keep-all;
  border: 1px solid #cdd3ca;
  border-radius: 5px;
  background: var(--public-surface,#fff);
  font-size: 14px;
  line-height: 1.65;
  color: var(--public-body);
}
.quote-aside-note b {
  color: var(--public-heading);
}
.quote-page .public-form {
  max-width: none;
  margin: 0;
  gap: 36px;
}
.quote-fieldset {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 26px 26px 28px;
  border: 1px solid #cdd3ca;
  border-radius: 5px;
  background: var(--public-surface,#fff);
}
.quote-fieldset legend {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px;
  margin-left: -8px;
  color: var(--public-heading);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.03em;
}
.quote-fieldset-index {
  display: inline-grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--public-primary);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.quote-fieldset-help {
  margin: -6px 0 0;
  color: var(--public-muted);
  font-size: 13px;
  line-height: 1.6;
}
.quote-page .public-form .form-grid {
  column-gap: 20px;
  row-gap: 18px;
}
.quote-page .public-form label,
.quote-page .public-form .field-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--public-heading);
}
.quote-optional {
  margin-left: 2px;
  color: var(--public-muted);
  font-size: 12px;
  font-weight: 500;
}
.quote-page .public-form input:not([type=checkbox]),
.quote-page .public-form select,
.quote-page .public-form textarea {
  min-height: 48px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  padding: 12px 14px;
  background: #fff;
  color: var(--public-heading);
  font-size: 15px;
  font-weight: 400;
}
.quote-page .public-form textarea {
  min-height: 150px;
}
.quote-page .public-form .field-help {
  font-size: 12px;
  line-height: 1.6;
  color: var(--public-muted);
  font-weight: 400;
}
.quote-page .public-form .checkbox-field {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  font-weight: 400;
  color: var(--public-body);
}
.quote-page .public-form .checkbox-field input {
  min-height: 0;
  width: auto;
  margin-top: 3px;
  padding: 0;
  background: transparent;
}
.quote-submit {
  display: grid;
  gap: 10px;
  justify-items: start;
  padding-top: 6px;
  border-top: 1px solid #edf0eb;
}
.quote-page .public-form .dark-btn {
  min-height: 48px;
  padding: 12px 28px;
  border: 0;
  border-radius: 5px;
  background: var(--public-primary);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.quote-page .public-form .dark-btn:hover:not(:disabled) {
  background: var(--public-primary-hover);
}
.quote-page .public-form :is(input:not([type=checkbox]), select, textarea):focus {
  outline: none;
  border-color: #233e7b;
  box-shadow: 0 0 0 3px rgba(35, 62, 123, .15);
}
:is(.quote-page, .airfare-page, .booking-lookup-next) :is(h1, h2, p, legend, .quote-step span, .admin-notice) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
:is(.quote-page, .airfare-page, .booking-lookup-next) .eyebrow {
  margin: 0;
  color: #233e7b;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
:is(.quote-page, .airfare-page, .booking-lookup-next) .admin-notice {
  border-radius: 5px;
}
:is(.quote-page, .airfare-page) .public-channel-callout {
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #f5f6f3;
  color: #222824;
}
:is(.quote-page, .airfare-page) .public-channel-callout > div span {
  color: #656e66;
  font-size: 13px;
}
:is(.quote-page, .airfare-page) .public-channel-callout .kakao-channel-link--unavailable {
  border-color: #d7dcd5;
  color: #656e66;
  font-weight: 600;
}
:is(.quote-page, .airfare-page) .public-channel-callout .kakao-channel-link--unavailable:hover {
  background: #fff;
  color: #656e66;
}
.airfare-page {
  --public-primary:#233e7b;
  --public-primary-hover:#1b3062;
  --public-line:#e3e6e0;
  --public-heading:#222824;
  --public-muted:#656e66;
  --public-subtle:#f5f6f3;
  width: min(100%, 960px);
  padding: 72px 24px 104px;
  color: #454545;
}
.airfare-page h1 {
  margin: 10px 0 0;
  color: var(--public-heading);
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.04em;
  word-break: keep-all;
}
.airfare-page > .section-lead {
  max-width: 46ch;
  margin: 16px 0 0;
  color: var(--public-muted);
  font-size: 16px;
  line-height: 1.75;
}
.airfare-page .airfare-channel-callout {
  margin: 32px 0 20px;
}
.airfare-page .public-card {
  margin: 0;
  padding: 32px;
  border: 1px solid var(--public-line);
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
}
.airfare-page .public-card h2 {
  margin: 8px 0 12px;
  color: var(--public-heading);
  font-size: 24px;
  letter-spacing: -.03em;
}
:is(.airfare-source-tabs, .booking-lookup-tabs) {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 28px;
}
.airfare-source-tabs {
  border-bottom: 1px solid var(--public-line,#e3e6e0);
}
:is(.airfare-source-tab, .booking-lookup-tab) {
  min-height: 44px;
  margin: 0 0 -1px;
  padding: 10px 2px 12px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
  color: #656e66;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
:is(.airfare-source-tab, .booking-lookup-tab):hover {
  color: #222824;
}
:is(.airfare-source-tab, .booking-lookup-tab).active {
  border-bottom-color: #233e7b;
  color: #233e7b;
}
.airfare-intake-note {
  margin: 22px 0 0;
  padding: 14px 16px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #f5f6f3;
  color: #3a403b;
  font-size: 14px;
  line-height: 1.65;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.airfare-page .airfare-form {
  max-width: none;
  margin-top: 24px;
  gap: 20px;
}
.airfare-page .public-form label {
  gap: 8px;
  color: var(--public-heading);
  font-size: 14px;
  font-weight: 600;
}
.airfare-page .public-form :is(input:not([type=radio]):not([type=checkbox]), select, textarea) {
  min-height: 48px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  padding: 12px 14px;
  background: #fff;
  color: var(--public-heading);
  font-size: 15px;
  font-weight: 400;
}
.airfare-page .public-form :is(input:not([type=radio]):not([type=checkbox]), select, textarea):focus {
  outline: none;
  border-color: #233e7b;
  box-shadow: 0 0 0 3px rgba(35, 62, 123, .15);
}
.airfare-page .public-form textarea {
  min-height: 120px;
}
.airfare-page .public-form .field-help {
  color: var(--public-muted);
  font-weight: 400;
}
.airfare-choice-fieldset {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.airfare-legend {
  margin: 0 0 10px;
  padding: 0;
  color: var(--public-heading,#222824);
  font-size: 14px;
  font-weight: 600;
}
.airfare-choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.airfare-page .public-form .airfare-choice {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  background: #fff;
  color: var(--public-heading);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  cursor: pointer;
}
.airfare-page .public-form .airfare-choice input {
  flex: none;
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  accent-color: #233e7b;
  cursor: pointer;
}
.airfare-page .public-form .airfare-choice:has(input:checked) {
  border-color: #233e7b;
  background: #f3f5fa;
  color: #233e7b;
}
.airfare-page .public-form .airfare-choice:has(input:focus-visible) {
  outline: 3px solid rgba(35, 62, 123, .25);
  outline-offset: 2px;
}
.airfare-page .public-form .dark-btn {
  justify-self: start;
  min-width: 220px;
  min-height: 48px;
  padding: 12px 28px;
  border: 0;
  border-radius: 5px;
  background: var(--public-primary);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.airfare-page .public-form .dark-btn:hover:not(:disabled) {
  background: var(--public-primary-hover);
}
.airfare-page .muted-btn {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #252525;
  border-radius: 5px;
  background: #fff;
  color: #252525;
  font-size: 14px;
  font-weight: 700;
}
.booking-lookup-next {
  --public-primary:#233e7b;
  --public-primary-hover:#1b3062;
  width: min(100%, 960px);
  padding: 72px 24px 104px;
}
.booking-lookup-next h1 {
  margin: 10px 0 12px;
  color: #222824;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.04em;
  word-break: keep-all;
}
.booking-lookup-next .public-card {
  padding: 28px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  box-shadow: none;
}
.booking-lookup-next .booking-lookup-tabs {
  margin-bottom: 22px;
  border-bottom: 1px solid #e3e6e0;
}
.booking-lookup-next .public-form :is(input, select, textarea) {
  min-height: 48px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  padding: 12px 14px;
}
.booking-lookup-next .public-form :is(input, select, textarea):focus {
  outline: none;
  border-color: #233e7b;
  box-shadow: 0 0 0 3px rgba(35, 62, 123, .15);
}
.booking-lookup-next .dark-btn {
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 5px;
  background: #233e7b;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.booking-lookup-next .dark-btn:hover:not(:disabled) {
  background: #1b3062;
}
@media (prefers-color-scheme: dark) {
  .home-type-immersive {
    background: #121a19;
    color: #eef3ec;
  }
  .home-type-immersive .section-lead,
  .home-type-immersive .landscape-card-description,
  .home-type-immersive .product-card p {
    color: #b9c8c1;
  }
  .home-type-immersive .product-section {
    background: #192321;
  }
  .home-type-immersive .site-footer {
    background: #0c1211;
  }
}
@media (max-width: 900px) {
  .home-type-immersive .section {
    padding: 82px 22px;
  }
  .home-type-immersive .story-inner {
    padding: 76px 22px;
  }
  .product-detail-shell {
    padding-left: 22px;
    padding-right: 22px;
  }
  .product-detail-hero {
    grid-template-columns: 1fr;
  }
  .product-detail-hero-media {
    aspect-ratio: 16 / 10;
  }
  .product-detail-hero-media img {
    aspect-ratio: 16 / 10;
  }
  .product-detail-hero-content {
    min-height: 0;
  }
  .quote-page {
    padding-left: 22px;
    padding-right: 22px;
  }
  .quote-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }
  .quote-side {
    position: static;
  }
}
@media (max-width: 760px) {
  .site-header {
    height: 66px;
    min-height: 66px;
    padding: 0 16px;
    gap: 12px;
  }
  .site-nav {
    display: none;
  }
  .home-type-immersive > .site-header .header-actions,
  .header-actions {
    gap: 5px;
    margin-left: auto;
  }
  .header-actions .header-cta {
    display: inline-flex;
  }
  .header-menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 34px;
    border: 1px solid var(--public-line);
    border-radius: 3px;
    background: transparent;
    color: var(--public-heading);
    font-size: 12px;
  }
  .site-mobile-menu {
    position: fixed;
    z-index: 39;
    top: 66px;
    left: 0;
    right: 0;
    display: none;
    padding: 10px 16px 16px;
    border-bottom: 1px solid #dedede;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .12);
  }
  .site-mobile-menu[data-open=true] {
    display: grid;
    gap: 0;
  }
  .site-mobile-menu a {
    padding: 15px 4px;
    border-bottom: 1px solid #ededed;
    color: var(--public-heading);
    font-size: 15px;
  }
  .site-mobile-menu a:last-child {
    border-bottom: 0;
  }
  .header-actions .site-header-logout {
    display: none;
  }
  .site-mobile-menu .site-mobile-logout {
    width: 100%;
    padding: 15px 4px;
    border: 0;
    border-bottom: 1px solid #ededed;
    background: transparent;
    color: var(--public-heading);
    font-size: 15px;
    text-align: left;
  }
  .site-mobile-menu .site-mobile-logout:disabled {
    cursor: wait;
    opacity: .65;
  }
  .home-type-immersive > .site-header .header-menu-button {
    min-width: 44px;
    min-height: 44px;
    border-color: rgba(255, 255, 255, .58);
    color: #fff;
  }
  .home-type-immersive .hero {
    height: auto;
    min-height: clamp(520px, 100svh, 900px);
  }
  .home-type-immersive .hero-image {
    object-position: 56% 42%;
  }
  .home-type-immersive .hero-inner {
    padding: 18px 22px 130px;
  }
  .home-type-immersive .hero h1 {
    font-size: clamp(88px, 32vw, 116px);
  }
  .home-type-immersive .hero-copy {
    font-size: 16px;
  }
  .home-type-immersive .section {
    padding: 72px 16px;
  }
  .home-type-immersive .section-heading {
    display: block;
    margin-bottom: 30px;
  }
  .home-type-immersive .section-heading h2 {
    font-size: clamp(34px, 10vw, 52px);
  }
  .home-type-immersive .section-lead {
    margin-top: 16px;
  }
  .home-type-immersive .landscape-grid,
  .home-type-immersive .product-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .home-type-immersive #landscape.vita-landscape {
    padding-top: 84px;
  }
  .home-type-immersive .vita-landscape-intro {
    display: block;
    min-height: 0;
    padding: 0 20px 84px;
  }
  .home-type-immersive .vita-landscape-copy {
    padding: 62px 0 0;
  }
  .home-type-immersive .vita-landscape-copy h2 {
    max-width: 20ch;
    font-size: clamp(34px, 9vw, 42px);
    line-height: 1.13;
  }
  .home-type-immersive .vita-landscape-copy p {
    margin-top: 24px;
    font-size: 14px;
  }
  .home-type-immersive .vita-landscape-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .home-type-immersive .vita-landscape-grid .landscape-card,
  .home-type-immersive .vita-landscape-grid .landscape-card:nth-child(2),
  .home-type-immersive .vita-landscape-grid .landscape-card:nth-child(3) {
    padding: 28px 20px 58px;
    border-right: 0;
    border-bottom: 1px solid rgba(237, 242, 235, .24);
  }
  .home-type-immersive .vita-landscape-grid .landscape-card:last-child {
    border-bottom: 0;
  }
  .home-type-immersive .vita-landscape-grid .landscape-card img {
    aspect-ratio: 1/1.1;
  }
  .home-type-immersive .vita-landscape-grid .landscape-meta {
    padding-top: 14px;
  }
  .home-type-immersive .story {
    min-height: 540px;
  }
  .home-type-immersive .story-inner {
    padding: 68px 22px;
  }
  .home-type-immersive .story h2 {
    font-size: clamp(38px, 11vw, 62px);
  }
  .home-type-immersive .closing {
    padding: 80px 22px;
  }
  .home-type-immersive .site-footer {
    display: grid;
    padding: 30px 22px;
    gap: 14px;
  }
  .product-category-visual {
    height: 220px;
  }
  .product-category-visual-content {
    padding: 22px 16px;
  }
  .product-category-visual-content h1 {
    font-size: 40px;
  }
  .product-category-visual-content p {
    font-size: 14px;
  }
  .product-detail-shell {
    padding: 22px 16px 64px;
  }
  .product-detail-hero-content {
    padding: 30px 22px;
  }
  .quote-page {
    padding: 0 16px 76px;
  }
  .quote-hero {
    padding: 36px 0 22px;
  }
  .quote-hero h1 {
    font-size: 28px;
  }
  .airfare-page,
  .booking-lookup-next {
    padding: 48px 16px 76px;
  }
  .airfare-page h1,
  .booking-lookup-next h1 {
    font-size: 28px;
  }
  .airfare-page .public-card {
    padding: 22px 16px;
  }
  .airfare-page .public-form .dark-btn {
    justify-self: stretch;
  }
  .quote-hero .section-lead {
    font-size: 15px;
  }
  .quote-entry-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .quote-entry-links a {
    justify-content: center;
    padding: 8px 12px;
    font-size: 14px;
  }
  .quote-layout {
    grid-template-columns: 1fr;
    gap: 36px;
    padding-top: 24px;
  }
  .quote-side {
    position: static;
  }
  .quote-process {
    padding: 18px 16px;
  }
  .quote-fieldset {
    padding: 20px 16px 22px;
  }
  .quote-page .public-form .form-grid {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
}
.admin-main > .admin-topbar {
  padding-right: 58px;
}
.admin-notification-bell {
  position: fixed;
  z-index: 205;
  top: 18px;
  right: 20px;
}
.admin-notification-bell-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 9px;
  border: 1px solid #dbe1eb;
  border-radius: 11px;
  background: #fff;
  color: #424656;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}
.admin-notification-bell-button:hover {
  background: #f4f7fb;
}
.admin-notification-bell-button svg {
  width: 20px;
  height: 20px;
}
.admin-notification-badge {
  position: absolute;
  top: -6px;
  right: -7px;
  min-width: 19px;
  height: 19px;
  padding: 2px 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #c62828;
  color: #fff;
  font-size: 10px;
  line-height: 13px;
  text-align: center;
}
.admin-notification-menu {
  position: absolute;
  top: 48px;
  right: 0;
  width: min(380px, calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid #dfe4eb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
  color: #424656;
}
.admin-notification-menu-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  border-bottom: 1px solid #edf0f4;
}
.admin-notification-menu-heading > div {
  display: grid;
  gap: 2px;
}
.admin-notification-menu-heading span {
  color: #727687;
  font-size: 11px;
}
.admin-notification-refresh {
  border: 0;
  background: transparent;
  color: #0052cc;
  font-size: 12px;
  padding: 4px;
}
.admin-notification-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.admin-notification-list li {
  border-bottom: 1px solid #f0f2f5;
}
.admin-notification-list li.is-unread {
  background: #f7faff;
}
.admin-notification-list a {
  display: grid;
  gap: 5px;
  padding: 13px 16px;
}
.admin-notification-list a:hover {
  background: #f1f6ff;
}
.admin-notification-list strong {
  font-size: 13px;
  line-height: 1.35;
}
.admin-notification-list a > span:last-child {
  display: block;
  color: #687481;
  font-size: 12px;
  line-height: 1.45;
}
.admin-notification-item-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #0052cc;
  font-size: 11px;
}
.admin-notification-item-meta time {
  color: #8a919b;
}
.admin-notification-state {
  margin: 0;
  padding: 20px 16px;
  color: #727687;
  font-size: 12px;
  line-height: 1.6;
}
.admin-notification-state p {
  margin: 0 0 10px;
}
.admin-notification-state .admin-btn {
  padding: 7px 10px;
  font-size: 11px;
}
.admin-notification-all-link {
  display: block;
  padding: 13px 16px;
  color: #0052cc;
  border-top: 1px solid #edf0f4;
  font-size: 12px;
  font-weight: 700;
}
.admin-notification-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.admin-notification-filters {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.admin-filter-chip {
  padding: 7px 11px;
  border: 1px solid #dfe4eb;
  border-radius: 999px;
  background: #fff;
  color: #687481;
  font-size: 12px;
}
.admin-filter-chip:hover,
.admin-filter-chip.is-selected {
  border-color: #0066ff;
  background: #eaf2ff;
  color: #0052cc;
  font-weight: 700;
}
.admin-notification-checkbox {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #687481;
  font-size: 12px;
}
.admin-notification-checkbox input,
.admin-notification-preference-list input {
  width: auto;
}
.admin-notification-page-list {
  display: grid;
  border-top: 1px solid #edf0f4;
}
.admin-notification-page-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 0;
  border-bottom: 1px solid #edf0f4;
}
.admin-notification-page-item.is-unread {
  margin: 0 -8px;
  padding-left: 8px;
  padding-right: 8px;
  background: #f7faff;
}
.admin-notification-page-item-copy {
  min-width: 0;
}
.admin-notification-page-item-copy h2 {
  margin: 7px 0 4px;
  font-size: 15px;
}
.admin-notification-page-item-copy p {
  margin: 0;
  color: #687481;
  font-size: 13px;
  line-height: 1.55;
}
.admin-notification-page-item-copy small {
  display: block;
  margin-top: 8px;
  color: #8a919b;
  font-size: 11px;
}
.admin-notification-page-item-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 7px;
  align-items: center;
}
.admin-notification-delivery {
  padding: 3px 7px;
  border-radius: 999px;
  background: #f0f1f3;
  color: #676d79;
}
.admin-notification-delivery.delivery-sent {
  background: #e8f7ed;
  color: #20783a;
}
.admin-notification-delivery.delivery-inbox_only {
  background: #f0f1f3;
  color: #676d79;
}
.admin-notification-delivery.delivery-retrying {
  background: #fff4df;
  color: #9a5b00;
}
.admin-notification-delivery.delivery-failed,
.admin-notification-delivery.delivery-expired {
  background: #fff0ef;
  color: #a42b20;
}
.admin-notification-preferences .content-panel-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}
.admin-notification-preference-list {
  display: grid;
  margin-top: 18px;
  border-top: 1px solid #edf0f4;
}
.admin-notification-preference-list label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 0;
  border-bottom: 1px solid #edf0f4;
}
.admin-notification-preference-list span {
  display: grid;
  gap: 3px;
}
.admin-notification-preference-list small {
  color: #727687;
  font-size: 12px;
}
.admin-notification-page-state {
  padding: 28px 0;
  color: #727687;
  font-size: 13px;
}
.admin-notification-page-state b {
  color: #424656;
}
.admin-notification-page-state p {
  margin: 6px 0 0;
  line-height: 1.6;
}
@media (max-width: 700px) {
  .admin-main > .admin-topbar {
    padding-right: 0;
  }
  .admin-notification-bell {
    top: 13px;
    right: 14px;
  }
  .admin-notification-bell-button {
    width: 36px;
    height: 36px;
    padding: 8px;
  }
  .admin-notification-menu {
    top: 44px;
  }
  .admin-topbar .admin-actions {
    padding-right: 48px;
  }
  .admin-notification-page-item {
    display: grid;
    gap: 13px;
  }
  .admin-notification-page-item-actions {
    justify-content: flex-start;
  }
  .admin-notification-preferences .content-panel-heading {
    align-items: flex-start;
    display: grid;
  }
  .admin-notification-preferences .text-link {
    justify-self: start;
  }
}
.popup-backdrop {
  padding: calc(22px + env(safe-area-inset-top, 0px)) calc(22px + env(safe-area-inset-right, 0px)) calc(22px + env(safe-area-inset-bottom, 0px)) calc(22px + env(safe-area-inset-left, 0px));
  overscroll-behavior: contain;
}
.popup-card {
  overscroll-behavior: contain;
}
.popup-card:not(.popup-card--image-only) img {
  height: var(--popup-content-image-height,260px);
}
.popup-card .popup-body h2 {
  font-size: 25px;
  line-height: 1.25;
  margin: 0 38px 10px 0;
}
.popup-card .popup-body p {
  color: var(--muted);
  margin: 0 0 20px;
}
.popup-card--image-only {
  width: var(--popup-card-image-width,560px);
  min-width: min(160px, 100%);
  max-width: 100%;
  overflow: auto;
  display: flex;
  flex-direction: column;
}
.popup-card--image-only .popup-image-only-body {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-width: 0;
  min-height: 66px;
  flex: 0 0 auto;
  background: var(--white);
}
.popup-card--image-only .popup-image-anchor {
  display: block;
  line-height: 0;
  flex: 0 0 auto;
}
.popup-card--image-only .popup-image-only {
  display: block;
  width: var(--popup-image-width,auto);
  height: var(--popup-image-height,auto);
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
}
.popup-card--image-only .popup-image-only--intrinsic-unknown {
  position: absolute;
  width: 0;
  height: 0;
  visibility: hidden;
}
.popup-card--image-only .popup-image-only-footer {
  min-height: 72px;
  padding: 14px 18px;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  flex: 0 0 auto;
}
.popup-card--image-only .popup-image-only-footer .muted-btn {
  margin-right: auto;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}
.popup-card .popup-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.popup-image-error {
  padding: 66px 25px 25px;
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.popup-image-loading {
  padding: 66px 18px 18px;
  font-size: 13px;
  line-height: 1.55;
}
.popup-preview-host {
  position: relative;
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}
.popup-preview-viewport {
  position: absolute;
  top: 0;
  transform-origin: top left;
  font-size: 1rem;
  line-height: 1.55;
}
.popup-preview-viewport > .popup-backdrop[data-popup-preview=true] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 22px;
}
.popup-card .muted-btn {
  border: 1px solid #cfcfcf;
  background: white;
  color: #252525;
  border-radius: var(--public-radius,5px);
}
.popup-card .dark-btn {
  border: 0;
  background: #233e7b;
  color: #fff;
  border-radius: var(--public-radius,5px);
}
.columns-layout-controls {
  display: grid;
  gap: 12px;
  margin: 16px 0 4px;
  padding: 15px;
  border: 1px solid #dfe4eb;
  border-radius: 13px;
  background: #f8fafc;
}
.columns-layout-controls > legend,
.columns-layout-mobile > legend {
  padding: 0 6px;
  color: #424656;
  font-size: 13px;
  font-weight: 700;
}
.columns-layout-controls .field-help {
  margin: 0;
}
.columns-layout-controls .form-grid {
  margin: 0;
}
.columns-layout-controls label {
  min-width: 0;
}
.columns-layout-controls input,
.columns-layout-controls select {
  min-width: 0;
}
.columns-layout-mobile {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 13px;
  border: 1px solid #e7ebf0;
  border-radius: 10px;
  background: #fff;
}
.columns-editor-grid {
  display: grid;
  grid-template-columns: repeat(var(--editor-column-count,2), minmax(0, 1fr));
  gap: 15px;
  align-items: start;
}
.columns-editor-column {
  min-width: 0;
}
.background-columns-configured {
  margin-block: var(--background-column-margin-block,0);
  margin-inline: var(--background-column-margin-inline,0);
}
.background-columns-configured.background-columns-width-full {
  padding-inline: 0;
}
.background-columns-configured.background-columns-width-content .background-columns-grid {
  width: min(100%, 1040px);
  margin-inline: auto;
}
.background-columns-configured .background-columns-grid {
  display: grid;
  grid-template-columns: var(--background-column-template,repeat(2,minmax(0,1fr)));
  gap: var(--background-column-gap,24px);
  padding-block: var(--background-column-padding-block,0);
  padding-inline: var(--background-column-padding-inline,0);
}
.background-columns-configured .background-columns-grid-mobile {
  display: none;
}
.background-columns-configured .background-column {
  min-width: 0;
}
.background-columns-configured .background-column > * {
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 767px) {
  .background-columns-configured {
    margin-block: var(--background-mobile-column-margin-block,0);
    margin-inline: var(--background-mobile-column-margin-inline,0);
  }
  .background-columns-configured .background-columns-grid-desktop {
    display: none;
  }
  .background-columns-configured .background-columns-grid-mobile {
    display: grid;
    grid-template-columns: var(--background-mobile-column-template,repeat(1,minmax(0,1fr)));
    gap: var(--background-mobile-column-gap,12px);
  }
}
@media (max-width: 600px) {
  .columns-layout-controls .form-grid {
    grid-template-columns: 1fr;
  }
  .columns-editor-grid {
    grid-template-columns: 1fr;
  }
}
[data-home-preview=true] {
  container-type: inline-size;
  overflow: hidden;
}
[data-home-preview=true] .home-preview-empty {
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px dashed rgba(96, 115, 110, .35);
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
[data-home-preview=true].home-preview-viewport-desktop .background-columns-configured .background-columns-grid-desktop {
  display: grid;
  grid-template-columns: var(--background-column-template,repeat(2,minmax(0,1fr)));
  gap: var(--background-column-gap,24px);
}
[data-home-preview=true].home-preview-viewport-desktop .background-columns-configured .background-columns-grid-mobile {
  display: none;
}
[data-home-preview=true].home-preview-viewport-tablet .background-columns-configured .background-columns-grid-desktop {
  display: grid;
  grid-template-columns: var(--background-column-template,repeat(2,minmax(0,1fr)));
  gap: var(--background-column-gap,24px);
}
[data-home-preview=true].home-preview-viewport-tablet .background-columns-configured .background-columns-grid-mobile {
  display: none;
}
[data-home-preview=true].home-preview-viewport-mobile .background-columns-configured {
  margin-block: var(--background-mobile-column-margin-block,0);
  margin-inline: var(--background-mobile-column-margin-inline,0);
}
[data-home-preview=true].home-preview-viewport-mobile .background-columns-configured .background-columns-grid-desktop {
  display: none;
}
[data-home-preview=true].home-preview-viewport-mobile .background-columns-configured .background-columns-grid-mobile {
  display: grid;
  grid-template-columns: var(--background-mobile-column-template,repeat(1,minmax(0,1fr)));
  gap: var(--background-mobile-column-gap,12px);
}
[data-home-preview=true] .background-columns-configured .background-column {
  min-width: 0;
}
[data-home-preview=true] .background-columns-configured .background-column > * {
  min-width: 0;
  max-width: 100%;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .section {
  padding: 104px 0;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .section-heading {
  display: flex;
  align-items: end;
  margin-bottom: 42px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .landscape-grid,
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .vita-landscape-intro {
  display: grid;
  grid-template-columns: minmax(0, 900px);
  min-height: 0;
  padding: 0 clamp(20px, 2.2cqw, 42px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .vita-landscape-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .story {
  min-height: 600px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .story-inner {
  padding: 88px 32px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .closing {
  padding: 104px 24px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .site-footer {
  display: flex;
  padding: 40px max(24px, calc((100% - 1148px)/2));
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .hero-inner {
  padding: clamp(104px, 16svh, 168px) 32px clamp(72px, 11svh, 112px);
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .hero h1 {
  font-size: clamp(116px, 10cqw, 168px);
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .section {
  padding: 82px 22px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .section-heading {
  display: block;
  margin-bottom: 35px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .section-lead {
  margin-top: 20px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .landscape-grid,
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .story-inner {
  padding: 76px 22px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .hero {
  height: auto;
  min-height: clamp(520px, 100svh, 900px);
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .hero-image {
  object-position: 56% 42%;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .hero-inner {
  padding: 18px 22px 130px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .hero h1 {
  font-size: clamp(88px, 32cqw, 116px);
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .hero-copy {
  font-size: 16px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .section {
  padding: 72px 16px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .section-heading {
  display: block;
  margin-bottom: 30px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .section-heading h2 {
  font-size: clamp(34px, 10cqw, 52px);
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .section-lead {
  margin-top: 16px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .landscape-grid,
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .product-grid {
  grid-template-columns: 1fr;
  gap: 34px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive #landscape.vita-landscape {
  padding-top: 84px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-intro {
  display: block;
  min-height: 0;
  padding: 0 20px 84px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-copy {
  padding: 62px 0 0;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-copy h2 {
  max-width: 20ch;
  font-size: clamp(34px, 9cqw, 42px);
  line-height: 1.13;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-copy p {
  margin-top: 24px;
  font-size: 14px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-grid {
  grid-template-columns: 1fr;
  gap: 0;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-grid .landscape-card,
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-grid .landscape-card:nth-child(2),
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-grid .landscape-card:nth-child(3) {
  padding: 28px 20px 58px;
  border-right: 0;
  border-bottom: 1px solid rgba(237, 242, 235, .24);
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-grid .landscape-card:last-child {
  border-bottom: 0;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-grid .landscape-card img {
  aspect-ratio: 1/1.1;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .vita-landscape-grid .landscape-meta {
  padding-top: 14px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .story {
  min-height: 540px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .story-inner {
  padding: 68px 22px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .story h2 {
  font-size: clamp(38px, 11cqw, 62px);
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .closing {
  padding: 80px 22px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-type-immersive .site-footer {
  display: grid;
  padding: 30px 22px;
  gap: 14px;
}
[data-home-preview=true] .home-content.background-home .section {
  padding: 110px max(24px, calc((100% - 1240px)/2));
}
[data-home-preview=true] .home-content.background-home .background-columns-grid:not([class*=grid-desktop]):not([class*=grid-mobile]) {
  padding: 0 max(24px, calc((100% - 1240px)/2));
}
[data-home-preview=true] .home-content.background-home .story {
  min-height: 600px;
}
[data-home-preview=true] .home-content.background-home .closing {
  padding: 125px 24px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-content.background-home .section {
  padding: 75px 22px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-content.background-home .section {
  padding: 72px 16px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-content.background-home .story {
  min-height: 540px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-content.background-home .closing {
  padding: 80px 22px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-content.background-home .background-columns-grid:not([class*=grid-mobile]) {
  grid-template-columns: 1fr;
  gap: 12px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-content.background-home .background-columns-grid:not([class*=grid-mobile]) {
  padding: 0;
}
[data-home-preview=true].home-preview-viewport-mobile .site-footer {
  display: grid;
  padding: 30px 22px;
  gap: 14px;
}
[data-home-preview=true] .home-preview-content .closing h2 {
  font-size: clamp(45px, 7cqw, 100px);
}
[data-home-preview=true] .home-preview-content .home-content.background-home .hero-inner,
[data-home-preview=true] .home-preview-content .home-content.background-home .story-inner {
  min-width: 0;
  max-width: 100%;
}
[data-home-preview=true] .home-preview-content .home-content.background-home .section h2 {
  font-size: clamp(36px, 5.4cqw, 76px);
}
[data-home-preview=true] .home-preview-content .home-content.background-home .story h2 {
  font-size: clamp(40px, 6cqw, 90px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .home-content.background-home .hero h1 {
  font-size: clamp(58px, 11cqw, 150px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .home-content.background-home .section-heading {
  display: flex;
  align-items: end;
  margin-bottom: 54px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .home-content.background-home .landscape-grid,
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .home-content.background-home .product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .home-content.background-home .hero h1 {
  font-size: clamp(58px, 11cqw, 150px);
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .home-content.background-home .section-heading {
  display: block;
  margin-bottom: 35px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .home-content.background-home .section-lead {
  margin-top: 20px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .home-content.background-home .landscape-grid,
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .home-content.background-home .product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home .hero h1 {
  font-size: clamp(60px, 20cqw, 115px);
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home .section-heading {
  display: block;
  margin-bottom: 35px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home .section-lead {
  margin-top: 20px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home .landscape-grid,
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home .product-grid {
  grid-template-columns: 1fr;
  gap: 12px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .site-header {
  height: 80px;
  min-height: 80px;
  gap: 34px;
  padding-inline: max(24px, calc((100% - 1240px)/2));
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .site-nav {
  display: flex;
  gap: 25px;
  font-size: 14px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .header-cta {
  display: inline-flex;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .header-menu-button {
  display: none;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .site-mobile-menu {
  display: none;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .hero {
  height: auto;
  min-height: clamp(620px, 92svh, 900px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .hero-image {
  object-position: 50% 46%;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .hero-inner {
  padding: clamp(104px, 16svh, 168px) 32px clamp(72px, 11svh, 112px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .hero h1 {
  font-size: clamp(116px, 10cqw, 168px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .hero-copy {
  font-size: 19px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .landscape-card img {
  height: auto;
  aspect-ratio: 4/5;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .product-card img {
  height: auto;
  aspect-ratio: 4/3;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .vita-landscape-copy h2 {
  font-size: clamp(38px, 4.2cqw, 68px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .vita-landscape-grid .landscape-card {
  padding: clamp(24px, 2.2cqw, 42px);
  border-right: 1px solid rgba(237, 242, 235, .24);
  border-bottom: 0;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .vita-landscape-grid .landscape-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1.1;
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .story h2 {
  font-size: clamp(40px, 6cqw, 90px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-type-immersive .story p {
  font-size: 18px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .site-header {
  height: 80px;
  min-height: 80px;
  gap: 15px;
  padding-inline: 18px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .site-nav {
  display: flex;
  gap: 13px;
  font-size: 12px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .header-menu-button {
  display: none;
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .site-mobile-menu {
  display: none;
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .hero {
  height: auto;
  min-height: clamp(620px, 92svh, 900px);
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .hero-image {
  object-position: 50% 46%;
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .landscape-card img {
  height: auto;
  aspect-ratio: 4/5;
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .product-card img {
  height: auto;
  aspect-ratio: 4/3;
}
[data-home-preview=true].home-preview-viewport-tablet .home-type-immersive .vita-landscape-grid .landscape-card {
  border-bottom: 0;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .site-header {
  height: 66px;
  min-height: 66px;
  padding: 0 16px;
  gap: 12px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .site-nav {
  display: none;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .header-actions {
  gap: 5px;
  margin-left: auto;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .header-cta {
  display: inline-flex;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .header-menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 34px;
  border: 1px solid var(--public-line);
  border-radius: 3px;
  background: transparent;
  color: var(--public-heading);
  font-size: 12px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content.home-type-immersive > .site-header .header-menu-button {
  min-width: 44px;
  min-height: 44px;
  border-color: rgba(255, 255, 255, .58);
  color: #fff;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .site-mobile-menu {
  position: fixed;
  z-index: 39;
  top: 66px;
  left: 0;
  right: 0;
  display: none;
  padding: 10px 16px 16px;
  border-bottom: 1px solid #dedede;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .12);
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .site-mobile-menu[data-open=true] {
  display: grid;
  gap: 0;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .site-mobile-menu a {
  padding: 15px 4px;
  border-bottom: 1px solid #ededed;
  color: var(--public-heading);
  font-size: 15px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .site-mobile-menu a:last-child {
  border-bottom: 0;
}
.site-nav-group {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.site-nav-group > a {
  color: inherit;
}
.site-nav-caret {
  border: 0;
  background: transparent;
  padding: 2px 4px;
  color: inherit;
  font-size: 11px;
  line-height: 1;
}
.site-nav-dropdown {
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  min-width: 170px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  padding: 8px;
  display: grid;
  gap: 2px;
  z-index: 50;
}
.site-nav-dropdown a {
  display: block;
  padding: 9px 10px;
  border-radius: 8px;
  font-size: 13px;
  color: var(--ink);
}
.site-nav-dropdown a:hover {
  background: #f3f6f1;
}
.site-mobile-group-label {
  display: block;
  padding: 14px 4px 4px;
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.site-mobile-group-links a {
  padding-left: 16px;
}
html {
  color-scheme: light;
}
html:has(.home-type-immersive) {
  color-scheme: dark;
}
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 60;
  padding: 12px 18px;
  border-radius: 0 0 12px 0;
  background: var(--ink);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.skip-link:focus {
  left: 0;
}
a,
button,
[role=button],
label,
input,
select,
textarea,
summary {
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(13, 25, 30, .16);
}
html:has(.home-type-immersive) {
  scroll-padding-top: 96px;
}
.landscape-meta h3 {
  margin: 0;
  font: inherit;
  letter-spacing: inherit;
}
.home-type-immersive .hero-inner {
  padding-left: max(32px, env(safe-area-inset-left, 0px));
  padding-right: max(32px, env(safe-area-inset-right, 0px));
}
.home-type-immersive .vita-landscape-intro {
  padding-left: max(clamp(20px, 2.2vw, 42px), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(20px, 2.2vw, 42px), env(safe-area-inset-right, 0px));
}
.home-type-immersive .vita-landscape-grid .landscape-card:first-child {
  padding-left: max(var(--vita-stage-pad), env(safe-area-inset-left, 0px));
}
.home-type-immersive .vita-landscape-grid .landscape-card:last-child {
  padding-right: max(var(--vita-stage-pad), env(safe-area-inset-right, 0px));
}
.home-type-immersive .closing {
  padding-left: max(24px, env(safe-area-inset-left, 0px));
  padding-right: max(24px, env(safe-area-inset-right, 0px));
}
.site-footer {
  padding-left: max(24px, calc((100vw - 1240px)/2), env(safe-area-inset-left, 0px));
  padding-right: max(24px, calc((100vw - 1240px)/2), env(safe-area-inset-right, 0px));
}
.hero h1,
.section h2,
.story h2,
.closing h2,
.vita-landscape-copy h2 {
  text-wrap: balance;
  word-break: keep-all;
}
.hero-copy,
.section-lead,
.story p,
.closing p,
.product-card p,
.landscape-card-description,
.vita-landscape-copy p {
  text-wrap: pretty;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.landscape-card-description,
.product-card p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}
html {
  scroll-behavior: auto;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
html:has(.home-type-immersive) {
  scroll-behavior: auto;
}
.home-type-immersive .product-section {
  padding-inline: max(24px, calc((100vw - 1148px)/2), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  background: #182a30;
}
@media (prefers-color-scheme: dark) {
  .home-type-immersive .product-section {
    background: #1d2f2c;
  }
}
.home-type-immersive .closing > * {
  max-width: 1148px;
  margin-inline: auto;
}
.home-type-immersive #landscape.vita-landscape + .product-section {
  border-top: 0;
}
.home-type-immersive .scene-slider {
  position: relative;
}
.home-type-immersive .scene-slider-track {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.home-type-immersive .scene-slider-track::-webkit-scrollbar {
  display: none;
}
.home-type-immersive .scene-slider-track:focus-visible {
  outline: 3px solid #9dc9ff;
  outline-offset: -3px;
}
.home-type-immersive .vita-landscape-grid {
  display: contents;
}
.home-type-immersive .vita-landscape-grid .landscape-card {
  flex: 0 0 clamp(240px, 24vw, 340px);
  scroll-snap-align: start;
}
.home-type-immersive .scene-slider-controls {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 20px clamp(20px, 2.2vw, 42px) 0;
}
.home-type-immersive .scene-slider-button {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(237, 242, 235, .32);
  border-radius: 50%;
  background: transparent;
  color: #edf2eb;
  font-size: 18px;
  line-height: 1;
}
.home-type-immersive .scene-slider-button:hover:not([disabled]) {
  border-color: rgba(237, 242, 235, .7);
}
.home-type-immersive .scene-slider-button[disabled] {
  opacity: .3;
  cursor: default;
}
@media (max-width: 760px) {
  .home-type-immersive .vita-landscape-grid .landscape-card {
    flex-basis: min(78vw, 320px);
  }
  .home-type-immersive .scene-slider-controls {
    padding: 16px 20px 0;
  }
}
.home-type-immersive {
  --home-axis:1148px;
  --home-gutter:32px;
}
@media (max-width: 760px) {
  .home-type-immersive {
    --home-gutter:22px;
  }
}
.home-type-immersive .product-section {
  padding-inline: max(var(--home-gutter), calc((100% - var(--home-axis))/2 + var(--home-gutter)), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
}
.home-type-immersive .vita-landscape-intro {
  min-height: 0;
  padding-bottom: clamp(40px, 5vh, 72px);
}
.home-type-immersive .vita-landscape-copy {
  padding-bottom: 0;
}
.home-type-immersive .vita-landscape-copy h2 {
  max-width: 16ch;
  font-size: clamp(44px, 5.2vw, 84px);
}
.home-type-immersive {
  --vita-stage-pad:clamp(30px,3.4vw,62px);
}
.home-type-immersive .vita-landscape-grid .landscape-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex: 0 0 min(90%, 1180px);
  height: clamp(420px, 68svh, 720px);
  padding: var(--vita-stage-pad);
  border-right: 0;
  overflow: hidden;
}
.home-type-immersive .vita-landscape-grid .landscape-card picture {
  position: absolute;
  inset: 0;
  display: block;
}
.home-type-immersive .vita-landscape-grid .landscape-card img,
.home-type-immersive .vita-landscape-grid .landscape-card:nth-child(2) img,
.home-type-immersive .vita-landscape-grid .landscape-card:nth-child(3) img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  filter: none;
}
.home-type-immersive .vita-landscape-grid .landscape-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      rgba(4, 14, 16, .88),
      rgba(4, 14, 16, .32) 46%,
      rgba(4, 14, 16, .06));
  pointer-events: none;
}
.home-type-immersive .vita-landscape-grid .landscape-card > :not(picture) {
  position: relative;
  z-index: 1;
}
.home-type-immersive .vita-landscape-grid .landscape-card-number {
  align-self: flex-start;
  font-size: 13px;
  letter-spacing: .2em;
  color: rgba(237, 242, 235, .72);
}
.home-type-immersive .vita-landscape-grid .landscape-meta {
  order: 0;
  justify-content: flex-start;
  align-items: baseline;
  gap: 16px;
  padding: 6px 0 0;
  color: #fff;
  font-size: clamp(34px, 4vw, 62px);
  letter-spacing: -.045em;
  line-height: 1.05;
}
.home-type-immersive .vita-landscape-grid .landscape-meta h3 {
  font: inherit;
  letter-spacing: inherit;
  margin: 0;
}
.home-type-immersive .vita-landscape-grid .landscape-meta span:last-child {
  font-size: clamp(20px, 2vw, 30px);
}
.home-type-immersive .vita-landscape-grid .landscape-card-description {
  max-width: 38ch;
  margin: 14px 0 0;
  color: rgba(237, 242, 235, .86);
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.7;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}
@media (max-width: 760px) {
  .home-type-immersive {
    --vita-stage-pad:22px;
  }
  .home-type-immersive .vita-landscape-grid .landscape-card {
    flex-basis: min(88%, 420px);
    height: clamp(380px, 62svh, 560px);
  }
}
.immersive-text .sr-only {
  user-select: none;
  -webkit-user-select: none;
}
.home-type-immersive .closing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  align-items: center;
}
.home-type-immersive .closing-actions .kakao-channel-link--closing {
  min-height: 54px;
  padding: 0 22px 0 19px;
}
.home-type-immersive .product-section .scene-slider-track {
  gap: 24px;
}
.home-type-immersive .product-grid {
  display: contents;
}
.home-type-immersive .product-section .product-card {
  flex: 0 0 calc((100% - 48px)/3);
  scroll-snap-align: start;
}
.home-type-immersive .product-section .scene-slider-controls {
  padding: 26px 0 0;
}
.home-type-immersive .product-section .scene-slider-button {
  border-color: rgba(237, 242, 235, .32);
  color: #edf2eb;
}
@media (max-width: 900px) {
  .home-type-immersive .product-section .product-card {
    flex-basis: calc((100% - 24px)/2);
  }
}
@media (max-width: 600px) {
  .home-type-immersive .product-section .product-card {
    flex-basis: min(84%, 340px);
  }
}
.home-type-immersive .scene-slider-track .landscape-card:focus-visible,
.home-type-immersive .scene-slider-track .product-card:focus-visible {
  outline: 3px solid #9dc9ff;
  outline-offset: -4px;
}
.popup-card,
.search-panel {
  color-scheme: light;
}
.auth-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--public-page);
  color: var(--public-body);
  color-scheme: light;
  overflow-x: clip;
}
.auth-layout {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.auth-shell--immersive .auth-layout {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}
.auth-main {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(40px, 6vw, 84px) 24px 96px;
}
.auth-shell :is(button, a, input, select, textarea):focus-visible {
  outline-color: var(--public-focus-ring);
  outline-offset: 3px;
}
.auth-aside {
  position: relative;
  overflow: hidden;
  background: var(--public-auth-aside);
  min-height: 520px;
}
.auth-aside > .home-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.auth-aside > .home-image > img.home-image-element {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.auth-aside-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(4, 23, 19, .34),
      rgba(4, 23, 19, .72));
}
.auth-aside-copy {
  position: absolute;
  left: clamp(28px, 4vw, 56px);
  right: clamp(28px, 4vw, 56px);
  bottom: clamp(36px, 5vw, 64px);
  color: var(--public-auth-aside-text);
}
.auth-aside-copy .eyebrow {
  margin: 0;
  color: var(--public-auth-aside-eyebrow);
}
.auth-aside-title {
  margin: 14px 0 0;
  white-space: pre-line;
  font-size: clamp(30px, 3.4vw, 52px);
  line-height: 1.14;
  letter-spacing: -.05em;
  color: var(--public-auth-aside-title);
}
.auth-card {
  width: min(440px, 100%);
  background: var(--public-surface);
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  padding: clamp(26px, 3vw, 38px);
}
.auth-card h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1.25;
  letter-spacing: -.05em;
  color: var(--public-heading);
}
.auth-lead {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--public-muted);
}
.auth-form {
  display: grid;
  gap: 18px;
  margin-top: 26px;
}
.auth-form label {
  display: grid;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--public-heading);
}
.auth-form input {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  padding: 13px 14px;
  background: var(--public-auth-input);
  color: var(--public-heading);
  font-size: 16px;
  font-weight: 400;
}
.auth-form input:focus {
  border-color: var(--public-primary);
  background: var(--public-surface);
}
.auth-help {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--public-muted);
}
.auth-submit {
  min-height: 50px;
  border: 0;
  border-radius: var(--public-radius);
  background: var(--public-primary);
  color: var(--public-on-primary);
  font-size: 16px;
  font-weight: 700;
}
.auth-submit:hover:not(:disabled) {
  background: var(--public-primary-hover);
}
.auth-submit:disabled {
  background: var(--public-auth-disabled);
}
.auth-ghost-btn {
  min-height: 46px;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  color: var(--public-auth-ghost);
  font-size: 14px;
  padding: 0 16px;
}
.auth-ghost-btn:hover:not(:disabled) {
  border-color: var(--public-primary);
  color: var(--public-primary);
}
.auth-ghost-btn:disabled {
  color: var(--public-muted);
  background: var(--public-subtle);
}
.auth-error {
  padding: 12px 14px;
  border: 1px solid var(--public-auth-error-border);
  border-radius: var(--public-radius);
  background: var(--public-auth-error-surface);
  color: var(--public-auth-error-text);
  font-size: 13px;
  line-height: 1.6;
}
.auth-section {
  margin: 30px 0 0;
  padding: 22px 0 0;
  border-top: 1px solid var(--public-line);
}
.auth-section h2 {
  margin: 0 0 12px;
  font-size: 15px;
  color: var(--public-heading);
}
.auth-social-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.admin-back-link {
  margin: 14px 0 0;
  font-size: 13px;
  text-align: center;
}
.admin-back-link a {
  color: #424656;
}
.admin-back-link a:hover {
  color: var(--ink);
}
.auth-consents {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-subtle);
}
.auth-consents .auth-help {
  margin-top: 2px;
}
.auth-checkbox {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--public-body);
}
.auth-checkbox input {
  width: auto;
  min-height: 0;
  margin: 2px 0 0;
  padding: 0;
  background: transparent;
  accent-color: var(--public-primary);
}
.auth-links {
  margin: 26px 0 0;
  font-size: 14px;
  font-weight: 700;
}
.auth-links a {
  color: var(--public-primary);
}
.auth-footnote {
  margin: 10px 0 0;
  font-size: 12px;
}
.auth-footnote a {
  color: var(--public-muted);
}
.auth-footnote a:hover {
  color: var(--public-heading);
}
@media (max-width: 900px) {
  .auth-shell--immersive .auth-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .auth-aside {
    min-height: 220px;
  }
  .auth-aside-copy {
    bottom: 24px;
  }
  .auth-main {
    padding: 34px 18px 72px;
  }
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn {
  border-color: var(--ad-line-field,var(--wmr-border,#dbe1eb));
  border-radius: var(--wmr-radius-button,10px);
  background: var(--ad-surface,var(--wmr-surface,#fff));
  color: var(--ad-text-label,var(--wmr-text-secondary,#424656));
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn.primary {
  border-color: var(--ad-accent,var(--wmr-admin-primary,#0066ff));
  background: var(--ad-accent,var(--wmr-admin-primary,#0066ff));
  color: #fff;
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn.danger {
  border-color: var(--ad-danger-line,#f0c5c2);
  background: var(--ad-danger-surface,#fff1f0);
  color: var(--ad-danger-text,#a4332d);
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn:hover:not(:disabled):not(.primary):not(.danger) {
  background: var(--ad-surface-hover,var(--wmr-background,#fff));
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn.primary:hover:not(:disabled) {
  border-color: var(--ad-accent-hover,var(--wmr-admin-primary-hover,#0066ff));
  background: var(--ad-accent-hover,var(--wmr-admin-primary-hover,#0066ff));
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn.danger:hover:not(:disabled) {
  background: var(--ad-danger-surface-hover,#fde8e6);
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn[aria-busy=true] {
  cursor: progress;
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn:focus-visible,
[data-admin-layout][data-admin-tokens=v2] .admin-form input:focus-visible,
[data-admin-layout][data-admin-tokens=v2] .admin-form select:focus-visible,
[data-admin-layout][data-admin-tokens=v2] .admin-form textarea:focus-visible {
  outline-color: var(--ad-focus-ring,#9dc9ff);
  outline-offset: 3px;
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn:disabled {
  border-color: var(--ad-line-field,var(--wmr-border,#dbe1eb));
  background: var(--ad-surface-sunken,var(--wmr-background,#f8f9fb));
  cursor: not-allowed;
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn.primary:disabled {
  color: var(--ad-text-label,var(--wmr-text-secondary,#424956));
}
[data-admin-layout][data-admin-tokens=v2] .admin-btn.danger:disabled {
  border-color: var(--ad-danger-line,#f0c5c2);
  background: var(--ad-danger-surface,#fff1f0);
  color: var(--ad-danger-text,#a4332d);
}
[data-admin-layout][data-admin-tokens=v2] .admin-form input,
[data-admin-layout][data-admin-tokens=v2] .admin-form select,
[data-admin-layout][data-admin-tokens=v2] .admin-form textarea {
  border-color: var(--ad-line-field,var(--wmr-border,#dfe4eb));
  background: var(--ad-surface,var(--wmr-surface,#fff));
  color: var(--ad-text-strong,var(--wmr-text-primary,#0c1c1e));
}
[data-admin-layout][data-admin-tokens=v2] .admin-form input:disabled,
[data-admin-layout][data-admin-tokens=v2] .admin-form select:disabled,
[data-admin-layout][data-admin-tokens=v2] .admin-form textarea:disabled {
  background: var(--ad-surface-sunken,var(--wmr-background,#f2f4f7));
  cursor: not-allowed;
}
[data-admin-layout][data-admin-tokens=v2] .admin-table-wrap {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}
body:has(.site-header):not(:has(.home-type-immersive)) {
  background: var(--public-page);
  color: var(--public-body);
}
.quote-page .public-form :is(input, textarea)::placeholder {
  color: #666;
  opacity: 1;
}
@media (min-width: 901px) {
  body:not(:has(.home-preview-content)) .home-type-immersive .hero {
    min-height: max(720px, 108svh);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .product-section {
    padding-block: clamp(144px, 10vw, 192px);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .product-section .scene-slider-track {
    gap: clamp(48px, 3.9vw, 64px);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .product-section .product-card {
    flex-basis: calc((100% - clamp(96px, 7.8vw, 128px))/3);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .product-card img {
    height: auto;
    aspect-ratio: 3 / 2;
    max-height: 320px;
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .section-heading {
    margin-bottom: clamp(56px, 4vw, 72px);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive #landscape.vita-landscape {
    padding-top: clamp(96px, 8vw, 112px);
    padding-bottom: clamp(120px, 9vw, 160px);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .vita-landscape-intro {
    padding-bottom: clamp(40px, 4vw, 56px);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .vita-landscape-gallery .scene-slider-track {
    scroll-snap-type: x mandatory;
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .vita-landscape-grid .landscape-card {
    flex-basis: 100%;
    height: clamp(520px, 72svh, 720px);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .vita-landscape-grid .landscape-card img,
  body:not(:has(.home-preview-content)) .home-type-immersive .vita-landscape-grid .landscape-card:nth-child(2) img,
  body:not(:has(.home-preview-content)) .home-type-immersive .vita-landscape-grid .landscape-card:nth-child(3) img {
    object-position: 50% 15%;
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .story {
    min-height: max(720px, 100svh);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .story-inner {
    padding-block: clamp(120px, 10vw, 192px);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .closing {
    min-height: max(640px, 85svh);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-block: clamp(144px, 10vw, 192px);
  }
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .hero {
  min-height: max(720px, 108svh);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-section {
  padding-block: clamp(144px, 10cqw, 192px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-section .scene-slider-track {
  gap: clamp(48px, 3.9cqw, 64px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-section .product-card {
  flex-basis: calc((100% - clamp(96px, 7.8cqw, 128px))/3);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-card img {
  height: auto;
  aspect-ratio: 3 / 2;
  max-height: 320px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .section-heading {
  margin-bottom: clamp(56px, 4cqw, 72px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive #landscape.vita-landscape {
  padding-top: clamp(96px, 8cqw, 112px);
  padding-bottom: clamp(120px, 9cqw, 160px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .vita-landscape-intro {
  padding-bottom: clamp(40px, 4cqw, 56px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .vita-landscape-gallery .scene-slider-track {
  scroll-snap-type: x mandatory;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .vita-landscape-grid .landscape-card {
  flex-basis: 100%;
  height: clamp(520px, 72svh, 720px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .vita-landscape-grid .landscape-card img,
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .vita-landscape-grid .landscape-card:nth-child(2) img,
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .vita-landscape-grid .landscape-card:nth-child(3) img {
  object-position: 50% 15%;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .story {
  min-height: max(720px, 100svh);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .story-inner {
  padding-block: clamp(120px, 10cqw, 192px);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .closing {
  min-height: max(640px, 85svh);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: clamp(144px, 10cqw, 192px);
}
.home-type-immersive .vita-landscape-gallery .scene-slider-stage {
  position: relative;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-track[data-scene-overlay=true] {
  position: relative;
  scroll-behavior: smooth;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-overlay {
  position: absolute;
  inset-block: 0;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: clamp(88px, 9vw, 144px);
  padding: 24px 12px;
  border: 0;
  border-inline: 1px solid rgba(237, 242, 235, .22);
  background: rgba(4, 14, 16, .18);
  backdrop-filter: blur(10px) saturate(115%);
  -webkit-backdrop-filter: blur(10px) saturate(115%);
  color: #edf2eb;
  transition:
    background .25s ease,
    box-shadow .25s ease,
    opacity .25s ease;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-overlay-prev {
  left: 0;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-overlay-next {
  right: 0;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-overlay:hover:not([disabled]) {
  background: rgba(4, 14, 16, .38);
  box-shadow: inset 0 0 0 1px rgba(237, 242, 235, .12);
}
.home-type-immersive .vita-landscape-gallery .scene-slider-overlay:focus-visible {
  outline: 3px solid #9dc9ff;
  outline-offset: -5px;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-overlay[disabled] {
  cursor: default;
  opacity: .24;
  background: rgba(4, 14, 16, .1);
}
.home-type-immersive .vita-landscape-gallery .scene-slider-overlay-glyph {
  font-size: clamp(26px, 2.4vw, 42px);
  font-weight: 300;
  line-height: 1;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-overlay-label {
  font-size: 11px;
  letter-spacing: .12em;
  line-height: 1;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-controls--overlay {
  padding-top: 16px;
}
.home-type-immersive .vita-landscape-gallery .scene-slider-pause {
  position: absolute;
  top: clamp(16px, 2vw, 28px);
  right: clamp(16px, 2vw, 28px);
  z-index: 5;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(237, 242, 235, .45);
  background: rgba(4, 14, 16, .45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.home-type-immersive .vita-landscape-gallery .scene-slider-pause:hover {
  border-color: rgba(237, 242, 235, .9);
  background: rgba(4, 14, 16, .65);
}
.home-type-immersive .vita-landscape-gallery .scene-slider-pause:focus-visible {
  outline: 3px solid #9dc9ff;
  outline-offset: 2px;
}
@media (max-width: 760px) {
  .home-type-immersive .vita-landscape-gallery .scene-slider-overlay {
    width: 60px;
    padding: 18px 8px;
    background: rgba(4, 14, 16, .25);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .home-type-immersive .vita-landscape-gallery .scene-slider-overlay-label {
    display: none;
  }
  .home-type-immersive .vita-landscape-gallery .scene-slider-overlay-glyph {
    font-size: 26px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-type-immersive .vita-landscape-gallery .scene-slider-track[data-scene-overlay=true] {
    scroll-behavior: auto;
  }
  .home-type-immersive .vita-landscape-gallery .scene-slider-overlay {
    transition: none;
  }
}
.auth-steps {
  display: flex;
  gap: 6px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  color: var(--public-muted);
}
.auth-steps li {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 0;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-subtle);
  white-space: nowrap;
}
.auth-steps li span {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--public-line);
  color: var(--public-heading);
  font-size: 11px;
  font-weight: 700;
}
.auth-steps li[aria-current=step] {
  border-color: var(--public-primary);
  color: var(--public-heading);
  font-weight: 700;
}
.auth-steps li[aria-current=step] span {
  background: var(--public-primary);
  color: var(--public-on-primary);
}
.auth-optional {
  margin-left: 6px;
  color: var(--public-muted);
  font-size: 12px;
  font-weight: 400;
}
.auth-form-row {
  display: flex;
  justify-content: flex-end;
  margin-top: -6px;
}
.auth-inline-link {
  font-size: 13px;
  font-weight: 700;
  color: var(--public-primary);
}
.auth-signup-callout {
  margin-top: 26px;
  padding-top: 20px;
  text-align: center;
}
.auth-signup-callout .auth-help {
  word-break: keep-all;
  text-wrap: balance;
}
.auth-block-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 12px;
  text-align: center;
  text-decoration: none;
}
.auth-signup-callout + .auth-links {
  margin-top: 18px;
  text-align: center;
}
@media (max-width: 480px) {
  .auth-steps {
    gap: 6px;
    font-size: 11px;
  }
  .auth-steps li {
    gap: 5px;
  }
  .auth-steps li:not(:last-child)::after {
    width: 14px;
  }
}
.booking-form .booking-field.booking-field--inline {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  cursor: pointer;
}
.booking-form .booking-field.booking-field--inline input[type=checkbox] {
  flex: none;
  width: 18px;
  height: 18px;
  min-width: 0;
  margin: 0;
  padding: 0;
  accent-color: var(--public-heading,#1f2937);
}
.booking-item-list {
  display: grid;
  gap: 8px;
  margin: 4px 0 12px;
}
.auth-choice {
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  gap: 8px;
}
.auth-choice legend {
  padding: 0;
  margin: 0 0 4px;
  font-size: 13px;
  color: var(--public-heading);
}
.auth-choice-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  cursor: pointer;
}
.auth-choice-option.is-selected {
  border-color: var(--public-primary);
  background: #f2f7ff;
}
.auth-choice-option input {
  width: auto;
  min-height: 0;
  margin: 3px 0 0;
  padding: 0;
  background: transparent;
  accent-color: var(--public-primary);
}
.auth-choice-option span {
  display: grid;
  gap: 2px;
  font-size: 14px;
  color: var(--public-heading);
}
.auth-choice-option small {
  font-size: 12px;
  color: var(--public-muted);
  line-height: 1.5;
}
.account-page {
  width: min(100%, 1120px);
}
.account-loading {
  color: var(--public-muted);
}
.account-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px 28px;
  margin-bottom: 18px;
}
.account-hero-main {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}
.account-hero h1 {
  margin: 4px 0 8px;
  font-size: clamp(26px, 3.2vw, 38px);
  letter-spacing: -.04em;
  line-height: 1.15;
  color: var(--public-heading);
}
.account-lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0;
  color: var(--public-muted);
  font-size: 13px;
}
.account-lead-item {
  overflow-wrap: anywhere;
}
.account-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--public-primary);
  color: var(--public-on-primary);
  font-size: 24px;
  font-weight: 700;
}
.account-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.account-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--public-line);
  border-radius: 999px;
  background: var(--public-surface);
  color: var(--public-heading);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.account-btn:hover {
  border-color: var(--public-primary);
  color: var(--public-primary);
}
.account-btn:disabled {
  opacity: .6;
  cursor: default;
}
.account-btn--primary {
  background: var(--public-primary);
  border-color: var(--public-primary);
  color: var(--public-on-primary);
}
.account-btn--primary:hover {
  background: var(--public-primary-hover);
  border-color: var(--public-primary-hover);
  color: var(--public-on-primary);
}
.account-notice {
  margin: 0 0 14px;
  border-radius: var(--public-radius);
}
.account-tabs-band {
  position: relative;
  margin: 0 0 44px;
  padding-bottom: 1px;
}
.account-tabs-band::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #e3e6e0;
  box-shadow: 0 0 0 100vmax #e3e6e0;
  clip-path: inset(0 -100vmax);
  pointer-events: none;
}
.account-tabs {
  display: flex;
  gap: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow-x: auto;
  scrollbar-width: none;
}
.account-tabs::-webkit-scrollbar {
  display: none;
}
.account-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  min-height: 0;
  padding: 0 0 12px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #656e66;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  white-space: nowrap;
}
.account-tabs button:hover {
  color: var(--public-heading);
}
.account-tabs button:focus-visible {
  outline-offset: -3px;
}
.account-tabs button.is-active {
  color: var(--public-primary);
  border-bottom-color: var(--public-primary);
  box-shadow: none;
}
.account-tab-count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--public-primary);
  color: var(--public-on-primary);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.account-overview {
  display: grid;
  gap: 44px;
}
.account-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.account-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px 14px;
}
.account-section-head h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.035em;
  color: var(--public-heading);
}
.account-section-head h2::before {
  content: "";
  display: block;
  width: 22px;
  height: 3px;
  margin: 0 0 12px;
  border-radius: 2px;
  background: var(--public-primary);
}
.account-section-help {
  margin: -4px 0 0;
  font-size: 13px;
  color: var(--public-muted);
  line-height: 1.6;
}
.account-section-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.account-filters {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.account-filters button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--public-line);
  border-radius: 999px;
  background: var(--public-surface);
  color: var(--public-body);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.account-filters button.is-active {
  border-color: var(--public-primary);
  background: var(--public-primary);
  color: var(--public-on-primary);
}
.account-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 28px;
  align-items: start;
}
.account-overview-grid > .account-section {
  padding: 22px 24px;
  border: 1px solid #cdd3ca;
  border-radius: var(--public-radius);
  background: var(--public-surface);
}
.account-overview-grid > .account-section .account-section-head h2 {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.account-overview-grid > .account-section .account-section-head h2::before {
  content: none;
}
.account-side > .account-card {
  padding: 22px 24px;
}
.account-side {
  display: grid;
  gap: 14px;
  min-width: 0;
}
.account-side-card {
  gap: 10px;
}
.account-side-card h2 {
  margin: 0;
  font-size: 17px;
  letter-spacing: -.02em;
  color: var(--public-heading);
}
.account-side-empty {
  margin: 0;
  color: var(--public-muted);
  font-size: 14px;
  line-height: 1.6;
}
.account-glance {
  display: grid;
}
.account-glance-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  padding: 10px 0;
  border: 0;
  border-top: 1px solid #edf0eb;
  border-radius: 0;
  background: transparent;
  color: var(--public-body);
  font: inherit;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
.account-glance-row:first-child {
  border-top: 0;
}
.account-glance-row b {
  color: var(--public-primary);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.account-glance-row:hover span {
  color: var(--public-primary);
}
.account-side-links {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.account-side-links li {
  border-top: 1px solid #edf0eb;
}
.account-side-links li:first-child {
  border-top: 0;
}
.account-side-links a {
  display: grid;
  gap: 2px;
  padding: 11px 0;
  color: var(--public-body);
  text-decoration: none;
}
.account-side-links li:first-child a {
  padding-top: 4px;
}
.account-side-links li:last-child a {
  padding-bottom: 0;
}
.account-side-links b {
  color: var(--public-heading);
  font-size: 14px;
}
.account-side-links span {
  color: var(--public-muted);
  font-size: 13px;
  line-height: 1.5;
}
.account-side-links a:hover b {
  color: var(--public-primary);
}
.account-activity {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 0 0 14px;
  list-style: none;
  border-left: 2px solid var(--public-line);
}
.account-activity li {
  position: relative;
  display: grid;
  gap: 2px;
  padding: 0 0 14px 14px;
}
.account-activity li::before {
  content: "";
  position: absolute;
  left: -19px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--public-primary);
}
.account-activity time {
  font-size: 11px;
  color: var(--public-muted);
  font-variant-numeric: tabular-nums;
}
.account-activity-text {
  border: 0;
  padding: 0;
  background: transparent;
  text-align: left;
  font: inherit;
  font-size: 14px;
  color: var(--public-heading);
  cursor: pointer;
  line-height: 1.5;
}
.account-activity-text:hover {
  color: var(--public-primary);
}
.account-trip,
.account-card {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 20px 22px;
  border: 1px solid var(--public-line);
  border-radius: 14px;
  background: var(--public-surface);
}
.account-card--muted {
  background: var(--public-subtle);
}
.account-trip.is-past {
  opacity: .82;
}
.account-page :is(.account-trip, .account-card) {
  border-color: #cdd3ca;
}
.account-page .account-facts {
  border-top-color: #edf0eb;
}
.account-page .account-list li {
  border-top-color: #edf0eb;
}
.account-page :is(.account-table th, .account-table td) {
  border-bottom-color: #edf0eb;
}
.account-page .status-pill {
  border: 1px solid transparent;
}
.account-page .status-pill.green {
  border-color: #cdd3ca;
  background: #fff;
  color: #222824;
}
.account-page .status-pill.orange {
  background: #eef2f9;
  color: #233e7b;
}
.account-page .status-pill:not(.green):not(.orange):not(.gray) {
  background: #eef2f9;
  color: #233e7b;
}
.account-page .admin-notice.account-notice {
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #fff;
  color: #656e66;
}
.account-page .admin-notice.account-notice b {
  color: #222824;
}
.account-trip--photo {
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 0 24px;
  align-items: start;
}
.account-trip-media {
  overflow: hidden;
  aspect-ratio: 4/3;
  border-radius: var(--public-radius);
  background: var(--public-subtle);
}
.account-trip-media a {
  display: block;
  width: 100%;
  height: 100%;
}
.account-trip-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.account-trip-body {
  display: grid;
  gap: 14px;
  min-width: 0;
}
.account-trip-head,
.account-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.account-trip-title {
  min-width: 0;
}
.account-trip-head h3,
.account-card-head h3 {
  margin: 4px 0;
  font-size: 19px;
  letter-spacing: -.03em;
  color: var(--public-heading);
  overflow-wrap: anywhere;
}
.account-card-head h2 {
  margin: 0;
  font-size: 17px;
  letter-spacing: -.02em;
  color: var(--public-heading);
}
.account-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 12px;
  color: var(--public-muted);
  font-weight: 600;
  letter-spacing: .01em;
}
.account-kicker b {
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--public-primary);
  color: var(--public-on-primary);
  font-size: 11px;
  font-weight: 700;
}
.account-trip-period {
  margin: 0;
  font-size: 14px;
  color: var(--public-body);
}
.account-next {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--public-subtle);
  color: var(--public-body);
  font-size: 13px;
  line-height: 1.6;
}
.account-reject {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #f2c9a8;
  border-radius: var(--public-radius);
  background: #fff7ef;
  color: #7a3d0b;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.account-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px 18px;
  margin: 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--public-line);
}
.account-facts > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.account-facts dt {
  font-size: 12px;
  color: var(--public-muted);
}
.account-facts dd {
  margin: 0;
  font-size: 14px;
  color: var(--public-heading);
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.account-table-wrap {
  overflow-x: auto;
}
.account-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.account-table th,
.account-table td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--public-line);
  text-align: left;
  white-space: nowrap;
}
.account-table th {
  font-weight: 600;
  color: var(--public-muted);
  font-size: 12px;
}
.account-trip-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
}
.account-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}
.account-steps li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  padding: 0 12px 0 0;
  font-size: 12px;
  color: var(--public-muted);
}
.account-steps li span {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid var(--public-line);
  background: var(--public-surface);
  flex: 0 0 auto;
}
.account-steps li::after {
  content: "";
  flex: 1 1 12px;
  height: 2px;
  margin-left: 8px;
  background: var(--public-line);
}
.account-steps li:last-child::after {
  display: none;
}
.account-steps li.is-done {
  color: var(--public-body);
}
.account-steps li.is-done span {
  border-color: var(--public-primary);
  background: var(--public-primary);
}
.account-steps li.is-done::after {
  background: var(--public-primary);
}
.account-steps li.is-current {
  color: var(--public-primary);
  font-weight: 700;
}
.account-steps li.is-current span {
  border-color: var(--public-primary);
  box-shadow: 0 0 0 3px rgba(0, 72, 157, .15);
}
.account-items {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 12px 14px;
  list-style: none;
  border-radius: 10px;
  background: var(--public-subtle);
  font-size: 13px;
}
.account-items li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--public-body);
}
.account-items b {
  color: var(--public-heading);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.account-note {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--public-primary);
  background: var(--public-subtle);
  font-size: 13px;
  line-height: 1.6;
  color: var(--public-body);
  white-space: pre-line;
}
.account-note b {
  font-size: 12px;
  color: var(--public-primary);
}
.account-group {
  display: grid;
  gap: 12px;
}
.account-group h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
  font-size: 15px;
  color: var(--public-heading);
}
.account-group h3 span {
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--public-subtle);
  border: 1px solid var(--public-line);
  font-size: 12px;
  color: var(--public-muted);
}
.account-thread {
  display: grid;
  gap: 10px;
}
.account-message {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--public-subtle);
  font-size: 14px;
  line-height: 1.6;
  color: var(--public-body);
}
.account-message.is-mine {
  background: #eef4fb;
}
.account-message small {
  font-size: 12px;
  color: var(--public-muted);
}
.account-message p {
  margin: 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.account-link {
  font-size: 13px;
  font-weight: 700;
  color: var(--public-primary);
  text-decoration: none;
}
.account-link:hover {
  text-decoration: underline;
}
.account-link--button {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
}
.account-hint {
  margin: 0;
  font-size: 12px;
  color: var(--public-muted);
  line-height: 1.6;
}
.account-error {
  margin: 0;
  font-size: 12px;
  color: var(--public-auth-error-text);
  line-height: 1.5;
}
.account-empty {
  display: grid;
  gap: 6px;
  padding: 22px;
  border: 1px dashed var(--public-line);
  border-radius: 14px;
  background: var(--public-subtle);
  color: var(--public-muted);
  font-size: 14px;
  line-height: 1.6;
}
.account-empty strong {
  color: var(--public-heading);
}
.account-empty p {
  margin: 0;
}
.account-empty--page {
  max-width: 520px;
  margin: 40px auto;
  text-align: center;
  justify-items: center;
}
.account-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.account-profile-facts {
  display: grid;
  gap: 14px;
  margin: 0;
}
.account-profile-facts > div {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  font-size: 14px;
}
.account-profile-facts dt {
  color: var(--public-muted);
  padding-top: 2px;
}
.account-profile-facts dd {
  display: grid;
  gap: 4px;
  margin: 0;
  color: var(--public-heading);
  overflow-wrap: anywhere;
}
.account-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.account-pill-inline {
  margin-left: 8px;
  vertical-align: middle;
}
.account-name-form {
  display: grid;
  gap: 8px;
}
.account-name-form input {
  width: 100%;
  border: 1px solid var(--public-line);
  border-radius: 8px;
  padding: 9px 11px;
  font-size: 15px;
  background: var(--public-auth-input);
  color: var(--public-heading);
}
.account-name-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.account-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.account-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--public-line);
}
.account-list li:first-child {
  border-top: 0;
  padding-top: 0;
}
.account-list li > span:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.account-list b {
  font-size: 14px;
  color: var(--public-heading);
}
.account-list small {
  font-size: 12px;
  color: var(--public-muted);
  line-height: 1.5;
}
.account-switch {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 44px;
  height: 26px;
}
.account-switch input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}
.account-switch span {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #cfd6df;
  transition: background .15s;
  pointer-events: none;
}
.account-switch span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
  transition: transform .15s;
}
.account-switch input:checked + span {
  background: var(--public-primary);
}
.account-switch input:checked + span::after {
  transform: translateX(18px);
}
.account-switch input:focus-visible + span {
  outline: 3px solid var(--public-focus-ring);
  outline-offset: 2px;
}
.account-switch input:disabled + span {
  opacity: .5;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 900px) {
  .account-profile-grid {
    grid-template-columns: 1fr;
  }
  .account-overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .account-side {
    display: contents;
  }
  .account-side-card--todo {
    order: -1;
  }
}
@media (max-width: 600px) {
  .account-tabs {
    gap: 18px;
    padding-right: 28px;
    -webkit-mask-image:
      linear-gradient(
        90deg,
        #000 calc(100% - 28px),
        transparent);
    mask-image:
      linear-gradient(
        90deg,
        #000 calc(100% - 28px),
        transparent);
  }
  .account-tabs button {
    font-size: 14px;
  }
  .account-hero-main {
    align-items: flex-start;
  }
  .account-avatar {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }
  .account-quick {
    width: 100%;
  }
  .account-quick .account-btn {
    flex: 1 1 auto;
  }
  .account-trip,
  .account-card,
  .account-side > .account-card,
  .account-overview-grid > .account-section {
    padding: 16px;
  }
  .account-tabs-band {
    margin-bottom: 40px;
  }
  .account-section-head h2 {
    font-size: 22px;
  }
  .account-trip-head,
  .account-card-head {
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
  }
  .account-trip--photo {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .account-trip-media {
    aspect-ratio: 16/9;
  }
  .account-steps li {
    font-size: 11px;
    padding-right: 6px;
  }
  .account-list li {
    flex-direction: column;
    align-items: flex-start;
  }
  .account-profile-facts > div {
    grid-template-columns: 1fr;
  }
}
.admin-topbar .admin-actions {
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.admin-btn {
  white-space: nowrap;
}
.catalog-discount-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin: 8px 0 0;
  padding: 3px 10px;
  border-radius: 999px;
  background: #fff1f0;
  color: #c0392b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.catalog-discount-badge.ended {
  background: #f0f1f3;
  color: #676d79;
}
.catalog-discount-badge.scheduled {
  background: #e9eef7;
  color: #2a4d8f;
}
.catalog-price {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.catalog-price-original {
  color: #9aa1ab;
  font-weight: 400;
  font-size: .85em;
}
.catalog-price-discounted {
  color: #c0392b;
}
.hot-deals {
  --hd-ink:var(--airy-ink,#222824);
  --hd-muted:var(--airy-muted,#656e66);
  --hd-line:var(--airy-line,#e3e6e0);
  --hd-soft:var(--airy-soft,#f5f6f3);
  --hd-brand:var(--airy-brand,#233e7b);
  --hd-sale:#c2410c;
  --hd-sale-weak:#fff1e8;
  --hd-sale-ink:#9a3412;
  --hd-scene:#1b2a26;
  background: #fff;
  color: var(--hd-ink);
  padding-top: 44px;
  padding-bottom: 64px;
  scroll-margin-top: 76px;
}
.hot-deals-loading {
  min-height: 640px;
}
.hot-deals-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 22px;
}
.hot-deals-heading h2 {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.12;
  letter-spacing: -.04em;
  margin: 12px 0 0;
  color: var(--hd-ink);
  white-space: pre-line;
  text-wrap: balance;
}
.hot-deals-lead {
  max-width: 34ch;
  margin: 0;
  color: var(--hd-muted);
  line-height: 1.7;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.hot-deals-live {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 6px 12px 6px 10px;
  border-radius: 999px;
  background: var(--hd-sale-weak);
  color: var(--hd-sale-ink);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.hot-deals-live-dot {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--hd-sale);
  animation: hot-deal-pulse 1.8s ease-out infinite;
}
@keyframes hot-deal-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(194, 65, 12, .45);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(194, 65, 12, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(194, 65, 12, 0);
  }
}
.hot-deal-feature {
  position: relative;
  min-height: 540px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--hd-scene);
  scroll-margin-top: 96px;
}
.hot-deal-feature-media {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}
.hot-deal-feature-media > .home-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hot-deal-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
.hot-deal-feature:hover .hot-deal-feature-media img {
  transform: scale(1.03);
}
.hot-deal-feature-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(4, 23, 19, .66) 0%,
      rgba(4, 23, 19, .28) 55%,
      rgba(4, 23, 19, .12) 100%),
    linear-gradient(
      180deg,
      rgba(6, 18, 16, 0) 30%,
      rgba(6, 18, 16, .78) 100%);
}
.hot-deal-feature-body {
  position: relative;
  z-index: 1;
  min-height: 540px;
  display: grid;
  align-content: end;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 32px;
  row-gap: 12px;
  min-width: 0;
  padding: 40px 44px 36px;
  color: #fff;
  grid-template-areas: "status status" "kicker kicker" "title price" "summary price" "facts price" "progress cta";
  pointer-events: none;
}
.hot-deal-feature-body > * {
  pointer-events: auto;
}
.hot-deal-status {
  grid-area: status;
  justify-self: start;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.hot-deal-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 11px 5px 9px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  background: rgba(10, 24, 22, .55);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.hot-deal-badge::before {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--hd-sale);
  animation: hot-deal-pulse 1.8s ease-out infinite;
}
.hot-deals-countdown {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--hd-sale);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.hot-deal-kicker {
  grid-area: kicker;
  justify-self: start;
  font-size: 13px;
  color: rgba(255, 255, 255, .8);
}
.hot-deal-feature-body h3 {
  grid-area: title;
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  letter-spacing: -.045em;
  word-break: keep-all;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
.hot-deal-feature-body h3 a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.hot-deal-summary {
  grid-area: summary;
  margin: 0;
  color: rgba(255, 255, 255, .8);
  line-height: 1.7;
  word-break: keep-all;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.hot-deal-facts {
  grid-area: facts;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 2px 0 0;
  padding: 12px 0 10px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  border-bottom: 1px solid rgba(255, 255, 255, .22);
}
.hot-deal-facts div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.hot-deal-facts dt {
  font-size: 12px;
  color: rgba(255, 255, 255, .7);
}
.hot-deal-facts dd {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.hot-deal-facts dd.hot-deal-deadline {
  color: #ffd0b5;
}
.hot-deal-progress {
  grid-area: progress;
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
}
.hot-deal-progress span {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .25);
  overflow: hidden;
}
.hot-deal-progress span::before {
  content: "";
  display: block;
  width: calc(var(--p,0)*100%);
  height: 100%;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      #f59e0b,
      var(--hd-sale));
  transform-origin: left center;
  animation: hot-deal-bar-in 1s cubic-bezier(.16, 1, .3, 1) both;
}
@keyframes hot-deal-bar-in {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
.hot-deal-progress em {
  font-style: normal;
  font-size: 12px;
  color: rgba(255, 255, 255, .8);
  font-variant-numeric: tabular-nums;
}
.hot-deal-price {
  grid-area: price;
  align-self: end;
  display: grid;
  justify-items: end;
  gap: 2px;
  min-width: 220px;
  margin: 0;
  padding: 16px 18px;
  border-radius: 10px;
  background: #fff;
  color: var(--hd-ink);
}
.hot-deal-price > * {
  white-space: nowrap;
}
.hot-deal-rate {
  display: inline-flex;
  align-items: center;
  align-self: center;
  height: 30px;
  padding: 0 10px;
  border-radius: 6px;
  background: var(--hd-sale);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.hot-deal-price s {
  color: var(--hd-muted);
  font-size: 15px;
}
.hot-deal-price strong {
  font-size: 32px;
  letter-spacing: -.05em;
  color: var(--hd-ink);
}
.hot-deal-cta {
  grid-area: cta;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  min-width: 220px;
  margin: 0;
  border-radius: 8px;
  padding: 15px 22px;
  background: #fff;
  color: var(--hd-brand);
  font-size: 14px;
  font-weight: 700;
  touch-action: manipulation;
  transition: transform .15s ease, background-color .15s ease;
}
.hot-deal-cta:hover {
  background: #eef2fb;
  transform: translateY(-1px);
}
.hot-deal-cta:active {
  transform: scale(.98);
}
.hot-deal-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
}
.hot-deal-nav {
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--hd-line);
  border-radius: 50%;
  background: #fff;
  color: var(--hd-ink);
  font-size: 22px;
  line-height: 1;
  touch-action: manipulation;
  transition:
    border-color .15s ease,
    color .15s ease,
    transform .15s ease;
}
.hot-deal-nav:hover {
  border-color: var(--hd-brand);
  color: var(--hd-brand);
}
.hot-deal-nav:active {
  transform: scale(.94);
}
.hot-deal-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.hot-deal-dot {
  position: relative;
  flex: 0 1 44px;
  width: 44px;
  min-width: 0;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  touch-action: manipulation;
}
.hot-deal-dot::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #8a938c;
  transform: translate(-50%, -50%);
  transition: width .2s ease, background-color .2s ease;
}
.hot-deal-dot:hover::before {
  background: var(--hd-muted);
}
.hot-deal-dot[aria-pressed=true]::before {
  width: 26px;
  background: var(--hd-brand);
}
.hot-deals-running {
  margin-top: 30px;
}
.hot-deals-next-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.hot-deals-next-heading h3 {
  margin: 0;
  font-size: 17px;
  letter-spacing: -.02em;
  color: var(--hd-ink);
}
.hot-deals-next-heading span {
  font-size: 12px;
  color: var(--hd-muted);
}
.hot-deals-next-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hot-deal-mini {
  min-width: 0;
}
.hot-deal-mini a,
.hot-deal-mini button {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  width: 100%;
  min-height: 44px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--hd-line);
  border-radius: 16px;
  color: inherit;
  text-align: left;
  touch-action: manipulation;
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background-color .2s ease;
}
.hot-deal-mini a:hover,
.hot-deal-mini button:hover {
  border-color: #9fb3a8;
  box-shadow: 0 8px 20px rgba(12, 28, 30, .06);
}
.hot-deal-mini img {
  width: 96px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
}
.hot-deal-mini-body {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.hot-deal-mini strong {
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: -.03em;
  word-break: keep-all;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.hot-deal-mini-price {
  font-size: 13px;
  color: var(--hd-muted);
}
.hot-deal-mini-price b {
  color: var(--hd-ink);
}
.hot-deals-running .hot-deals-next-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.hot-deals-running .hot-deal-mini button {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
  transition: transform .2s cubic-bezier(.16, 1, .3, 1);
}
.hot-deals-running .hot-deal-mini button:hover {
  transform: translateY(-3px);
  box-shadow: none;
}
.hot-deals-running .hot-deal-mini button:active {
  transform: translateY(-1px) scale(.99);
}
.hot-deals-running .hot-deal-mini .home-image {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 10px;
}
.hot-deals-running .hot-deal-mini img {
  width: 100%;
  height: 150px;
  border-radius: 10px;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
.hot-deals-running .hot-deal-mini button:hover img {
  transform: scale(1.05);
}
.hot-deals-running .hot-deal-mini-body {
  gap: 4px;
  padding: 12px 2px 14px;
}
.hot-deal-mini-day {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .94);
  color: var(--hd-sale-ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.hot-deal-mini-until {
  font-size: 12px;
  color: var(--hd-muted);
  font-variant-numeric: tabular-nums;
}
.hot-deals-running .hot-deal-mini strong {
  color: var(--hd-ink);
  letter-spacing: -.02em;
  transition: color .15s ease;
}
.hot-deals-running .hot-deal-mini button:hover strong {
  color: var(--hd-brand);
}
.hot-deal-mini-bar {
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 0;
  height: 3px;
  border-radius: 999px;
  background: #eceae6;
  overflow: hidden;
}
.hot-deal-mini-bar::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: calc(var(--p,0)*100%);
  border-radius: 999px;
  background: var(--hd-sale);
}
.hot-deals-running .hot-deal-mini button[aria-pressed=true] {
  background: transparent;
  box-shadow: none;
}
.hot-deals-running .hot-deal-mini button[aria-pressed=true] .home-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  outline: 3px solid var(--hd-brand);
  outline-offset: -3px;
  pointer-events: none;
}
.hot-deals-running .hot-deal-mini button[aria-pressed=true] strong {
  color: var(--hd-brand);
}
.hot-deals-running .hot-deal-mini button[aria-pressed=true]::after {
  content: "보는 중";
  content: "보는 중" / "";
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  padding: 4px 8px;
  border-radius: 6px;
  background: var(--hd-brand);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1100px) {
  .hot-deals-running .hot-deals-next-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.hot-deals-upcoming {
  margin-top: 36px;
}
.hot-deal-mini--upcoming a {
  border: 0;
  border-radius: 10px;
  background: var(--hd-soft);
}
.hot-deal-mini--upcoming a:hover {
  box-shadow: 0 8px 20px rgba(12, 28, 30, .05);
}
.hot-deal-mini-open {
  font-size: 12px;
  font-weight: 700;
  color: var(--hd-ink);
  font-variant-numeric: tabular-nums;
}
.hot-deal-mini-cta {
  font-size: 12px;
  color: var(--hd-muted);
}
@keyframes hot-deal-swap {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.hot-deal-swap {
  animation: hot-deal-swap .2s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .hot-deal-swap {
    animation: none;
  }
  .hot-deals-live-dot,
  .hot-deal-badge::before,
  .hot-deal-progress span::before {
    animation: none;
  }
  .hot-deal-nav,
  .hot-deal-dot::before,
  .hot-deal-mini a,
  .hot-deal-mini button,
  .hot-deal-mini img,
  .hot-deal-mini strong,
  .hot-deal-feature-media img,
  .hot-deal-cta {
    transition: none;
  }
  .hot-deal-feature:hover .hot-deal-feature-media img,
  .hot-deals-running .hot-deal-mini button:hover,
  .hot-deals-running .hot-deal-mini button:hover img,
  .hot-deal-cta:hover {
    transform: none;
  }
  .hot-deals-running .hot-deal-mini button:active {
    transform: scale(.99);
  }
}
@media (max-width: 900px) {
  .hot-deals {
    padding-top: 28px;
    padding-bottom: 44px;
  }
  .hot-deals-heading {
    display: block;
    margin-bottom: 18px;
  }
  .hot-deals-lead {
    margin-top: 10px;
  }
  .hot-deal-feature {
    min-height: 0;
    background: #fff;
  }
  .hot-deal-feature-media {
    position: relative;
    inset: auto;
    height: 220px;
    border-radius: 12px 12px 0 0;
  }
  .hot-deal-feature-media::after {
    content: none;
  }
  .hot-deal-feature-body {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: none;
    padding: 18px 18px 20px;
    color: var(--hd-ink);
    background: #fff;
    pointer-events: auto;
  }
  .hot-deal-feature-body > * {
    grid-area: auto;
  }
  .hot-deal-badge {
    border-color: var(--hd-line);
    background: #fff;
    color: var(--hd-ink);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .hot-deal-kicker {
    color: var(--hd-muted);
  }
  .hot-deal-feature-body h3 {
    grid-area: auto;
    font-size: 24px;
    color: var(--hd-ink);
  }
  .hot-deal-summary {
    color: var(--hd-muted);
  }
  .hot-deal-facts {
    border-color: var(--hd-line);
  }
  .hot-deal-facts dt {
    color: var(--hd-muted);
  }
  .hot-deal-facts dd {
    color: var(--hd-ink);
  }
  .hot-deal-facts dd.hot-deal-deadline {
    color: var(--hd-sale-ink);
  }
  .hot-deal-progress span {
    background: #e6e1db;
  }
  .hot-deal-progress em {
    color: var(--hd-muted);
  }
  .hot-deal-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    min-width: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
  }
  .hot-deal-price strong {
    font-size: 30px;
  }
  .hot-deal-price s {
    font-size: 14px;
  }
  .hot-deal-cta {
    justify-self: stretch;
    width: 100%;
    background: var(--hd-brand);
    color: #fff;
  }
  .hot-deal-cta:hover {
    background: #1b3166;
  }
  .hot-deal-pager {
    margin-top: 12px;
  }
  .hot-deals-next-list {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }
  .hot-deal-mini {
    flex: 0 0 80%;
    scroll-snap-align: start;
  }
  .hot-deals-running .hot-deals-next-list {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 12px;
    margin: -8px -22px 0;
    padding: 8px 22px;
    scroll-padding-inline: 22px;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }
  .hot-deals-running .hot-deals-next-list::-webkit-scrollbar {
    display: none;
  }
  .hot-deals-running .hot-deal-mini {
    flex: 0 0 46%;
  }
  .hot-deals-running .hot-deal-mini img {
    height: 110px;
  }
  .hot-deals-running .hot-deal-mini strong {
    font-size: 14px;
  }
}
.booking-summary-price strong .catalog-price-original {
  display: inline;
  font-size: .68em;
  color: #9aa1ab;
}
.booking-summary-price strong .catalog-price-discounted {
  display: inline;
  font-size: inherit;
  color: #c0392b;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.catalog-results-lead {
  margin: 6px 0 0;
  color: #666;
  font-size: 13px;
}
.site-footer {
  flex-wrap: wrap;
  row-gap: 28px;
}
.site-footer-legal {
  flex: 1 1 100%;
  width: 100%;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  display: grid;
  gap: 18px;
  color: #aebdb7;
}
.site-footer-info {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px 24px;
  font-size: 12px;
  line-height: 1.6;
}
.site-footer-info > div {
  display: flex;
  gap: 8px;
  min-width: 0;
}
.site-footer-info dt {
  flex: 0 0 auto;
  color: #7f918a;
}
.site-footer-info dd {
  margin: 0;
  color: #d5ded9;
  overflow-wrap: anywhere;
}
.site-footer-info a {
  color: #d5ded9;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-footer-info em {
  font-style: normal;
  color: #8fa39b;
}
.site-footer-docs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.site-footer-doc {
  border: 1px solid rgba(255, 255, 255, .35);
  background: transparent;
  color: #fff;
  border-radius: var(--public-radius,5px);
  padding: 9px 14px;
  font-size: 12px;
  font-weight: 700;
}
.site-footer-doc:hover {
  background: rgba(255, 255, 255, .1);
}
.site-footer-doc:disabled {
  cursor: default;
  color: #7f918a;
  border-color: rgba(255, 255, 255, .15);
  background: transparent;
}
.site-footer-fine {
  margin: 0;
  font-size: 11px;
  color: #7f918a;
  line-height: 1.7;
}
.site-footer-dialog {
  border: 0;
  border-radius: 18px;
  padding: 0;
  width: min(720px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  background: #fff;
  color: var(--ink);
  font-size: 14px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
}
.site-footer-dialog::backdrop {
  background: rgba(4, 14, 16, .62);
}
.site-footer-dialog-body {
  display: grid;
  gap: 12px;
  padding: 18px 18px 22px;
  max-height: calc(100vh - 32px);
  overflow: auto;
}
.site-footer-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.site-footer-dialog-head h2 {
  margin: 0;
  font-size: 17px;
  letter-spacing: -.03em;
  color: var(--ink);
}
.site-footer-dialog-close {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 13px;
}
.site-footer-dialog img {
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.site-footer-dialog p {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}
.site-footer-dialog-section {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.site-footer-dialog-section h3 {
  margin: 0;
  font-size: 14px;
  letter-spacing: -.02em;
  color: var(--ink);
}
.site-footer-dialog-check + .site-footer-dialog-section {
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.site-footer-dialog .site-footer-dialog-lead {
  font-size: 13px;
  color: var(--ink);
  line-height: 1.6;
}
.site-footer-dialog-link {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
}
.site-footer-dialog-link:hover {
  background: var(--ink);
  color: #fff;
}
@media (max-width: 600px) {
  .site-footer-info {
    grid-template-columns: 1fr;
  }
  .site-footer-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    border-radius: 14px;
  }
  .site-footer-dialog-body {
    padding: 14px 14px 18px;
  }
}
.legal-page {
  background: var(--airy-paper,#fff);
  color: var(--airy-ink,#222824);
}
.legal-main {
  padding: 72px max(24px, calc((100vw - 1100px)/2)) 112px;
}
.legal-document {
  max-width: 1100px;
  margin: 0 auto;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.legal-head {
  max-width: 760px;
  margin: 0 0 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--airy-line,#e3e6e0);
}
.legal-eyebrow {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--airy-muted,#656e66);
}
.legal-head h1 {
  margin: 0;
  font-size: 40px;
  line-height: 1.25;
  letter-spacing: -.03em;
  color: var(--airy-ink,#222824);
}
.legal-meta {
  margin: 16px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--airy-muted,#656e66);
}
.legal-meta time {
  margin-left: 4px;
  font-weight: 700;
  color: var(--airy-ink,#222824);
}
.legal-lead {
  margin: 20px 0 0;
  font-size: 16px;
  line-height: 1.8;
  color: var(--airy-ink,#222824);
}
.legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 760px);
  gap: 64px;
  align-items: start;
}
.legal-toc {
  position: sticky;
  top: 100px;
  max-height: calc(100vh - 124px);
  overflow: auto;
  padding: 20px 22px;
  border: 1px solid var(--airy-line,#e3e6e0);
  border-radius: 5px;
  background: var(--airy-soft,#f5f6f3);
}
.legal-toc h2 {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--airy-ink,#222824);
}
.legal-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.legal-toc a {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  color: #3b453d;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.legal-toc a:hover,
.legal-toc a:focus-visible {
  color: var(--airy-brand,#233e7b);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-toc-summary {
  display: none;
}
.legal-body {
  min-width: 0;
  font-size: 16px;
  line-height: 1.8;
  color: var(--airy-ink,#222824);
}
.legal-section {
  margin: 0 0 40px;
  padding: 0 0 40px;
  border-bottom: 1px solid var(--airy-line,#e3e6e0);
  scroll-margin-top: 96px;
}
.legal-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.legal-section h2 {
  margin: 0 0 16px;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: -.02em;
  color: var(--airy-ink,#222824);
}
.legal-section p {
  margin: 0 0 12px;
}
.legal-list {
  margin: 0 0 12px;
  padding-left: 1.4em;
}
.legal-list li {
  margin: 0 0 6px;
}
.legal-list li::marker {
  color: var(--airy-muted,#656e66);
}
.legal-body .legal-note {
  font-size: 14px;
  line-height: 1.7;
  color: var(--airy-muted,#656e66);
}
.legal-body a {
  color: var(--airy-brand,#233e7b);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.legal-table-wrap {
  margin: 8px 0 20px;
  overflow-x: auto;
}
.legal-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid var(--airy-ink,#222824);
  font-size: 15px;
  line-height: 1.7;
}
.legal-table caption {
  caption-side: top;
  margin: 0 0 8px;
  text-align: left;
  font-size: 14px;
  color: var(--airy-muted,#656e66);
}
.legal-table th,
.legal-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--airy-line,#e3e6e0);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.legal-table thead th {
  background: var(--airy-soft,#f5f6f3);
  font-size: 14px;
  font-weight: 700;
  color: #3b453d;
}
.legal-table tbody th {
  width: 26%;
  font-weight: 700;
  color: var(--airy-ink,#222824);
}
.legal-cell-list {
  margin: 0;
  padding-left: 1.1em;
}
.legal-cell-list li + li {
  margin-top: 4px;
}
@media (max-width: 900px) {
  .legal-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .legal-toc {
    position: static;
    max-height: none;
    overflow: visible;
    padding: 0;
    background: var(--airy-paper,#fff);
  }
  .legal-toc h2 {
    display: none;
  }
  .legal-toc-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 18px;
    list-style: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--airy-ink,#222824);
  }
  .legal-toc-summary::-webkit-details-marker {
    display: none;
  }
  .legal-toc-summary::after {
    content: "";
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin: -4px 2px 0 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
  }
  .legal-toc-details[open] > .legal-toc-summary::after {
    margin-top: 4px;
    transform: rotate(-135deg);
  }
  .legal-toc-summary:focus-visible {
    outline: 2px solid var(--airy-brand,#233e7b);
    outline-offset: 2px;
    border-radius: 5px;
  }
  .legal-toc-count {
    margin-left: auto;
    font-size: 13px;
    font-weight: 400;
    color: var(--airy-muted,#656e66);
  }
  .legal-toc-details[open] > ol {
    padding: 14px 18px 18px;
    border-top: 1px solid var(--airy-line,#e3e6e0);
  }
}
@media (max-width: 600px) {
  .legal-main {
    padding: 40px 16px 72px;
  }
  .legal-head {
    margin-bottom: 32px;
    padding-bottom: 24px;
  }
  .legal-head h1 {
    font-size: 28px;
  }
  .legal-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }
  .legal-section h2 {
    font-size: 19px;
  }
  .legal-table thead {
    display: none;
  }
  .legal-table,
  .legal-table tbody,
  .legal-table tr,
  .legal-table th,
  .legal-table td {
    display: block;
    width: auto;
  }
  .legal-table tr {
    padding: 12px 0;
    border-bottom: 1px solid var(--airy-line,#e3e6e0);
  }
  .legal-table th,
  .legal-table td {
    padding: 4px 0;
    border: 0;
  }
  .legal-table tbody th {
    width: auto;
  }
  .legal-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--airy-muted,#656e66);
  }
}
.site-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 18px;
}
.site-footer-links a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-footer-links .site-footer-privacy {
  color: #fff;
  font-weight: 700;
}
.auth-checkbox a {
  color: var(--public-primary,#00489d);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.auth-consent-details {
  margin: -4px 0 2px 26px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--public-body,#454545);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.auth-consent-details summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--public-heading,#252525);
}
.auth-consent-details dl {
  margin: 10px 0 0;
  display: grid;
  gap: 8px;
}
.auth-consent-details dt {
  font-weight: 700;
  color: var(--public-heading,#252525);
}
.auth-consent-details dd {
  margin: 2px 0 0;
}
.auth-consent-details p {
  margin: 10px 0 0;
}
.auth-consent-details a {
  color: var(--public-primary,#00489d);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.public-page.support-airy {
  --public-primary:#233e7b;
  --public-primary-hover:#1b3062;
  --public-heading:#222824;
  --public-body:#222824;
  --public-muted:#656e66;
  --public-line:#e3e6e0;
  --public-subtle:#f5f6f3;
  --public-surface:#fff;
  --public-radius:5px;
  --line:#e3e6e0;
  --muted:#656e66;
  padding: 64px 24px 112px;
  color: #222824;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.public-page.support-airy > .eyebrow {
  margin: 0 0 12px;
  color: #656e66;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: none;
}
.public-page.support-airy > h1 {
  max-width: none;
  margin: 0;
  color: #222824;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.03em;
  word-break: keep-all;
  text-wrap: balance;
}
.public-page.support-airy > .section-lead {
  max-width: 60ch;
  margin: 14px 0 0;
  color: #656e66;
  font-size: 16px;
  line-height: 1.7;
}
.public-page.support-airy > .section-lead + :is(.cms-card, .public-card) {
  margin-top: 32px;
}
.public-page.support-airy :is(.text-link, .cms-inline-link) {
  color: #233e7b;
  font-size: 14px;
  font-weight: 700;
}
.public-page.support-airy :is(.text-link, .cms-inline-link):hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.public-page.support-airy .dark-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #233e7b;
  border-radius: 5px;
  background: #233e7b;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.public-page.support-airy .dark-btn:hover:not(:disabled) {
  border-color: #1b3062;
  background: #1b3062;
  color: #fff;
  text-decoration: none;
}
.public-page.support-airy .dark-btn:disabled {
  border-color: #a3adc4;
  background: #a3adc4;
  cursor: not-allowed;
}
.public-page.support-airy .muted-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #252525;
  border-radius: 5px;
  background: #fff;
  color: #252525;
  font-size: 14px;
  font-weight: 700;
}
.public-page.support-airy .muted-btn:hover {
  background: #f5f6f3;
}
.public-page.support-airy :is(.public-card, .cms-card, .cms-empty, .cms-state, .search-result-card) {
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
}
.public-page.support-airy :is(.cms-empty, .empty-state) {
  background: #f5f6f3;
}
.public-page.support-airy .cms-state[role=alert] {
  border-color: #dca8a2;
  background: #fff8f7;
}
.public-page.support-airy :is(li.cms-card > h2, li.cms-card > h3, .notice-card > h2, .search-result-card > h3) {
  color: #222824;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.public-page.support-airy :is(.cms-empty, .empty-state) > :is(h2, h3) {
  color: #222824;
  font-size: 18px;
}
.public-page.support-airy .notice-card-meta span:first-child {
  color: #233e7b;
}
.public-page.support-airy .notice-detail h1 {
  margin: 14px 0 10px;
  color: #222824;
  font-size: clamp(26px, 3vw, 32px);
  line-height: 1.3;
  letter-spacing: -.03em;
}
.public-page.support-airy .search-result-card .status-pill {
  background: #eef1f8;
  color: #233e7b;
  font-weight: 700;
}
.public-page.support-airy .public-card > h2,
.public-page.support-airy .section-heading-compact h2 {
  margin: 0 0 18px;
  color: #222824;
  font-size: 22px;
  letter-spacing: -.02em;
}
.public-page.support-airy .section-heading-compact {
  align-items: center;
}
.public-page.support-airy .section-heading-compact h2 {
  margin: 0;
}
.public-page.support-airy .filter-chip {
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  padding: 8px 14px;
  background: #fff;
  color: #3b453d;
  font-size: 14px;
}
.public-page.support-airy .filter-chip.active {
  border-color: #233e7b;
  background: #fff;
  color: #233e7b;
  font-weight: 700;
}
.public-page.support-airy .guide-buttons a {
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  padding: 8px 14px;
  background: #fff;
  color: #233e7b;
  font-size: 14px;
  font-weight: 700;
}
.public-page.support-airy .guide-buttons a:hover {
  border-color: #233e7b;
}
.public-page.support-airy :is(.form-grid > label, fieldset > label, .search-form > label, .search-filter-grid > label, form.public-form > label) {
  gap: 8px;
  color: #222824;
  font-size: 14px;
  font-weight: 700;
}
.public-page.support-airy :is(.public-form, .search-form, .cms-public-search, .cms-search-grid) :is(input:not([type=checkbox]):not([type=radio]), select) {
  min-height: 48px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  padding: 10px 14px;
  background: #fff;
  color: #222824;
  font-size: 15px;
  font-weight: 400;
}
.public-page.support-airy :is(.public-form, .search-form, .cms-public-search, .cms-search-grid) :is(input:not([type=checkbox]):not([type=radio]), select, textarea):focus {
  border-color: #233e7b;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(35, 62, 123, .15);
}
.public-page.support-airy :is(.search-form, .public-form) > .dark-btn {
  justify-self: start;
  min-width: 160px;
}
.public-page.support-airy .admin-notice {
  border-radius: 5px;
  background: #f5f6f3;
  color: #4c554d;
  font-size: 14px;
  line-height: 1.65;
}
.public-page.support-airy .admin-notice.warning {
  background: #fff7e6;
  color: #7e5800;
}
.public-page.support-airy .public-reply {
  border-radius: 5px;
  background: #f5f6f3;
}
.public-page.support-airy .inquiry-history-item {
  border-bottom-color: #e3e6e0;
}
.public-page.support-airy .inquiry-history .status-pill {
  flex: 0 0 auto;
  background: #eef1f8;
  color: #233e7b;
  font-weight: 700;
  white-space: nowrap;
}
.public-page.support-airy .support-note {
  gap: 4px;
  max-width: none;
  margin: 28px 0 8px;
  padding: 16px 20px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #f5f6f3;
  color: #222824;
  font-size: 14px;
  line-height: 1.65;
}
.public-page.support-airy .support-note b {
  font-size: 14px;
}
.public-page.support-airy .support-note span {
  color: #656e66;
}
.public-page.support-airy .support-note .kakao-channel-link:not(.kakao-channel-link--talk) {
  color: #233e7b;
  font-weight: 700;
}
.public-page.support-airy .support-note .kakao-channel-link--talk .kakao-channel-link__label {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.public-page.support-airy .support-note .kakao-channel-link--unavailable {
  color: #222824;
}
.public-page.support-airy .inquiry-layout {
  gap: 24px;
  margin-top: 24px;
}
.public-page.support-airy .inquiry-layout > .public-card {
  margin: 0;
  padding: 32px;
}
.public-page.support-airy [data-support-editor=true] {
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  background: #fff;
  color: #222824;
}
.public-page.support-airy [data-support-editor=true] :is([role=group][aria-label$="서식 도구"], [role=group][aria-label="본문 링크 설정"]) {
  gap: 4px;
  padding: 8px 10px;
  border-color: #e3e6e0;
  background: #fafbf9;
}
.public-page.support-airy [data-support-editor=true] :is([role=group][aria-label$="서식 도구"], [role=group][aria-label="본문 링크 설정"]) button {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid #e3e6e0;
  border-radius: 5px;
  background: #fff;
  color: #3b453d;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
}
.public-page.support-airy [data-support-editor=true] :is([role=group][aria-label$="서식 도구"], [role=group][aria-label="본문 링크 설정"]) button:hover:not(:disabled) {
  border-color: #b9c0b6;
  color: #222824;
}
.public-page.support-airy [data-support-editor=true] [role=group][aria-label$="서식 도구"] button[aria-pressed=true] {
  border-color: #233e7b;
  background: #eef1f8;
  color: #233e7b;
}
.public-page.support-airy [data-support-editor=true] [role=group][aria-label$="서식 도구"] button:disabled {
  opacity: .45;
}
.public-page.support-airy [data-support-editor=true]:focus-within {
  border-color: #233e7b;
  box-shadow: 0 0 0 3px rgba(35, 62, 123, .15);
}
@media (max-width: 600px) {
  .public-page.support-airy {
    padding: 40px 16px 80px;
  }
  .public-page.support-airy > h1 {
    font-size: 28px;
  }
  .public-page.support-airy > .section-lead {
    font-size: 15px;
  }
  .public-page.support-airy .public-card,
  .public-page.support-airy .inquiry-layout > .public-card {
    padding: 20px;
  }
  .public-page.support-airy :is(.search-form, .public-form) > .dark-btn {
    justify-self: stretch;
    width: 100%;
  }
}

/* app/styles/public-reference.css */
:root {
  --airy-ink: #222824;
  --airy-muted: #656e66;
  --airy-paper: #fff;
  --airy-soft: #f5f6f3;
  --airy-line: #e3e6e0;
  --airy-brand: #233e7b;
}
.products-page {
  background: var(--airy-paper);
  color: var(--airy-ink);
}
.products-page .catalog-banner {
  height: 280px;
}
.products-page .catalog-banner-content p {
  max-width: 48ch;
  margin-top: 18px;
  line-height: 1.8;
}
.products-page .catalog-content {
  width: min(100%, 1344px);
  padding: 56px 48px 144px;
}
.products-page .catalog-breadcrumbs {
  border-bottom-color: var(--airy-line);
  font-size: 13px;
}
.products-page .catalog-category-tabs {
  gap: 14px;
  margin-bottom: 64px;
  border-color: var(--airy-line);
}
.products-page .catalog-category-tabs a {
  padding: 0 18px 20px;
  color: var(--airy-muted);
  font-size: 15px;
}
.products-page .catalog-category-tabs a.active {
  border-color: var(--airy-brand);
  color: var(--airy-brand);
}
.products-page .catalog-category-nav {
  margin-bottom: 64px;
}
.products-page .catalog-category-nav .catalog-category-tabs {
  margin-bottom: 0;
}
.products-page .catalog-category-nav .catalog-category-tabs a.ancestor {
  color: var(--airy-brand);
}
.products-page .catalog-category-nav .catalog-category-tabs[data-level="1"] a.ancestor {
  border-color: var(--airy-brand);
}
.products-page .catalog-category-nav .catalog-category-tabs[data-level="2"] a,
.products-page .catalog-category-nav .catalog-category-tabs[data-level="3"] a {
  padding: 6px 14px;
  border-color: var(--airy-line);
}
.products-page .catalog-category-nav .catalog-category-tabs[data-level="3"] a {
  padding: 5px 12px;
}
.products-page .catalog-category-nav .catalog-category-tabs[data-level="2"] a.ancestor,
.products-page .catalog-category-nav .catalog-category-tabs[data-level="3"] a.ancestor {
  border-color: var(--airy-brand);
}
.products-page .catalog-category-nav .catalog-category-tabs[data-level="2"] a.active,
.products-page .catalog-category-nav .catalog-category-tabs[data-level="3"] a.active,
.products-page .catalog-category-nav .catalog-category-tabs a.active-all {
  background: var(--airy-brand);
  border-color: var(--airy-brand);
  color: #fff;
}
.products-page .catalog-layout {
  grid-template-columns: minmax(0, 1fr) 244px;
  gap: 56px;
}
.products-page .catalog-results-heading {
  gap: 20px;
  margin-bottom: 36px;
}
.products-page .catalog-results-heading h2 {
  margin-top: 10px;
  color: var(--airy-ink);
  font-size: 32px;
  line-height: 1.35;
}
.products-page .catalog-results-count {
  color: var(--airy-muted);
  font-size: 12px;
  font-weight: 500;
}
.products-page .catalog-results-sort label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--airy-muted);
  font-size: 13px;
}
.products-page .catalog-results-sort select {
  min-height: 42px;
  padding: 0 38px 0 14px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23656e66' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: var(--airy-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.products-page .catalog-results-sort select:hover {
  border-color: #b9c0b7;
}
.products-page .catalog-results-sort select:focus-visible {
  border-color: var(--airy-brand);
  outline: none;
  box-shadow: 0 0 0 3px rgba(35, 62, 123, .15);
}
.products-page .catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 64px;
}
.products-page .catalog-page-numbers {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.products-page .catalog-page-number,
.products-page .catalog-page-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #d7dcd5;
  border-radius: 5px;
  background: #fff;
  color: var(--airy-ink);
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  text-decoration: none;
  transition:
    border-color .2s ease,
    color .2s ease,
    background-color .2s ease;
}
.products-page .catalog-page-step {
  padding: 0 16px;
  font-weight: 700;
}
.products-page a.catalog-page-number:hover,
.products-page a.catalog-page-step:hover {
  border-color: var(--airy-brand);
  color: var(--airy-brand);
}
.products-page .catalog-page-number:focus-visible,
.products-page .catalog-page-step:focus-visible {
  outline: 2px solid var(--airy-brand);
  outline-offset: 2px;
}
.products-page .catalog-page-number[aria-current=page] {
  border-color: var(--airy-brand);
  background: var(--airy-brand);
  color: #fff;
  font-weight: 700;
  cursor: default;
}
.products-page .catalog-page-step[aria-disabled=true] {
  border-color: var(--airy-line);
  color: #b9c0b7;
  cursor: default;
}
.products-page .catalog-page-gap {
  display: inline-flex;
  justify-content: center;
  min-width: 20px;
  color: var(--airy-muted);
}
@media (max-width: 560px) {
  .products-page .catalog-pagination {
    gap: 6px;
    margin-top: 40px;
  }
  .products-page .catalog-page-numbers {
    gap: 4px;
  }
  .products-page .catalog-page-number,
  .products-page .catalog-page-step {
    min-width: 30px;
    height: 40px;
    padding: 0 6px;
  }
  .products-page .catalog-page-step {
    padding: 0 8px;
  }
  .products-page .catalog-page-gap {
    min-width: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .products-page .catalog-page-number,
  .products-page .catalog-page-step {
    transition: none;
  }
}
.products-page .catalog-product-list {
  gap: 36px;
}
.products-page .catalog-product-card {
  grid-template-columns: minmax(240px, 380px) minmax(0, 1fr);
  gap: 32px;
  min-height: 0;
  padding-bottom: 36px;
  border: 0;
  border-bottom: 1px solid var(--airy-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  transform: none;
}
.products-page .catalog-product-card:last-child {
  border-bottom: 0;
}
.products-page .catalog-product-card:hover {
  border-color: var(--airy-line);
  box-shadow: none;
  transform: none;
}
.products-page .catalog-product-card:hover h3 {
  color: var(--airy-brand);
}
.products-page .catalog-product-card-media {
  min-height: 0;
  align-self: start;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 4px;
  background: var(--airy-soft);
}
.products-page .catalog-product-card-media picture:not([data-home-image-frame]) {
  display: block;
  height: 100%;
}
.products-page .catalog-product-card-media > .home-image:not([data-home-image-fit]) > img.home-image-element,
.products-page .catalog-product-card-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.products-page .catalog-product-card-body {
  min-height: 0;
  padding: 2px 0 0;
}
.products-page .catalog-product-card-topline {
  color: var(--airy-muted);
  font-size: 13px;
}
.products-page .catalog-product-card h3 {
  margin: 12px 0 10px;
  color: var(--airy-ink);
  font-size: 23px;
  line-height: 1.5;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.products-page .catalog-product-card p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  color: var(--airy-muted);
  font-size: 15px;
  line-height: 1.8;
}
.products-page .catalog-product-card-footer {
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 18px;
  flex-wrap: wrap;
  padding-top: 20px;
  border: 0;
  color: var(--airy-muted);
  font-size: 13px;
}
.products-page .catalog-product-card-meta {
  min-width: 0;
}
.products-page .catalog-product-card-footer strong {
  margin-left: auto;
  color: var(--airy-ink);
  font-size: 25px;
}
.products-page .catalog-product-card-footer strong.catalog-price-consult {
  color: var(--airy-muted);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.01em;
}
.products-page .catalog-price-original {
  color: var(--airy-muted);
  font-size: 13px;
}
.products-page .catalog-price-discounted {
  color: var(--airy-ink);
}
.products-page .catalog-discount-badge {
  align-self: flex-start;
  margin-top: 16px;
  background: #f9f1eb;
  color: #934723;
}
.products-page .catalog-discount-badge.ended {
  background: var(--airy-soft);
  color: var(--airy-muted);
}
.products-page.catalog-deal-page .catalog-breadcrumbs {
  padding-inline: max(24px, calc((100vw - 1240px) / 2));
}
.products-page.catalog-deal-page .catalog-deal-nav {
  padding: 32px max(24px, calc((100vw - 1240px) / 2)) 0;
}
.products-page.catalog-deal-page .catalog-deal-nav .catalog-category-nav {
  margin-bottom: 0;
}
.products-page.catalog-deal-page .catalog-deal-rest {
  width: 100%;
  margin: 0;
  padding: 0 max(24px, calc((100vw - 1240px) / 2)) 144px;
}
.products-page.catalog-deal-page .catalog-deal-rest .catalog-results {
  padding-top: 56px;
  border-top: 1px solid var(--airy-line);
}
@media (max-width: 900px) {
  .products-page.catalog-deal-page .catalog-breadcrumbs {
    padding-inline: 22px;
  }
  .products-page.catalog-deal-page .catalog-deal-nav {
    padding: 20px 22px 0;
  }
  .products-page.catalog-deal-page .catalog-deal-rest {
    padding: 0 22px 96px;
  }
  .products-page.catalog-deal-page .catalog-deal-rest .catalog-results {
    padding-top: 40px;
  }
}
.products-page .catalog-search-aside {
  top: 112px;
  padding: 28px 24px;
  border: 0;
  border-radius: 4px;
  background: var(--airy-soft);
}
.products-page .catalog-search-aside h2 {
  padding: 0 0 28px;
  background: transparent;
  color: var(--airy-ink);
  font-size: 23px;
  text-align: left;
}
.products-page .catalog-search-form {
  gap: 20px;
  padding: 0;
}
.products-page .catalog-search-form label {
  gap: 12px;
}
.products-page .catalog-search-form input {
  min-height: 48px;
  border-color: #d7dcd5;
  background: #fff;
}
.products-page .catalog-primary-button {
  min-height: 48px;
  background: var(--airy-brand);
}
.products-page .catalog-search-note {
  margin: 28px 0 0;
  padding: 24px 0 0;
  border-color: var(--airy-line);
  color: var(--airy-muted);
}
.home-type-immersive .product-section {
  padding: 110px max(clamp(32px, 6.25vw, 100px), calc((100% - 1240px) / 2)) 112px;
  background: var(--airy-paper);
  color: var(--airy-ink);
}
.home-type-immersive .product-section .section-heading {
  display: block;
  margin-bottom: 52px;
}
.home-type-immersive .product-section .eyebrow {
  margin: 0 0 14px;
  color: var(--airy-muted);
}
.home-type-immersive .product-section h2 {
  max-width: none;
  margin: 0;
  color: var(--airy-ink);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.4;
}
.home-type-immersive .product-section .section-lead {
  max-width: none;
  margin: 16px 0 0;
  color: var(--airy-muted);
  font-size: 16px;
  line-height: 1.8;
}
.home-type-immersive .product-section :is(.immersive-character, .immersive-word, .immersive-line) {
  opacity: 1 !important;
  transform: none !important;
}
.home-type-immersive .product-section .scene-slider-track {
  gap: 36px;
}
.home-type-immersive .product-section .product-card {
  flex-basis: calc((100% - 72px) / 3);
  color: var(--airy-ink);
}
.home-type-immersive .product-section .product-card img {
  height: auto;
  max-height: none;
  aspect-ratio: 4 / 3;
  border-radius: 4px;
}
.home-type-immersive .product-section .product-card-body {
  padding: 24px 0 0;
}
.home-type-immersive .product-section .product-card-kicker {
  color: var(--airy-muted);
  font-size: 13px;
}
.home-type-immersive .product-section .product-card h3 {
  margin: 12px 0 14px;
  color: var(--airy-ink);
  font-size: 22px;
  line-height: 1.5;
}
.home-type-immersive .product-section .product-card p {
  margin-bottom: 24px;
  color: var(--airy-muted);
  font-size: 15px;
  line-height: 1.85;
}
.home-type-immersive .product-section .text-link {
  color: var(--airy-brand);
  font-size: 14px;
}
.home-type-immersive .product-section :is(.scene-slider-button, .scene-slider-pause) {
  border-color: #cbd2c9;
  background: transparent;
  color: var(--airy-ink);
}
.home-type-immersive .product-section .scene-slider-controls {
  padding-top: 32px;
}
[data-home-preview=true] .home-preview-content.home-type-immersive .product-section .product-card img {
  height: auto;
  max-height: none;
  aspect-ratio: 4 / 3;
}
.product-detail-page {
  background: var(--airy-paper);
  color: var(--airy-ink);
  --public-primary: var(--airy-brand);
  --public-heading: var(--airy-ink);
  --public-line: var(--airy-line);
  --public-subtle: var(--airy-soft);
}
.product-detail-page .product-breadcrumbs {
  min-height: 56px;
  gap: 12px;
  padding: 0 max(48px, calc((100% - 1344px) / 2 + 48px));
  border-bottom: 0;
  background: var(--airy-paper);
  color: var(--airy-muted);
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
}
.product-detail-page .product-breadcrumbs a {
  flex: none;
  color: var(--airy-ink);
  font-weight: 600;
}
.product-detail-page .product-breadcrumbs a:hover {
  color: var(--airy-brand);
}
.product-detail-page .product-breadcrumbs span {
  flex: none;
  color: var(--airy-muted);
}
.product-detail-page .product-breadcrumbs strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--airy-ink);
  font-weight: 700;
}
.product-detail-page .product-detail-shell {
  width: min(100%, 1344px);
  padding: 40px 48px 160px;
}
.product-detail-page .product-detail-hero {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.product-detail-page .product-detail-hero-media {
  border-radius: 4px;
  overflow: hidden;
  background: var(--airy-soft);
}
.product-detail-page .product-detail-hero-media[data-product-detail-frame=custom] {
  overflow: visible;
}
.product-detail-page .product-detail-hero-media:not([data-product-detail-frame=custom]) > img,
.product-detail-page .product-detail-hero-media:not([data-product-detail-frame=custom]) .home-image:not([data-home-image-fit]) > img.home-image-element {
  min-height: 0;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.product-detail-page .product-detail-hero-content {
  padding: 0;
}
.product-detail-page .product-detail-code {
  color: var(--airy-muted);
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.product-detail-page .product-detail-code span + span {
  color: var(--airy-muted);
}
.product-detail-page .product-detail-hero h1 {
  margin: 20px 0 24px;
  color: var(--airy-ink);
  font-size: clamp(28px, 2.65vw, 38px);
  line-height: 1.4;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}
.product-detail-page .product-detail-description {
  color: var(--airy-muted);
  font-size: 16px;
  line-height: 1.9;
}
.product-detail-page .product-detail-tags {
  gap: 10px;
  margin-top: 24px;
}
.product-detail-page .product-detail-tags span {
  padding: 6px 10px;
  border: 0;
  border-radius: 0;
  background: var(--airy-soft);
  color: var(--airy-muted);
}
.product-detail-page .product-summary-list {
  gap: 24px;
  margin-top: 32px;
  border-color: var(--airy-line);
}
.product-detail-page .product-summary-list > div {
  gap: 10px;
  padding: 24px 0 0;
  border: 0;
}
.product-detail-page .product-summary-list dt {
  color: var(--airy-muted);
  font-size: 13px;
  font-weight: 500;
}
.product-detail-page .product-summary-list dd {
  color: var(--airy-ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
.product-detail-page .product-summary-list > .product-summary-price {
  --hd-sale: #c2410c;
  --hd-sale-ink: #9a3412;
  grid-column: 1 / -1;
  gap: 8px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--airy-line);
}
.product-detail-page .product-summary-list > .product-summary-price + div,
.product-detail-page .product-summary-list > .product-summary-price + div + div {
  padding-top: 0;
}
.product-detail-page .product-summary-price-value {
  display: grid;
  justify-items: start;
  gap: 10px;
  min-width: 0;
}
.product-detail-page .product-summary-price-value[data-product-price=consult],
.product-detail-page .product-summary-price-value[data-product-price=pending] {
  font-size: 20px;
}
.product-detail-page .product-summary-price-value[data-product-price=pending] {
  color: var(--airy-muted);
}
.product-detail-page .product-summary-price-value > strong,
.product-detail-page .product-summary-deal strong {
  color: var(--airy-ink);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
}
.product-detail-page .product-summary-deal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  min-width: 0;
}
.product-detail-page .product-summary-rate {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 5px;
  background: var(--hd-sale);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.product-detail-page .product-summary-deal s {
  color: var(--airy-muted);
  font-size: 15px;
  font-weight: 500;
}
.product-detail-page .product-summary-deadline {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  color: var(--hd-sale-ink);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.product-detail-page .product-summary-countdown {
  color: var(--airy-muted);
  font-weight: 500;
}
.product-detail-page .product-summary-price .hot-deal-progress {
  grid-area: auto;
  width: min(100%, 320px);
}
.product-detail-page .product-summary-price .hot-deal-progress span {
  background: #e6e1db;
}
.product-detail-page .product-summary-price .hot-deal-progress em {
  color: var(--airy-muted);
}
.product-detail-page .product-summary-deal-note {
  color: var(--hd-sale-ink);
  font-size: 13px;
  font-weight: 500;
}
.product-detail-page .product-summary-deal-note.ended {
  color: var(--airy-muted);
}
.product-detail-page .product-detail-grid {
  grid-template-columns: minmax(0, 1fr) 244px;
  gap: 56px;
  margin-top: 88px;
}
.product-detail-page .product-detail-main {
  border: 0;
  background: transparent;
}
.product-detail-page .product-info-section {
  padding: 0 0 56px;
}
.product-detail-page .product-info-tabs {
  display: flex;
  gap: 32px;
  border-color: var(--airy-line);
}
.product-detail-page .product-info-tabs a {
  padding: 16px 12px 20px;
  font-size: 16px;
}
.product-detail-page .product-info-heading {
  padding: 48px 0 32px;
}
.product-detail-page :is(.product-info-heading > span, .product-side-label, .booking-section-heading > span) {
  color: var(--airy-muted);
  font-weight: 500;
  letter-spacing: .04em;
}
.product-detail-page .product-info-heading h2 {
  margin-top: 12px;
  font-size: 28px;
  line-height: 1.5;
}
.product-detail-page .product-copy-stack {
  gap: 36px;
  padding-top: 0;
}
.product-detail-page .product-copy-stack section + section {
  padding-top: 36px;
  border-color: var(--airy-line);
}
.product-detail-page .product-copy-stack > section > h3 {
  margin: 0 0 20px;
  color: var(--airy-ink);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -.02em;
}
.product-detail-page .product-detail-main [data-product-content] {
  color: #4e5951;
  font-size: 16px;
  line-height: 1.95;
}
.product-detail-page .product-content-notes {
  margin-top: 40px;
  padding-top: 40px;
  border-color: var(--airy-line);
}
.product-detail-page .product-guide-notice {
  padding: 56px 0;
  margin-top: 0;
  border-color: var(--airy-line);
}
.product-detail-page .product-guide-notice > h3 {
  margin: 0 0 32px;
  color: var(--airy-ink);
  font-size: 26px;
  line-height: 1.5;
}
.product-detail-page .product-guide-notice [data-product-content] > :is(h1, h2, h3, h4) {
  margin-top: 40px;
  color: var(--airy-ink);
  font-size: 19px;
  line-height: 1.6;
}
.product-detail-page .product-guide-notice [data-product-content] > :is(h1, h2, h3, h4) + * {
  margin-top: 12px;
}
.product-detail-page .product-guide-notice [data-product-content] > :first-child {
  margin-top: 0;
}
.product-detail-page .product-guide-section {
  padding: 0 0 56px;
  border-color: var(--airy-line);
}
.product-detail-page .product-guide-links {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
}
.product-detail-page .product-guide-links a {
  position: relative;
  align-content: start;
  gap: 6px;
  min-height: 116px;
  padding: 20px 20px 44px;
  border: 1px solid var(--airy-line);
  border-radius: 5px;
  background: #fff;
  color: var(--airy-ink);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.product-detail-page .product-guide-links a::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 22px;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  color: var(--airy-muted);
  transform: rotate(45deg);
}
.product-detail-page .product-guide-links a:hover,
.product-detail-page .product-guide-links a:focus-visible {
  border-color: var(--airy-brand);
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--airy-brand);
  outline: none;
}
.product-detail-page .product-guide-links a:is(:hover, :focus-visible) strong {
  color: var(--airy-brand);
}
.product-detail-page .product-guide-links a:is(:hover, :focus-visible)::after {
  color: var(--airy-brand);
}
.product-detail-page .product-guide-links strong {
  color: var(--airy-ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}
.product-detail-page .product-guide-links span {
  margin: 0;
  color: var(--airy-muted);
  font-size: 13px;
  line-height: 1.5;
}
.product-detail-page .product-side-card {
  position: sticky;
  top: 100px;
  padding: 28px 24px;
  border: 0;
  border-radius: 4px;
  background: var(--airy-soft);
}
.product-detail-page .product-side-card h2 {
  margin: 16px 0;
  font-size: 21px;
  line-height: 1.55;
}
.product-detail-page .product-side-card p {
  margin-bottom: 24px;
  color: var(--airy-muted);
  line-height: 1.85;
}
.product-detail-page .product-side-card .public-primary-button {
  width: 100%;
}
.product-detail-page .product-detail-grid {
  align-items: stretch;
}
.product-detail-page .product-detail-aside {
  align-self: stretch;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) {
  color: #3a403b;
  font-size: 16px;
  line-height: 1.75;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) :is(p, li) {
  color: #3a403b;
  font-size: 16px;
  line-height: 1.75;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > * + * {
  margin-top: 12px;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > :is(p, ul, ol, blockquote) {
  max-width: 68ch;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > :is(h2, h3, h4) {
  margin: 24px 0 0;
  color: var(--airy-ink);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -.01em;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > :is(h2, h3, h4) + * {
  margin-top: 6px;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > :first-child {
  margin-top: 0;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > figure {
  margin-top: 28px;
  margin-bottom: 0;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > figure + * {
  margin-top: 32px;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > figure :is(img, video) {
  border-radius: 4px;
}
.product-detail-page :is(.product-copy-stack, [data-product-detail-notes]) :is([data-product-content], [data-product-content] .ProseMirror) > figure figcaption {
  margin-top: 8px;
  color: var(--airy-muted);
  font-size: 13px;
  line-height: 1.5;
}
.product-detail-page [data-copy-section=itinerary] :is([data-product-content], [data-product-content] .ProseMirror):has(> :is(h2, h3, h4)) {
  padding-left: 24px;
  border-left: 1px solid var(--airy-line);
}
.product-detail-page [data-copy-section=itinerary] :is([data-product-content], [data-product-content] .ProseMirror):has(> :is(h2, h3, h4)) > :is(h2, h3, h4) {
  position: relative;
}
.product-detail-page [data-copy-section=itinerary] :is([data-product-content], [data-product-content] .ProseMirror):has(> :is(h2, h3, h4)) > :is(h2, h3, h4)::before {
  content: "";
  position: absolute;
  top: .5em;
  left: -30px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--airy-brand);
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
}
.product-detail-page [data-copy-section=inclusions] {
  container-type: inline-size;
}
.product-detail-page [data-copy-section=inclusions] :is([data-product-content], [data-product-content] .ProseMirror) > ul {
  padding-left: 0;
  list-style: none;
}
.product-detail-page [data-copy-section=inclusions] :is([data-product-content], [data-product-content] .ProseMirror) > ul > li {
  position: relative;
  padding-left: 24px;
}
.product-detail-page [data-copy-section=inclusions] :is([data-product-content], [data-product-content] .ProseMirror) > ul > li + li {
  margin-top: 6px;
}
.product-detail-page [data-copy-section=inclusions] :is([data-product-content], [data-product-content] .ProseMirror) > ul > li::before {
  content: "";
  position: absolute;
  top: .62em;
  left: 3px;
  width: 10px;
  height: 5px;
  border-bottom: 2px solid var(--airy-brand);
  border-left: 2px solid var(--airy-brand);
  transform: rotate(-45deg);
}
.product-detail-page [data-copy-section=inclusions] :is([data-product-content], [data-product-content] .ProseMirror) > ul ~ ul > li::before {
  top: .85em;
  width: 10px;
  height: 0;
  border-left: 0;
  border-bottom: 2px solid #a3aaa2;
  transform: none;
}
@container (min-width: 560px) {
  .product-detail-page [data-copy-section=inclusions] [data-product-content]:has(> :is(h2, h3, h4):first-child + ul + :is(h2, h3, h4) + ul:last-child) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto 1fr;
    grid-auto-flow: column;
    column-gap: 48px;
  }
  .product-detail-page [data-copy-section=inclusions] [data-product-content]:has(> :is(h2, h3, h4):first-child + ul + :is(h2, h3, h4) + ul:last-child) > :is(h2, h3, h4) {
    margin-top: 0;
  }
  .product-detail-page [data-copy-section=inclusions] [data-product-content]:has(> :is(h2, h3, h4):first-child + ul + :is(h2, h3, h4) + ul:last-child) > ul {
    margin-top: 10px;
  }
}
.product-detail-page .product-content-notes:not(.product-guide-notice) > h3 {
  margin: 0 0 16px;
  color: var(--airy-ink);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -.02em;
}
.product-detail-page .product-content-notes:not(.product-guide-notice) > p {
  max-width: 68ch;
  margin: 0;
  color: #3a403b;
  font-size: 16px;
  line-height: 1.75;
  word-break: keep-all;
}
.product-detail-page .product-content-notes:not(.product-guide-notice) > p + .text-link {
  display: inline-block;
  margin-top: 12px;
}
@media (max-height: 640px) {
  .product-detail-page .product-side-card {
    position: static;
  }
}
@media (max-width: 700px) {
  .product-detail-page .product-detail-hero-content {
    display: flex;
    flex-direction: column;
  }
  .product-detail-page .product-detail-hero-content > * {
    order: 2;
  }
  .product-detail-page .product-detail-hero-content > :is(.product-detail-code, h1) {
    order: 0;
  }
  .product-detail-page .product-detail-hero-content > :is(.product-summary-list, :has(> .product-summary-list)) {
    order: 1;
  }
  .product-detail-page .product-detail-hero-content > .product-detail-tags {
    order: 3;
  }
  .product-detail-page .product-detail-hero-content .product-summary-list {
    margin: 0 0 28px;
  }
  .product-detail-page [data-copy-section=itinerary] :is([data-product-content], [data-product-content] .ProseMirror):has(> :is(h2, h3, h4)) {
    padding-left: 18px;
  }
  .product-detail-page [data-copy-section=itinerary] :is([data-product-content], [data-product-content] .ProseMirror):has(> :is(h2, h3, h4)) > :is(h2, h3, h4)::before {
    left: -24px;
  }
  .product-detail-page :is(.product-copy-stack > section > h3, .product-content-notes:not(.product-guide-notice) > h3) {
    font-size: 20px;
  }
  .product-detail-page .product-guide-links {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .product-detail-page .product-guide-links a {
    min-height: 72px;
    padding: 16px 48px 16px 18px;
    align-content: center;
    gap: 2px;
  }
  .product-detail-page .product-guide-links a::after {
    top: 50%;
    bottom: auto;
    margin-top: -4px;
    transform: rotate(45deg);
  }
}
.product-detail-page .product-booking-panel {
  margin-top: 88px;
  padding-top: 48px;
  border: 0;
  border-top: 1px solid var(--airy-line);
  border-radius: 0;
  overflow: visible;
}
.product-detail-page .booking-panel-heading {
  min-height: 0;
  align-items: baseline;
  margin-bottom: 40px;
  padding: 0 0 36px;
  border-bottom: 1px solid var(--airy-line);
  background: transparent;
  color: var(--airy-ink);
}
.product-detail-page .booking-panel-heading h2 {
  color: var(--airy-ink);
  font-size: 32px;
  line-height: 1.4;
}
.product-detail-page .booking-panel-heading span {
  color: var(--airy-muted);
  font-size: 14px;
}
.product-detail-page .booking-panel-grid {
  grid-template-columns: minmax(0, 1fr) 300px;
  column-gap: 48px;
  row-gap: 40px;
}
.product-detail-page .booking-calendar-column {
  padding: 0;
  border: 0;
}
.product-detail-page .booking-section-heading {
  margin-bottom: 28px;
}
.product-detail-page .booking-section-heading h3 {
  margin: 12px 0;
  font-size: 24px;
  line-height: 1.5;
}
.product-detail-page .booking-section-heading p {
  color: var(--airy-muted);
  font-size: 14px;
  line-height: 1.8;
}
.product-detail-page .booking-summary {
  top: 112px;
  padding: 28px;
  border: 0;
  border-radius: 4px;
  background: var(--airy-soft);
}
.product-detail-page .booking-summary-heading {
  gap: 12px;
  padding-bottom: 24px;
  border-color: var(--airy-line);
}
.product-detail-page .booking-summary-heading span {
  color: var(--airy-muted);
  font-weight: 500;
}
.product-detail-page .booking-summary-heading strong {
  font-size: 21px;
}
.product-detail-page .booking-summary-list > div {
  padding-block: 18px;
  border-color: var(--airy-line);
}
.product-detail-page .booking-summary-list dt {
  color: var(--airy-muted);
}
.product-detail-page .booking-summary-price {
  display: block;
  padding: 26px 0 18px;
}
.product-detail-page .booking-summary-price strong {
  display: block;
  margin-top: 12px;
  color: var(--airy-ink);
  font-size: 28px;
  text-align: left;
}
.product-detail-page .booking-summary-note {
  color: var(--airy-muted);
  font-size: 13px;
  line-height: 1.85;
}
.product-detail-page .booking-form-column {
  padding: 40px 0 0;
  border-color: var(--airy-line);
}
.product-detail-page .booking-form,
.product-detail-page .booking-form-grid {
  gap: 24px;
}
.product-detail-page .booking-field {
  gap: 10px;
}
.product-detail-page .booking-field :is(input, select, textarea) {
  min-height: 48px;
  border-color: #d7dcd5;
  background: #fff;
}
.product-detail-page .public-primary-button {
  min-height: 48px;
}
.product-detail-page :is(#overview, #itinerary, #booking) {
  scroll-margin-top: 112px;
}
.product-detail-page .public-calendar .calendar-toolbar,
.group-buy-destination-page .public-calendar .calendar-toolbar {
  margin-bottom: 0;
  padding: 16px 16px 12px;
  border: 1px solid #dedede;
  border-bottom: 0;
  border-radius: var(--radius, 18px) var(--radius, 18px) 0 0;
  background: var(--public-surface);
}
.product-detail-page .public-calendar .calendar-nav-button,
.group-buy-destination-page .public-calendar .calendar-nav-button {
  border-color: #d4d4d4;
  border-radius: var(--public-radius, 5px);
  color: var(--public-heading);
}
.product-detail-page .public-calendar .calendar-nav-button:hover,
.group-buy-destination-page .public-calendar .calendar-nav-button:hover {
  border-color: var(--public-primary);
  color: var(--public-primary);
}
.product-detail-page .public-calendar .calendar-grid,
.group-buy-destination-page .public-calendar .calendar-grid {
  grid-template-rows: auto;
  grid-auto-rows: 1fr;
  gap: 0;
  padding: 0 16px 12px;
  border: 1px solid #dedede;
  border-top: 0;
  border-radius: 0 0 var(--radius, 18px) var(--radius, 18px);
  background: var(--public-surface);
}
.product-detail-page .public-calendar .calendar-grid > div,
.group-buy-destination-page .public-calendar .calendar-grid > div {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.product-detail-page .public-calendar .calendar-grid .weekday,
.group-buy-destination-page .public-calendar .calendar-grid .weekday {
  min-height: 32px;
  margin-bottom: 4px;
  padding: 0;
  background: var(--airy-soft);
  color: #777;
  font-size: 13px;
  font-weight: 700;
}
.product-detail-page .public-calendar .calendar-grid .weekday:nth-child(1),
.group-buy-destination-page .public-calendar .calendar-grid .weekday:nth-child(1) {
  border-radius: var(--public-radius, 5px) 0 0 var(--public-radius, 5px);
}
.product-detail-page .public-calendar .calendar-grid .weekday:nth-child(7),
.group-buy-destination-page .public-calendar .calendar-grid .weekday:nth-child(7) {
  border-radius: 0 var(--public-radius, 5px) var(--public-radius, 5px) 0;
}
.product-detail-page .public-calendar .calendar-grid > div:not(.weekday),
.group-buy-destination-page .public-calendar .calendar-grid > div:not(.weekday) {
  border-bottom: 1px solid #dedede;
}
.product-detail-page .public-calendar .calendar-grid > div:nth-last-child(-n+7),
.group-buy-destination-page .public-calendar .calendar-grid > div:nth-last-child(-n+7) {
  border-bottom: 0;
}
.product-detail-page .public-calendar .calendar-grid > .calendar-day,
.group-buy-destination-page .public-calendar .calendar-grid > .calendar-day {
  position: relative;
  isolation: isolate;
  align-items: center;
  text-align: center;
}
.product-detail-page .public-calendar .calendar-day:is(.selected, .selected-start, .selected-end, .selected-extension),
.group-buy-destination-page .public-calendar .calendar-day:is(.selected, .selected-start, .selected-end, .selected-extension) {
  background: transparent;
  box-shadow: none;
}
.product-detail-page .public-calendar .calendar-day > strong,
.group-buy-destination-page .public-calendar .calendar-day > strong {
  color: var(--public-heading);
  font-size: 14px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.product-detail-page .public-calendar .calendar-day:is(.selected, .selected-extension)::before,
.group-buy-destination-page .public-calendar .calendar-day:is(.selected, .selected-extension)::before {
  content: "";
  position: absolute;
  inset: 4px 0;
  z-index: -1;
  background: #edf4fb;
}
.product-detail-page .public-calendar .calendar-day.selected-extension::before,
.group-buy-destination-page .public-calendar .calendar-day.selected-extension::before {
  background:
    repeating-linear-gradient(
      135deg,
      #edf4fb 0 6px,
      #d6e5f4 6px 7px);
}
.product-detail-page .public-calendar .calendar-day.selected:is(.selected-start, :nth-child(7n+1))::before,
.group-buy-destination-page .public-calendar .calendar-day.selected:is(.selected-start, :nth-child(7n+1))::before,
.product-detail-page .public-calendar .calendar-day.selected-extension:nth-child(7n+1)::before,
.group-buy-destination-page .public-calendar .calendar-day.selected-extension:nth-child(7n+1)::before {
  border-top-left-radius: var(--radius, 18px);
  border-bottom-left-radius: var(--radius, 18px);
}
.product-detail-page .public-calendar .calendar-day.selected:is(.selected-end, :nth-child(7n))::before,
.group-buy-destination-page .public-calendar .calendar-day.selected:is(.selected-end, :nth-child(7n))::before,
.product-detail-page .public-calendar .calendar-day.selected-extension:is(:nth-child(7n), :not(:has(+ .selected-extension)))::before,
.group-buy-destination-page .public-calendar .calendar-day.selected-extension:is(:nth-child(7n), :not(:has(+ .selected-extension)))::before {
  border-top-right-radius: var(--radius, 18px);
  border-bottom-right-radius: var(--radius, 18px);
}
.product-detail-page .public-calendar .calendar-day.selected-end:has(+ .selected-extension):not(:nth-child(7n))::before,
.group-buy-destination-page .public-calendar .calendar-day.selected-end:has(+ .selected-extension):not(:nth-child(7n))::before {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.product-detail-page .public-calendar .calendar-extension-label,
.group-buy-destination-page .public-calendar .calendar-extension-label {
  color: var(--public-primary);
  font-size: 12px;
}
.product-detail-page .public-calendar .departure-dot,
.group-buy-destination-page .public-calendar .departure-dot {
  border: 0;
  border-radius: var(--public-radius, 5px);
  background: #f0f6fc;
  box-shadow: inset 0 0 0 1px #d4e1ef;
  color: var(--public-primary);
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.product-detail-page .public-calendar .departure-dot .departure-price-amount,
.group-buy-destination-page .public-calendar .departure-dot .departure-price-amount {
  display: inline-block;
  white-space: nowrap;
}
.product-detail-page .public-calendar .departure-dot:hover,
.group-buy-destination-page .public-calendar .departure-dot:hover {
  box-shadow: inset 0 0 0 1px var(--public-primary);
}
.product-detail-page .public-calendar .departure-dot.selected,
.group-buy-destination-page .public-calendar .departure-dot.selected {
  background: var(--public-primary);
  box-shadow: none;
  color: #fff;
}
.product-detail-page .public-calendar .departure-dot.disabled,
.group-buy-destination-page .public-calendar .departure-dot.disabled {
  background: #f5f5f5;
  box-shadow: inset 0 0 0 1px #e6e6e6;
  color: #aaa;
}
.product-detail-page .public-calendar .calendar-status,
.group-buy-destination-page .public-calendar .calendar-status {
  color: #888;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  text-align: center;
}
.product-detail-page .public-calendar .calendar-help,
.group-buy-destination-page .public-calendar .calendar-help {
  color: #777;
  font-size: 13px;
}
.product-detail-page .calendar-selection-summary,
.group-buy-destination-page .calendar-selection-summary {
  padding: 20px 24px;
  border: 0;
  border-radius: 4px;
  background: var(--airy-soft);
  color: #555;
}
.product-detail-page .calendar-selection-summary b,
.group-buy-destination-page .calendar-selection-summary b {
  color: var(--public-heading);
  font-size: 15px;
}
.product-detail-page .calendar-selection-summary small,
.group-buy-destination-page .calendar-selection-summary small {
  color: #777;
  font-size: 13px;
}
.product-detail-page .calendar-selection-summary strong,
.group-buy-destination-page .calendar-selection-summary strong {
  color: var(--public-primary);
  font-size: 20px;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
@media (min-width: 768px) {
  .product-detail-page .public-calendar .calendar-grid > .calendar-day,
  .group-buy-destination-page .public-calendar .calendar-grid > .calendar-day {
    container-type: inline-size;
    gap: 4px;
    padding: 10px 4px;
  }
  .product-detail-page .public-calendar .calendar-departure-option,
  .group-buy-destination-page .public-calendar .calendar-departure-option {
    justify-items: center;
    max-width: 100%;
  }
  .product-detail-page .public-calendar .departure-dot,
  .group-buy-destination-page .public-calendar .departure-dot {
    width: auto;
    max-width: 100%;
    margin-top: 0;
    padding: 4px 10px;
    padding-inline: clamp(2px, calc((100cqi - 62px) / 2), 10px);
    font-size: 12px;
    font-size: clamp(10px, calc((100cqi - 4px) / 5), 12px);
  }
  .product-detail-page .public-calendar .calendar-status,
  .group-buy-destination-page .public-calendar .calendar-status {
    font-size: 12px;
    font-size: clamp(9px, calc(100cqi / 3.9), 12px);
  }
}
@media (max-width: 767px) {
  .product-detail-page .public-calendar .calendar-toolbar,
  .group-buy-destination-page .public-calendar .calendar-toolbar {
    padding: 10px 8px 8px;
  }
  .product-detail-page .public-calendar .calendar-grid,
  .group-buy-destination-page .public-calendar .calendar-grid {
    padding: 0 4px 6px;
  }
  .product-detail-page .public-calendar .calendar-grid > div,
  .group-buy-destination-page .public-calendar .calendar-grid > div {
    min-height: 0;
  }
  .product-detail-page .public-calendar .calendar-grid .weekday,
  .group-buy-destination-page .public-calendar .calendar-grid .weekday {
    min-height: 30px;
    font-size: 12px;
  }
  .product-detail-page .public-calendar .calendar-grid > .calendar-day,
  .group-buy-destination-page .public-calendar .calendar-grid > .calendar-day {
    container-type: inline-size;
    gap: 3px;
    padding-block: 6px;
  }
  .product-detail-page .public-calendar .calendar-day > strong,
  .group-buy-destination-page .public-calendar .calendar-day > strong {
    line-height: 1;
  }
  .product-detail-page .public-calendar .calendar-departure-option .departure-dot,
  .group-buy-destination-page .public-calendar .calendar-departure-option .departure-dot {
    width: calc(100% - 2px);
    padding-inline: 0;
    font-size: clamp(8px, calc((100cqi - 2px) / 4.4), 11px);
  }
  .product-detail-page .public-calendar .calendar-status,
  .group-buy-destination-page .public-calendar .calendar-status {
    font-size: clamp(8px, calc(100cqi / 3.9), 11px);
    line-height: 1.2;
  }
}
@media (max-width: 1100px) {
  .products-page .catalog-content {
    padding-inline: 32px;
  }
  .products-page .catalog-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .products-page .catalog-layout {
    gap: 28px;
  }
  .products-page .catalog-search-aside {
    position: static;
    order: -1;
    padding: 0;
    background: transparent;
  }
  .products-page .catalog-search-aside h2,
  .products-page .catalog-search-form .catalog-search-label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }
  .products-page .catalog-search-form {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 0;
  }
  .products-page .catalog-search-form label {
    gap: 0;
  }
  .products-page .catalog-search-form .catalog-primary-button {
    padding-inline: 20px;
    border-radius: 5px;
  }
  .products-page .catalog-search-form .catalog-search-reset {
    grid-column: 1 / -1;
    font-size: 13px;
  }
  .products-page .catalog-search-note {
    display: none;
  }
  .products-page .catalog-product-card {
    grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
  }
  .product-detail-page .product-detail-grid {
    grid-template-columns: 1fr;
  }
  .product-detail-page .product-detail-hero {
    gap: 36px;
  }
  .product-detail-page .product-detail-aside {
    order: 0;
  }
  .product-detail-page .product-side-card {
    position: static;
  }
  .product-detail-page .booking-panel-grid {
    grid-template-columns: minmax(0, 1fr) 260px;
    column-gap: 32px;
  }
}
@media (max-width: 900px) {
  .product-detail-page .product-breadcrumbs {
    min-height: 44px;
    gap: 8px;
    padding-inline: 24px;
    font-size: 12px;
  }
  .product-detail-page .product-detail-shell {
    padding: 4px 24px 160px;
  }
  .product-detail-page .product-detail-hero {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .product-detail-page .product-detail-hero h1 {
    margin: 16px 0 20px;
    font-size: 28px;
    line-height: 1.5;
  }
  .product-detail-page .product-detail-description {
    font-size: 15px;
    line-height: 1.9;
  }
  .product-detail-page .product-summary-price-value > strong,
  .product-detail-page .product-summary-deal strong {
    font-size: 24px;
  }
  .product-detail-page .product-summary-list dd {
    font-size: 16px;
  }
  .product-detail-page .product-detail-code {
    font-size: 11px;
  }
  .product-detail-page .product-detail-grid {
    gap: 32px;
    margin-top: 56px;
  }
  .product-detail-page .product-info-tabs {
    gap: 24px;
  }
  .product-detail-page .product-info-tabs a {
    padding: 14px 8px;
    font-size: 15px;
  }
  .product-detail-page .product-info-heading {
    padding: 36px 0 28px;
  }
  .product-detail-page .product-info-heading h2 {
    font-size: 25px;
  }
  .product-detail-page .product-copy-stack {
    gap: 32px;
  }
  .product-detail-page .product-copy-stack section + section {
    padding: 32px 0 0;
  }
  .product-detail-page .product-guide-notice {
    padding: 40px 0;
  }
  .product-detail-page .product-guide-notice > h3 {
    margin-bottom: 28px;
    font-size: 24px;
  }
  .product-detail-page .product-booking-panel {
    margin-top: 56px;
    padding-top: 36px;
  }
  .product-detail-page .booking-panel-heading {
    display: block;
    margin-bottom: 32px;
    padding-bottom: 28px;
  }
  .product-detail-page .booking-panel-heading h2 {
    margin-bottom: 10px;
    font-size: 28px;
  }
  .product-detail-page .booking-panel-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "calendar" "summary" "form";
    gap: 32px;
  }
  .product-detail-page .booking-summary {
    position: static;
    padding: 24px;
  }
  .product-detail-page .booking-section-heading h3 {
    font-size: 22px;
  }
  .product-detail-page .booking-form-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .products-page .catalog-banner {
    height: 200px;
  }
  .products-page .catalog-content {
    padding: 28px 24px 160px;
  }
  .products-page .catalog-category-tabs {
    gap: 4px;
    margin-bottom: 24px;
  }
  .products-page .catalog-category-tabs a {
    padding: 0 14px 16px;
    font-size: 14px;
  }
  .products-page .catalog-category-nav {
    margin-bottom: 24px;
  }
  .products-page .catalog-layout {
    gap: 24px;
  }
  .products-page .catalog-results-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 24px;
  }
  .products-page .catalog-results-sort {
    display: block;
    margin-top: 0;
  }
  .products-page .catalog-product-card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-bottom: 36px;
  }
  .products-page .catalog-product-card-media {
    aspect-ratio: 3 / 2;
  }
  .products-page .catalog-product-card-body {
    min-height: 0;
    padding: 0;
  }
  .products-page .catalog-product-card h3 {
    margin: 12px 0;
    font-size: 22px;
  }
  .products-page .catalog-product-card-topline {
    display: flex;
  }
  .products-page .catalog-product-card-topline span:last-child {
    margin: 0;
  }
  .products-page .catalog-results-heading h2 {
    font-size: 28px;
  }
  .products-page .catalog-search-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .home-type-immersive .product-section {
    padding: 72px 24px 80px;
  }
  .home-type-immersive .product-section .section-heading {
    margin-bottom: 36px;
  }
  .home-type-immersive .product-section .section-lead {
    font-size: 15px;
  }
  .home-type-immersive .product-section .scene-slider-track {
    gap: 24px;
  }
  .home-type-immersive .product-section .product-card {
    flex-basis: 86%;
  }
}
@media (min-width: 901px) {
  body:not(:has(.home-preview-content)) .home-type-immersive .product-section {
    padding-top: 110px;
    padding-bottom: 112px;
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .product-section .section-heading {
    margin-bottom: 52px;
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .product-section .scene-slider-track {
    gap: 36px;
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .product-section .product-card {
    flex-basis: calc((100% - 72px) / 3);
  }
  body:not(:has(.home-preview-content)) .home-type-immersive .product-section .product-card img {
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 3;
  }
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-section {
  padding-top: 110px;
  padding-bottom: 112px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-section .section-heading {
  margin-bottom: 52px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-section .scene-slider-track {
  gap: 36px;
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-section .product-card {
  flex-basis: calc((100% - 72px) / 3);
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content.home-type-immersive .product-section .product-card img {
  height: auto;
  max-height: none;
  aspect-ratio: 4 / 3;
}
.home-type-immersive .product-section :is(h2, h3, .text-link) {
  color: var(--airy-ink);
}
.home-type-immersive .product-section .text-link {
  color: var(--airy-brand);
}
.home-type-immersive .product-section :is(.eyebrow, .section-lead, .product-card p, .product-card-kicker) {
  color: var(--airy-muted);
}
.home-type-immersive .hero-kicker {
  color: rgba(255, 255, 255, .72);
}
.home-type-immersive .primary-btn {
  border-radius: var(--public-radius, 5px);
  background: var(--airy-paper);
  color: var(--airy-ink);
}
.home-type-immersive .primary-btn:hover {
  background: #eef2fb;
  color: var(--airy-brand);
}
.home-type-immersive .secondary-btn {
  border-radius: var(--public-radius, 5px);
  border-color: rgba(255, 255, 255, .6);
}
.home-type-immersive .secondary-btn:hover {
  background: rgba(255, 255, 255, .12);
}
.home-type-immersive .vita-landscape .scene-slider-pause {
  border-radius: var(--public-radius, 5px);
  border-color: rgba(255, 255, 255, .6);
}
.home-content.background-home {
  background: var(--airy-paper);
  color: var(--airy-ink);
}
.home-content.background-home > .section {
  padding-block: 100px;
  background: var(--airy-paper);
  color: var(--airy-ink);
}
.home-content.background-home > .section.background-video-block {
  padding-top: 0;
}
.home-content.background-home .section-heading {
  display: block;
  margin-bottom: 36px;
}
.home-content.background-home :is(.background-text > .eyebrow, .section-heading .eyebrow) {
  margin: 0 0 14px;
  color: var(--airy-muted);
}
.home-content.background-home :is(.background-text > h2, .section-heading h2) {
  margin: 0;
  color: var(--airy-ink);
  font-size: 36px;
  line-height: 1.3;
  letter-spacing: -.03em;
}
.home-content.background-home :is(.background-text > .background-body, .section-heading .section-lead) {
  margin: 12px 0 0;
  color: var(--airy-muted);
  font-size: 16px;
  line-height: 1.8;
}
.home-content.background-home .section-heading .section-lead {
  max-width: none;
}
.home-content.background-home :is(.landscape-grid, .product-grid) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
}
.home-content.background-home :is(.landscape-card, .product-card) > .home-image > img {
  border-radius: 4px;
}
.home-content.background-home :is(.landscape-card, .product-card) > .home-image:not([data-home-image-frame]) > img {
  height: auto;
  aspect-ratio: 4 / 3;
}
.home-content.background-home .landscape-meta {
  padding-top: 24px;
}
.home-content.background-home .landscape-meta h3 {
  color: var(--airy-ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -.04em;
}
.home-content.background-home .landscape-card-description {
  margin: 14px 0 0;
  color: var(--airy-muted);
  font-size: 15px;
  line-height: 1.85;
}
.home-content.background-home .product-card-body {
  padding: 24px 0 0;
}
.home-content.background-home .product-card-kicker {
  color: var(--airy-muted);
  font-size: 13px;
}
.home-content.background-home .product-card h3 {
  margin: 12px 0 14px;
  color: var(--airy-ink);
  font-size: 22px;
  line-height: 1.5;
}
.home-content.background-home .product-card p {
  margin: 0 0 24px;
  color: var(--airy-muted);
  font-size: 15px;
  line-height: 1.85;
}
.home-content.background-home .product-card .text-link {
  color: var(--airy-brand);
  font-size: 14px;
}
.home-content.background-home :is(.landscape-card, .product-card):hover h3 {
  color: var(--airy-brand);
}
.home-content.background-home .primary-btn {
  border-radius: var(--public-radius, 5px);
  background: var(--airy-paper);
  color: var(--airy-ink);
}
.home-content.background-home .primary-btn:hover {
  background: #eef2fb;
  color: var(--airy-brand);
}
.home-content.background-home .background-button :is(.primary-btn, .secondary-btn) {
  min-height: 48px;
  border-radius: var(--public-radius, 5px);
}
.home-content.background-home .background-button .primary-btn {
  background: var(--airy-brand);
  color: #fff;
}
.home-content.background-home .background-button .primary-btn:hover {
  background: var(--public-primary-hover, #003a80);
  color: #fff;
}
.home-content.background-home .background-button .secondary-btn {
  border-color: var(--airy-ink);
  background: transparent;
  color: var(--airy-ink);
}
.home-content.background-home :is(.hero-kicker, .story-eyebrow) {
  color: rgba(255, 255, 255, .72);
}
.home-content.background-home .closing {
  padding: 104px 24px;
  border-top: 1px solid #2b383d;
  background: #0d191e;
  color: #edf2eb;
}
.home-content.background-home .closing > * {
  max-width: 1148px;
  margin-inline: auto;
}
.home-content.background-home .closing h2 {
  color: #edf2eb;
}
.home-content.background-home .closing p {
  color: #aab9bc;
}
.home-content.background-home .background-divider {
  border-top-color: var(--airy-line);
}
.home-content.background-home .background-image-block p {
  color: var(--airy-muted);
}
@media (max-width: 900px) {
  .home-content.background-home > .section {
    padding-block: 64px;
  }
}
@media (max-width: 760px) {
  .home-content.background-home > .section {
    padding-block: 56px;
  }
  .home-content.background-home .section-heading {
    margin-bottom: 24px;
  }
  .home-content.background-home :is(.background-text > h2, .section-heading h2) {
    font-size: 28px;
  }
  .home-content.background-home .section-heading .section-lead {
    font-size: 15px;
  }
  .home-content.background-home :is(.landscape-grid, .product-grid) {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .home-content.background-home .closing {
    padding: 80px 22px;
  }
}
[data-home-preview=true].home-preview-viewport-desktop .home-preview-content .home-content.background-home > .section {
  padding-block: 100px;
}
[data-home-preview=true].home-preview-viewport-tablet .home-preview-content .home-content.background-home > .section {
  padding-block: 64px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home > .section {
  padding-block: 56px;
}
[data-home-preview=true] .home-preview-content .home-content.background-home > .section.background-video-block {
  padding-top: 0;
}
[data-home-preview=true] .home-preview-content .home-content.background-home .background-column .section {
  padding: 0 0 35px;
}
[data-home-preview=true] .home-preview-content .home-content.background-home :is(.background-text > h2, .section-heading h2) {
  font-size: 36px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home :is(.background-text > h2, .section-heading h2) {
  font-size: 28px;
}
[data-home-preview=true]:is(.home-preview-viewport-desktop, .home-preview-viewport-tablet) .home-preview-content .home-content.background-home .section-heading {
  display: block;
  margin-bottom: 36px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home .section-heading {
  display: block;
  margin-bottom: 24px;
}
[data-home-preview=true]:is(.home-preview-viewport-desktop, .home-preview-viewport-tablet, .home-preview-viewport-mobile) .home-preview-content .home-content.background-home .section-heading .section-lead {
  margin-top: 12px;
  font-size: 16px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home .section-heading .section-lead {
  font-size: 15px;
}
[data-home-preview=true]:is(.home-preview-viewport-desktop, .home-preview-viewport-tablet) .home-preview-content .home-content.background-home :is(.landscape-grid, .product-grid) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home :is(.landscape-grid, .product-grid) {
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
[data-home-preview=true] .home-preview-content .home-content.background-home .closing {
  padding: 104px 24px;
}
[data-home-preview=true].home-preview-viewport-mobile .home-preview-content .home-content.background-home .closing {
  padding: 80px 22px;
}
.products-page[data-deal-tab] .catalog-results-heading {
  margin-bottom: 20px;
}
.products-page[data-deal-tab] .catalog-results-heading h2 {
  margin-top: 6px;
  font-size: 22px;
  line-height: 1.4;
}
.products-page[data-deal-tab] .catalog-breadcrumbs {
  border-bottom: 0;
}
.products-page[data-deal-tab] .catalog-content {
  padding-top: 12px;
}
.products-page[data-deal-tab] .catalog-category-nav {
  margin-bottom: 44px;
}
.products-page[data-deal-tab] .catalog-product-list {
  gap: 0;
}
.products-page[data-deal-tab] .catalog-product-card {
  grid-template-columns: 208px minmax(0, 1fr);
  gap: 28px;
  min-height: 0;
  padding: 24px 0;
  border-bottom: 1px solid var(--airy-line);
}
.products-page[data-deal-tab] .catalog-product-card:first-child {
  padding-top: 4px;
}
.products-page[data-deal-tab] .catalog-product-card:last-child {
  border-bottom: 0;
}
.products-page[data-deal-tab] .catalog-product-card-media {
  min-height: 0;
  aspect-ratio: 4 / 3;
}
.products-page[data-deal-tab] .catalog-product-card-body {
  min-height: 0;
  padding: 2px 0 0;
}
.products-page[data-deal-tab] .catalog-product-card h3 {
  margin: 8px 0 6px;
  font-size: 18px;
  line-height: 1.45;
}
.products-page[data-deal-tab] .catalog-product-card p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px;
  line-height: 1.7;
}
.products-page[data-deal-tab] .catalog-discount-badge {
  margin-top: 10px;
}
.products-page[data-deal-tab] .catalog-product-card-footer {
  margin-top: 0;
  padding-top: 12px;
  font-size: 12px;
}
.products-page[data-deal-tab] .catalog-product-card-footer strong {
  font-size: 19px;
  font-weight: 700;
}
@media (max-width: 1100px) {
  .products-page[data-deal-tab] .catalog-search-aside {
    order: 1;
  }
}
@media (max-width: 900px) {
  .products-page[data-deal-tab] .catalog-category-tabs[data-level="1"] {
    -webkit-mask-image:
      linear-gradient(
        90deg,
        #000 calc(100% - 48px),
        transparent);
    mask-image:
      linear-gradient(
        90deg,
        #000 calc(100% - 48px),
        transparent);
  }
}
@media (max-width: 700px) {
  .products-page[data-deal-tab] .catalog-product-card {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    padding: 18px 0;
  }
  .products-page[data-deal-tab] .catalog-product-card-media {
    aspect-ratio: 1 / 1;
  }
  .products-page[data-deal-tab] .catalog-product-card-topline span:last-child {
    display: none;
  }
  .products-page[data-deal-tab] .catalog-product-card h3 {
    margin: 4px 0;
    font-size: 16px;
  }
  .products-page[data-deal-tab] .catalog-product-card p {
    -webkit-line-clamp: 2;
    font-size: 13px;
  }
  .products-page[data-deal-tab] .catalog-product-card-footer {
    padding-top: 8px;
  }
  .products-page[data-deal-tab] .catalog-product-card-footer strong {
    font-size: 17px;
  }
}
.product-side-extra {
  display: grid;
  gap: 4px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--airy-line, #e3e6e0);
}
.product-side-extra h3 {
  margin: 2px 0 0;
  color: var(--airy-ink, #222824);
  font-size: 15px;
  line-height: 1.45;
  letter-spacing: -0.02em;
  word-break: keep-all;
}
.product-side-card .product-side-extra p {
  margin: 0 0 6px;
  color: var(--airy-muted, #656e66);
  font-size: 13px;
  line-height: 1.6;
}
.product-side-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--airy-ink, #222824);
  border-radius: var(--public-radius, 5px);
  background: #fff;
  color: var(--airy-ink, #222824);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.product-side-secondary:hover {
  background: var(--airy-ink, #222824);
  color: #fff;
}
.product-side-card .product-kakao-callout {
  margin-top: 16px;
  padding-top: 14px;
}
.product-side-card .product-kakao-callout small {
  font-size: 11px;
}
@media (min-width: 901px) {
  .product-detail-grid > .product-detail-aside {
    align-self: stretch;
  }
  .product-detail-aside .product-side-card {
    max-height: calc(100vh - 128px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
}
@media (max-width: 600px) {
  .product-side-secondary {
    min-height: 44px;
  }
}
.products-page[data-deal-tab] .catalog-layout {
  grid-template-columns: minmax(0, 1fr);
}
.products-page[data-deal-tab] .catalog-search-aside,
.products-page[data-deal-tab] .catalog-category-nav,
.products-page[data-deal-tab] .catalog-breadcrumbs {
  display: none;
}
.hot-deals-empty .hot-deals-heading {
  margin-bottom: 0;
}
.hot-deals-empty .section-lead {
  margin-top: 24px;
}
.group-buy-destination-page {
  padding-bottom: 96px;
}
.group-buy-destination-page .catalog-breadcrumbs {
  max-width: 1248px;
  margin: 0 auto;
  padding: 20px 24px 0;
}
.group-buy-destination {
  display: grid;
  gap: 56px;
  max-width: 1248px;
  margin: 0 auto;
  padding: 24px 24px 0;
  min-width: 0;
}
.group-buy-destination-hero {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: var(--airy-soft);
  aspect-ratio: 16 / 8;
  min-height: 240px;
}
.group-buy-destination-hero picture,
.group-buy-destination-hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.group-buy-destination-intro {
  display: grid;
  gap: 14px;
  max-width: 820px;
}
.group-buy-destination-intro h1 {
  margin: 0;
  color: var(--airy-ink);
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: -0.035em;
  line-height: 1.15;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.group-buy-destination-summary {
  margin: 0;
  color: var(--airy-muted);
  font-size: 17px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.group-buy-destination-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin: 4px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--airy-line);
}
.group-buy-destination-facts div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.group-buy-destination-facts dt {
  color: var(--airy-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.group-buy-destination-facts dd {
  margin: 0;
  color: var(--airy-ink);
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.group-buy-destination-meta {
  margin: 0;
  color: var(--airy-brand);
  font-size: 15px;
  font-weight: 700;
}
.group-buy-destination-calendar,
.group-buy-destination-guide,
.group-buy-destination-products {
  display: grid;
  gap: 20px;
  min-width: 0;
  scroll-margin-top: 112px;
}
.group-buy-destination-heading {
  display: grid;
  gap: 6px;
  max-width: 760px;
}
.group-buy-destination-heading > span {
  color: var(--airy-brand);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.group-buy-destination-heading h2 {
  margin: 0;
  color: var(--airy-ink);
  font-size: clamp(22px, 2.6vw, 30px);
  letter-spacing: -0.03em;
  line-height: 1.25;
  word-break: keep-all;
}
.group-buy-destination-heading p {
  margin: 0;
  color: var(--airy-muted);
  font-size: 14px;
  line-height: 1.65;
}
.group-buy-destination-calendar-card {
  margin: 0;
  min-width: 0;
  border: 0;
  padding: 0;
}
.group-buy-destination-calendar-card .public-calendar {
  max-width: 720px;
}
.group-buy-destination-options {
  min-width: 0;
}
.group-buy-destination-status {
  margin: 0;
  padding: 18px 0;
  color: var(--airy-muted);
  font-size: 14px;
}
.group-buy-destination-note {
  margin: 0;
  color: var(--airy-muted);
  font-size: 13px;
  line-height: 1.6;
}
.group-buy-destination-guide {
  padding-top: 8px;
  border-top: 1px solid var(--airy-line);
}
.group-buy-destination-guide > [data-product-content=true] {
  max-width: 820px;
}
.group-buy-destination-more {
  display: flex;
  justify-content: center;
  padding-top: 8px;
}
.group-buy-destinations {
  padding: 36px max(24px, calc((100vw - 1240px) / 2)) 0;
}
.group-buy-destinations-heading {
  display: grid;
  gap: 6px;
  max-width: 820px;
  margin-bottom: 22px;
}
.group-buy-destinations-heading h2 {
  margin: 0;
  color: var(--airy-ink);
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -0.03em;
  line-height: 1.2;
}
.group-buy-destinations-heading .section-lead {
  margin: 0;
}
.group-buy-destination-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.group-buy-destination-card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--airy-line);
  border-radius: 14px;
  background: var(--airy-paper);
  color: inherit;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}
.group-buy-destination-card:hover {
  border-color: var(--airy-ink);
  transform: translateY(-2px);
}
.group-buy-destination-card-media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 11;
  background: var(--airy-soft);
}
.group-buy-destination-card-media picture,
.group-buy-destination-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.group-buy-destination-card-body {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 16px;
  min-width: 0;
}
.group-buy-destination-card-period {
  color: var(--airy-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.group-buy-destination-card-title {
  color: var(--airy-ink);
  font-size: 18px;
  letter-spacing: -0.02em;
  line-height: 1.35;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.group-buy-destination-card-summary {
  display: -webkit-box;
  overflow: hidden;
  color: var(--airy-muted);
  font-size: 13px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.group-buy-destination-card-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
  color: var(--airy-muted);
  font-size: 12px;
}
.group-buy-destination-card-meta b {
  color: var(--airy-ink);
  font-size: 15px;
  white-space: nowrap;
}
.product-destination-back {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  max-width: 1248px;
  margin: 8px auto 0;
  padding: 0 24px;
  color: var(--airy-muted);
  font-size: 13px;
}
.product-destination-back a {
  color: var(--airy-brand);
  font-weight: 700;
  text-decoration: none;
}
.product-destination-back a:hover {
  text-decoration: underline;
}
@media (max-width: 1100px) {
  .group-buy-destination-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .group-buy-destination-page {
    padding-bottom: 64px;
  }
  .group-buy-destination-page .catalog-breadcrumbs,
  .product-destination-back {
    padding-left: 16px;
    padding-right: 16px;
  }
  .group-buy-destination {
    gap: 40px;
    padding: 16px 16px 0;
  }
  .group-buy-destination-hero {
    aspect-ratio: 4 / 3;
    min-height: 0;
    border-radius: 12px;
  }
  .group-buy-destination-intro h1 {
    font-size: 30px;
  }
  .group-buy-destination-summary {
    font-size: 15px;
  }
  .group-buy-destination-facts {
    gap: 12px 20px;
  }
  .group-buy-destinations {
    padding: 28px 16px 0;
  }
  .group-buy-destination-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .group-buy-destination-card {
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-rows: auto;
  }
  .group-buy-destination-card-media {
    aspect-ratio: auto;
    height: 100%;
    min-height: 132px;
  }
  .group-buy-destination-card-body {
    padding: 13px;
  }
  .group-buy-destination-card-title {
    font-size: 16px;
  }
  .group-buy-destination-card-summary {
    -webkit-line-clamp: 2;
  }
}
@media (prefers-reduced-motion: reduce) {
  .group-buy-destination-card {
    transition: none;
  }
}

/* php-app/frontend/src/static-pages.css */
.s3pa-bootstrap-empty,
.s3pa-route-not-found {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: clamp(80px, 14vw, 160px) 24px;
}
.s3pa-bootstrap-empty h1,
.s3pa-route-not-found h1,
.s3pa-route-not-ready h1 {
  max-width: 18ch;
  margin: 12px 0 18px;
  font-size: clamp(34px, 6vw, 68px);
  line-height: 1.12;
  letter-spacing: -0.06em;
}
.s3pa-bootstrap-empty p:not(.eyebrow),
.s3pa-route-not-found p:not(.eyebrow),
.s3pa-route-not-ready p:not(.eyebrow) {
  max-width: 54ch;
  color: var(--muted, #60736e);
}
.s3pa-route-not-ready {
  max-width: 760px;
}

/* php-app/frontend/src/public-appearance.css */
@media (min-width: 761px) {
  html[data-header-layout=immersive] .site-header .site-nav {
    margin-left: auto;
  }
  html[data-header-layout=immersive] .site-header .header-actions {
    margin-left: 18px;
  }
}
html[data-public-theme=light] {
  color-scheme: light;
  --public-page: #fff;
  --public-surface: #fff;
  --public-subtle: #fafafa;
  --public-heading: #252525;
  --public-body: #454545;
  --public-muted: #666;
  --public-line: #e2e2e2;
}
html[data-public-theme=light] body {
  background: #fff;
  color: var(--public-body);
}
html[data-public-theme=light] :is(.booking-lookup-page, .booking-customer-page) {
  --public-page: #fff;
  --public-surface: #fff;
  --public-subtle: #fafafa;
  --public-heading: #252525;
  --public-body: #454545;
  --public-muted: #666;
  --public-line: #e2e2e2;
}
html[data-public-theme=light] .site-header {
  background: rgba(255, 255, 255, .97);
  border-bottom-color: #ededed;
  color: var(--public-heading);
}
html[data-public-theme=light] :is(.site-nav, .header-actions, .header-cta, .header-icon) {
  color: #454545;
}
html[data-public-theme=light] :is(.site-mobile-menu, .site-nav-dropdown) {
  background: #fff;
  color: #252525;
}
html[data-public-theme=light] :is(.site-mobile-menu a, .site-nav-dropdown a) {
  color: #252525;
}
html[data-public-theme=light] :is(input, select, textarea) {
  color: #252525;
  border-color: #c9cfd5;
}
html[data-public-theme=light] :is(input, textarea)::placeholder {
  color: #666;
  opacity: 1;
}
html[data-public-theme=light] :is(.catalog-search-note small, .product-kakao-callout small) {
  color: #666;
}
html[data-public-theme=light] :is(.catalog-route-status, .cms-card, .cms-empty, .cms-state, .cms-public-search input, .cms-search-grid input, .cms-search-grid select) {
  background: #fff;
  border-color: #e2e2e2;
}
html[data-public-theme=light] .cms-state[role=alert] {
  border-color: #dca8a2;
  background: #fff8f7;
}
html[data-public-theme=light] .cms-cancellation-status {
  border-color: #d9b477;
  background: #fffaf1;
}
html[data-public-theme=light] .booking-form :is(input:read-only, input:disabled, select:disabled, textarea:disabled) {
  background: #f2f4f4;
}
html[data-public-theme=light] :is(.booking-guidance-panel, .booking-action-notice) {
  border-color: #d5e2f0;
  background: #f5f8fc;
  color: #405b73;
}
html[data-public-theme=light] .booking-action-notice--success {
  border-color: #c8dfcf;
  background: #f2f8f3;
  color: #356044;
}
html[data-public-theme=light] .booking-action-notice--error {
  border-color: #efd3c9;
  background: #fff5f1;
  color: #8a3b27;
}
html[data-public-theme=light] .booking-danger-button {
  border-color: #cfa49d;
  background: #fff8f6;
  color: #a33a2b;
}
html[data-public-theme=light] .booking-status-pill--accent {
  background: #eaf2ff;
  color: var(--public-primary);
}
html[data-public-theme=light] .booking-status-pill--neutral {
  background: #f2f4f4;
  color: #5f6b68;
}
