/* Auth Modernization V5 — final overrides loaded after the shared application CSS. */
.auth-layout{grid-template-columns:minmax(440px,.92fr) minmax(620px,1.08fr);background:#eef7f5}
html[dir=ltr] .auth-layout{grid-template-columns:minmax(620px,1.08fr) minmax(440px,.92fr)}
.auth-form-area{padding:clamp(24px,3vw,52px);background:radial-gradient(circle at 18% 12%,rgba(45,212,191,.12),transparent 34%),linear-gradient(145deg,#f7fbfa 0%,#eaf5f2 100%)}
.auth-layout .auth-form-area .auth-form-card,.auth-layout .auth-form-area .auth-form-card--trial{box-sizing:border-box;width:min(100%,560px);max-width:560px;padding:clamp(28px,2.6vw,38px);border-radius:24px;border:1px solid rgba(15,118,110,.13);box-shadow:0 28px 70px rgba(15,67,62,.16),0 8px 24px rgba(15,67,62,.08),inset 0 1px 0 rgba(255,255,255,.9)}
.auth-form-card .login-container{box-sizing:border-box;width:100%;min-height:0;padding:0}
.auth-form-card .login-box{box-sizing:border-box;width:100%;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.auth-panel-brand{display:flex;justify-content:center;width:250px;height:64px;overflow:hidden;margin:-4px auto 22px;line-height:0}
.auth-panel-brand .auth-brand-logo{flex:none;width:1400px;max-width:none;max-height:none;transform:translateY(-1px)}
.auth-segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin:0 0 28px;border:1px solid #d7e5e2;border-radius:14px;background:#f4f8f7;box-shadow:inset 0 1px 3px rgba(15,67,62,.05)}
.auth-segmented__item{display:grid;place-items:center;min-height:44px;padding:8px 14px;border-radius:10px;color:#35615d;font-size:.95rem;font-weight:700;text-decoration:none;transition:color 160ms ease,background-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
.auth-segmented__item:hover{color:#0f766e;background:rgba(255,255,255,.72)}
.auth-segmented__item.is-active{color:#fff;background:linear-gradient(135deg,#0f766e,#0b625c);box-shadow:0 7px 16px rgba(15,118,110,.24)}
.auth-segmented__item:focus-visible{outline:3px solid rgba(20,184,166,.28);outline-offset:2px}
.auth-form-heading,.auth-trial-form-intro{margin:0 0 22px;text-align:center}
.auth-layout .login-box-title{margin:0 0 8px;color:#102a2e;font-size:clamp(1.55rem,2vw,2rem);font-weight:800;line-height:1.2;letter-spacing:-.025em}
.auth-layout .login-box-subtitle{margin:0;color:#64748b;font-size:1rem;line-height:1.55}
.auth-trial-form-eyebrow{margin-bottom:6px;font-size:.86rem;letter-spacing:.015em}
.auth-google-login{margin-bottom:22px}.auth-google-button{min-height:54px;border-radius:13px;font-size:.98rem;box-shadow:0 3px 10px rgba(15,23,42,.04)}
.auth-login-divider{margin:20px 0 4px}
.auth-layout .form-group{margin-bottom:17px}.auth-layout .form-group label{display:block;margin-bottom:7px;color:#1f3538;font-size:.9rem;font-weight:700}
.auth-layout .form-group input,.auth-layout .form-group select,.auth-layout .form-group textarea{min-height:52px;padding:12px 15px;border:1px solid #cad9d6;border-radius:12px;background:#fff;color:#12282b;font-size:1rem;box-shadow:inset 0 1px 2px rgba(15,23,42,.025);transition:border-color 160ms ease,box-shadow 160ms ease,background-color 160ms ease}
.auth-layout .form-group input:focus,.auth-layout .form-group select:focus,.auth-layout .form-group textarea:focus{border-color:#14a399;outline:0;box-shadow:0 0 0 4px rgba(20,163,153,.13)}
.auth-layout .password-input-wrapper input{padding-inline-end:48px}
.auth-form-area button[type=submit],.auth-form-area .btn-primary,.auth-form-area .login-submit-btn,.auth-form-card--trial .login-submit-btn,.auth-layout .login-submit-btn{min-height:54px;padding:14px 18px;border-radius:13px;font-size:1rem;font-weight:800;box-shadow:0 11px 24px rgba(15,118,110,.22)}
.login-footer-links{margin-top:18px}.login-footer-links p{margin:8px 0}.auth-form-area .login-footer{margin-top:18px}
.auth-product-hero{background:#102f2c}.auth-visual__background{background-position:center;transform:scale(1.02);filter:saturate(.9) contrast(1.02)}
.auth-visual__overlay{background:linear-gradient(90deg,rgba(7,35,33,.82),rgba(7,35,33,.48) 60%,rgba(7,35,33,.68)),linear-gradient(180deg,rgba(5,28,27,.28),rgba(5,28,27,.72))}
.auth-visual__inner{max-width:920px;margin:0 auto;width:100%;padding:clamp(42px,6vh,76px) clamp(38px,5vw,78px) 34px}.auth-visual__header{max-width:680px}
.auth-visual__headline,.auth-product-hero--login .auth-visual__headline{margin:0 0 12px;font-size:clamp(2rem,3.25vw,3.15rem);font-weight:850;line-height:1.08;text-shadow:0 3px 24px rgba(0,0,0,.38)}
.auth-visual__subhead,.auth-product-hero--login .auth-visual__subhead{margin:0 0 20px;max-width:52ch;font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.55}
.auth-trial-card,.auth-login-card{width:min(100%,600px);max-width:600px;padding:16px 20px;border-radius:16px;text-decoration:none;background:linear-gradient(135deg,rgba(20,184,166,.24),rgba(15,118,110,.2));border-color:rgba(94,234,212,.5)}
.auth-product-hero--login .auth-login-card{padding:16px 20px}.auth-trial-card__headline{font-size:clamp(1.12rem,1.6vw,1.4rem)}
.auth-visual__stage{margin-top:24px}.auth-benefit-rail{top:0;width:min(43%,340px);gap:16px}.auth-benefit-rail li{gap:12px}.auth-benefit-rail__icon{width:40px;height:40px}.auth-benefit-rail__icon svg,.auth-benefit-rail .auth-icon{width:18px;height:18px}.auth-benefit-rail__text strong{font-size:.98rem}.auth-benefit-rail__text span{font-size:.82rem;line-height:1.4}.auth-laptop{bottom:1%;width:min(62%,620px,48vh)}.auth-trust-strip{display:none}
@media(max-width:1200px){.auth-layout{grid-template-columns:minmax(410px,.95fr) minmax(500px,1.05fr)}html[dir=ltr] .auth-layout{grid-template-columns:minmax(500px,1.05fr) minmax(410px,.95fr)}.auth-form-area{padding:24px}.auth-form-card,.auth-form-card--trial{padding:28px}.auth-visual__inner{padding-inline:34px}.auth-benefit-rail__text span{display:none}}
@media(max-height:820px) and (min-width:901px){.auth-form-card,.auth-form-card--trial{padding:22px 28px}.auth-panel-brand{margin-bottom:14px}.auth-panel-brand .auth-brand-logo{max-height:62px}.auth-segmented{margin-bottom:18px}.auth-form-heading,.auth-trial-form-intro{margin-bottom:15px}.auth-layout .form-group{margin-bottom:11px}.auth-layout .form-group input{min-height:47px}.auth-visual__inner{padding-top:26px}.auth-visual__headline,.auth-product-hero--login .auth-visual__headline{font-size:clamp(1.7rem,2.5vw,2.4rem)}.auth-benefit-rail{gap:10px}}
@media(max-width:900px){.auth-layout,html[dir=ltr] .auth-layout{display:flex;flex-direction:column}.auth-form-area{order:0;min-height:100dvh;align-items:start;padding:max(env(safe-area-inset-top),18px) 14px max(env(safe-area-inset-bottom),28px)}.auth-form-card,.auth-form-card--trial{width:min(100%,520px);max-width:520px;padding:24px 20px 28px;border-radius:20px}.auth-panel-brand{margin-bottom:16px}.auth-segmented{margin-bottom:22px}.auth-layout .login-box-title{font-size:1.55rem}.auth-layout .form-group input{min-height:50px;font-size:16px}}
[data-theme=dark] .auth-layout .login-box-title,body.dark .auth-layout .login-box-title{color:#f1f8f7}
[data-theme=dark] .auth-segmented,body.dark .auth-segmented{background:#132f2d;border-color:rgba(94,234,212,.18)}
[data-theme=dark] .auth-segmented__item,body.dark .auth-segmented__item{color:#b7cfcb}
[data-theme=dark] .auth-segmented__item.is-active,body.dark .auth-segmented__item.is-active{color:#fff}

/* Approved light-clinic reference direction. */
.auth-layout{grid-template-columns:minmax(420px,.88fr) minmax(650px,1.12fr);background:#f5f8f7}
html[dir=ltr] .auth-layout{grid-template-columns:minmax(650px,1.12fr) minmax(420px,.88fr)}
.auth-form-area{padding:clamp(30px,4vw,64px);background:linear-gradient(145deg,#f8fbfa 0%,#edf5f3 100%)}
.auth-layout .auth-form-area .auth-form-card,.auth-layout .auth-form-area .auth-form-card--trial{width:min(100%,480px);max-width:480px;padding:34px 32px 30px;border-radius:18px;border-color:rgba(21,92,84,.12);background:rgba(255,255,255,.96);box-shadow:0 22px 54px rgba(34,72,68,.14),0 4px 16px rgba(34,72,68,.08)}
.auth-panel-brand{position:relative;width:340px;height:104px;margin:-8px auto 18px;overflow:hidden;background:#eef2f1;border-radius:8px}
.auth-panel-brand .auth-brand-logo{position:absolute;top:50%;left:50%;width:470px;height:auto;max-width:none;max-height:none;transform:translate(-50%,-50%)}
.auth-mobile-trial{display:none}
.auth-segmented{margin-bottom:20px;border-radius:10px;background:#f6f8f8}
.auth-segmented__item{min-height:42px;border-radius:7px}
.auth-form-heading,.auth-trial-form-intro{margin-bottom:17px}
.auth-layout .login-box-title{font-size:1.55rem}.auth-layout .login-box-subtitle{font-size:.93rem}
.auth-google-login{margin-bottom:16px}.auth-google-button{min-height:48px;border-radius:9px}.auth-login-divider{margin:15px 0 2px}
.auth-layout .form-group{position:relative;margin-bottom:14px}
.auth-layout .form-group label{position:absolute;z-index:2;inset-inline-start:42px;top:8px;margin:0;color:#536764;font-size:.72rem;font-weight:700;pointer-events:none}
.auth-layout .form-group input,.auth-layout .form-group select,.auth-layout .form-group textarea{min-height:50px;padding:20px 42px 7px 13px;border-radius:9px;border-color:#d4dfdc;font-size:.92rem}
html[dir=ltr] .auth-layout .form-group input,html[dir=ltr] .auth-layout .form-group select,html[dir=ltr] .auth-layout .form-group textarea{padding:20px 13px 7px 42px}
.auth-layout .form-group:after{content:"";position:absolute;z-index:2;inset-inline-start:14px;top:18px;width:17px;height:17px;opacity:.66;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23536764' stroke-width='1.8'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E")}
.auth-layout .form-group:has(input[type=email]):after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23536764' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
.auth-layout .form-group:has(input[type=tel]):after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23536764' stroke-width='1.8'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24c1.1.36 2.3.54 3.6.54a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.6 21 3 13.4 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.3.18 2.5.54 3.6a1 1 0 0 1-.24 1z'/%3E%3C/svg%3E")}
.auth-layout .form-group:has(input[type=password]):after{display:none}
.auth-layout .password-input-wrapper input{padding-inline-end:44px;padding-inline-start:13px}
.auth-layout .field-helper{margin:5px 2px 0;font-size:.72rem;line-height:1.35}
.auth-form-area button[type=submit],.auth-form-area .btn-primary,.auth-form-area .login-submit-btn{min-height:50px;border-radius:8px}
.auth-product-hero{background:#e8eee9}
.auth-visual__background{background-position:center;transform:scale(1.01);filter:brightness(1.14) saturate(.76) contrast(.92)}
.auth-visual__overlay{background:linear-gradient(90deg,rgba(245,246,239,.34),rgba(247,244,235,.61) 54%,rgba(250,248,241,.78)),linear-gradient(180deg,rgba(255,255,255,.1),rgba(235,229,214,.13))}
.auth-visual__inner{padding:clamp(54px,7vh,88px) clamp(42px,5vw,82px) 28px;color:#153f3c}
.auth-visual__header{margin-inline-start:auto;max-width:650px;text-align:start}
.auth-visual__headline,.auth-product-hero--login .auth-visual__headline{color:#163e3b;font-size:clamp(2.15rem,3.35vw,3.35rem);text-shadow:none}
.auth-visual__subhead,.auth-product-hero--login .auth-visual__subhead{color:#374b49;font-size:1.06rem}
.auth-trial-card,.auth-login-card{width:min(100%,590px);margin-top:18px;padding:15px 20px;border:1px solid rgba(20,116,104,.28);border-radius:11px;background:rgba(255,255,255,.72);box-shadow:0 8px 22px rgba(38,77,70,.08);color:#174f49}
.auth-trial-card__eyebrow,.auth-trial-card__headline,.auth-trial-card__subline,.auth-trial-card__trust{color:#174f49}
.auth-visual__stage{margin-top:24px}.auth-benefit-rail{width:min(47%,350px);gap:14px}.auth-benefit-rail__icon{border-color:rgba(20,116,104,.34);background:rgba(255,255,255,.72);color:#147d72}.auth-benefit-rail__text strong{color:#173d3a}.auth-benefit-rail__text span{color:#3e5552}.auth-laptop{width:min(64%,630px,48vh)}
@media(max-height:820px) and (min-width:901px){.auth-layout .auth-form-area .auth-form-card,.auth-layout .auth-form-area .auth-form-card--trial{padding:24px 28px}.auth-panel-brand{height:78px;margin-bottom:12px}.auth-panel-brand .auth-brand-logo{width:390px}.auth-layout .form-group{margin-bottom:10px}.auth-layout .form-group input{min-height:46px}.auth-form-heading,.auth-trial-form-intro{margin-bottom:12px}}
@media(max-width:900px){.auth-layout,html[dir=ltr] .auth-layout{display:flex}.auth-form-area{order:0}.auth-visual{order:1;display:none}.auth-layout .auth-form-area .auth-form-card,.auth-layout .auth-form-area .auth-form-card--trial{width:min(100%,500px);max-width:500px;padding:24px 20px 28px}.auth-panel-brand{width:min(100%,320px);height:92px}.auth-panel-brand .auth-brand-logo{width:430px}.auth-layout .form-group input{font-size:16px}}

/* Final desktop fit and collision polish; visual system intentionally unchanged. */
@media (min-width:901px) and (max-height:1100px){
  .auth-form-area{align-items:start;padding-block:24px}
  .auth-layout .auth-form-area .auth-form-card,.auth-layout .auth-form-area .auth-form-card--trial{padding:22px 28px 20px}
  .auth-panel-brand{height:88px;margin-top:-4px;margin-bottom:10px}
  .auth-panel-brand .auth-brand-logo{width:430px}
  .auth-segmented{margin-bottom:12px}
  .auth-segmented__item{min-height:40px;padding-block:6px}
  .auth-form-heading,.auth-trial-form-intro{margin-bottom:10px}
  .auth-trial-form-eyebrow{margin-bottom:3px}
  .auth-layout .login-box-title{margin-bottom:4px;line-height:1.15}
  .auth-layout .login-box-subtitle{line-height:1.35}
  .auth-google-login{margin-bottom:10px}
  .auth-google-button{min-height:44px}
  .auth-login-divider{margin:10px 0 0}
  .auth-layout .form-group{margin-bottom:9px}
  .auth-layout .form-group label{top:6px}
  .auth-layout .form-group input,.auth-layout .form-group select,.auth-layout .form-group textarea{min-height:46px;padding-top:22px;padding-bottom:4px}
  .auth-layout .form-group:after{top:15px}
  .auth-layout .field-helper{margin-top:4px;line-height:1.25}
  .auth-form-trust-row{margin-top:1px;margin-bottom:7px}
  .auth-form-area button[type=submit],.auth-form-area .btn-primary,.auth-form-area .login-submit-btn{min-height:46px;padding-block:11px}
  .login-footer-links{margin-top:10px}
  .auth-form-area .login-footer{margin-top:10px}
}
@media (min-width:901px) and (max-height:950px){
  .auth-form-area{padding-block:18px}
  .auth-layout .auth-form-area .auth-form-card,.auth-layout .auth-form-area .auth-form-card--trial{padding-block:18px 16px}
  .auth-layout--signup .auth-panel-brand{height:80px;margin-bottom:8px}
  .auth-layout--signup .auth-panel-brand .auth-brand-logo{width:410px}
  .auth-layout--signup .auth-trial-form-intro{margin-bottom:7px}
  .auth-layout--signup .auth-google-login{margin-bottom:7px}
  .auth-layout--signup .form-group{margin-bottom:8px}
  .auth-layout--signup .login-box-trust{display:none}
  .auth-layout--signup .login-footer{display:none}
}
@media (min-width:901px) and (max-height:820px){
  .auth-form-area{padding-block:14px}
  .auth-layout .auth-form-area .auth-form-card,.auth-layout .auth-form-area .auth-form-card--trial{padding:14px 26px 12px}
  .auth-layout--signup .auth-panel-brand{height:72px;margin-bottom:6px}
  .auth-layout--signup .auth-panel-brand .auth-brand-logo{width:390px}
  .auth-segmented{margin-bottom:7px}
  .auth-segmented__item{min-height:36px}
  .auth-layout--signup .auth-trial-form-intro{margin-bottom:5px}
  .auth-layout--signup .auth-trial-form-intro .login-box-subtitle{display:none}
  .auth-layout--signup .auth-google-login{margin-bottom:5px}
  .auth-layout--signup .auth-google-button{min-height:40px}
  .auth-layout--signup .auth-login-divider{margin-top:6px}
  .auth-layout--signup .form-group{margin-bottom:7px}
  .auth-layout--signup .form-group input{min-height:44px}
  .auth-layout--signup .field-helper{font-size:.7rem;line-height:1.2}
  .auth-layout--signup .auth-form-trust-row{display:none}
  .auth-layout--signup .login-footer-links{margin-top:7px}
  .auth-layout--signup #clinic_name::placeholder{color:transparent}
  .auth-layout--signup #clinic_name:focus::placeholder{color:#94a3b8}
  .auth-layout--signup label[for=clinic_name]{white-space:nowrap;font-size:.69rem}
  .auth-layout--login .auth-panel-brand{height:80px;margin-bottom:6px}
  .auth-layout--login .auth-panel-brand .auth-brand-logo{width:410px}
  .auth-layout--login .login-footer{margin-top:6px}
}

/* Final RTL input/icon alignment polish. */
.auth-layout .form-group{box-sizing:border-box}
.auth-layout .form-group label{inset-inline-start:16px;inset-inline-end:44px;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap}
.auth-layout .form-group input,.auth-layout .form-group select,.auth-layout .form-group textarea{box-sizing:border-box;width:100%;min-height:52px;padding-block:21px 7px;padding-inline-start:16px;padding-inline-end:44px;text-align:start}
.auth-layout .form-group:after{inset-inline-start:auto;inset-inline-end:16px;top:50%;width:18px;height:18px;transform:translateY(-50%)}
.auth-layout .password-input-wrapper{position:relative}
.auth-layout .password-input-wrapper input{padding-inline-start:16px;padding-inline-end:44px}
.auth-layout .toggle-password{inset-inline-start:auto;inset-inline-end:10px;top:50%;transform:translateY(-50%)}
.auth-layout .form-group:has(input[type=password]) label{inset-inline-end:44px}
.auth-layout .form-group:has(input[type=password]):after{display:none}
.auth-layout--signup label[for=clinic_name]{font-size:.69rem}
html[dir=rtl] .auth-layout .form-group input,html[dir=rtl] .auth-layout .form-group select,html[dir=rtl] .auth-layout .form-group textarea{padding-right:16px!important;padding-left:44px!important;text-align:right}
html[dir=rtl] .auth-layout .password-input-wrapper input{padding-right:16px!important;padding-left:44px!important;text-align:right}
@media (min-width:901px) and (min-height:821px){.auth-layout .form-group{margin-bottom:16px}}
@media (min-width:901px) and (max-height:820px){
  .auth-layout .form-group input,.auth-layout .form-group select,.auth-layout .form-group textarea{min-height:48px}
  .auth-layout--signup .form-group{margin-bottom:8px}
}
@media (max-width:900px){
  .auth-layout .form-group input,.auth-layout .form-group select,.auth-layout .form-group textarea{min-height:52px;font-size:16px}
  .auth-layout .form-group{margin-bottom:16px}
}
