/* Planning form standard: 8px spacing grid, 44px controls, one shared label baseline.
   Search owns a separate row; progressive enhancement must not shift field columns. */
.ef-modal{
  --ef-space:8px;--ef-control:44px;--ef-radius:6px;
  max-width:960px;background:var(--panel);border-radius:12px;
  box-shadow:0 16px 48px rgba(15,55,48,.18);
}
.ef-modal-kopf{padding:16px 24px;border-radius:12px 12px 0 0;gap:16px}
.ef-modal-kopf h2{font-size:20px;line-height:1.4;font-weight:650;letter-spacing:-.02em}
.ef-modal-body{padding:0 24px;gap:0;align-content:start}
.ef-sec{border:0;border-radius:0;box-shadow:none;background:transparent;padding:24px 0}
.ef-sec+.ef-sec{border-top:1px solid var(--border)}
.ef-sec-kopf{padding:0 0 16px;border:0;gap:12px;align-items:center}
.ef-sec-kopf h3{font-size:15px;line-height:24px;font-weight:650;gap:8px}
.ef-nr{width:24px;height:24px;border-radius:4px;background:var(--bg);color:var(--muted);font-size:12px;font-weight:600}
.ef-badge,.ef-badge.p{padding:0;border:0;border-radius:0;background:none;color:var(--muted);font-size:11px;letter-spacing:.04em}
.ef-sec-body{padding:0;gap:16px}
.ef-g2,.ef-g3{gap:16px;align-items:start}
.ef-modal .field{min-width:0;gap:8px;margin:0}
.ef-modal .field>label,.ef-modal .client-search label{
  display:block;min-height:20px;margin:0;color:var(--text);font-size:13px;line-height:20px;font-weight:600;
}
.ef-modal .field input,.ef-modal .field select,.ef-modal .client-search-input{
  box-sizing:border-box;height:var(--ef-control);min-height:var(--ef-control);margin:0;
  padding:10px 12px;border:1px solid var(--border);border-radius:var(--ef-radius);
  background:var(--panel);color:var(--text);font:inherit;font-size:14px;line-height:22px;
}
.ef-modal .field input:disabled,.ef-modal .field select:disabled{background:var(--bg);color:var(--muted)}
.ef-modal .field textarea{padding:12px;border-radius:var(--ef-radius);min-height:96px;line-height:1.5}
.ef-modal input:focus-visible,.ef-modal select:focus-visible,.ef-modal textarea:focus-visible,.ef-modal button:focus-visible{
  outline:2px solid var(--brand);outline-offset:2px;
}
.ef-modal .client-search{display:grid;gap:8px;margin:0}
.ef-modal .client-search-line{gap:8px;align-items:stretch}
.ef-modal .client-search-line button{height:var(--ef-control);min-height:var(--ef-control);width:var(--ef-control);padding:0;border-radius:var(--ef-radius)}
.ef-modal .client-search-status{margin:0;line-height:20px}
.ef-modal [hidden]{display:none!important}
.ef-info{font-size:13px;line-height:1.5;margin:0}
.ef-kinfo{padding:16px;border:1px solid var(--border);border-radius:var(--ef-radius);background:var(--bg);gap:8px;line-height:1.5}
.ef-hinweis{gap:16px;min-height:36px}
.ef-hinweis .btn{font-size:12px;min-height:32px;border-radius:var(--ef-radius);padding:4px 10px;background:var(--panel)}
.ef-unterkopf{margin:0;text-transform:none;letter-spacing:0;font-size:13px;line-height:20px;font-weight:600}
#ef-last{gap:12px}
.ef-ma{border:1px solid var(--border);border-radius:var(--ef-radius);padding:12px;min-height:64px;gap:4px}
.ef-ma-name{font-size:13px;font-weight:600;line-height:20px}
.ef-ma-info{font-size:12px;line-height:16px}
.ef-boegen{gap:8px}
.ef-item,.ef-item.pflicht{padding:12px;border:1px solid var(--border);border-radius:var(--ef-radius);background:var(--panel);min-height:48px;gap:12px}
.ef-item-icon{display:none}
.ef-item-text{font-size:13px;line-height:1.5}
.ef-item-text b{font-weight:600}
.ef-item-text .pill{margin-left:8px;font-size:10px;background:var(--bg);color:var(--muted);border-radius:3px}
.ef-item-fest{font-size:12px;opacity:.6}
.ef-modal .visit-measure-program{border:1px solid var(--border);border-radius:var(--ef-radius);padding:16px;margin:0;min-width:0}
.ef-modal .visit-measure-program legend{padding:0 8px;font-size:13px;font-weight:600}
.ef-modal .visit-measure-program .opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin:0}
.ef-modal .visit-measure-choice{display:flex;align-items:center;gap:8px;font-size:13px;line-height:20px;margin:0}
.ef-modal .visit-measure-choice input{width:16px;height:16px;flex:none;margin:0;accent-color:var(--brand)}
.ef-eingabe{gap:8px}
.ef-eingabe .btn{width:var(--ef-control);height:var(--ef-control);padding:0;border-radius:var(--ef-radius)}
.ef-bausteine{display:flex;flex-wrap:wrap;gap:8px}
.ef-baustein{min-height:32px;border:1px solid var(--border);border-radius:var(--ef-radius);font-size:12px;line-height:20px;padding:4px 10px}
.ef-wa{margin:0;font-size:12px;color:var(--muted);line-height:1.5}
.ef-fuss{padding:16px 24px;gap:16px;border-radius:0 0 12px 12px;align-items:center}
.ef-zusammenfassung{font-size:12px;line-height:1.5;color:var(--muted)}
.ef-fuss-knoepfe{gap:8px}
.ef-fuss-knoepfe .btn{height:var(--ef-control);min-height:var(--ef-control);border-radius:var(--ef-radius);padding:10px 16px;font-size:13px}
@media(max-width:760px){
 .ef-modal{border-radius:0;max-height:100dvh;height:100dvh}
 .ef-modal-kopf,.ef-fuss{padding:16px;border-radius:0}
 .ef-modal-body{padding:0 16px}
 .ef-sec{padding:24px 0}
 .ef-g2,.ef-g3{grid-template-columns:minmax(0,1fr)}
 .ef-sec-kopf{flex-wrap:wrap}
 .ef-sec-kopf h3{min-width:180px}
 .ef-modal .visit-measure-program .opts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ef-fuss-knoepfe{width:100%}
 .ef-zusammenfassung{min-width:0;flex-basis:100%}
}
@media(max-width:400px){.ef-modal .visit-measure-program .opts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
 .ef-hinweis{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:4px 0}
 .ef-hinweis .btn{justify-self:start}
}
