/* 2026-07-09 REL_95 -- SHARED inline OTP guest-auth modal styles (.di-ga*). Global di-system tokens only (page-agnostic; extracted from REL_86 .dp-otp, --p-* mapped to --*).
   Used by di-guestauth.js on the doctor profile, org/hospital page, Q&A vote, and any page needing on-page password-less patient sign-in. Light-only (di dark==light). */
.di-ga { position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:20px; }
.di-ga[hidden] { display:none; }
.di-ga__backdrop { position:absolute; inset:0; background:color-mix(in srgb, var(--ink) 58%, transparent); cursor:pointer; }
.di-ga__card { position:relative; z-index:1; width:100%; max-width:420px; max-height:calc(100vh - 40px); overflow:auto; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:0 24px 60px color-mix(in srgb, var(--ink) 26%, transparent); padding:26px 24px 22px; }
.di-ga__x { position:absolute; top:8px; right:10px; width:44px; height:44px; border:0; background:transparent; font-size:26px; line-height:1; color:var(--muted); cursor:pointer; border-radius:8px; }
.di-ga__x:hover { color:var(--ink); background:var(--tint); }
.di-ga__title { font-size:19px; font-weight:800; color:var(--ink); margin:2px 0 6px; padding-right:30px; }
.di-ga__sub { font-size:13.5px; color:var(--ink2); line-height:1.5; margin:0 0 16px; }
.di-ga__row { display:flex; gap:12px; }
.di-ga__fld { display:flex; flex-direction:column; gap:5px; flex:1 1 auto; min-width:0; margin-bottom:13px; font-size:12.5px; font-weight:600; color:var(--ink2); }
.di-ga__fld input { height:46px; border:1.5px solid var(--line); border-radius:12px; padding:0 14px; font-size:15px; font-family:inherit; color:var(--ink); background:var(--white); transition:border-color .14s; }
.di-ga__fld input:focus { outline:none; border-color:var(--blue); }
.di-ga__phone { display:flex; align-items:center; border:1.5px solid var(--line); border-radius:12px; overflow:hidden; transition:border-color .14s; }
.di-ga__phone:focus-within { border-color:var(--blue); }
.di-ga__cc { flex:0 0 auto; padding:0 12px; height:46px; display:flex; align-items:center; font-size:14px; font-weight:700; color:var(--ink2); background:var(--tint); border-right:1.5px solid var(--line); }
.di-ga__phone input { flex:1 1 auto; min-width:0; height:46px; border:0; padding:0 14px; font-size:15px; font-family:inherit; color:var(--ink); }
.di-ga__phone input:focus { outline:none; }
.di-ga__code { letter-spacing:6px; text-align:center; font-weight:700; }
.di-ga__err { margin:0 0 12px; font-size:13px; font-weight:600; color:var(--danger); }
.di-ga__err[hidden] { display:none; }
.di-ga .di-btn--block { margin-top:4px; }
.di-ga__link { border:0; background:transparent; padding:0; color:var(--blue); font-size:13px; font-weight:700; font-family:inherit; cursor:pointer; }
.di-ga__link:hover { text-decoration:underline; }
.di-ga__resend { display:block; margin:12px auto 0; min-height:44px; }
.di-ga__resend:disabled { color:var(--muted); cursor:default; }
.di-ga__trust { display:flex; align-items:flex-start; gap:7px; margin:14px 0 0; font-size:12px; color:var(--muted); line-height:1.45; }
.di-ga__trust svg { width:15px; height:15px; flex:0 0 15px; margin-top:1px; color:var(--green-ink); }
.di-ga__x:focus-visible, .di-ga__link:focus-visible, .di-ga__fld input:focus-visible, .di-ga__phone input:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.di-ga-open { overflow:hidden; }
@media (max-width:480px) { .di-ga__row { flex-direction:column; gap:0; } .di-ga__card { padding:22px 18px 18px; } }
