/* BIMEH.ORG | Insurance records / life insured people | CSS-only UI patch
   Based on the existing insurance-fields-v212.css, 2026-11-03.
   Keep the established form CSS and markup. Drop-in replacement.
*/
.insurance-records{
  --ir-ink:#213853;
  --ir-muted:#64758d;
  --ir-line:#dce5f0;
  --ir-soft:#f5f8fc;
  --ir-primary:#275caa;
  --ir-danger:#b34450;
  width:100%;min-width:0;
  color:var(--ir-ink);
  direction:rtl;
  font:inherit;
  isolation:auto;
}
.insurance-records,[data-record-rows]{overflow:visible!important}
.insurance-records [hidden]{display:none!important}
.insurance-records>[data-record-value]{display:none!important}
.insurance-records>[data-record-empty]{
  padding:20px 14px;
  margin:5px 0 12px;
  background:var(--ir-soft);
  border:1px dashed #c8d6e8;
  border-radius:12px;
  font-size:13px;
  color:var(--ir-muted);
  text-align:center;
  line-height:2;
}
.insurance-records>[data-record-add]{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;min-height:46px;width:100%;max-width:390px;
  padding:10px 16px!important;
  border:1px solid #b9cdea!important;
  border-radius:11px!important;
  background:#f0f6ff!important;
  box-shadow:none!important;
  color:#2256a4!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.7;
  cursor:pointer;
  transition:background .15s,border-color .15s,box-shadow .15s;
}
.insurance-records>[data-record-add]:hover:not(:disabled){
  background:#e8f1ff!important;
  border-color:#8db0e3!important;
  box-shadow:0 2px 8px #295ca50b!important;
}
.insurance-records>[data-record-add]:focus-visible{
  outline:3px solid #9ebfe9!important;
  outline-offset:2px;
}
.insurance-records>[data-record-add]:disabled{opacity:.55;cursor:not-allowed}
.insurance-records>[data-record-message]{display:block;min-height:0;margin-top:7px;color:var(--ir-muted);font-size:12px}
.insurance-record{
  position:relative;
  overflow:visible!important; /* critical: do not clip the custom select popup */
  z-index:0;
  margin:0 0 15px;
  border:1px solid var(--ir-line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 15px rgba(27,64,114,.045);
}
.insurance-record:focus-within{z-index:70;border-color:#bfd3ed}
.insurance-record>header{
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;
  padding:12px 16px;
  background:var(--ir-soft);
  border-radius:12px 12px 0 0;
  border-bottom:1px solid #e8eef6;
  font-size:13px;line-height:1.8;
}
.insurance-record>header>b{font-weight:750;color:#203b60}
.insurance-record>header>button{
  min-height:34px;padding:5px 12px;
  color:var(--ir-danger);background:#fff;
  border:1px solid #f0d8da;border-radius:8px;
  font:inherit;font-size:12px;cursor:pointer;
}
.insurance-record>header>button:hover:not(:disabled){background:#fff2f3;border-color:#e9bfc4}
.insurance-record>header>button:disabled{opacity:.4;cursor:default}
.insurance-record-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:17px 16px 19px;
  overflow:visible!important;
}
.insurance-record-grid [data-record-column]{
  display:block;min-width:0;position:relative;
  margin:0!important;
}
.insurance-record-grid [data-record-column]:focus-within{z-index:75}
.insurance-record-grid [data-record-column]>span{
  display:block;margin-bottom:7px;
  font-size:12px;font-weight:650;line-height:1.8;
  color:#405976;
}
.insurance-record-grid input:not([type=checkbox]),
.insurance-record-grid select{
  box-sizing:border-box;
  width:100%;min-width:0;min-height:45px;
  padding:9px 12px!important;
  border:1px solid #cad7e7!important;
  border-radius:9px!important;
  background:#fff;
  color:#203853;
  font:inherit;font-size:13px;
  line-height:1.8;
}
.insurance-record-grid input:focus-visible,
.insurance-record-grid select:focus-visible{
  outline:2px solid #a7c3ed;
  outline-offset:0;
  border-color:#8caee0!important;
}
.insurance-record-grid .df-select{position:relative;width:100%;min-width:0;z-index:1}
.insurance-record-grid .df-select:focus-within{z-index:80}
.insurance-record-grid .df-select-toggle{
  width:100%;min-height:45px;
  border:1px solid #cad7e7;
  border-radius:9px;
  background:#fff;
  padding:9px 12px;
  font-size:13px;
  text-align:right;
  color:#203853;
  cursor:pointer;
}
.insurance-record-grid .df-select-toggle:focus-visible{
  outline:2px solid #a7c3ed;outline-offset:1px;
}
.insurance-record-grid .df-select-popup{
  position:absolute;
  inset:calc(100% + 6px) 0 auto 0;
  z-index:1000;
  width:100%;min-width:195px;
  max-width:min(330px,calc(100vw - 44px));
  box-sizing:border-box;
  overflow:visible;
  background:#fff;
  border:1px solid #c8d7eb;
  border-radius:11px;
  padding:10px;
  box-shadow:0 14px 35px rgba(25,58,105,.17);
}
.insurance-record-grid .df-select-popup[hidden]{display:none!important}
.insurance-record-grid .df-select-popup>input{
  min-height:39px;
  padding:7px 10px!important;
  font-size:12px;
  background:#f8fafe;
}
.insurance-record-grid .df-select-options{
  max-height:210px;
  overflow:auto;
  margin-top:6px;
  overscroll-behavior:contain;
}
.insurance-record-grid .df-select-options>button{
  min-height:38px;
  padding:8px 10px;
  font-size:13px;
  border-radius:7px;
  text-align:right;
}
.insurance-record-grid .df-select-options>button:hover,
.insurance-record-grid .df-select-options>button:focus-visible{background:#edf4ff;color:#215bac}
.insurance-record-grid [data-record-column][hidden]{display:none!important}
.insurance-record-grid .df-input-unit{display:flex;gap:7px;min-width:0;align-items:center;position:relative}
.insurance-record-grid .df-input-unit>input{min-width:0;flex:1}
.insurance-record-grid .df-calendar-toggle{
  flex:0 0 39px;
  width:39px;min-height:43px;
  border:1px solid #cad7e7;
  background:#f6f9fd;
  border-radius:8px;
  color:#315d98;
  cursor:pointer;
}
.insurance-record-grid .df-calendar{z-index:1000}
.insurance-record-error{display:block;margin-top:5px;font-size:11px;line-height:1.7;color:#b33143}
.expert-reviewer{margin:14px 16px;max-width:450px}
.expert-reviewer input[readonly]{background:#f3f6fa}
.expert-reviewer label{margin-bottom:7px}
.fb-record-settings{border-top:1px solid #dce4ee;padding-top:14px;margin-top:14px}
.fb-record-column{border:1px solid #dbe4ef;border-radius:9px;padding:12px;margin-top:10px}
.fb-record-column label{font-size:11px}
.fb-record-column input[type=checkbox]{width:16px;height:16px;display:inline-block}
.fb-record-column .fb-record-check{display:flex;flex-direction:row;align-items:center;gap:8px}
@media(max-width:700px){
 .insurance-record-grid{grid-template-columns:minmax(0,1fr);gap:13px;padding:14px 12px 17px}
 .insurance-record>header{padding:10px 12px}
 .insurance-records>[data-record-add]{max-width:none}
 .insurance-record-grid .df-select-popup{min-width:0;max-width:100%}
 .expert-reviewer{max-width:none}
}
@media(prefers-reduced-motion:reduce){
 .insurance-records>[data-record-add]{transition:none}
}
/* Health-family multiselect: scoped strictly to record cards, avoiding global form overrides. */
.insurance-record-grid .insurance-record-multiple{grid-column:1/-1}
.insurance-record-grid .insurance-record-choices{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
  border:1px solid #d5e2f1;border-radius:11px;background:#f9fbfe;
  padding:13px;max-height:340px;overflow-y:auto;overscroll-behavior:contain;
}
.insurance-record-grid .insurance-record-choice{
  display:flex;align-items:flex-start;gap:9px;cursor:pointer;
  min-width:0;line-height:1.8;padding:8px 9px;border:1px solid #e0e8f1;
  border-radius:9px;background:#fff;color:#34506a;font-size:12px;
}
.insurance-record-grid .insurance-record-choice:has(input:checked){
  background:#ecf4ff;border-color:#8db2e8;color:#204f8b;
}
.insurance-record-grid .insurance-record-choice:has(input:focus-visible){outline:2px solid #8fb4ec;outline-offset:1px}
.insurance-record-grid .insurance-record-choice input[type=checkbox]{
  flex:0 0 17px;width:17px;height:17px;margin:3px 0 0;accent-color:#2b65aa;
}
.insurance-record-grid .insurance-record-choice:has(input:disabled){opacity:.7;cursor:default}
@media(max-width:600px){.insurance-record-grid .insurance-record-choices{grid-template-columns:1fr;padding:10px;max-height:360px}}
