.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);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:#fff;border-radius:20px 20px 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:20px;padding:22px 20px}}
.modal-handle{display:none}
.seg-ctrl{display:flex;background:#f2f2f7;border-radius:10px;padding:3px;margin-bottom:14px;gap:2px}
.seg-btn{flex:1;padding:7px 0;font-size:13px;font-weight:500;border:none;border-radius:8px;background:transparent;cursor:pointer;color:#8e8e93;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px}
.seg-btn.active{background:#fff;color:#1c1c1e;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:#636366;margin-bottom:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hint{font-size:11px;color:#007aff;margin-top:3px}
.form-err{font-size:12px;color:#ff3b30;background:#fff5f5;border-radius:8px;padding:8px 12px;margin-bottom:10px;border:1px solid #ffcccc}
.section-divider{font-size:11px;font-weight:600;color:#636366;text-transform:uppercase;letter-spacing:.04em;padding:8px 0 4px;margin-top:4px;border-top:.5px solid #f0f0f5}
.modal-footer{display:flex;gap:8px;margin-top:16px;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;background:#fff;padding:10px 0 4px;z-index:1}
.btn-cf{flex:1;padding:12px;font-size:15px;background:#f2f2f7;border:none;border-radius:10px;cursor:pointer;font-weight:500}
.btn-save{flex:2;padding:12px;font-size:15px;font-weight:700;background:#007aff;color:#fff;border:none;border-radius:10px;cursor:pointer}
.btn-cancel-patient{padding:12px 14px;font-size:13px;background:#fff0f0;border:1px solid #ffb3b3;border-radius:10px;cursor:pointer;color:#ff3b30;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:10px;border:1.5px solid #e0e0e0;background:#fff;cursor:pointer;text-align:left;font-size:14px;font-weight:500}
.cancel-opt-btn.selected{border-color:#ff3b30;background:#fff5f5;color:#ff3b30}
.readonly-notice{font-size:12px;color:#8e8e93;background:#f9f9f9;border-radius:8px;padding:8px 12px;margin-bottom:12px;border:1px solid #e0e0e0}

/* ── Better shadows ── */
.modal-overlay{backdrop-filter:blur(6px);background:rgba(0,0,0,.4)}
.modal-sheet{box-shadow:0 -6px 32px rgba(0,0,0,.14)}
