.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:flex-end;justify-content:center}
@media(min-width:500px){.modal-overlay{align-items:flex-start;padding:24px 0;overflow-y:auto}}
.modal-sheet{background:var(--c-bg);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:20px 18px 36px;width:100%;max-width:500px;max-height:92vh;overflow-y:auto;overscroll-behavior:contain}
@media(min-width:500px){.modal-sheet{border-radius:var(--r-xl);padding:22px 20px;max-height:none;overflow-y:visible}}
.patient-form-nav{position:sticky;top:0;background:var(--c-bg);z-index:2;display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;margin-bottom:8px}
.pf-nav-btn{border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text-2);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}
.pf-nav-btn.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.modal-handle{display:none}
.seg-ctrl{display:flex;background:var(--c-bg-2);border-radius:var(--r-md);padding:3px;margin-bottom:14px;gap:2px}
.seg-btn{flex:1;padding:7px 0;font-size:13px;font-weight:500;border:none;border-radius:var(--r-sm);background:transparent;cursor:pointer;color:var(--c-text-3);transition:all var(--t-normal);display:flex;align-items:center;justify-content:center;gap:4px}
.seg-btn.active{background:var(--c-bg);color:var(--c-text);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.modal-title{font-size:17px;font-weight:700;margin-bottom:4px}
.modal-subtitle{font-size:12px;color:var(--c-text-2);margin-bottom:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hint{font-size:11px;color:var(--c-primary);margin-top:3px}
.form-err{font-size:12px;color:var(--c-danger);background:var(--c-danger-bg);border-radius:var(--r-sm);padding:8px 12px;margin-bottom:10px;border:1px solid #ffcccc}
.section-divider{font-size:11px;font-weight:600;color:var(--c-text-2);text-transform:uppercase;letter-spacing:.04em;padding:8px 0 4px;margin-top:4px;border-top:.5px solid var(--c-border-light)}
.modal-footer{display:flex;gap:8px;margin-top:16px;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;background:var(--c-bg);padding:10px 0 4px;z-index:1}
.btn-cf{flex:1;padding:12px;font-size:15px;background:var(--c-bg-2);border:none;border-radius:var(--r-md);cursor:pointer;font-weight:500}
.btn-save{flex:2;padding:12px;font-size:15px;font-weight:700;background:var(--c-primary);color:#fff;border:none;border-radius:var(--r-md);cursor:pointer}
.btn-cancel-patient{padding:12px 14px;font-size:13px;background:var(--c-danger-bg);border:1px solid var(--c-danger);border-radius:var(--r-md);cursor:pointer;color:var(--c-danger);font-weight:600;white-space:nowrap}
.btn-restore-patient{padding:12px 14px;font-size:13px;background:#eef9f1;border:1px solid #9ad8aa;border-radius:var(--r-md);cursor:pointer;color:#248a3d;font-weight:600;white-space:nowrap}.cancel-options{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.cancel-opt-btn{padding:12px 14px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-bg);cursor:pointer;text-align:left;font-size:14px;font-weight:500}
.cancel-opt-btn.selected{border-color:var(--c-danger);background:var(--c-danger-bg);color:var(--c-danger)}
.readonly-notice{font-size:12px;color:var(--c-text-3);background:var(--c-bg-3);border-radius:var(--r-sm);padding:8px 12px;margin-bottom:12px;border:1px solid var(--c-border)}
.send-link-row{display:flex;gap:8px;align-items:stretch}
.btn-send-link{flex:1;padding:12px 14px;font-size:14px;font-weight:600;background:linear-gradient(135deg,#0066ff,#0052cc);color:#fff;border:none;border-radius:12px;cursor:pointer;text-align:center;transition:opacity .2s;box-shadow:0 2px 8px rgba(0,102,255,.25)}
.btn-send-link:hover{opacity:.88}
.btn-send-link:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.btn-show-qr{width:48px;min-width:48px;padding:0;font-size:18px;font-weight:700;background:var(--c-text);color:#fff;border:none;border-radius:12px;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:opacity .2s}
.btn-show-qr:hover{opacity:.82}

/* ── Better shadows ── */
.modal-sheet{box-shadow:var(--shadow-lg)}

/* ── Desktop: wider modal + 2-column form grid ── */
@media(min-width:800px){
  .modal-sheet{max-width:760px}
  .patient-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .patient-form-grid .field.wide,
  .patient-form-grid .field:has(textarea),
  .patient-form-grid .row2,
  .patient-form-grid .section-divider,
  .patient-form-grid #f-difficult-wrap{grid-column:1 / -1}
}

@media(max-width:499px){
  .patient-form-grid{padding-bottom:120px}
}
