/* พื้นที่แจ้งเตือนด้านบน — โหลดหลัง main.css เพื่อใช้ตัวแปรธีม */

.page-alerts {
  width: 100%;
  margin-bottom: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.page-alerts:has(> .page-alerts__flash:empty):not(:has(.page-alerts__session)) {
  display: none;
  margin-bottom: 0;
}

.page-alerts__flash:empty {
  display: none;
}

.page-alerts__session.session-bar {
  margin-bottom: 0;
}

.flash {
  padding: 0.65rem 0.85rem;
  border-radius: 8px;
  margin-bottom: 0.85rem;
  font-size: 0.9rem;
}

.page-alerts__flash .flash {
  margin-bottom: 0;
}

.flash-success {
  background: var(--flash-success-bg);
  border: 1px solid var(--flash-success-border);
  color: var(--flash-success-text);
}

.flash-error {
  background: var(--flash-error-bg);
  border: 1px solid var(--flash-error-border);
  color: var(--flash-error-text);
}

.flash-warn {
  background: var(--flash-warn-bg);
  border: 1px solid var(--flash-warn-border);
  color: var(--flash-warn-text);
}

/* แจ้งเตือนแบบ toast — มุมขวาล่างจอ (ทุกหน้าที่ใช้ #flashBox) */
#flashBox.page-alerts__flash {
  position: fixed;
  bottom: max(1rem, env(safe-area-inset-bottom));
  right: max(1rem, env(safe-area-inset-right));
  left: auto;
  top: auto;
  width: min(22rem, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  z-index: 350;
  margin: 0;
  box-sizing: border-box;
}

#flashBox.page-alerts__flash .flash {
  box-shadow: var(--shadow-md);
}
