.mfa-kontaktieren-btn {
  border: 1px solid #5486B1;
  background: #5486B1;
  color: #fff;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 600;
}

.mfa-kontaktieren-btn.is-busy {
  opacity: .7;
  cursor: wait;
}

.mfa-kontaktieren-btn.is-done {
  background: #034AA6;
  border-color: #034AA6;
}

.mfa-afb-reset-btn {
  border: 1px solid #f25252;
  background: #f25252;
  color: #fff !important;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 600;
  line-height: 1.35;
  box-shadow: none;
  text-shadow: none;
  text-transform: none;
}

.mfa-afb-reset-btn:hover {
  border-color: #d63f3f;
  background: #d63f3f;
  color: #fff !important;
}

.mfa-afb-reset-btn:focus-visible {
  outline: 2px solid #034aa6;
  outline-offset: 2px;
}

.mfaRem3x {
  max-width: 1920px;
  margin: 0 auto;
}

.mfaRem3x__head {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 0 10px 0;
}

.mfaRem3x__title {
  font-size: 18px;
  margin: 0;
  color: #0D0D0D
}

.mfaRem3x__hint {
  font-size: 12px;
  color: #333;
  margin: 0
}

.mfaRem3x table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e6ecf5;
  border-radius: 10px;
  overflow: hidden
}

.mfaRem3x th,
.mfaRem3x td {
  padding: 10px 10px;
  border-bottom: 1px solid #e6ecf5;
  vertical-align: top;
  font-size: 14px
}

.mfaRem3x th {
  background: #f5f7fb;
  text-align: left;
  font-weight: 700
}

.mfaRem3x tr:last-child td {
  border-bottom: none
}

.mfaPill {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #5486B1;
  background: #f5f7fb;
  font-size: 12px
}

.mfaMono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.mfaSmall {
  font-size: 12px;
  color: #333
}

/* MFA – Au Pair suggestion badges (compact)
 * Created: 2026-04-17
 */
.mfa-ap-badges{
  display: flex;
  gap: 10px;
  align-items: baseline;
  flex-wrap: wrap;
}

.mfa-ap-badge{
  display: inline;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.25;
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
}

.mfa-ap-badge--sent{
  color: #5486B1;
}

.mfa-ap-badge--ignored{
  color: #F25252;
}

.mfa-ap-badges--error{
  color: #b91c1c;
  font-weight: 700;
}

.mfa-ap-badge--sent[data-au-pair-id]{
  cursor: pointer;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.mfa-ap-badges-modal{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
}

.mfa-ap-badges-modal.is-open{
  display: block;
}

.mfa-ap-badges-modal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}

.mfa-ap-badges-modal__panel{
  position: absolute;
  top: 10vh;
  left: 50%;
  transform: translateX(-50%);
  width: min(720px, calc(100vw - 24px));
  max-height: 78vh;
  overflow: auto;
  background: #fff;
  border-radius: 14px;
  border: 1px solid rgba(13,13,13,.12);
  box-shadow: 0 12px 32px rgba(0,0,0,.25);
}

.mfa-ap-badges-modal__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #e7edf3;
  background: #f9fbfe;
}

.mfa-ap-badges-modal__title{
  font-weight: 800;
  color: #0D0D0D;
}

.mfa-ap-badges-modal__close{
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 10px;
}

.mfa-ap-badges-modal__close:hover{
  background: rgba(84, 134, 177, 0.10);
}

.mfa-ap-badges-modal__body{
  padding: 12px 14px 14px;
}

.mfa-ap-badges-modal__loading,
.mfa-ap-badges-modal-empty{
  padding: 12px 14px;
  border-radius: 12px;
  background: #f7f9fc;
  border: 1px solid #e4e8ee;
  color: #333;
  font-size: 14px;
}

.mfa-ap-badges-modal-list{
  display: grid;
  gap: 10px;
}

.mfa-ap-badges-modal-row{
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #e4e8ee;
  border-radius: 12px;
  background: #fff;
}

.mfa-ap-badges-modal-name{
  font-weight: 700;
  color: #0D0D0D;
}

.mfa-ap-badges-modal-date{
  font-size: 13px;
  color: #333;
  white-space: nowrap;
}

.mfa-ap-badges-modal-action{
  white-space: nowrap;
  align-self: center;
}

.mfa-ap-badges-modal-link{
  color: #034AA6;
  font-weight: 700;
  text-decoration: none;
}

.mfa-ap-badges-modal-link:hover{
  text-decoration: underline;
}

/* Austria candidates shortcode */
.mfa-austria-wrap {
  overflow: auto
}

.mfa-austria-table {
  width: 100%;
  border-collapse: collapse
}

.mfa-austria-table th,
.mfa-austria-table td {
  border: 1px solid #ddd;
  padding: 8px;
  vertical-align: top
}

.mfa-austria-table th {
  background: #f7f7f7;
  position: sticky;
  top: 0;
  z-index: 2
}

.mfa-austria-table .mfa-col-collapse {
  width: 0;
  padding: 0
}

.mfa-austria-table .mfa-sortable {
  cursor: pointer
}

.mfa-ap-status-msg {
  display: none;
  margin-top: 6px;
  font-size: 12px
}

.mfa-ap-status-msg.ok {
  color: #1a7f37
}

.mfa-ap-status-msg.err {
  color: #b42318
}

.mfa-ap-status-btn {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  color: #5788b3 !important;
  font-weight: 600 !important;
  cursor: pointer;
  font: inherit;
}

.mfa-ap-status-btn:hover {
  color: #135e96
}

.mfa-ap-status-btn:focus-visible {
  outline: 2px solid #2271b1;
  outline-offset: 2px
}

/* MFA – 2nd year Austria prospects
 * Created: 2026-03-02
*/

.mfaAp2At__filters {
  display: flex;
  gap: 8px;
  align-items: center;
}

.mfaAp2At__filters .mfaPill[aria-current="page"] {
  background: #5486B1;
  border-color: #5486B1;
  color: #fff;
}

/* Re-use table base from your existing .mfa-austria-table styles */
.mfaAp2At .mfaAp2AtMsg {
  margin-left: 10px;
}

/* MFA – Matches list (Form 15) */
.mfa-ml-wrap {
  overflow: auto;
}

.mfa-ml-counter {
  margin: 6px 0 10px 0;
}

.mfa-ml-table {
  width: 100%;
  table-layout: fixed;
}

.mfa-ml-table th,
.mfa-ml-table td {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Compact non-name columns so Host/Au Pair get space
   Column order:
   1 bearbeiten, 2 datum, 3 host, 4 au pair, 5 nat, 6 agency, 7 start, 8 end,
   9 insurance, 10 rematch, 11 beendet, 12 visa, 13 rechnung
*/
.mfa-ml-table th:nth-child(1),
.mfa-ml-table td:nth-child(1) { width: 95px; }
.mfa-ml-table th:nth-child(2),
.mfa-ml-table td:nth-child(2) { width: 95px; }
.mfa-ml-table th:nth-child(5),
.mfa-ml-table td:nth-child(5) { width: 140px; }
.mfa-ml-table th:nth-child(6),
.mfa-ml-table td:nth-child(6) { width: 160px; }
.mfa-ml-table th:nth-child(7),
.mfa-ml-table td:nth-child(7) { width: 110px; }
.mfa-ml-table th:nth-child(8),
.mfa-ml-table td:nth-child(8) { width: 110px; }
.mfa-ml-table th:nth-child(9),
.mfa-ml-table td:nth-child(9) { width: 140px; }
.mfa-ml-table th:nth-child(10),
.mfa-ml-table td:nth-child(10) { width: 110px; }
.mfa-ml-table th:nth-child(11),
.mfa-ml-table td:nth-child(11) { width: 90px; }
.mfa-ml-table th:nth-child(12),
.mfa-ml-table td:nth-child(12) { width: 120px; }
.mfa-ml-table th:nth-child(13),
.mfa-ml-table td:nth-child(13) { width: 110px; }

.mfa-ml-table th.mfa-ml-col-host,
.mfa-ml-table td.mfa-ml-col-host {
  width: 350px;
  max-width: 350px;
  white-space: normal;
}

.mfa-ml-table td.mfa-ml-col-host a,
.mfa-ml-table td.mfa-ml-col-aupair a {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mfa-ml-table th.mfa-ml-col-aupair,
.mfa-ml-table td.mfa-ml-col-aupair {
  white-space: normal;
}

.mfa-ml-table td a {
  white-space: nowrap;
}

/* MFA – Visa denials table */
.mfa-dn-table {
  width: 100%;
  table-layout: auto;
}

.mfa-dn-table th,
.mfa-dn-table td {
  vertical-align: top;
}

.mfa-dn-table th.mfa-ml-col-host,
.mfa-dn-table td.mfa-ml-col-host,
.mfa-dn-table th.mfa-ml-col-aupair,
.mfa-dn-table td.mfa-ml-col-aupair {
  white-space: nowrap;
  width: 1%;
}

.mfa-dn-table td.mfa-ml-col-host a,
.mfa-dn-table td.mfa-ml-col-aupair a {
  white-space: nowrap;
}

.mfa-dn-table th.mfa-dn-col-reasons,
.mfa-dn-table td.mfa-dn-col-reasons {
  white-space: normal;
  min-width: 12rem;
}

.mfa-dn-reasons-list {
  margin: 0;
  padding-left: 1.25em;
  list-style: disc;
}

.mfa-dn-reasons-list li {
  margin: 0.2em 0;
}

.mfa-dn-wrap .mfa-dcr-filters input[type="text"],
.mfa-dn-wrap .mfa-dcr-filters input[type="date"],
.mfa-dn-wrap .mfa-dcr-filters select {
  max-width: 100%;
}

/**
 * MFA – Au Pair Feedback CSS
 * Created: 2026-02-28
 */

.mfa-af-wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 16px;
}

.mfa-af-header {
  margin-bottom: 14px;
}

.mfa-af-title {
  font-size: 22px;
  font-weight: 800;
  color: #0D0D0D;
}

.mfa-af-sub {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.4;
  color: rgba(13, 13, 13, 0.75);
}

.mfa-af-card {
  background: #fff;
  border: 1px solid rgba(3, 74, 166, 0.12);
  border-radius: 14px;
  padding: 14px;
  margin: 12px 0;
  box-shadow: 0 6px 18px rgba(13, 13, 13, 0.06);
}

.mfa-af-h3 {
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 10px;
  color: #034AA6;
}

.mfa-af-field {
  margin: 12px 0;
}

.mfa-af-label {
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
  color: #0D0D0D;
}

.mfa-af-input,
.mfa-af-select,
.mfa-af-textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(13, 13, 13, 0.15);
  padding: 10px 12px;
  font-size: 16px;
  outline: none;
}

.mfa-af-textarea {
  resize: vertical;
}

.mfa-af-help {
  margin-top: 6px;
  font-size: 13px;
  color: rgba(13, 13, 13, 0.65);
}

.mfa-af-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

@media (max-width: 520px) {
  .mfa-af-split {
    grid-template-columns: 1fr;
  }
}

.mfa-af-radio-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

@media (max-width: 520px) {
  .mfa-af-radio-grid {
    grid-template-columns: 1fr;
  }
}

.mfa-af-radio,
.mfa-af-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(13, 13, 13, 0.12);
  border-radius: 12px;
  background: rgba(84, 134, 177, 0.06);
}

.mfa-af-checklist {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.mfa-af-checklist-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.mfa-af-checklist-group {
  border: 1px solid rgba(13, 13, 13, 0.1);
  border-radius: 12px;
  padding: 10px;
  background: rgba(84, 134, 177, 0.03);
}

.mfa-af-checklist-title {
  font-weight: 800;
  margin-bottom: 8px;
  color: #0D0D0D;
}

@media (max-width: 640px) {
  .mfa-af-checklist-split {
    grid-template-columns: 1fr;
  }
}

.mfa-af-scale {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.mfa-af-scale-item {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(13, 13, 13, 0.12);
  border-radius: 12px;
  padding: 10px 12px;
  min-width: 48px;
  background: rgba(84, 134, 177, 0.06);
}

.mfa-af-alert {
  border-radius: 14px;
  padding: 12px;
  border: 1px solid rgba(242, 82, 82, 0.28);
  background: rgba(242, 82, 82, 0.08);
  margin-top: 10px;
}

.mfa-af-alert-title {
  font-weight: 900;
  margin-bottom: 6px;
  color: #F25252;
}

.mfa-af-alert-text {
  font-size: 14px;
  color: rgba(13, 13, 13, 0.80);
}

.mfa-af-hidden {
  display: none;
}

.mfa-af-footer {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mfa-af-btn {
  width: 100%;
  border: none;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 16px;
  font-weight: 900;
  background: #034AA6;
  color: #fff;
  cursor: pointer;
}

.mfa-af-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.mfa-af-small {
  font-size: 13px;
  color: rgba(13, 13, 13, 0.70);
}

.mfa-af-note {
  margin-top: 8px;
  font-size: 13px;
  color: rgba(13, 13, 13, 0.65);
}

.mfa-af-check input:disabled+span {
  opacity: 0.5;
}

/* MFA – Au Pair Feedback (additions)
 * Created: 2026-03-04
 */

 .mfa-af-divider{
  height: 1px;
  background: rgba(3, 74, 166, 0.12);
  margin: 14px 0;
}

.mfa-af-confirm{
  margin-top: 10px;
}

.mfa-af-confirm input{
  transform: translateY(1px);
}

/* MFA - Deactivated candidates by recruiter
 * Created: 2026-03-23
 */
.mfa-dcr-wrap {
  display: block;
  margin: 24px 0;
}

.mfa-dcr-group {
  margin: 0 0 32px;
  background: #fff;
  border: 1px solid #d9e3ec;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
}

.mfa-dcr-heading {
  margin: 0;
  padding: 16px 20px;
  background: #034AA6;
  color: #fff;
  font-size: 18px;
  line-height: 1.3;
}

.mfa-dcr-count {
  font-weight: 400;
  opacity: .9;
}

.mfa-dcr-table-wrap {
  overflow-x: auto;
}

.mfa-dcr-table {
  min-width: 820px;
}

.mfa-dcr-table th,
.mfa-dcr-table td {
  padding: 12px 14px;
}

.mfa-dcr-table tbody tr:hover {
  background: #fafcff;
}

.mfa-dcr-badge {
  padding: 5px 10px;
  border: 0;
  font-weight: 700;
  line-height: 1;
}

.mfa-dcr-badge.is-matched {
  background: rgba(84, 134, 177, .14);
  color: #034AA6;
}

.mfa-dcr-badge.is-not-matched {
  background: rgba(242, 82, 82, .12);
  color: #F25252;
}

.mfa-dcr-edit-link {
  text-decoration: none;
}

.mfa-dcr-edit-link:hover {
  background: #034AA6;
  color: #fff;
}

.mfa-rec-report-empty {
  padding: 14px 16px;
  background: #f5f9fc;
  border: 1px solid #d9e3ec;
  border-radius: 12px;
}

.mfa-dcr-filters {
  padding: 14px 16px;
  border-bottom: 1px solid #e7edf3;
  background: #f9fbfe;
  margin-bottom: 14px;
}

.mfa-dcr-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
}

.mfa-dcr-filter-grid label span {
  display: block;
  font-size: 12px;
  color: #333;
  margin-bottom: 4px;
}

.mfa-dcr-filter-grid input,
.mfa-dcr-filter-grid select {
  width: 100%;
  border: 1px solid #d0dae5;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 14px;
  background: #fff;
}

.mfa-dcr-filter-actions {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.mfa-dcr-reset {
  color: #034AA6;
  text-decoration: none;
  font-weight: 600;
}

.mfa-dcr-reset:hover {
  text-decoration: underline;
}

/*
 * MFA – Au Pair quicklist (waiting / matched)
 * Created: 2026-04-27
 *
 * Uses the same filter layout classes as Germany candidates.
 */
.mfa-apql {
  color: #0D0D0D;
}

.mfa-apql__nameRow{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  line-height: 1.3;
}

.mfa-apql__tags{
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
}

.mfa-apql__email{
  font-size: 12px;
  font-weight: 400;
  color: #5486B1;
  text-decoration: none;
  word-break: break-all;
}

.mfa-apql__email:hover{
  text-decoration: underline;
  color: #034AA6;
}

.mfa-apql__tag{
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid #e4e8ee;
  background: #f7f9fc;
  color: #0D0D0D;
}

.mfa-apql__tag--Aktiv{
  border-color: rgba(84, 134, 177, 0.45);
  background: rgba(84, 134, 177, 0.10);
  color: #034AA6;
}
.mfa-apql__tag--Warteliste{
  border-color: rgba(242, 82, 82, 0.45);
  background: rgba(242, 82, 82, 0.10);
  color: #F25252;
}
.mfa-apql__tag--Neu{
  border-color: rgba(245, 158, 11, 0.55);
  background: rgba(245, 158, 11, 0.10);
  color: #b45309;
}
.mfa-apql__tag--Inaktiv{
  background: rgba(13,13,13,0.08);
  color: #555;
}
.mfa-apql__tag--NurAdmin{
  background: rgba(84,134,177,0.15);
  color: #034AA6;
}
.mfa-apql__tag--Matched{
  border-color: rgba(16, 185, 129, 0.55);
  background: rgba(16, 185, 129, 0.10);
  color: #047857;
}

.mfa-apql__msg{
  display: none;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #034AA6;
}

.mfa-apql-check{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
}

.mfa-apql-check input{
  width: auto;
  margin: 0;
  accent-color: #5486B1;
}

/* Table tuning: reuse base .mfa-austria-table but soften header */
.mfa-apql__cell--dates-match{
  background-color: #fff4d6;
  box-shadow: inset 0 0 0 2px rgba(245, 158, 11, 0.55);
}

.mfa-apql__cell--dates-match .mfa-apql__input{
  background-color: transparent;
}

.mfa-apql__table thead th{
  background: #f7f9fc;
  font-weight: 700;
}

.mfa-apql__input{
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 400;
  color: #0d0d0d;
  background: #fff;
  border: 1px solid #d0dae5;
  border-radius: 8px;
  box-shadow: none;
  text-shadow: none;
}

.mfa-apql__input:focus-visible{
  outline: 2px solid #034aa6;
  outline-offset: 2px;
}

.mfa-apql-insights{
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #e4e8ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
}

.mfa-apql-insights__head{
  display: flex;
  gap: 12px;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.mfa-apql-insights__title{
  font-weight: 800;
  color: #034AA6;
}

.mfa-apql-insights__kpis{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: baseline;
}

.mfa-apql-kpi{
  display: grid;
  grid-template-columns: auto;
  gap: 2px;
  padding: 6px 10px;
  border: 1px solid #e4e8ee;
  border-radius: 12px;
  background: #f9fbfe;
}

.mfa-apql-kpi__label{
  font-size: 12px;
  color: #333;
}

.mfa-apql-kpi__value{
  font-weight: 900;
  color: #0D0D0D;
}

.mfa-apql-insights__chart{
  width: 100%;
  min-height: 260px; /* explicitly not tiny (avoid ~150px look) */
  overflow: hidden;
}

.mfa-apql-insights__hint{
  margin-top: 8px;
  font-size: 12px;
  color: #333;
}

@media (max-width: 768px){
  .mfa-apql__table thead{ display: none; }
  .mfa-apql__table tbody tr{
    display: block;
    margin-bottom: 14px;
    border: 1px solid #e4e8ee;
    border-radius: 14px;
    padding: 12px;
    background: #fff;
  }
  .mfa-apql__table td{
    display: block;
    width: 100%;
    border: none;
    padding: 6px 0;
  }
  .mfa-apql__table td:before{
    content: attr(data-label);
    font-weight: 700;
    display: block;
    color: #034AA6;
    margin-bottom: 2px;
  }
}

/* Germany candidates shortcode – slimmer 2-row filters
 * Created: 2026-04-16
 */
.mfa-germany-wrap .mfa-germany-filters.mfa-dcr-filters {
  padding: 10px 12px;
  margin-bottom: 10px;
}

.mfa-germany-wrap .mfa-gc-filter-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px 10px;
}

.mfa-germany-wrap .mfa-gc-actions-cell {
  display: flex;
  gap: 10px;
  align-items: center;
  align-self: end;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.mfa-gc-filter-btn {
  border: 1px solid #5486B1;
  background: #5486B1;
  color: #fff;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 600;
  line-height: 1.35;
  box-shadow: none;
  text-shadow: none;
  text-transform: none;
}

.mfa-gc-filter-btn:hover {
  border-color: #135e96;
  background: #135e96;
  color: #fff;
}

.mfa-gc-filter-btn:focus-visible {
  outline: 2px solid #034aa6;
  outline-offset: 2px;
}

.mfa-germany-table .mfa-gc-col-profile {
  max-width: 50%;
  width: 50%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mfa-gc-check-missing {
  color: #b42318;
  font-weight: 600;
}

.mfa-gc-cert-date-stale {
  color: #b42318;
  font-weight: 700;
}

.mfa-germany-table td,
.mfa-goethe-wrap .mfa-austria-table td,
.mfa-goethe-wrap .mfa-austria-table th {
  vertical-align: top !important;
}

.mfa-goethe-wrap .mfa-goethe-filters {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 0 0 14px 0;
}

.mfa-goethe-wrap .mfa-goethe-filters select {
  min-width: 280px;
  padding: 6px 8px;
}

.mfa-goethe-wrap .mfa-goethe-col-name {
  white-space: nowrap;
  vertical-align: top !important;
}

.mfa-goethe-wrap .mfa-goethe-col-name br,
.mfa-goethe-wrap .mfa-goethe-col-name p:empty {
  display: none !important;
}

.mfa-goethe-wrap .mfa-goethe-col-name .mfaSmall {
  display: block;
  margin-top: 2px;
}

.mfa-goethe-wrap .mfaRem3x__head .mfa-kontaktieren-btn {
  display: inline-block;
  text-decoration: none;
  color: #fff;
}

.mfa-germany-table tr.mfa-gc-row-new > td:not(.mfa-col-collapse) {
  background-color: rgb(223, 245, 225) !important;
}

@media (max-width: 900px) {
  .mfa-dcr-filter-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mfa-germany-wrap .mfa-gc-filter-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .mfa-dcr-filter-grid {
    grid-template-columns: 1fr;
  }

  .mfa-germany-wrap .mfa-gc-filter-grid {
    grid-template-columns: 1fr;
  }
}

/*
 * MFA Matching Overview
 * Created: 2026-03-23
 */

.mfa-mo-wrap {
  max-width: 1200px;
  margin: 20px 0;
}

.mfa-mo-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}

.mfa-mo-label {
  font-weight: 600;
  color: #0D0D0D;
}

.mfa-mo-select {
  max-width: 520px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #d6dde5;
  border-radius: 10px;
  background: #fff;
}

.mfa-mo-header {
  margin-bottom: 14px;
}

.mfa-mo-header h3,
.mfa-mo-header h4 {
  margin: 0 0 4px;
  color: #034AA6;
}

.mfa-mo-subline {
  color: #666;
  font-size: 13px;
}

.mfa-mo-badges {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.mfa-mo-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
}

.mfa-mo-badge--sent {
  background: rgba(84, 134, 177, 0.12);
  color: #034AA6;
  border: 1px solid rgba(84, 134, 177, 0.3);
}

.mfa-mo-badge--ignored {
  background: rgba(242, 82, 82, 0.12);
  color: #F25252;
  border: 1px solid rgba(242, 82, 82, 0.3);
}

.mfa-mo-details {
  margin: 18px 0 26px;
  border: 1px solid #e4e8ee;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.mfa-mo-details summary {
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 600;
  background: #f7f9fc;
  color: #0D0D0D;
}

.mfa-mo-count {
  color: #666;
  font-weight: 500;
}

.mfa-mo-details-inner {
  padding: 12px 16px 16px;
}

.mfa-mo-section h4 {
  margin: 0 0 14px;
  color: #034AA6;
}

.mfa-mo-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.mfa-mo-table th {
  background: #f7f9fc;
  text-align: left;
}

.mfa-mo-empty,
.mfa-mo-notice {
  padding: 14px 16px;
  border-radius: 12px;
  background: #f7f9fc;
  border: 1px solid #e4e8ee;
}

/*
 * MFA Agency Family Browser
 * Created: 2026-03-25
 */

.mfa-afb-wrap {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 24px auto;
  padding: 0 clamp(16px, 3vw, 48px);
  display: flex;
  flex-direction: column;
  /* Space for theme header, page title, and margins above this block (tune per site). */
  --mfa-afb-viewport-offset: 200px;
  /* WordPress admin bar when logged in */
  --mfa-afb-admin-bar: 0px;
  min-height: calc(
    100vh - var(--mfa-afb-viewport-offset) - var(--mfa-afb-admin-bar) -
      env(safe-area-inset-bottom, 0px)
  );
  min-height: calc(
    100dvh - var(--mfa-afb-viewport-offset) - var(--mfa-afb-admin-bar) -
      env(safe-area-inset-bottom, 0px)
  );
}

body.admin-bar .mfa-afb-wrap {
  --mfa-afb-admin-bar: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .mfa-afb-wrap {
    --mfa-afb-admin-bar: 46px;
  }
}

/* Geo cache shortcode: same horizontal padding as family browser, no full-viewport min-height */
.mfa-afb-wrap--geo-cache {
  min-height: 0;
}

.mfa-afb-geo-cache-toolbar .mfa-afb-geo-admin-tabs {
  margin-bottom: 0;
}

.mfa-afb-geo-cache-toolbar .mfa-afb-geo-batch-wrap {
  margin-top: 10px;
  margin-bottom: 0;
}

.mfa-afb-geo-table-panel {
  background: #fff;
  border: 1px solid #d9e3ec;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
  box-sizing: border-box;
}

.mfa-afb-geo-table-panel .mfa-afb-geo-table-scroll {
  padding: 14px;
}

.mfa-afb-geo-btn-outline {
  border: 1px solid #5486b1;
  background: #fff;
  color: #5486b1;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
}

.mfa-afb-geo-btn-outline:hover {
  background: #f0f5fa;
}

.mfa-afb-geo-btn-outline:focus-visible {
  outline: 2px solid #034aa6;
  outline-offset: 2px;
}

.mfa-afb-geo-table-panel .mfa-geo-manual-form input {
  border: 1px solid #d0dae5;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 14px;
  background: #fff;
}

.mfa-afb-filters .mfa-afb-filter-grid-shell {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mfa-afb-filters .mfa-afb-filter-row {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.mfa-afb-filters .mfa-afb-filter-row--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mfa-afb-filters .mfa-afb-filter-row--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mfa-afb-filters .mfa-afb-filter-row--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mfa-afb-filters .mfa-afb-filter-row > label {
  min-width: 0;
}

.mfa-afb-filters .mfa-afb-filter-language {
  min-width: 0;
}

@media (max-width: 900px) {
  .mfa-afb-filters .mfa-afb-filter-row--4,
  .mfa-afb-filters .mfa-afb-filter-row--3,
  .mfa-afb-filters .mfa-afb-filter-row--2 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .mfa-afb-filters .mfa-afb-filter-row--4,
  .mfa-afb-filters .mfa-afb-filter-row--3,
  .mfa-afb-filters .mfa-afb-filter-row--2 {
    grid-template-columns: 1fr;
  }
}

.mfa-afb-filters .mfa-afb-filter-language-label {
  display: block;
  font-size: 12px;
  color: #333;
  margin-bottom: 6px;
}

.mfa-afb-filters .mfa-afb-language-radios {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.mfa-afb-filters .mfa-afb-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #d0dae5;
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  line-height: 1.2;
  color: #0d0d0d;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  -webkit-user-select: none;
  user-select: none;
}

.mfa-afb-filters .mfa-afb-radio:hover {
  border-color: #b8c8d8;
}

.mfa-afb-filters .mfa-afb-radio:has(input:checked) {
  border-color: #5486b1;
  background: #f0f5fa;
  box-shadow: 0 0 0 1px #5486b1;
}

.mfa-afb-filters .mfa-afb-radio input {
  width: auto;
  margin: 0;
  flex-shrink: 0;
  accent-color: #5486b1;
}

.mfa-afb-filters .mfa-afb-radio:has(input:focus-visible) {
  outline: 2px solid #034aa6;
  outline-offset: 2px;
}

.mfa-afb-layout {
  /* Fill viewport below header/filters; do not grow with list content. */
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(340px, 0.95fr) minmax(360px, 1.05fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}

.mfa-afb-map-panel {
  background: #fff;
  border: 1px solid #d9e3ec;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
}

.mfa-afb-list-panel {
  background: #fff;
  border: 1px solid #d9e3ec;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  /* Scroll happens inside .mfa-afb-list only, not by stretching the row. */
}

#mfa-afb-map {
  width: 100%;
  flex: 1 1 auto;
  min-height: 200px;
  height: 100%;
}

.mfa-afb-list {
  flex: 1 1 auto;
  min-height: 0;
  padding: 14px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mfa-afb-card {
  border: 1px solid #e4e8ee;
  border-radius: 14px;
  background: #fff;
  padding: 14px;
  margin: 0 0 14px 0;
}

.mfa-afb-card:last-child {
  margin-bottom: 0;
}

.mfa-afb-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.mfa-afb-card-title {
  margin: 0 0 4px 0;
  color: #f25252;
  font-size: 17px;
  line-height: 1.3;
}

.mfa-afb-child-block:not(:last-child) {
  margin-bottom: 10px;
}

.mfa-afb-children-list {
  color: #5486B1;
  font-size: 15px;
}

.mfa-afb-card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.mfa-afb-label {
  font-weight: 700;
  color: #0D0D0D;
  margin-bottom: 6px;
}

.mfa-afb-results-meta {
  margin-left: 6px;
}

.mfa-afb-geo-admin-tabs {
  margin: 0;
}

.mfa-afb-geo-batch-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.mfa-afb-geo-batch-wrap .mfa-geo-batch-msg {
  color: #333;
}

.mfa-afb-geo-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.mfa-afb-geo-table-panel .mfa-geo-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  background: #fff;
  font-size: 14px;
}

.mfa-afb-geo-table-panel .mfa-geo-table th,
.mfa-afb-geo-table-panel .mfa-geo-table td {
  border: 1px solid #e4e8ee;
  padding: 8px 10px;
}

.mfa-afb-geo-table-panel .mfa-geo-table th {
  background: #f7f9fc;
  text-align: left;
  font-weight: 600;
}

.mfa-afb-geo-table-panel .mfa-geo-table tbody tr:nth-child(odd) {
  background: #fcfdfe;
}

.mfa-geo-table td,
.mfa-geo-table th {
  vertical-align: top;
}

.mfa-geo-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.mfa-geo-manual-form {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 8px;
  margin-top: 8px;
}

.mfa-geo-manual-form input {
  width: 100%;
}

@media (max-width: 1100px) {
  .mfa-afb-layout {
    grid-template-columns: 1fr;
    /* Map uses remaining viewport height; list is a fixed scroll region. */
    grid-template-rows: minmax(0, 1fr) minmax(160px, min(42vh, 420px));
  }

  .mfa-afb-map-panel {
    min-height: 200px;
  }

  #mfa-afb-map {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .mfa-afb-card-grid,
  .mfa-geo-manual-form {
    grid-template-columns: 1fr;
  }
}

/* Brand marker */
.mfa-afb-marker-wrap {
  background: transparent;
  border: 0;
}

.mfa-afb-marker {
  position: relative;
  width: 26px;
  height: 26px;
  background: #034AA6;
  border: 3px solid #5486B1;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 4px 12px rgba(3, 74, 166, 0.25);
}

.mfa-afb-marker-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background: #ffffff;
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.mfa-afb-popup-link {
  display: inline-block;
  margin-top: 6px;
  color: #034AA6;
  font-weight: 600;
  text-decoration: none;
}

.mfa-afb-popup-link:hover {
  text-decoration: underline;
}

/* Card highlight when linked from map */
.mfa-afb-card-highlight {
  border-color: #034AA6 !important;
  box-shadow: 0 0 0 3px rgba(3, 74, 166, 0.14), 0 6px 18px rgba(0, 0, 0, .04);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.mfa-afb-card-soft-highlight {
  border-color: #5486B1 !important;
  box-shadow: 0 0 0 2px rgba(84, 134, 177, 0.16), 0 6px 18px rgba(0, 0, 0, .04);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.mfa-afb-child-row {
  margin-bottom: 8px;
}

.mfa-afb-child-row:last-child {
  margin-bottom: 0;
}
/*
 * MFA Agency Recommendation Dashboard
 * Created: 2026-03-26
 */

/* Reset aggressive theme rules on filter controls (WP themes often target input/select globally). */
.mfa-ard-wrap .mfa-dcr-filters input[type="text"],
.mfa-ard-wrap .mfa-dcr-filters input[type="date"],
.mfa-ard-wrap .mfa-dcr-filters input[type="number"],
.mfa-ard-wrap .mfa-dcr-filters select,
.mfa-ard-wrap .mfa-apql__input,
.mfa-ard-wrap input.mfa-apql__input,
.mfa-ard-wrap select.mfa-apql__input,
.mfa-ard-wrap .mfa-af-textarea,
.mfa-ard-wrap textarea.mfa-af-textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #0d0d0d !important;
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid #d0dae5 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  outline-offset: 2px;
}

.mfa-ml-wrap .mfa-dcr-filters input[type="text"],
.mfa-ml-wrap .mfa-dcr-filters input[type="date"],
.mfa-ml-wrap .mfa-dcr-filters select {
  color: #0d0d0d !important;
  background: #fff !important;
  background-color: #fff !important;
}

/* Feedback overview shortcode `[mfa_aupair_feedback_overview]` uses same filter layout as matches list */
.mfa-fbo-wrap .mfa-dcr-filters input[type="text"],
.mfa-fbo-wrap .mfa-dcr-filters input[type="date"],
.mfa-fbo-wrap .mfa-dcr-filters select {
  color: #0d0d0d !important;
  background: #fff !important;
  background-color: #fff !important;
}

/* Feedback overview filters: reset link vertically centered in grid row (no submit button) */
.mfa-fbo-wrap .mfa-fbo-filter-reset-cell {
  display: flex;
  align-items: center;
  align-self: stretch;
  justify-content: flex-start;
}

@media (max-width: 900px) {
  .mfa-fbo-wrap .mfa-fbo-filter-grid.mfa-dcr-filter-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mfa-fbo-wrap .mfa-fbo-filter-reset-cell {
    grid-column: 1 / -1;
    justify-content: center;
  }
}

@media (max-width: 560px) {
  .mfa-fbo-wrap .mfa-fbo-filter-grid.mfa-dcr-filter-grid {
    grid-template-columns: 1fr;
  }
}

/*
 * Feedback overview `[mfa_aupair_feedback_overview]` — dedicated widths (do not use `.mfa-ml-table`:
 * that grid targets the 13-column matches list and squashes Au Pair / blows out dates).
 */
.mfa-fbo-wrap .mfa-fbo-table {
  width: 100%;
  table-layout: fixed;
}

.mfa-fbo-wrap .mfa-fbo-table th,
.mfa-fbo-wrap .mfa-fbo-table td {
  overflow-wrap: anywhere;
  word-break: break-word;
  vertical-align: top;
}

.mfa-fbo-wrap .mfa-fbo-table .mfa-fbo-col-aupair {
  width: 22%;
  min-width: 168px;
}

.mfa-fbo-wrap .mfa-fbo-table .mfa-fbo-col-host {
  width: 26%;
  min-width: 180px;
}

.mfa-fbo-wrap .mfa-fbo-table .mfa-fbo-col-cstart,
.mfa-fbo-wrap .mfa-fbo-table .mfa-fbo-col-cend {
  width: 90px;
  max-width: 100px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.mfa-fbo-wrap .mfa-fbo-table .mfa-fbo-col-term {
  width: 100px;
  max-width: 110px;
  font-variant-numeric: tabular-nums;
}

.mfa-fbo-wrap .mfa-fbo-table .mfa-fbo-col-feedback {
  width: auto;
}

.mfa-ard-wrap .mfa-dcr-filters input[type="text"],
.mfa-ard-wrap input.mfa-apql__input[type="text"],
.mfa-ard-wrap input.mfa-apql__input[type="email"],
.mfa-ard-wrap input.mfa-apql__input[type="search"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  height: auto !important;
  min-height: 2.25rem !important;
}

.mfa-ard-wrap .mfa-dcr-filters input[type="date"] {
  min-height: 2.75em;
  -webkit-appearance: auto !important;
  appearance: auto !important;
}

.mfa-ard-wrap .mfa-dcr-filters select {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  cursor: pointer;
}

.mfa-ard-wrap .mfa-dcr-filter-grid {
  grid-template-columns: repeat(5, minmax(180px, 1fr));
}

.mfa-ard-wrap .mfa-ard-family-filters .mfa-ard-family-filter-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 10px 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
}

.mfa-ard-wrap .mfa-ard-family-filters .mfa-ard-family-filter-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 0 0 auto;
  min-width: 0;
}

.mfa-ard-wrap .mfa-ard-family-filters .mfa-ard-family-filter-item span {
  display: block;
  font-size: 12px;
  color: #333;
}

.mfa-ard-wrap .mfa-ard-family-filters .mfa-ard-family-filter-item--search {
  flex: 0 0 160px;
  width: 160px;
  min-width: 120px;
}

.mfa-ard-wrap .mfa-ard-family-filters .mfa-ard-family-sent-filter-group {
  flex: 0 0 auto;
}

.mfa-ard-wrap .mfa-ard-family-filters .mfa-ard-family-filter-item--start {
  flex: 0 0 150px;
  width: 150px;
}

.mfa-ard-wrap .mfa-ard-emoji-toggle-group {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  flex: 0 0 auto;
}

.mfa-ard-wrap .mfa-ard-emoji-toggle {
  box-sizing: border-box;
  margin: 0;
  padding: 8px 12px;
  min-width: 44px;
  min-height: 44px;
  font-size: 1.35rem;
  line-height: 1;
  font-family: inherit;
  cursor: pointer;
  border: 1px solid #d0dae5;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  opacity: 0.55;
  transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

.mfa-ard-wrap .mfa-ard-emoji-toggle:hover {
  opacity: 0.85;
}

.mfa-ard-wrap .mfa-ard-emoji-toggle.is-on {
  opacity: 1;
  background: rgba(3, 74, 166, 0.12);
  border-color: #034aa6;
  box-shadow: 0 0 0 2px rgba(3, 74, 166, 0.12);
}

.mfa-ard-wrap .mfa-ard-emoji-tip {
  cursor: help;
}

.mfa-ard-wrap .mfa-ard-emoji-toggle:disabled {
  opacity: 0.38;
  cursor: not-allowed;
  pointer-events: none;
}

.mfa-ard-wrap .mfa-ard-family-filters .mfa-ard-family-filter-actions {
  margin-top: 0;
  margin-left: auto;
  flex: 0 0 auto;
  flex-shrink: 0;
}

.mfa-ard-candidate-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(250px, 280px);
  gap: 14px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 8px 2px 12px;
  margin-bottom: 12px;
  -webkit-overflow-scrolling: touch;
}

.mfa-ard-candidate-card {
  text-align: left;
  cursor: pointer;
  position: relative;
  min-height: 100%;
}

.mfa-ard-candidate-card.is-selected {
  border-color: #034AA6;
  box-shadow: 0 0 0 3px rgba(3, 74, 166, 0.10), 0 6px 18px rgba(13, 13, 13, 0.06);
}

.mfa-ard-candidate-photo {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 10px;
  border: 1px solid rgba(3, 74, 166, 0.12);
}

.mfa-ard-candidate-photo--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(84, 134, 177, 0.08);
  font-size: 28px;
}

.mfa-ard-family-photo {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(3, 74, 166, 0.12);
}

.mfa-ard-wrap #mfa-ard-family-list {
  min-height: 240px;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.mfa-ard-wrap #mfa-ard-family-list .mfa-afb-card {
  margin-bottom: 0;
  min-width: 0;
}

.mfa-ard-wrap #mfa-ard-family-list > .mfa-rec-report-empty {
  grid-column: 1 / -1;
}

@media (min-width: 600px) {
  .mfa-ard-wrap #mfa-ard-family-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .mfa-ard-wrap #mfa-ard-family-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .mfa-ard-wrap #mfa-ard-family-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .mfa-ard-wrap .mfa-dcr-filter-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .mfa-ard-wrap .mfa-dcr-filter-grid {
    grid-template-columns: 1fr;
  }

  .mfa-ard-candidate-row {
    grid-auto-columns: minmax(230px, 84vw);
  }
}

/*
 * MFA Agency Recommendation Inbox
 * Created: 2026-03-28
 */

 .mfa-ard-admin-wrap {
  min-height: 0;
}

.mfa-ard-admin-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.mfa-ard-admin-card {
  margin: 0;
}

.mfa-ard-admin-minihead {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 10px;
  align-items: start;
}

.mfa-ard-admin-status-pill {
  text-transform: none;
}

@media (max-width: 640px) {
  .mfa-ard-admin-minihead {
    grid-template-columns: 1fr;
  }
}

/* Abbuchungsplan – see assets/mfa-payment-plan.css (enqueued via assets.php; embedded in shortcode for html2pdf). */

/* Au Pair public profile – site-wide notice (Mobilitätszuschuss) */
.mfa-apf__info-banner {
  box-sizing: border-box;
  margin: 0 0 1.25rem;
  padding: 1rem 1rem 1rem 1.1rem;
  border-radius: 10px;
  border: 1px solid #c5d9eb;
  border-left: 4px solid #5486b1;
  background: #f5f9fc;
  color: #1a1a1a;
  font-size: 0.95rem;
  line-height: 1.55;
}

.mfa-apf__info-banner p {
  margin: 0 0 0.75rem;
}

.mfa-apf__info-banner p:last-child {
  margin-bottom: 0;
}

.mfa-apf__info-banner-lead {
  font-weight: 600;
}

/* Created: 10-05-2026 */
/* Changelog: Initial styling for insurance commission shortcode. */

.mfa-ic-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 1.25rem;
  padding: 0.35rem;
  background: rgba(84, 134, 177, 0.1);
  border-radius: 12px;
}

.mfa-ic-tab {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 1rem;
  border-radius: 9px;
  font-weight: 700;
  font-size: 0.92rem;
  color: #1a2b3c !important;
  text-decoration: none !important;
  background: transparent;
}

.mfa-ic-tab:hover {
  background: rgba(255, 255, 255, 0.7);
}

.mfa-ic-tab.is-active {
  background: #034AA6;
  color: #fff !important;
}

.mfa-ic-tab-panel[hidden] {
  display: none !important;
}

.mfa-ic-wrap {
  font-family: inherit;
  color: #0D0D0D;
}

.mfa-ic-wrap h2,
.mfa-ic-wrap h3 {
  margin-top: 0;
  color: #034AA6;
}

.mfa-ic-card {
  background: #fff;
  border: 1px solid rgba(3, 74, 166, 0.15);
  border-radius: 14px;
  padding: 20px;
  margin: 0 0 22px;
  box-shadow: 0 8px 24px rgba(13, 13, 13, 0.06);
}

.mfa-ic-card-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.mfa-ic-card label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  font-size: 0.9rem;
  color: #1a2b3c;
}

.mfa-ic-card input[type="text"],
.mfa-ic-card input[type="search"],
.mfa-ic-card input[type="month"],
.mfa-ic-card input[type="file"],
.mfa-ic-card select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(13, 13, 13, 0.18);
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: #0D0D0D;
  font: inherit;
  font-weight: 500;
  line-height: 1.3;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mfa-ic-card select {
  padding-right: 2.25rem;
  background-image:
    linear-gradient(45deg, transparent 50%, #5486B1 50%),
    linear-gradient(135deg, #5486B1 50%, transparent 50%);
  background-position:
    calc(100% - 16px) calc(50% - 2px),
    calc(100% - 11px) calc(50% - 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.mfa-ic-card input:focus,
.mfa-ic-card select:focus {
  outline: none;
  border-color: #034AA6;
  box-shadow: 0 0 0 3px rgba(3, 74, 166, 0.12);
}

.mfa-ic-upload-form {
  display: grid;
  grid-template-columns: minmax(9rem, 11rem) minmax(9rem, 12rem) minmax(12rem, 1fr) auto;
  gap: 14px;
  align-items: end;
  max-width: 48rem;
}

.mfa-ic-upload-form .mfa-ic-btn {
  white-space: nowrap;
}

.mfa-ic-batch-form {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 14px;
  max-width: 36rem;
}

.mfa-ic-batch-form label {
  flex: 1 1 16rem;
  min-width: 0;
}

.mfa-ic-btn,
.mfa-ic-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #034AA6;
  color: #fff !important;
  border: 0;
  border-radius: 20px;
  padding: 10px 18px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
}

.mfa-ic-btn.secondary {
  background: #5486B1;
}

.mfa-ic-btn.mfa-copied {
  background: #F25252;
}

.mfa-ic-success {
  background: rgba(84, 134, 177, 0.12);
  border-left: 5px solid #5486B1;
  padding: 12px 16px;
  border-radius: 10px;
  margin-bottom: 18px;
  font-weight: 700;
}

.mfa-ic-info {
  background: rgba(3, 74, 166, 0.06);
  border-left: 4px solid #034AA6;
  padding: 10px 14px;
  border-radius: 8px;
  margin: 0 0 16px;
  font-size: 0.92rem;
  line-height: 1.4;
  color: #1a2b3c;
}

.mfa-ic-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 14px;
  margin: 0 0 22px;
}

.mfa-ic-stat {
  background: #fff;
  border-radius: 14px;
  padding: 18px;
  border: 1px solid rgba(3, 74, 166, 0.12);
  box-shadow: 0 6px 18px rgba(13, 13, 13, 0.05);
}

.mfa-ic-stat strong {
  display: block;
  font-size: 28px;
  color: #034AA6;
}

.mfa-ic-stat span {
  font-size: 13px;
  font-weight: 700;
}

.mfa-ic-stat.good strong {
  color: #5486B1;
}

.mfa-ic-stat.bad strong {
  color: #F25252;
}

.mfa-ic-stat.warn strong {
  color: #F25252;
}

.mfa-ic-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  border-bottom: 1px solid rgba(13, 13, 13, 0.08);
}

.mfa-ic-table th,
.mfa-ic-table td {
  border-bottom: 0;
  padding: 10px;
  text-align: left;
  vertical-align: top;
}

.mfa-ic-table th {
  background: rgba(84, 134, 177, 0.12);
  color: #034AA6;
  font-weight: 800;
}

.mfa-ic-table tr.is-selected td {
  background: rgba(3, 74, 166, 0.06);
}

@media (max-width: 900px) {
  .mfa-ic-upload-form,
  .mfa-ic-grid {
      grid-template-columns: 1fr;
  }

  .mfa-ic-upload-form,
  .mfa-ic-batch-form {
      max-width: none;
  }

  .mfa-ic-upload-form .mfa-ic-btn {
      width: 100%;
  }

  .mfa-ic-card-head {
      align-items: flex-start;
      flex-direction: column;
  }

  .mfa-ic-table {
      display: block;
      overflow-x: auto;
  }
}

.mfa-ic-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.mfa-ic-actions .mfa-ic-link,
.mfa-ic-actions .mfa-ic-delete-btn {
  box-sizing: border-box;
  font-size: 14px;
  line-height: 1;
  min-height: 38px;
  white-space: nowrap;
}

.mfa-ic-delete-form {
  margin: 0;
}

.mfa-ic-delete-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #F25252;
  color: #fff;
  border: 0;
  border-radius: 20px;
  padding: 10px 18px;
  font-weight: 700;
  cursor: pointer;
}

.mfa-ic-table tr.mfa-ic-ok td {
  background: rgba(84, 134, 177, 0.06);
}

.mfa-ic-table-cumulative .mfa-ic-schedule-cell {
  min-width: 7rem;
  vertical-align: top;
}

.mfa-ic-schedule-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  margin-right: 0.35rem;
}

.mfa-ic-schedule-monthly {
  background: #e8f4fc;
  color: #1a5276;
}

.mfa-ic-schedule-annual {
  background: #fef3e2;
  color: #9a5b00;
}

.mfa-ic-schedule-source {
  display: block;
  font-size: 0.7rem;
  color: #666;
  margin: 0.2rem 0 0.35rem;
}

.mfa-ic-settings-form {
  margin: 0;
}

.mfa-ic-table-settings select,
.mfa-ic-table-settings input[type="text"] {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  width: 100%;
  max-width: 8.5rem;
  border: 1px solid rgba(13, 13, 13, 0.18);
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  color: #0D0D0D;
  font: inherit;
  font-weight: 500;
  line-height: 1.3;
}

.mfa-ic-table-settings select {
  padding-right: 2rem;
  background-image:
    linear-gradient(45deg, transparent 50%, #5486B1 50%),
    linear-gradient(135deg, #5486B1 50%, transparent 50%);
  background-position:
    calc(100% - 14px) calc(50% - 2px),
    calc(100% - 9px) calc(50% - 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.mfa-ic-settings-amount-cell {
  white-space: nowrap;
}

.mfa-ic-settings-amount-cell input[type="text"] {
  max-width: 5.5rem;
  display: inline-block;
  vertical-align: middle;
}

.mfa-ic-settings-unit {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.75rem;
  color: #666;
  vertical-align: middle;
}

.mfa-ic-settings-updated {
  font-size: 0.75rem;
  color: #666;
  white-space: nowrap;
}

.mfa-ic-btn-small {
  padding: 0.2rem 0.5rem;
  font-size: 0.75rem;
}

.mfa-ic-table tr.mfa-ic-problem td {
  background: rgba(242, 82, 82, 0.07);
}

/**
 * MFA Visa Notes Modal
 * Created: 2026-06-11
 */

 .mfa-visa-notes-btn {
  background: #5486B1;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 6px 9px;
  cursor: pointer;
  font-size: 16px;
}

.mfa-visa-notes-btn:hover {
  background: #034AA6;
}

.mfa-visa-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
}

.mfa-visa-modal.is-open {
  display: block;
}

.mfa-visa-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(13, 13, 13, 0.55);
}

.mfa-visa-modal-box {
  position: relative;
  background: #fff;
  width: min(720px, 92vw);
  max-height: 90vh;
  overflow-y: auto;
  margin: 5vh auto;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.mfa-visa-modal-close {
  position: absolute;
  top: 10px;
  right: 14px;
  border: none;
  background: transparent;
  font-size: 28px;
  cursor: pointer;
}

.mfa-visa-modal-box h3 {
  margin-top: 0;
  color: #034AA6;
}

.mfa-visa-modal-box label {
  display: block;
  margin-top: 14px;
  margin-bottom: 5px;
  font-weight: 700;
}

.mfa-visa-modal-box select,
.mfa-visa-modal-box input,
.mfa-visa-modal-box textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.mfa-visa-modal-actions {
  margin-top: 18px;
  display: flex;
  gap: 10px;
}

.mfa-visa-save {
  background: #034AA6;
  color: #fff;
  border: none;
  padding: 9px 16px;
  border-radius: 6px;
  cursor: pointer;
}

.mfa-visa-cancel {
  background: #eee;
  color: #0D0D0D;
  border: none;
  padding: 9px 16px;
  border-radius: 6px;
  cursor: pointer;
}

.mfa-visa-message {
  margin-top: 12px;
  font-weight: 700;
}

/*
 * MFA Delete Match modal ([mfa_delete_match])
 * Created: 2025-11-12
 * Trigger/actions reuse .mfa-afb-reset-btn, .mfa-visa-save, .mfa-kontaktieren-btn, .mfa-visa-cancel
 */

.mfa-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2147483000;
}

.mfa-modal[aria-hidden="true"] {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.mfa-modal[aria-hidden="false"] {
  display: flex;
}

.mfa-modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(13, 13, 13, .5);
  backdrop-filter: saturate(120%) blur(2px);
}

.mfa-modal__dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(.98);
  opacity: 0;
  width: min(92vw, 560px);
  max-height: min(90vh, 680px);
  overflow: auto;
  background: #fff;
  color: #0D0D0D;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
  transition: transform .18s ease, opacity .18s ease;
  z-index: 2147483000;
}

.mfa-modal[aria-hidden="false"] .mfa-modal__dialog {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

@media (max-width: 420px) {
  .mfa-modal__dialog {
    padding: 16px;
  }
}

.mfa-modal__dialog h3 {
  margin: .25rem 0 .5rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #034AA6;
}

.mfa-modal__dialog p {
  margin: 0 0 1rem;
  font-size: .95rem;
}

html.mfa-modal-open,
body.mfa-modal-open {
  overflow: hidden !important;
}

/**
 * Klemmer CCC login button
 * Created: 20 July 2026
 */

 .mfa-klemmer-login-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 18px;
  border: 0;
  border-radius: 6px;
  background: #034AA6;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
  transition:
      background-color 0.2s ease,
      transform 0.2s ease,
      box-shadow 0.2s ease;
}

.mfa-klemmer-login-button:hover,
.mfa-klemmer-login-button:focus {
  background: #5486B1;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(3, 74, 166, 0.22);
  transform: translateY(-1px);
}

.mfa-klemmer-login-button:focus-visible {
  outline: 3px solid rgba(84, 134, 177, 0.4);
  outline-offset: 2px;
}

.mfa-klemmer-login-button__icon {
  font-size: 17px;
  line-height: 1;
}

/* Embassy appointment admin — panels, bilingual tips, two-row entries */
.mfa-embassy-wrap .mfa-dcr-group {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.mfa-embassy-panel {
  margin: 0 0 0;
  background: #fff;
  border: 1px solid #d9e3ec;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
}

.mfa-embassy-panel--top .mfa-dcr-heading {
  border-radius: 0;
}

.mfa-embassy-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 10px;
}

.mfa-embassy-heading-source {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
  opacity: 0.88;
  word-break: break-all;
}

.mfa-embassy-heading-source a {
  color: inherit;
  text-decoration: underline;
}

.mfa-embassy-heading-source a:hover,
.mfa-embassy-heading-source a:focus {
  opacity: 1;
}

.mfa-embassy-panel--top .mfa-dcr-filters:last-child {
  border-bottom: 0;
  margin-bottom: 0;
}

.mfa-embassy-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 12px;
}

.mfa-embassy-filter-row > label {
  flex: 1 1 160px;
  min-width: 140px;
  max-width: 280px;
}

.mfa-embassy-filter-row > label > span:first-child {
  display: block;
  font-size: 12px;
  color: #333;
  margin-bottom: 4px;
}

.mfa-embassy-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  padding-bottom: 1px;
}

.mfa-embassy-panel--table .mfa-dcr-table-wrap {
  margin: 0;
}

.mfa-embassy-panel--table .mfa-embassy-table {
  margin: 0;
}

.mfa-embassy-save-actions {
  margin: 14px 0;
  display: flex;
  gap: 10px;
  align-items: center;
}

.mfa-embassy-wrap .mfa-ic-success {
  position: sticky;
  top: 12px;
  z-index: 5;
  margin: 0 0 12px;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.mfa-embassy-th-tip {
  cursor: help;
  text-decoration: underline dotted rgba(13, 13, 13, 0.35);
  text-underline-offset: 3px;
}

.mfa-embassy-flag {
  margin-right: 6px;
  font-style: normal;
}

.mfa-embassy-stat-btn {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  color: #034AA6;
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

.mfa-embassy-stat-btn:hover,
.mfa-embassy-stat-btn:focus {
  color: #5486B1;
}

.mfa-embassy-stats-modal .mfa-modal__dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
}

.mfa-embassy-stats-modal__summary {
  margin: 0 0 12px;
  font-weight: 600;
}

.mfa-embassy-stats-modal__table-wrap {
  overflow-x: auto;
}

.mfa-embassy-stats-modal__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.mfa-embassy-stats-modal__table th,
.mfa-embassy-stats-modal__table td {
  border: 1px solid #d0dae5;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

.mfa-embassy-stats-modal__table th {
  background: #f7f9fc;
  font-weight: 700;
}

.mfa-embassy-table tbody tr.mfa-embassy-row--fields td {
  vertical-align: middle;
}

.mfa-embassy-table tbody tr.mfa-embassy-row--comments td {
  padding-top: 0;
  padding-bottom: 18px;
  border-top: 0;
  border-bottom: 4px solid #8a9bb0;
  vertical-align: top;
}

.mfa-embassy-comments-label {
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: #0d0d0d;
}

.mfa-embassy-table textarea.mfa-embassy-comments {
  display: block;
  width: 100%;
  min-height: 72px;
  resize: vertical;
}

.mfa-embassy-table tr.mfa-embassy-row--hidden {
  opacity: 0.55;
}

.mfa-embassy-table tr.mfa-embassy-row--fields:hover,
.mfa-embassy-table tr.mfa-embassy-row--comments:hover {
  background: #fafcff;
}

/* Recruiter match list — reuse ml/dcr table chrome; section-specific only */
.mfa-rml-wrap {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
  color: #0D0D0D;
}

.mfa-rml-wrap.mfa-ml-wrap {
  overflow: visible;
}

.mfa-rml-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px 16px;
  margin-bottom: 12px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #d9e3ec;
  border-radius: 8px;
}

.mfa-rml-counter {
  margin: 0;
  color: #0D0D0D;
  font-weight: 600;
}

.mfa-rml-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}

.mfa-rml-filter-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #0D0D0D;
}

/* Theme-resistant select styling (filter + rating) */
.mfa-rml-wrap select.mfa-rml-filter-recruiter,
.mfa-rml-wrap select.mfa-rml-rating,
.mfa-rml-wrap .mfa-dcr-filters select {
  box-sizing: border-box !important;
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 180px;
  margin: 0 !important;
  padding: 8px 36px 8px 12px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #0D0D0D !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23034AA6' d='M1.4 0.6L6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px 8px !important;
  border: 1px solid #d0dae5 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer;
}

.mfa-rml-wrap select.mfa-rml-rating {
  min-width: 72px;
  width: 100% !important;
  padding-right: 28px !important;
}

.mfa-rml-wrap select.mfa-rml-filter-recruiter:focus,
.mfa-rml-wrap select.mfa-rml-rating:focus,
.mfa-rml-wrap .mfa-dcr-filters select:focus {
  outline: 2px solid rgba(3, 74, 166, 0.35);
  outline-offset: 2px;
  border-color: #034AA6 !important;
}

.mfa-rml-wrap select.mfa-rml-filter-recruiter:disabled,
.mfa-rml-wrap select.mfa-rml-rating:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: #f3f4f6 !important;
}

.mfa-rml-filter-recruiter {
  min-width: 220px;
}

.mfa-rml-filter-mine {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #0D0D0D;
  cursor: pointer;
}

.mfa-rml-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
  border-bottom: 2px solid #d9e3ec;
}

.mfa-rml-tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: #0D0D0D;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
}

.mfa-rml-tab:hover,
.mfa-rml-tab:focus {
  color: #034AA6;
}

.mfa-rml-tab.is-active {
  color: #034AA6;
  border-bottom-color: #F25252;
}

.mfa-rml-tab-count {
  font-weight: 500;
}

.mfa-rml-tab-panel {
  display: none;
}

.mfa-rml-tab-panel[hidden] {
  display: none !important;
}

.mfa-rml-tab-panel.is-active:not([hidden]) {
  display: block;
}

.mfa-rml-wrap .mfa-rml-group {
  margin-bottom: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.mfa-rml-table-wrap {
  max-height: min(70vh, 900px);
  overflow: auto;
  border: 1px solid #d9e3ec;
  border-radius: 8px;
  background: #fff;
  width: 100%;
}

.mfa-rml-empty {
  margin: 16px;
  color: #0D0D0D;
}

.mfa-rml-table {
  table-layout: auto;
  width: 100%;
  min-width: 100%;
  color: #0D0D0D;
}

/* Override .mfa-ml-table nth-child widths + .mfa-dcr-table min-width:820px */
.mfa-rml-wrap .mfa-rml-table.mfa-dcr-table {
  min-width: 960px;
  width: 100%;
}

.mfa-rml-wrap .mfa-rml-table th,
.mfa-rml-wrap .mfa-rml-table td {
  width: auto;
  max-width: none;
  vertical-align: top;
  color: #0D0D0D;
}

.mfa-rml-wrap .mfa-rml-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #5486B1;
  color: #fff;
  box-shadow: 0 1px 0 #d9e3ec;
}

.mfa-rml-wrap .mfa-rml-table .mfa-rml-col-aupair {
  width: 22%;
  min-width: 160px;
  white-space: normal;
}

.mfa-rml-wrap .mfa-rml-table .mfa-rml-col-embassy {
  width: 110px;
  white-space: nowrap;
}

.mfa-rml-wrap .mfa-rml-table .mfa-rml-col-responsible {
  width: 140px;
  max-width: 160px;
  white-space: normal;
}

.mfa-rml-wrap .mfa-rml-table .mfa-rml-col-docs {
  width: 32%;
  min-width: 220px;
}

.mfa-rml-wrap .mfa-rml-table .mfa-rml-col-rating {
  width: 72px;
}

.mfa-rml-wrap .mfa-rml-table .mfa-rml-col-actions {
  width: 160px;
  min-width: 140px;
}

.mfa-rml-wrap .mfa-rml-table a.mfa-rml-ap-link {
  color: #034AA6;
  text-decoration: underline;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  pointer-events: auto;
  position: relative;
  z-index: 1;
}

.mfa-rml-muted {
  color: #0D0D0D;
  font-size: 12px;
  margin-top: 4px;
  opacity: 0.85;
}

.mfa-rml-history {
  margin: 6px 0 0;
  padding-left: 16px;
  font-size: 12px;
  color: #0D0D0D;
}

.mfa-rml-docs-heading {
  font-size: 12px;
  font-weight: 700;
  color: #0D0D0D;
  margin: 0 0 6px;
  text-align: left;
}

.mfa-rml-certs {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
  text-align: left;
}

.mfa-rml-cert {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px 8px;
  margin: 0 0 6px;
  font-size: 12px;
  color: #0D0D0D;
  text-align: left;
}

.mfa-rml-cert-label {
  font-weight: 600;
  min-width: 10em;
}

.mfa-rml-cert-extra {
  font-weight: 500;
  color: #0D0D0D;
}

.mfa-rml-cert-link {
  color: #034AA6;
  text-decoration: underline;
}

.mfa-rml-cert-missing {
  color: #F25252;
}

.mfa-rml-cert-flag {
  margin-left: auto;
  font-weight: 700;
}

.mfa-rml-training {
  margin-top: 6px;
}

.mfa-rml-training-score {
  margin-top: 0;
  font-size: 12px;
  font-weight: 600;
  color: #0D0D0D;
}

.mfa-rml-training-result {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 700;
}

.mfa-rml-training-result.is-passed {
  color: #2e7d32;
}

.mfa-rml-training-result.is-failed {
  color: #F25252;
}

.mfa-rml-training-link {
  display: inline-block;
  margin-top: 2px;
  font-size: 12px;
  color: #034AA6;
  text-decoration: underline;
}

.mfa-rml-detail-dl .mfa-rml-training-result {
  margin-left: 6px;
}

.mfa-rml-cert.is-ok .mfa-rml-cert-flag {
  color: #5486B1;
}

.mfa-rml-cert.is-missing .mfa-rml-cert-flag {
  color: #F25252;
}

.mfa-rml-actions .mfa-videx-btn {
  margin: 0 4px 4px 0;
}

.mfa-rml-docs-item {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 2px 8px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  color: #0D0D0D;
}

.mfa-rml-comments-label {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #0D0D0D;
}

.mfa-rml-comments-label span {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
}

.mfa-rml-comments {
  width: 100%;
  min-height: 48px;
  resize: vertical;
  color: #0D0D0D;
}

.mfa-rml-status {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
  color: #034AA6;
}

.mfa-rml-actions {
  white-space: normal;
  position: relative;
  z-index: 1;
}

.mfa-rml-actions button {
  margin: 0 4px 4px 0;
  cursor: pointer;
  pointer-events: auto;
}

/* Matches grabbed by the current recruiter */
.mfa-rml-row--mine > td {
  background: rgba(242, 82, 82, 0.08);
}

.mfa-rml-row--mine > td:first-child {
  box-shadow: inset 4px 0 0 #F25252;
}

.mfa-rml-row--done {
  opacity: 0.85;
  background: #f3f4f6;
}

.mfa-rml-row--done:hover {
  opacity: 1;
}

.mfa-rml-row--done.mfa-rml-row--mine > td {
  background: rgba(242, 82, 82, 0.06);
}

.mfa-rml-row--done a,
.mfa-rml-row--done button,
.mfa-rml-row--done input,
.mfa-rml-row--done select,
.mfa-rml-row--done textarea {
  pointer-events: auto;
}

#mfa-rml-modal.mfa-modal[aria-hidden="true"] {
  display: none !important;
  pointer-events: none !important;
}

.mfa-rml-modal__dialog {
  max-width: 560px;
  width: min(560px, 92vw);
}

.mfa-rml-detail-dl {
  margin: 0 0 12px;
  color: #0D0D0D;
}

.mfa-rml-detail-dl dt {
  font-weight: 600;
  margin-top: 8px;
}

.mfa-rml-detail-dl dd {
  margin: 2px 0 0;
}

.mfa-rml-ok {
  color: #5486B1;
  font-weight: 600;
}

/* Compact todo overview [mfa_recruiter_todo] — reuses .mfa-rml-table / .mfa-dcr-* */
.mfa-rml-todo-wrap {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Shared card shell for todo + stats (border + rounded blue header) */
.mfa-rml-todo-wrap .mfa-rml-group,
.mfa-rml-stats-wrap .mfa-rml-group {
  margin: 0 0 24px;
  padding: 0;
  background: #fff;
  border: 1px solid #d9e3ec;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
}

.mfa-rml-todo-wrap .mfa-dcr-heading,
.mfa-rml-stats-wrap .mfa-dcr-heading {
  margin: 0;
}

.mfa-rml-todo-wrap .mfa-rml-todo-intro {
  margin: 0;
  padding: 14px 18px 0;
  color: #0D0D0D;
}

.mfa-rml-todo-wrap .mfa-rml-todo-table-wrap {
  max-height: none;
  margin: 12px 0 0;
  border: 0;
  border-radius: 0;
}

.mfa-rml-todo-wrap .mfa-rml-table .mfa-rml-col-aupair {
  width: 28%;
}

.mfa-rml-todo-wrap .mfa-rml-table .mfa-rml-col-docs {
  width: 52%;
}

.mfa-rml-todo-wrap .mfa-rml-table .mfa-rml-col-embassy {
  width: 20%;
  white-space: nowrap;
}

.mfa-rml-pending-tag {
  display: inline-block;
  margin: 2px 4px 0 0;
  padding: 2px 8px;
  border-radius: 4px;
  background: #F25252;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

.mfa-rml-muted {
  color: #6b7280;
}

/* Document-check stats [mfa_recruiter_doc_stats] */
.mfa-rml-stats-wrap {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.mfa-rml-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 16px 18px;
}

.mfa-rml-stat {
  padding: 12px 14px;
  border: 1px solid #d9e3ec;
  border-radius: 8px;
  background: #f8fafc;
  color: #0D0D0D;
}

.mfa-rml-stat__value {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  color: #034AA6;
}

.mfa-rml-stat__label {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #0D0D0D;
}

.mfa-rml-stats-subheading {
  margin: 0;
  padding: 0 18px 10px;
  font-size: 15px;
  font-weight: 700;
  color: #0D0D0D;
}

.mfa-rml-stats-table-wrap {
  max-height: none;
  margin: 0 18px 18px;
  border: 1px solid #d9e3ec;
  border-radius: 8px;
}

.mfa-rml-stats-wrap .mfa-rml-empty {
  margin: 0;
  padding: 16px 18px;
}

.mfa-rml-stats-wrap .mfa-rml-table th,
.mfa-rml-stats-wrap .mfa-rml-table td {
  width: auto;
}

@media (max-width: 720px) {
  .mfa-rml-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*
 * Timesheet containers — wider than typical 1140–1200px theme/Elementor content width.
 */
.timesheet-container,
.freelancer-timesheet-container {
  box-sizing: border-box;
  width: min(1920px, calc(100vw - 48px)) !important;
  max-width: min(1920px, calc(100vw - 48px)) !important;
}

.elementor-section:has(.timesheet-container) > .elementor-container,
.elementor-section:has(.freelancer-timesheet-container) > .elementor-container,
.e-con:has(.timesheet-container),
.e-con:has(.freelancer-timesheet-container),
.e-con-inner:has(.timesheet-container),
.e-con-inner:has(.freelancer-timesheet-container),
.elementor-widget-wrap:has(.timesheet-container),
.elementor-widget-wrap:has(.freelancer-timesheet-container) {
  --container-max-width: 1920px;
  max-width: min(1920px, calc(100vw - 48px)) !important;
  width: 100% !important;
}

.timesheet-table,
.freelancer-timesheet-table {
  width: 100%;
  table-layout: auto;
  border-collapse: collapse;
}

.timesheet-table th,
.timesheet-table td,
.freelancer-timesheet-table th,
.freelancer-timesheet-table td {
  white-space: nowrap;
  width: 1%;
  vertical-align: top;
}

.timesheet-table th:last-child,
.timesheet-table td.task-cell,
.freelancer-timesheet-table th:nth-last-child(2),
.freelancer-timesheet-table td.freelancer-task-cell {
  width: auto;
  white-space: normal;
  word-break: break-word;
}

.freelancer-timesheet-table th:last-child,
.freelancer-timesheet-table td.freelancer-delete-cell {
  width: 1%;
  white-space: nowrap;
}

/* Form 71 duplicates ([mfa_form71_duplicates]) — reuses .mfa-austria-table, .mfa-ap-status-msg, .mfa-afb-reset-btn, .mfaRem3x__* */
.mfa-f71dup {
  margin: 1rem 0;
  font-size: 14px;
  line-height: 1.4;
}

.mfa-f71dup__summary {
  margin-bottom: 1rem;
}

.mfa-f71dup__msg {
  margin: 0.5rem 0 1rem;
}

.mfa-f71dup__group {
  margin: 0 0 1.5rem;
  padding: 0.75rem 1rem;
  border: 1px solid #e6ecf5;
  border-radius: 10px;
  background: #fff;
}

.mfa-f71dup__group-title {
  margin: 0 0 0.75rem;
}

.mfa-f71dup .mfa-austria-table {
  background: #fff;
}

.mfa-f71dup .mfa-austria-table th {
  white-space: nowrap;
  text-align: left;
}

/* Form 71 unmarked / missing matches — reuses austria table / status msg / kontaktieren btn */
.mfa-f71unmarked,
.mfa-f71missing {
  margin: 1rem 0;
  font-size: 14px;
  line-height: 1.4;
}

.mfa-f71unmarked__summary,
.mfa-f71missing__summary {
  margin-bottom: 1rem;
}

.mfa-f71unmarked__msg,
.mfa-f71missing__msg {
  margin: 0.5rem 0 1rem;
}

.mfa-f71unmarked__actions,
.mfa-f71missing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 0 0 1rem;
}

.mfa-f71unmarked__select-all,
.mfa-f71missing__select-all {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin: 0;
  cursor: pointer;
}

.mfa-f71unmarked__col-check,
.mfa-f71missing__col-check {
  width: 1%;
  white-space: nowrap;
  text-align: center;
}

.mfa-f71unmarked .mfa-austria-table th,
.mfa-f71missing .mfa-austria-table th {
  white-space: nowrap;
  text-align: left;
}

.mfa-f71unmarked .mfa-austria-table th.mfa-f71unmarked__col-check,
.mfa-f71missing .mfa-austria-table th.mfa-f71missing__col-check {
  text-align: center;
}

/* Language level dots ([get_language_dots] / [mfa_get_language_dots]) */
.mfa-language-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  vertical-align: middle;
  line-height: 1;
}

.mfa-language-dots .level-dot,
.level-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d0d0d0;
  box-sizing: border-box;
}

.mfa-language-dots .level-dot.filled,
.level-dot.filled {
  background: #4a7c59;
}

/* Au Pair match commission table ([aupair_match_table]) */
.aupair-match-table-container {
  margin: 1rem 0;
  font-size: 14px;
  line-height: 1.4;
}

.aupair-filter-container {
  margin-bottom: 1rem;
}

.aupair-filter-container label {
  margin-right: 0.5rem;
}

.aupair-match-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}

.aupair-match-table th,
.aupair-match-table td {
  border: 1px solid #ddd;
  padding: 0.4rem 0.55rem;
  text-align: left;
  vertical-align: top;
}

.aupair-match-table th {
  background: #f5f5f5;
  white-space: nowrap;
}

.aupair-match-table tr.duplicate-family {
  background: #fff6e5;
}

.aupair-match-table .duplicate-indicator {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.05rem 0.35rem;
  background: #f0c36d;
  font-size: 12px;
  font-weight: 600;
}

.aupair-summary-table {
  margin-top: 1rem;
  padding: 1rem;
  background: #f9f9f9;
  border: 1px solid #e5e5e5;
}

.aupair-summary-table h3 {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
}

.aupair-summary-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin-bottom: 0.75rem;
}

.aupair-total-commission {
  font-weight: 700;
  font-size: 1.05rem;
}
