/* Doctor booking availability / notify-me card and OTP modal.
   Independent from user-panel.css — DRKOJA V2.1.0 */
html.dr-modal-open,html.dr-modal-open body{overflow:hidden}
body[data-page-type="doctor"] .dr-booking-alert{display:grid;gap:14px;overflow:hidden;border-color:#d8e5ec;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
body[data-page-type="doctor"] .dr-booking-alert.is-disabled{opacity:1;border-color:#d9e3ee;background:linear-gradient(150deg,#fff 0%,#f7faff 100%)}
body[data-page-type="doctor"] .dr-booking-alert.is-subscribed{border-color:#c7ddd8;background:linear-gradient(150deg,#fff 0%,#f3faf8 100%)}
body[data-page-type="doctor"] .dr-booking-alert-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
body[data-page-type="doctor"] .dr-booking-alert-head-main{display:flex;align-items:center;gap:11px;min-width:0}
body[data-page-type="doctor"] .dr-booking-alert-head-main>div{display:grid;gap:3px;min-width:0}
body[data-page-type="doctor"] .dr-booking-alert-head b{display:block;margin:0;color:#102a43;font-size:1.02rem;font-weight:900;line-height:1.7}
body[data-page-type="doctor"] .dr-booking-alert-head small{display:block;margin:0;color:#708397;font-size:.76rem;line-height:1.75}
body[data-page-type="doctor"] .dr-booking-alert-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf4ff;color:#1769c2;font-size:1.05rem}
body[data-page-type="doctor"] .dr-booking-alert.is-subscribed .dr-booking-alert-icon{background:#e9f8f3;color:#08775b}
body[data-page-type="doctor"] .dr-booking-switch{position:relative;flex:0 0 48px;width:48px;height:28px;border:1px solid #11a96a;border-radius:999px;background:#18b56f;box-shadow:inset 0 1px 2px rgba(15,42,67,.08)}
body[data-page-type="doctor"] .dr-booking-switch::after{content:"";position:absolute;top:2px;right:22px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(33,54,74,.22)}
body[data-page-type="doctor"] .dr-booking-alert:not(.is-disabled){border-color:#b9e2d5;background:linear-gradient(180deg,#fff 0%,#f4fcf8 100%)}
body[data-page-type="doctor"] .dr-booking-alert>.dr-profile-v9-side-route,
body[data-page-type="doctor"] .dr-booking-alert>[data-booking-alert-button]{width:100%;min-height:48px;margin:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-family:inherit;font-size:.8rem;font-weight:900;line-height:1.65;text-align:center;text-decoration:none}
body[data-page-type="doctor"] .dr-booking-alert>.dr-profile-v9-side-route{border:1px solid #b6ddd2;background:#fff;color:#08775b}
body[data-page-type="doctor"] .dr-booking-alert>.dr-profile-v9-side-route:hover{border-color:#78c7b1;background:#effaf6;color:#05654c}
body[data-page-type="doctor"] .dr-booking-alert>[data-booking-alert-button]{border:1px solid #8db8eb;background:linear-gradient(180deg,#f8fbff,#edf5ff);color:#0b67c2;cursor:pointer;box-shadow:0 5px 16px rgba(23,105,194,.08)}
body[data-page-type="doctor"] .dr-booking-alert>[data-booking-alert-button]:hover{border-color:#5e9ddd;background:#e8f2ff}
body[data-page-type="doctor"] .dr-booking-alert.is-subscribed [data-booking-alert-button]{border-color:#b9d9d0;background:#eff9f6;color:#08775b;cursor:default;box-shadow:none}
body[data-page-type="doctor"] .dr-booking-alert [data-booking-alert-button]:disabled{opacity:1}
body[data-page-type="doctor"] .dr-booking-alert>[data-booking-alert-button]:focus-visible,
body[data-page-type="doctor"] .dr-booking-alert>.dr-profile-v9-side-route:focus-visible{outline:3px solid rgba(20,115,230,.18);outline-offset:2px}
.dr-booking-spinner{width:16px;height:16px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;animation:drBookingSpin .65s linear infinite}
@keyframes drBookingSpin{to{transform:rotate(360deg)}}

.dr-user-modal[hidden]{display:none!important}.dr-user-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px;overflow-y:auto;background:rgba(8,25,42,.64);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.dr-user-modal-card{position:relative;width:min(520px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:30px;border:1px solid rgba(255,255,255,.55);border-radius:24px;background:#fff;color:#172b3d;box-shadow:0 28px 90px rgba(0,24,47,.34);animation:drBookingModalIn .2s ease both}
.dr-user-modal-close{position:absolute;top:14px;left:14px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid #dbe5ec;border-radius:12px;background:#fff;color:#263d51;font-size:1rem;cursor:pointer}.dr-user-modal-close:hover{background:#f4f7f9}
.dr-user-modal-icon{width:60px;height:60px;display:grid;place-items:center;margin:0 auto 12px;border-radius:18px;background:#e8f8f5;color:#087d75;font-size:1.5rem}.dr-user-modal-stage{display:block;text-align:center;color:#087d75;font-size:.82rem;font-weight:850}
.dr-user-modal h2{margin:6px 38px 8px;color:#112b40;text-align:center;font-size:1.35rem;font-weight:900;line-height:1.65}.dr-user-modal-card>p{margin:0 0 15px;color:#526a7e;text-align:center;font-size:.82rem;line-height:1.95}
.dr-user-modal-benefit{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 13px;border:1px solid #cce8df;border-radius:13px;background:#f1fbf7;color:#226353;font-size:.78rem;line-height:1.85}.dr-user-modal-benefit i{margin-top:3px;color:#0b8b69;flex:0 0 auto}
.dr-user-modal form{display:grid;gap:10px}.dr-user-modal form label{display:grid;gap:7px;margin:0}.dr-user-modal form label[hidden]{display:none!important}.dr-user-modal form label>span{color:#30485b;font-size:.78rem;font-weight:850}
.dr-user-modal input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #c7d7e2;border-radius:12px;background:#fff;color:#172b3d;font-family:inherit;font-size:.92rem;outline:0}.dr-user-modal input[name="mobile"],.dr-user-modal input[name="code"]{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}.dr-user-modal input:focus{border-color:#1473e6;box-shadow:0 0 0 4px rgba(20,115,230,.12)}
.dr-user-modal-actions{display:flex;gap:10px}.dr-user-modal-actions button{flex:1;min-height:48px;padding:12px 16px;border:0;border-radius:12px;background:#1473e6;color:#fff;font-family:inherit;font-size:.82rem;font-weight:900;cursor:pointer}.dr-user-modal-actions button:hover{background:#0f66cf}.dr-user-modal-actions button:disabled{opacity:.62;cursor:wait}
.dr-user-modal-terms{display:block;margin-top:2px;color:#718493;text-align:center;font-size:.67rem;line-height:1.8}.dr-user-msg{min-height:22px;margin:0;font-size:.75rem;line-height:1.75}.dr-user-msg.is-error{color:#b42318}.dr-user-msg.is-success{color:#08775b}
@keyframes drBookingModalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){body[data-page-type="doctor"] .dr-booking-alert{gap:12px}body[data-page-type="doctor"] .dr-booking-alert-head{align-items:flex-start}body[data-page-type="doctor"] .dr-booking-alert-head b{font-size:.96rem}body[data-page-type="doctor"] .dr-booking-alert-head small{font-size:.72rem}.dr-user-modal{align-items:end;padding:10px}.dr-user-modal-card{width:100%;max-height:calc(100dvh - 20px);padding:26px 18px 18px;border-radius:22px 22px 16px 16px}.dr-user-modal h2{margin:6px 36px 8px;font-size:1.16rem}.dr-user-modal-card>p{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){.dr-user-modal-card,.dr-booking-spinner{animation:none}}
