/* #region zone:disaster.preparedness-style — รูปแบบหน้าบ้านและโซนรับคำเตือน */
.preparedness-dialog {
  box-sizing: border-box;
  --u-dialog-width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: hidden; /* the shell never scrolls: only .dialog-body does, under the fixed header */
  padding: var(--u-space-5);
  border: 1px solid var(--card-line);
  border-radius: var(--u-radius-dialog);
  background: var(--glass-strong);
  color: var(--text);
  box-shadow: var(--u-shadow-overlay);
  font: var(--u-body)/1.55 var(--font);
}
.preparedness-dialog[open] {
  display: flex;
  flex-direction: column;
}
.preparedness-dialog header {
  flex-shrink: 0;
}
/* Scrolling body: a thin rounded scrollbar inside the card, a fade only at an edge that hides content,
   the native overlay bar on touch. Mirrors the shared rule in desk-tokens.css (zone desk.ui.dialog-scroll). */
.preparedness-dialog .dialog-body {
  --dlg-bg: var(--glass-strong);
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  margin-inline-end: -16px;
  padding-inline-end: var(--u-space-2);
  background:
    linear-gradient(var(--dlg-bg) 30%, transparent) top / 100% 28px no-repeat local,
    linear-gradient(transparent, var(--dlg-bg) 70%) bottom / 100% 28px no-repeat local,
    radial-gradient(farthest-side at 50% 0, rgb(0 0 0 / 0.18), transparent) top / 100% 14px no-repeat scroll,
    radial-gradient(farthest-side at 50% 100%, rgb(0 0 0 / 0.18), transparent) bottom / 100% 14px no-repeat
      scroll;
}
@media (hover: none), (pointer: coarse) {
  .preparedness-dialog .dialog-body {
    margin-inline-end: 0;
    padding-inline-end: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .preparedness-dialog .dialog-body::-webkit-scrollbar {
    width: 8px;
  }
  .preparedness-dialog .dialog-body::-webkit-scrollbar-thumb {
    background: #5f7f8f66;
    border: 1px solid transparent;
    border-radius: var(--u-radius-pill);
    background-clip: padding-box;
  }
  .preparedness-dialog .dialog-body::-webkit-scrollbar-thumb:hover {
    background: #5f7f8fb3;
    background-clip: padding-box;
  }
  .preparedness-dialog .dialog-body::-webkit-scrollbar-button {
    display: none;
  }
}
.preparedness-dialog::backdrop {
  background: var(--u-scrim);
  backdrop-filter: blur(5px);
}
.preparedness-dialog header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: var(--u-space-3);
}
.preparedness-dialog h2 {
  margin: 0;
  font-size: var(--u-text-xl);
  letter-spacing: -0.4px;
}
.preparedness-dialog small,
.preparedness-note {
  color: var(--muted);
  font-size: var(--u-text-xs);
}
.preparedness-dialog h3 {
  font-size: var(--u-body);
  margin: 0 0 10px;
}
.preparedness-intro {
  margin: var(--u-space-2) 0 var(--u-space-4);
  color: var(--muted);
}
.preparedness-mode {
  background: #8066b218;
  color: var(--text);
  padding: 9px var(--u-space-3);
  border-radius: 10px;
  margin-bottom: var(--u-space-4);
  font-weight: 600;
}
.preparedness-dialog label:not(.ui-option-search) {
  display: block;
  margin: var(--u-space-3) 0;
}
.preparedness-field {
  margin: var(--u-space-3) 0;
}
.preparedness-field label:not(.ui-option-search) {
  margin: 0 0 6px;
}
.preparedness-dialog input:not([type='checkbox'], [type='hidden'], [type='search']),
.preparedness-dialog select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  border: 1px solid var(--card-line);
  background: var(--card);
  color: var(--text);
  padding: 11px;
  border-radius: 10px;
  font: inherit;
}
.preparedness-dialog button:not(.ui-control-trigger, .ui-select-option),
.preparedness-pick button {
  min-height: 40px;
  border: 1px solid var(--card-line);
  border-radius: 10px;
  padding: var(--u-space-2) 13px;
  background: var(--card);
  color: var(--text);
  font: inherit;
  cursor: pointer;
}
.preparedness-dialog button.primary {
  background: var(--accent);
  color: var(--on-accent);
}
.preparedness-dialog button:disabled {
  opacity: 0.5;
  cursor: wait;
}
.preparedness-dialog :is(button, input, select):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.preparedness-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--u-space-2);
  margin: 10px 0;
}
.preparedness-dialog .preparedness-consent {
  display: flex;
  gap: 10px;
  align-items: start;
}
.preparedness-consent input {
  margin-top: 7px;
  accent-color: var(--accent);
}
.preparedness-test {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--card-line);
}
.preparedness-dialog [data-result] {
  margin-top: var(--u-space-4);
  border: 1px solid #8066b266;
  border-radius: 14px;
  padding: 14px;
  background: #8066b210;
}
.preparedness-dialog [data-result] p:first-child {
  font-weight: 700;
}
.preparedness-dialog [data-message] {
  margin-bottom: calc(var(--sheet-space) * 1.5);
  color: var(--muted);
}
.preparedness-pick {
  position: fixed;
  z-index: 50;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100vw - 32px);
  padding: 10px 14px;
  border: 1px solid var(--card-line);
  background: var(--glass-strong);
  color: var(--text);
  border-radius: 14px;
  box-shadow: 0 8px 24px #102c3d30;
  display: flex;
  gap: var(--u-space-3);
  align-items: center;
  font: 13px var(--font);
}
.preparedness-pick[hidden] {
  display: none;
}
@media (max-width: 820px) {
  /* #region zone:disaster.preparedness-style.touch — พื้นที่แตะในหน้าต่างและช่องค้นหาสถานีบนมือถือ */
  .preparedness-dialog :is(button, input:not([type='checkbox'], [type='hidden'])),
  .preparedness-dialog .preparedness-consent {
    min-height: var(--tap-min);
  }
  .preparedness-dialog button {
    min-width: var(--tap-min);
  }
  /* #endregion */
  #preparedness-open {
    position: absolute;
    top: 56px;
    left: 12px;
    font-size: var(--u-text-xs);
    padding: 7px 10px;
  }
  .preparedness-dialog {
    padding: 18px;
  }
  .preparedness-pick {
    top: 108px;
  }
}
/* #endregion */
