#wmc-functions-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 28px 0 0;
  padding: 24px;
  border: 1px solid #d8e2ed;
  border-radius: 16px;
  background: linear-gradient(120deg, #fff, #eef7ff);
  color: #001733;
  font-family: 'Nunito', sans-serif;
}
#wmc-functions-cta strong { font-size: 20px; }
#wmc-functions-cta p { margin: 8px 0 0; font-size: 15px; line-height: 1.5; }
#wmc-functions-open {
  padding: 14px 22px;
  border: 0;
  border-radius: 10px;
  background: #176cbd;
  color: #fff;
  font: 700 16px 'Nunito', sans-serif;
  cursor: pointer;
  flex-shrink: 0;
}
#wmc-functions-dialog {
  box-sizing: border-box;
  width: min(1180px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 28px;
  border: 1px solid #d8e2ed;
  border-radius: 20px;
  background: #fff;
  color: #001733;
  font: 15px/1.5 'Nunito', sans-serif;
  box-shadow: 0 24px 80px #00173340;
  overflow: auto;
}
#wmc-functions-dialog::backdrop { background: #00173399; }
body.wfn-open { overflow: hidden; }
#wmc-functions-dialog .wfn-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
#wmc-functions-dialog h2 { margin: 4px 0 16px; padding: 0; color: #001733; font: 700 30px/1.2 'Nunito', sans-serif; text-align: left; }
#wmc-functions-dialog .wfn-kicker { font-size: 11px; letter-spacing: 0.15em; color: #176cbd; }
#wmc-functions-close { align-self: flex-start; padding: 9px 14px; border: 1px solid #d8e2ed; border-radius: 8px; background: #fff; color: #001733; font: inherit; cursor: pointer; }
#wmc-functions-dialog .wfn-explainer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#wmc-functions-dialog .wfn-explainer p { margin: 0; padding: 14px; border-radius: 10px; background: #f5f8fc; }
#wmc-functions-dialog .wfn-explainer span { display: block; margin-top: 6px; font-size: 13px; color: #536780; }
#wmc-functions-dialog .wfn-filters { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 22px; }
#wmc-functions-dialog .wfn-filters label { flex: 1; min-width: 220px; font-size: 13px; }
#wmc-functions-dialog input, #wmc-functions-dialog select { box-sizing: border-box; width: 100%; margin-top: 6px; padding: 12px; border: 1px solid #c9d7e6; border-radius: 8px; background: #fff; color: #001733; font: inherit; }
#wmc-functions-dialog :focus-visible, #wmc-functions-open:focus-visible { outline: 3px solid #1296ef; outline-offset: 3px; }
#wmc-functions-status { margin: 14px 0; font-size: 13px; color: #536780; }
#wmc-functions-dialog .wfn-table { width: 100%; border-collapse: collapse; font-size: 13px; }
#wmc-functions-dialog caption { text-align: left; padding-bottom: 10px; font-weight: 700; }
#wmc-functions-dialog th, #wmc-functions-dialog td { padding: 12px 8px; border-bottom: 1px solid #e4eaf2; text-align: center; }
#wmc-functions-dialog thead th { background: #f5f8fc; }
#wmc-functions-dialog tbody th { text-align: left; font-weight: 600; }
#wmc-functions-dialog .wfn-number { color: #536780; font-weight: 400; margin-right: 8px; }
#wmc-functions-dialog .wfn-yes { display: inline-block; padding: 3px 10px; border-radius: 6px; background: #e4f7ef; color: #076b51; font-weight: 700; }
#wmc-functions-dialog .wfn-no { color: #69778b; }
#wmc-functions-dialog .wfn-note { margin: 22px 0 0; font-size: 12px; color: #536780; }
#wmc-functions-dialog a { color: #176cbd; text-decoration: underline; }
@media (max-width: 650px) {
  #wmc-functions-cta { flex-direction: column; align-items: stretch; padding: 18px; gap: 16px; }
  #wmc-functions-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); padding: 16px; border-radius: 14px; }
  #wmc-functions-dialog h2 { font-size: 24px; }
  #wmc-functions-dialog .wfn-explainer { grid-template-columns: 1fr; gap: 8px; }
  #wmc-functions-dialog .wfn-filters label { min-width: 100%; }
  #wmc-functions-dialog thead { display: none; }
  #wmc-functions-dialog tbody { display: block; }
  #wmc-functions-dialog tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 14px 0; border-bottom: 1px solid #d8e2ed; }
  #wmc-functions-dialog tbody th { grid-column: 1 / -1; padding: 0 0 4px; font-size: 15px; border: 0; }
  #wmc-functions-dialog td { display: flex; flex-direction: column; align-items: flex-start; padding: 0; border: 0; text-align: left; }
  #wmc-functions-dialog td::before { content: attr(data-label); color: #536780; font-size: 11px; margin-bottom: 4px; }
}
