/* RXOPD Next Auth — shared login/signup/recovery/role-entry presentation. */
:root{--rxa-navy:#0a315b;--rxa-blue:#0b70d5;--rxa-teal:#08a985;--rxa-ink:#112d49;--rxa-muted:#63788d;--rxa-line:#d7e5ef;--rxa-shadow:0 24px 66px rgba(13,55,88,.14)}
body.rx-next-auth,body.rx-next-ui .rxopd-public-auth-screen{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
body.rx-next-auth{margin:0;min-height:100dvh;background:radial-gradient(circle at 5% 10%,rgba(42,151,237,.12),transparent 28%),radial-gradient(circle at 92% 86%,rgba(16,184,137,.12),transparent 30%),linear-gradient(145deg,#f7fbff,#eef8f8);color:var(--rxa-ink)}
.rxn-auth-shell{min-height:100dvh;width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:clamp(18px,4vw,50px);align-items:center;padding:clamp(18px,4vw,48px)}
.rxn-auth-hero{min-width:0;padding:clamp(18px,3vw,30px)}.rxn-auth-brand{display:inline-flex;align-items:center;max-width:285px;margin-bottom:22px}.rxn-auth-brand img{display:block;width:min(100%,280px);height:auto;object-fit:contain}.rxn-auth-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #cbeee2;border-radius:999px;background:#eefbf6;color:#087c5c;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.rxn-auth-hero h1{max-width:690px;margin:14px 0 11px;color:#0a315b;font-size:clamp(36px,5vw,66px);line-height:1.02;letter-spacing:-.045em}.rxn-auth-hero h1 em{font-style:normal;color:#0b79d0}.rxn-auth-hero p{max-width:650px;margin:0;color:#63788d;font-size:clamp(14px,1.5vw,18px);line-height:1.65}.rxn-auth-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}.rxn-auth-feature{padding:13px;border:1px solid #dce8f0;border-radius:14px;background:rgba(255,255,255,.78)}.rxn-auth-feature b{display:block;color:#173f63;font-size:12px}.rxn-auth-feature span{display:block;margin-top:4px;color:#71869a;font-size:10.5px;line-height:1.4}
.rxn-auth-panel{min-width:0;border:1px solid #d7e4ee;border-radius:23px;background:rgba(255,255,255,.97);box-shadow:var(--rxa-shadow);padding:clamp(19px,3vw,32px)}.rxn-auth-title small{display:block;color:#098064;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.rxn-auth-title h2{margin:6px 0 7px;color:#0a315b;font-size:clamp(24px,3vw,33px);letter-spacing:-.03em}.rxn-auth-title p{margin:0 0 17px;color:#6a7f92;line-height:1.5}.rxn-auth-rolechips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.rxn-auth-rolechips span{padding:6px 9px;border-radius:999px;background:#eef5fb;color:#36556f;font-size:10.5px;font-weight:850}
body.rx-next-auth form,body.rx-next-ui .rxopd-public-auth-form{display:grid;gap:12px}.rxn-auth-panel label,body.rx-next-ui .rxopd-public-auth-form label{display:grid;gap:6px;color:#294b67;font-size:12px;font-weight:850}.rxn-auth-panel input:not([type=checkbox]):not([type=radio]),.rxn-auth-panel select,body.rx-next-ui .rxopd-public-auth-form input:not([type=checkbox]):not([type=radio]),body.rx-next-ui .rxopd-public-auth-form select{width:100%;min-height:49px;border:1px solid #cedee9;border-radius:12px;background:#fbfdff;padding:10px 12px;color:#14344e;font:inherit;outline:0}.rxn-auth-panel input:focus,.rxn-auth-panel select:focus,body.rx-next-ui .rxopd-public-auth-form input:focus{border-color:#71aee0;box-shadow:0 0 0 3px rgba(11,112,213,.09)}
.rxn-auth-submit,.rxn-auth-panel form>button[type=submit],body.rx-next-ui .rxopd-public-auth-submit{min-height:49px;border:0;border-radius:12px;background:linear-gradient(135deg,#0b72d6,#079d83);color:#fff;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 9px 19px rgba(10,113,177,.18)}.rxn-auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;margin-top:14px}.rxn-auth-links a{color:#0b68bd;text-decoration:none;font-size:11.5px;font-weight:850}.rxn-auth-note{margin-top:15px;padding-top:14px;border-top:1px solid #e6edf3;color:#73869a;font-size:10.5px;line-height:1.55}.rxn-auth-alert{margin:0 0 12px;padding:10px 11px;border-radius:11px;font-size:11.5px;line-height:1.45}.rxn-auth-alert.error{background:#fff1f2;color:#991b1b;border:1px solid #fecaca}.rxn-auth-alert.success{background:#ecfdf5;color:#066c4f;border:1px solid #b7efd9}.rxn-auth-alert.warn{background:#fff8e8;color:#8b5a06;border:1px solid #f4dfac}

/* Existing shared auth cards */
body.rx-next-ui .rxopd-public-auth-screen{min-height:calc(100dvh - 96px);display:grid;place-items:center;padding:clamp(14px,4vw,40px);background:radial-gradient(circle at 10% 10%,rgba(33,151,233,.08),transparent 25%),radial-gradient(circle at 90% 90%,rgba(11,174,126,.10),transparent 27%)}
body.rx-next-ui .rxopd-public-auth-card{width:min(100%,520px);padding:clamp(19px,3vw,30px);border:1px solid #d7e5ef;border-radius:22px;background:#fff;box-shadow:var(--rxa-shadow)}.rxopd-public-auth-logo{display:flex;justify-content:flex-start;margin:0 0 13px}.rxopd-public-auth-logo img{width:min(245px,72vw);max-height:82px;object-fit:contain;object-position:left center}.rxopd-public-auth-heading>span{color:#078166;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.rxopd-public-auth-heading h1{margin:5px 0 7px;color:#0a315b;font-size:clamp(25px,4vw,35px)}.rxopd-public-auth-heading p{color:#697f92;line-height:1.5}.rxopd-public-auth-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;border:1px solid #dce7ef;border-radius:13px;background:#f3f7fb;margin:14px 0}.rxopd-public-auth-tabs>*{min-height:38px;border:0;border-radius:9px;background:transparent;color:#49647a;font-weight:850}.rxopd-public-auth-tabs>.active{background:#fff;color:#0b67bd;box-shadow:0 4px 12px rgba(19,61,94,.08)}.rxopd-login-secondary-links{margin-top:13px;border-top:1px solid #e6edf3;padding-top:12px}

.role-grid-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-choice{min-height:80px!important;border:1px solid #d7e5ef!important;background:#f8fbfe!important;color:#173c5a!important;text-align:left!important;padding:13px!important}.role-choice strong,.role-choice span{display:block}.role-choice span{margin-top:5px;color:#6b8092;font-size:10.5px}.role-choice:hover{border-color:#8dc1e7!important;background:#f1f8fd!important}

@media(max-width:860px){.rxn-auth-shell{grid-template-columns:1fr;gap:7px;padding:13px}.rxn-auth-hero{padding:13px 13px 4px;text-align:center}.rxn-auth-brand{margin-inline:auto;max-width:230px}.rxn-auth-hero h1{font-size:33px;margin-inline:auto}.rxn-auth-hero p{margin-inline:auto}.rxn-auth-features{display:none}.rxn-auth-panel{width:min(100%,560px);margin-inline:auto;border-radius:19px}}
@media(max-width:520px){.rxn-auth-shell{padding:8px}.rxn-auth-hero{padding:7px}.rxn-auth-brand{max-width:198px;margin-bottom:8px}.rxn-auth-kicker{font-size:9px}.rxn-auth-hero h1{font-size:26px;margin:8px auto 5px}.rxn-auth-hero p{font-size:12px;line-height:1.45}.rxn-auth-panel{padding:17px 14px;border-radius:16px}.rxn-auth-title h2{font-size:24px}.rxn-auth-rolechips{margin-bottom:9px}.rxopd-public-auth-screen{padding:8px!important}.rxopd-public-auth-card{border-radius:16px!important;padding:16px 13px!important}.rxopd-public-auth-tabs{grid-template-columns:1fr 1fr!important}.rxopd-login-signup-tab{grid-column:1/-1}.role-grid-form{grid-template-columns:1fr!important}}

/* RXOPD login action refinement — 22 Sep 2026
   Password + OTP + Create Provider Account: no overlap at any viewport. */
.rxn-auth-panel .rxopd-login-tabs-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,.86fr) minmax(0,1.56fr)!important;
  align-items:stretch!important;
  gap:6px!important;
  width:100%!important;
}
.rxn-auth-panel .rxopd-login-tabs-main>*{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  padding:7px 8px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  text-decoration:none!important;
  line-height:1.1!important;
  overflow:hidden!important;
}
.rxn-auth-panel .rxopd-login-tabs-main>button{
  font-size:12px!important;
  white-space:nowrap!important;
}
.rxn-auth-panel .rxopd-login-provider-tab{
  grid-column:auto!important;
  color:#087d62!important;
  background:linear-gradient(135deg,#ebfaf5,#f4fbff)!important;
  border:1px solid #cfe9df!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:-.012em!important;
  white-space:nowrap!important;
}
.rxn-auth-panel .rxopd-login-provider-tab:hover,
.rxn-auth-panel .rxopd-login-provider-tab:focus-visible{
  background:#e5f8f1!important;
  color:#066a53!important;
}
.rxn-auth-footer-links{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:8px!important;
  margin-top:15px!important;
}
.rxn-auth-footer-links a{
  min-width:0!important;
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 8px!important;
  border:1px solid #d8e6f0!important;
  border-radius:10px!important;
  background:#f8fbfe!important;
  color:#0b67bd!important;
  font-size:10.5px!important;
  font-weight:850!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.rxn-auth-footer-links a:hover,
.rxn-auth-footer-links a:focus-visible{
  border-color:#a9cce6!important;
  background:#eef7fd!important;
  color:#075a9f!important;
}
@media(max-width:560px){
  .rxn-auth-panel .rxopd-login-tabs-main{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .rxn-auth-panel .rxopd-login-tabs-main>*{min-height:38px!important}
  .rxn-auth-panel .rxopd-login-provider-tab{
    grid-column:1/-1!important;
    min-height:38px!important;
    font-size:10.5px!important;
    white-space:nowrap!important;
  }
  .rxn-auth-panel .rxopd-login-signup-tab{grid-column:1/-1!important}
  .rxn-auth-footer-links{gap:5px!important;margin-top:12px!important}
  .rxn-auth-footer-links a{
    min-height:37px!important;
    padding:6px 4px!important;
    font-size:9.5px!important;
    letter-spacing:-.01em!important;
  }
}
@media(max-width:350px){
  .rxn-auth-panel .rxopd-login-tabs-main>button{font-size:10.5px!important}
  .rxn-auth-panel .rxopd-login-provider-tab{font-size:10px!important}
  .rxn-auth-footer-links a{font-size:8.8px!important;padding-inline:2px!important}
}
