/**
 * System Dialog / Prompt Override — Academic Glassmorphism
 * Targets Discuz showDialog / showWindow popups and common prompt boxes
 */

/* —— Variables (fallback if global-variables not loaded) —— */
.dialog-academic-override {
  --dialog-bg: #F8FAFC;
  --dialog-border: rgba(148, 163, 184, 0.35);
  --dialog-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.2);
  --dialog-radius: 16px;
  --dialog-primary: #6366F1;
  --dialog-primary-hover: #4F46E5;
  --dialog-gradient: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);
  --dialog-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --dialog-text: #1E293B;
  --dialog-muted: #64748B;
  --mask-bg: rgba(15, 23, 42, 0.45);
}

/* —— showDialog() popup: .fwinmask + table.fwin (Discuz native) —— */
.fwinmask,
#fwin_dialog.fwinmask,
div.fwinmask {
  font-family: var(--dialog-font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  z-index: 10002 !important;
}

.fwinmask .fwin,
#fwin_dialog .fwin,
table.fwin {
  font-family: var(--dialog-font, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
  background: var(--dialog-bg, #F8FAFC) !important;
  border: 1px solid var(--dialog-border, rgba(148, 163, 184, 0.35)) !important;
  border-radius: var(--dialog-radius, 16px) !important;
  box-shadow: var(--dialog-shadow, 0 25px 50px -12px rgba(0, 0, 0, 0.2)) !important;
  border-collapse: collapse !important;
  overflow: hidden !important;
  min-width: 320px !important;
  max-width: 90vw !important;
}

.fwinmask .fwin td,
#fwin_dialog .fwin td,
table.fwin td {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  vertical-align: top !important;
}

.fwinmask .fwin .m_c,
#fwin_dialog .fwin .m_c,
table.fwin .m_c {
  padding: 0 !important;
  background: var(--dialog-bg, #F8FAFC) !important;
  color: var(--dialog-text, #1E293B) !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}

/* Title bar (flb) */
.fwinmask .fwin .flb,
#fwin_dialog .fwin .flb,
table.fwin .flb {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 1rem 1.25rem !important;
  background: rgba(248, 250, 252, 0.98) !important;
  border-bottom: 1px solid var(--dialog-border, rgba(148, 163, 184, 0.35)) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: var(--dialog-text, #1E293B) !important;
}

.fwinmask .fwin .flb em,
#fwin_dialog .fwin .flb em,
table.fwin .flb em {
  font-style: normal !important;
  font-weight: 600 !important;
  color: var(--dialog-text, #1E293B) !important;
}

/* Content area (text below title in .m_c) */
.fwinmask .fwin .m_c,
#fwin_dialog .fwin .m_c {
  padding: 1.25rem 1.5rem !important;
  color: var(--dialog-text, #1E293B) !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}

/* Title bar: ensure close container is visible */
.fwinmask .fwin .flb span,
#fwin_dialog .fwin .flb span,
table.fwin .flb span {
  display: inline-block !important;
  visibility: visible !important;
  margin-left: auto !important;
}

/* Close button (flbc) — must be visible and clickable */
.fwinmask .fwin .flbc,
#fwin_dialog .fwin .flbc,
#fwin_dialog_close,
table.fwin .flbc,
a.flbc {
  display: inline-block !important;
  visibility: visible !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 2 !important;
  min-width: 48px !important;
  min-height: 32px !important;
  line-height: 32px !important;
  background: transparent !important;
  border: none !important;
  color: var(--dialog-muted, #64748B) !important;
  font-size: 0.875rem !important;
  text-decoration: none !important;
  padding: 0 0.75rem !important;
  border-radius: 6px !important;
  transition: color 0.2s ease, background 0.2s ease !important;
  box-sizing: border-box !important;
}

.fwinmask .fwin .flbc:hover,
#fwin_dialog .fwin .flbc:hover,
#fwin_dialog_close:hover,
table.fwin .flbc:hover,
a.flbc:hover {
  color: var(--dialog-primary, #6366F1) !important;
  background: rgba(99, 102, 241, 0.08) !important;
}

/* Dialog above mask */
.fwinmask,
#fwin_dialog.fwinmask,
div.fwinmask {
  z-index: 10002 !important;
}

/* Injected fallback Close button */
#fwin_dialog .dialog-close-fallback,
.fwinmask .dialog-close-fallback {
  display: block !important;
  visibility: visible !important;
  margin: 1rem 0 0 auto !important;
  padding: 0.5rem 1rem !important;
  cursor: pointer !important;
  background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.35) !important;
}

#fwin_dialog .dialog-close-fallback:hover,
.fwinmask .dialog-close-fallback:hover {
  filter: brightness(1.05) !important;
}

/* Corner/edge cells: no skin images, transparent */
.fwinmask .fwin .t_l,
.fwinmask .fwin .t_c,
.fwinmask .fwin .t_r,
.fwinmask .fwin .m_l,
.fwinmask .fwin .m_r,
.fwinmask .fwin .b_l,
.fwinmask .fwin .b_c,
.fwinmask .fwin .b_r,
#fwin_dialog .fwin .t_l,
#fwin_dialog .fwin .t_c,
#fwin_dialog .fwin .t_r,
#fwin_dialog .fwin .m_l,
#fwin_dialog .fwin .m_r,
#fwin_dialog .fwin .b_l,
#fwin_dialog .fwin .b_c,
#fwin_dialog .fwin .b_r {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  padding: 0 !important;
}

/* —— Mask / overlay (Discuz often uses #fwin_mask or similar) —— */
#fwin_mask,
#fwin_dialog_mask,
.dialog_mask,
[id$="_mask"] {
  background: var(--mask-bg, rgba(15, 23, 42, 0.45)) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* —— Dialog window (Discuz: #fwin_content_* or wrapper table/div) —— */
#fwin_content_login,
#fwin_content_*,
[id^="fwin_content_"],
.p_pop.p_opt,
.p_pof .p_pop,
table.p_pop {
  font-family: var(--dialog-font) !important;
  background: var(--dialog-bg) !important;
  border: 1px solid var(--dialog-border) !important;
  border-radius: var(--dialog-radius) !important;
  box-shadow: var(--dialog-shadow) !important;
  padding: 0 !important;
  overflow: hidden;
}

/* Dialog inner content area */
#fwin_content_login .c,
#fwin_content_login .p_c,
[id^="fwin_content_"] .p_c,
.p_pop .p_c,
.p_pop td {
  background: transparent !important;
  color: var(--dialog-text) !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  padding: 1.25rem 1.5rem !important;
  border: none !important;
}

/* Dialog title / header */
#fwin_content_login .p_opt,
[id^="fwin_content_"] .p_opt,
.p_pop .p_opt {
  background: rgba(248, 250, 252, 0.95) !important;
  border-bottom: 1px solid var(--dialog-border) !important;
  padding: 1rem 1.5rem !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: var(--dialog-text) !important;
}

/* Message text (succeedbox / showmsg / info) */
.succeedbox,
.showmsg,
.p_pop .xi2,
#fwin_content_login .xi2 {
  color: var(--dialog-text) !important;
  font-size: 0.9375rem !important;
}

/* Buttons area */
.p_pop .pns,
.p_pop .pn,
#fwin_content_login .pns,
[id^="fwin_content_"] .pns {
  padding: 1rem 1.5rem !important;
  border-top: 1px solid var(--dialog-border) !important;
  background: rgba(248, 250, 252, 0.8) !important;
  gap: 0.75rem;
}

/* Primary button (e.g. OK, Submit) */
.p_pop .pn.pnc,
.p_pop .pns .pnc,
#fwin_content_login .pnc,
.p_pop button.pnc,
.p_pop .pn:last-child {
  background: var(--dialog-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 0.5rem 1.25rem !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.35) !important;
}
.p_pop .pn.pnc:hover,
.p_pop .pns .pnc:hover,
#fwin_content_login .pnc:hover {
  filter: brightness(1.05);
}

/* Secondary button (e.g. Cancel) */
.p_pop .pn:not(.pnc),
#fwin_content_login .pn:not(.pnc) {
  background: #F1F5F9 !important;
  color: var(--dialog-muted) !important;
  border: 1px solid var(--dialog-border) !important;
  border-radius: 10px !important;
  padding: 0.5rem 1.25rem !important;
  font-size: 0.875rem !important;
}
.p_pop .pn:not(.pnc):hover {
  background: #E2E8F0 !important;
  color: var(--dialog-text) !important;
}

/* Close button / X */
.p_pop .pn.pnz,
.p_pop a[title="Close"],
#fwin_content_login .pnz {
  background: transparent !important;
  border: none !important;
  color: var(--dialog-muted) !important;
}
.p_pop .pn.pnz:hover,
#fwin_content_login .pnz:hover {
  color: var(--dialog-primary) !important;
}

/* Info/success message box (showDialog type=info) */
#fwin_content_* .succeedbox,
.showmsg.succeedbox {
  padding: 1rem 1.25rem !important;
  border-radius: 10px !important;
  background: rgba(99, 102, 241, 0.08) !important;
  border: 1px solid rgba(99, 102, 241, 0.2) !important;
  color: var(--dialog-text) !important;
}
