/**
 * Auth layouts — §6.1–§6.4 structure.
 */
.yoopharmacy-auth--split {
	display: flex;
	flex-wrap: wrap;
	min-height: 100vh;
}

.yoopharmacy-auth__hero {
	position: relative;
	flex: 1 1 100%;
	min-height: 12rem;
	background-size: cover;
	background-position: center;
	display: none;
}

/* Login split hero: two slides (login marketing vs forgot), toggled with .yoopharmacy-auth--show-forgot */
.yoopharmacy-auth__hero--split {
	position: relative;
	display: none;
	overflow: hidden;
}

.yoopharmacy-auth__hero-slide {
	display: none;
	position: absolute;
	inset: 0;
	box-sizing: border-box;
	min-height: 100%;
	width: 100%;
	background-size: cover;
	background-position: center;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.yoopharmacy-auth__hero-slide--login {
	display: flex;
}

/* Forgot flow: keep the login marketing hero; only the form panel switches (no second hero slide). */
.yoopharmacy-auth--show-forgot .yoopharmacy-auth__hero-slide--login {
	display: flex;
}

.yoopharmacy-auth--show-forgot .yoopharmacy-auth__hero-slide--forgot {
	display: none;
}

.yoopharmacy-auth__hero-brand-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}

.yoopharmacy-auth__logo-mark--hero {
	margin-bottom: 0;
	width: 3rem;
	height: 3rem;
	border-radius: 0.75rem;
}

.yoopharmacy-auth__brand--hero {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
}

@media (min-width: 1024px) {
	.yoopharmacy-auth__hero {
		display: flex;
		flex: 1 1 50%;
		min-height: 100vh;
	}

	.yoopharmacy-auth__hero--split {
		display: block;
		flex: 1 1 50%;
		min-height: 100vh;
	}
}

.yoopharmacy-auth__hero-overlay {
	position: absolute;
	inset: 0;
	background: var(--yoopharmacy-overlay-login);
}

.yoopharmacy-auth__hero-overlay--forgot {
	background: var(--yoopharmacy-overlay-login);
}

.yoopharmacy-auth__hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem;
	width: 100%;
	box-sizing: border-box;
	flex: 0 1 auto;
}

.yoopharmacy-auth__glass {
	background: var(--yoopharmacy-glass-bg);
	backdrop-filter: blur(24px);
	border: 1px solid var(--yoopharmacy-glass-border);
	border-radius: 1rem;
	padding: 2rem;
	max-width: 28rem;
	color: #fff;
}

.yoopharmacy-auth__logo-mark {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.5rem;
	background: var(--yoopharmacy-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
}

.yoopharmacy-auth__logo-mark--sm {
	display: flex;
	margin-bottom: 1rem;
}

@media (min-width: 1024px) {
	.yoopharmacy-auth__logo-mark--sm {
		display: none;
	}
}

.yoopharmacy-auth__brand {
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.yoopharmacy-auth__hero-title {
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
}

.yoopharmacy-auth__hero-title--platform .yoopharmacy-auth__hero-title-text {
	font-weight: 800;
	line-height: 1.35;
}

.yoopharmacy-auth__hero-text {
	margin: 0 0 1rem;
	opacity: 0.95;
}

.yoopharmacy-auth__hero-list {
	margin: 0;
	padding-inline-start: 1.25rem;
}

.yoopharmacy-auth__panel {
	position: relative;
	overflow: hidden;
	flex: 1 1 100%;
	background: var(--yoopharmacy-gray-50);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 2rem 1rem;
}

/* Medical pattern behind form card (React Login / ForgotPassword) */
.yoopharmacy-auth__panel-pattern {
	position: absolute;
	inset: 0;
	opacity: 0.08;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23B8B8B8'%3E%3Crect x='45' y='80' width='14' height='28' rx='7' fill='%23B8B8B8' transform='rotate(25 52 94)'/%3E%3Crect x='45' y='80' width='14' height='14' rx='7' fill='%23D0D0D0' transform='rotate(25 52 94)'/%3E%3Ccircle cx='230' cy='60' r='9' fill='%23C4C4C4'/%3E%3Cline x1='225' y1='60' x2='235' y2='60' stroke='%23FFFFFF' stroke-width='1.5'/%3E%3Cpath d='M150 200h12v20h-12zM152 196h8v4h-8z' fill='%23B8B8B8'/%3E%3Crect x='154' y='204' width='4' height='2' fill='%23FFFFFF'/%3E%3Cellipse cx='70' cy='230' rx='10' ry='6' fill='%23C4C4C4' transform='rotate(-30 70 230)'/%3E%3Cline x1='70' y1='224' x2='70' y2='236' stroke='%23FFFFFF' stroke-width='1.5'/%3E%3Crect x='200' y='170' width='16' height='32' rx='8' fill='%23B8B8B8' transform='rotate(-15 208 186)'/%3E%3Crect x='200' y='170' width='16' height='16' rx='8' fill='%23D0D0D0' transform='rotate(-15 208 186)'/%3E%3Crect x='120' y='40' width='12' height='18' rx='2' fill='%23C4C4C4' transform='rotate(10 126 49)'/%3E%3Cline x1='120' y1='49' x2='132' y2='49' stroke='%23FFFFFF' stroke-width='1' transform='rotate(10 126 49)'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 300px 300px;
}

@media (min-width: 1024px) {
	.yoopharmacy-auth__panel {
		flex: 1 1 50%;
		align-items: center;
	}
}

.yoopharmacy-auth__panel-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 28rem;
}

/* White card on gray panel — same idea as Register card + React Login */
.yoopharmacy-auth__panel-card {
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
	padding: 2rem;
}

.yoopharmacy-auth__panel-card > .yoopharmacy-auth__title,
.yoopharmacy-auth__panel-card > .yoopharmacy-auth__subtitle {
	text-align: center;
}

.yoopharmacy-auth__title--login {
	font-size: 1.875rem;
	line-height: 1.2;
}

.yoopharmacy-auth__toolbar {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 1rem;
}

/* Keep the language switcher from pushing auth headings down. */
.yoopharmacy-auth--split .yoopharmacy-auth__panel-card,
.yoopharmacy-auth--register .yoopharmacy-auth__card,
.yoopharmacy-auth__pending-card {
	position: relative;
}

.yoopharmacy-auth--split .yoopharmacy-auth__panel-card > .yoopharmacy-auth__toolbar:first-child,
.yoopharmacy-auth--register .yoopharmacy-auth__card > .yoopharmacy-auth__toolbar:first-child,
.yoopharmacy-auth__pending-card > .yoopharmacy-auth__toolbar--pending:first-child {
	position: absolute;
	top: 2rem;
	inset-inline: 2rem;
	z-index: 2;
	margin: 0;
}

.yoopharmacy-auth--split .yoopharmacy-auth__panel-inner > .yoopharmacy-auth__toolbar:first-child {
	position: absolute;
	top: 0;
	inset-inline: 0;
	z-index: 2;
	margin: 0;
}

.yoopharmacy-auth--split .yoopharmacy-auth__panel-card > .yoopharmacy-auth__toolbar:first-child + .yoopharmacy-auth__login-flow,
.yoopharmacy-auth--register .yoopharmacy-auth__card > .yoopharmacy-auth__toolbar:first-child + .yoopharmacy-auth__step-heading,
.yoopharmacy-auth__pending-card > .yoopharmacy-auth__toolbar--pending:first-child + .yoopharmacy-auth__panel-heading {
	margin-top: 0;
}

.yoopharmacy-auth--split .yoopharmacy-auth__forgot-flow .yoopharmacy-auth__forgot-icon-wrap {
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 0.5rem;
}

.yoopharmacy-auth__lang {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.25rem 0.75rem;
	border: 1px solid var(--yoopharmacy-gray-200);
	border-radius: 0.375rem;
	text-decoration: none;
	color: var(--yoopharmacy-gray-900);
	font-size: 0.875rem;
	font-weight: 500;
}

.yoopharmacy-auth__title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.yoopharmacy-auth__subtitle {
	color: var(--yoopharmacy-gray-600);
	margin: 0 0 1.5rem;
}

.yoopharmacy-auth__error {
	color: #dc2626;
	margin: 0 0 1rem;
}

.yoopharmacy-auth__success {
	color: var(--yoopharmacy-green-ok);
	margin: 0 0 1rem;
}

.yoopharmacy-auth__form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

/* Login: spacing like React `space-y-6` / register form density */
.yoopharmacy-auth__form--stack {
	gap: 1.5rem;
}

.yoopharmacy-auth__row-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.yoopharmacy-auth__link--inline {
	font-size: 0.875rem;
	white-space: nowrap;
}

.yoopharmacy-auth__label {
	display: block;
	font-weight: 500;
	margin-bottom: 0.25rem;
}

.yoopharmacy-required-mark {
	color: var(--yoopharmacy-accent);
	font-weight: 800;
	margin-inline-start: 0.25rem;
	text-decoration: none;
}

.yoopharmacy-auth__field > .yoopharmacy-auth__label {
	font-size: 0.875rem;
	margin-bottom: 0.25rem;
}

.yoopharmacy-auth__input {
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--yoopharmacy-gray-200);
	border-radius: 0.5rem;
	font: inherit;
}

.yoopharmacy-auth__password-wrap {
	position: relative;
}

.yoopharmacy-auth__toggle-pw {
	position: absolute;
	inset-inline-end: 0.5rem;
	top: 50%;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 0.75rem;
	color: var(--yoopharmacy-gray-600);
}

.yoopharmacy-auth__remember {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	accent-color: var(--yoopharmacy-gray-700);
}

.yoopharmacy-auth__forgot-wrap {
	margin: 0;
}

.yoopharmacy-auth__submit {
	position: relative;
	display: block;
	width: 100%;
	padding: 0.75rem 1rem;
	border: 0;
	border-radius: 0.5rem;
	background: var(--yoopharmacy-accent);
	color: #fff;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
}

html.yoopharmacy-html[dir="rtl"] .yoopharmacy-auth button,
html.yoopharmacy-html[dir="rtl"] .yoopharmacy-auth .yoopharmacy-auth__submit,
.yoopharmacy-auth[dir="rtl"] button,
.yoopharmacy-auth[dir="rtl"] .yoopharmacy-auth__submit {
	font-family: var(--yoopharmacy-font-rtl, "Cairo", "Montserrat", system-ui, sans-serif);
}

html.yoopharmacy-html[dir="ltr"] .yoopharmacy-auth button,
html.yoopharmacy-html[dir="ltr"] .yoopharmacy-auth .yoopharmacy-auth__submit,
html.yoopharmacy-html[lang|="en"] .yoopharmacy-auth button,
html.yoopharmacy-html[lang|="en"] .yoopharmacy-auth .yoopharmacy-auth__submit,
.yoopharmacy-auth[dir="ltr"] button,
.yoopharmacy-auth[dir="ltr"] .yoopharmacy-auth__submit {
	font-family: var(--yoopharmacy-font-ltr, "Montserrat", "Cairo", system-ui, sans-serif);
}

a.yoopharmacy-auth__submit {
	text-decoration: none;
	color: #fff;
	box-sizing: border-box;
}

a.yoopharmacy-auth__submit:hover,
a.yoopharmacy-auth__submit:focus-visible {
	text-decoration: none;
	color: #fff;
}

.yoopharmacy-auth__submit--accent {
	border-radius: 0.5rem;
}

.yoopharmacy-auth__btn-ghost {
	display: inline;
	padding: 0;
	border: 0;
	background: none;
	color: var(--yoopharmacy-accent);
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
}

.yoopharmacy-auth__btn-ghost:hover {
	text-decoration: underline;
}

.yoopharmacy-auth__btn-back {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin-top: 0.25rem;
	padding: 0.5rem;
	border: 0;
	background: transparent;
	color: var(--yoopharmacy-gray-600);
	font-size: 0.875rem;
	cursor: pointer;
	font-family: inherit;
}

.yoopharmacy-auth__btn-back:hover {
	color: var(--yoopharmacy-gray-800);
}

.yoopharmacy-auth__lang--outline {
	border-radius: 0.375rem;
}

.yoopharmacy-auth__panel-heading {
	text-align: center;
}

.yoopharmacy-auth__subtitle--tight {
	margin-bottom: 1.5rem;
}

.yoopharmacy-auth__logo-mark--solid {
	background: var(--yoopharmacy-accent);
	color: #fff;
}

.yoopharmacy-auth__mobile-brand-title {
	font-weight: 700;
	color: var(--yoopharmacy-accent);
	margin: 0;
}

.yoopharmacy-auth__link--semibold {
	font-weight: 600;
}

.yoopharmacy-auth__input--lg {
	min-height: 2.5rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.yoopharmacy-auth__password-wrap .yoopharmacy-auth__input--password {
	padding-inline-end: 2.75rem;
}

/* RTL shell + dir="ltr" password: bullets start left — put eye on physical right, reserve padding there */
.yoopharmacy-auth[dir="rtl"] .yoopharmacy-auth__password-wrap:has(.yoopharmacy-auth__input[dir="ltr"]) .yoopharmacy-auth__input {
	padding-inline-start: 0.75rem;
	padding-inline-end: 0.75rem;
	padding-left: 0.75rem;
	padding-right: 2.75rem;
}

.yoopharmacy-auth[dir="rtl"] .yoopharmacy-auth__password-wrap:has(.yoopharmacy-auth__input[dir="ltr"]) .yoopharmacy-auth__toggle-pw {
	inset-inline-end: auto;
	inset-inline-start: auto;
	left: auto;
	right: 0.5rem;
}

.yoopharmacy-auth__forgot-icon-wrap {
	width: 4rem;
	height: 4rem;
	margin: 0 auto 1rem;
	border-radius: 999px;
	background: rgba(238, 180, 78, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--yoopharmacy-accent);
}

.yoopharmacy-auth__forgot-step {
	display: none;
}

.yoopharmacy-auth__forgot-steps[data-active-step='email'] [data-forgot-step='email'],
.yoopharmacy-auth__forgot-steps[data-active-step='code'] [data-forgot-step='code'],
.yoopharmacy-auth__forgot-steps[data-active-step='reset'] [data-forgot-step='reset'] {
	display: block;
}

.yoopharmacy-auth__otp-row--spaced {
	justify-content: center;
	gap: 0.5rem;
}

.yoopharmacy-auth__otp-cell--forgot {
	width: 2.75rem;
	height: 2.75rem;
	text-align: center;
	font-size: 1.125rem;
	font-weight: 700;
	padding-left: 0;
	padding-right: 0;
}

/* Documents step: branch blocks (React Register) */
.yoopharmacy-doc-branch {
	border: 2px solid var(--yoopharmacy-gray-200);
	border-radius: 0.75rem;
	padding: 1rem;
	margin-bottom: 1rem;
}

.yoopharmacy-doc-branch--accent {
	border-color: var(--yoopharmacy-accent);
}

.yoopharmacy-doc-branch__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.yoopharmacy-doc-branch__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
}

.yoopharmacy-doc-branch__remove {
	display: none;
	align-items: center;
	justify-content: center;
	padding: 0.25rem;
	border: 0;
	background: transparent;
	color: var(--yoopharmacy-gray-500);
	cursor: pointer;
	border-radius: 0.25rem;
}

.yoopharmacy-doc-branch__remove:hover {
	color: #dc2626;
	background: #fef2f2;
}

.yoopharmacy-doc-branch-rows--multi .yoopharmacy-doc-branch__remove {
	display: inline-flex;
}

.yoopharmacy-doc-branch__docs-heading {
	font-size: 0.875rem;
	font-weight: 600;
	margin: 0 0 0.75rem;
	color: var(--yoopharmacy-gray-700);
}

.yoopharmacy-auth__outline--doc-branch {
	margin-top: 0.5rem;
	margin-bottom: 1rem;
}

.yoopharmacy-auth__submit--inline {
	text-align: center;
	text-decoration: none;
	margin-top: 1rem;
}

.yoopharmacy-auth__footer-text {
	color: var(--yoopharmacy-gray-600);
	margin-top: 1.5rem;
}

.yoopharmacy-auth__link {
	color: var(--yoopharmacy-accent);
	text-decoration: none;
}

.yoopharmacy-auth input[type="email"],
.yoopharmacy-auth input[type="tel"],
.yoopharmacy-auth a[href^="mailto:"],
.yoopharmacy-auth__notfound-support-mail {
	direction: ltr;
	font-family: var(--yoopharmacy-font-ltr, "Montserrat", "Cairo", system-ui, sans-serif);
	font-synthesis: none;
	unicode-bidi: isolate;
}

.yoopharmacy-auth__link:hover {
	text-decoration: underline;
}

.yoopharmacy-auth__field,
.yoopharmacy-auth__doc-card {
	position: relative;
}

.yoopharmacy-auth-validation-tip {
	position: absolute;
	z-index: 120;
	inset-block-start: calc(100% + 0.35rem);
	inset-inline-start: 0.75rem;
	max-inline-size: min(18rem, calc(100vw - 3rem));
	padding: 0.55rem 0.7rem;
	border: 1px solid #fecaca;
	border-radius: 0.55rem;
	background: #fff7f7;
	box-shadow: 0 12px 28px rgba(127, 29, 29, 0.14);
	color: #991b1b;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.45;
	text-align: start;
}

.yoopharmacy-auth-validation-tip::before {
	content: '';
	position: absolute;
	inset-block-start: -0.45rem;
	inset-inline-start: 1rem;
	inline-size: 0;
	block-size: 0;
	border-inline-start: 0.45rem solid transparent;
	border-inline-end: 0.45rem solid transparent;
	border-block-end: 0.45rem solid #fecaca;
}

.yoopharmacy-auth-validation-tip::after {
	content: '';
	position: absolute;
	inset-block-start: -0.34rem;
	inset-inline-start: calc(1rem + 1px);
	inline-size: 0;
	block-size: 0;
	border-inline-start: calc(0.45rem - 1px) solid transparent;
	border-inline-end: calc(0.45rem - 1px) solid transparent;
	border-block-end: calc(0.45rem - 1px) solid #fff7f7;
}

.yoopharmacy-auth-field--invalid .yoopharmacy-auth__input,
.yoopharmacy-auth-field--invalid .yoopharmacy-custom-select__button,
.yoopharmacy-auth-field--invalid .yoopharmacy-auth__doc-file-btn {
	border-color: #fecaca !important;
	box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.16);
}

/* Register fullscreen */
.yoopharmacy-auth--register {
	position: relative;
	min-height: 100vh;
	padding: 1.5rem 1rem;
}

.yoopharmacy-auth__fullscreen-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.yoopharmacy-auth__fullscreen-overlay {
	position: absolute;
	inset: 0;
	background: var(--yoopharmacy-overlay-dark);
}

.yoopharmacy-auth__register-wrap {
	position: relative;
	z-index: 1;
	max-width: 56rem;
	margin: 0 auto;
}

.yoopharmacy-auth__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
	color: #fff;
}

.yoopharmacy-auth__step {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.2);
	font-weight: 700;
}

.yoopharmacy-auth__step.is-active {
	background: var(--yoopharmacy-accent);
	color: #fff;
}

.yoopharmacy-auth__step.is-done {
	background: var(--yoopharmacy-green-ok);
	color: #fff;
}

.yoopharmacy-auth__step-line {
	flex: 0 0 2rem;
	height: 2px;
	background: rgba(255, 255, 255, 0.3);
}

.yoopharmacy-auth__card {
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
	border-radius: 1rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	padding: 1.5rem;
}

.yoopharmacy-auth__type-toggle {
	border: 0;
	padding: 0;
	margin: 0 0 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.yoopharmacy-auth__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	border: 2px solid var(--yoopharmacy-gray-200);
	border-radius: 0.5rem;
	cursor: pointer;
}

.yoopharmacy-auth__pill.is-active {
	border-color: var(--yoopharmacy-accent);
	background: var(--yoopharmacy-orange-50);
}

.yoopharmacy-auth__pill input {
	margin: 0;
}

.yoopharmacy-auth__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 768px) {
	.yoopharmacy-auth__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.yoopharmacy-auth__field--full {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	justify-self: stretch;
}

.yoopharmacy-auth__field {
	display: flex;
	flex-direction: column;
}

.yoopharmacy-auth__h3 {
	font-size: 1rem;
	margin: 1rem 0 0.5rem;
}

.yoopharmacy-auth__branches--hidden {
	display: none;
}

.yoopharmacy-auth__branches:not(.yoopharmacy-auth__branches--hidden) {
	display: block;
}

.yoopharmacy-auth__outline {
	margin-top: 0.5rem;
	padding: 0.5rem 1rem;
	border: 1px solid var(--yoopharmacy-gray-200);
	border-radius: 0.5rem;
	background: #fff;
	cursor: pointer;
}

.yoopharmacy-auth__upload {
	display: block;
	margin-bottom: 1rem;
}

.yoopharmacy-auth__inline-form {
	margin-top: 0.5rem;
}

.yoopharmacy-auth__link-btn {
	position: relative;
	background: none;
	border: 0;
	padding: 0;
	color: var(--yoopharmacy-accent);
	cursor: pointer;
	font: inherit;
	text-decoration: none;
	min-height: 1.5rem;
	transition: color 0.16s ease;
}

.yoopharmacy-auth__link-btn:hover,
.yoopharmacy-auth__link-btn:focus-visible {
	color: var(--yoopharmacy-accent-dark);
	text-decoration: none;
}

.yoopharmacy-branch-row {
	position: relative;
	padding: 1.125rem 1.25rem;
	margin-bottom: 1.25rem;
	border: 1px solid var(--yoopharmacy-gray-200);
	border-radius: 0.5rem;
}

.yoopharmacy-branch-row__remove {
	position: absolute;
	top: 0.75rem;
	inset-inline-end: 0.75rem;
	z-index: 2;
	display: none;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 1px solid var(--yoopharmacy-gray-200);
	border-radius: 999px;
	background: #ffffff;
	color: var(--yoopharmacy-gray-500);
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.yoopharmacy-auth__branch-rows--multi .yoopharmacy-branch-row__remove {
	display: inline-flex;
}

.yoopharmacy-auth__branch-rows--multi .yoopharmacy-branch-row--register {
	padding-block-start: 3rem;
}

.yoopharmacy-branch-row__remove:hover,
.yoopharmacy-branch-row__remove:focus-visible {
	border-color: var(--yoopharmacy-gray-300);
	background: var(--yoopharmacy-orange-50);
	color: var(--yoopharmacy-accent-dark);
}

/* Registration — branch card: EN|AR and City|Phone pairs; Address full width */
.yoopharmacy-auth__branch-rows .yoopharmacy-branch-row--register {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 768px) {
	.yoopharmacy-auth__branch-rows .yoopharmacy-branch-row--register {
		grid-template-columns: 1fr 1fr;
	}
}

.yoopharmacy-auth__branch-rows .yoopharmacy-auth__outline--icon {
	margin-top: 0.25rem;
}

/* Pending */
.yoopharmacy-auth--pending {
	position: relative;
	min-height: 100vh;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem clamp(0.75rem, 3vw, 1.5rem);
}

.yoopharmacy-auth__pending-card {
	position: relative;
	z-index: 1;
	max-width: 48rem;
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
	border-radius: 1rem;
	padding: 1.25rem 1.25rem 1.5rem;
	text-align: center;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Suspended / status pages: readable column, not hugging one edge */
.yoopharmacy-auth--account-suspended .yoopharmacy-auth__pending-card {
	max-width: 43rem;
}

/* Lang control on same row as success icon; physical L/R independent of page dir */
.yoopharmacy-auth__pending-hero-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
	direction: ltr;
	unicode-bidi: isolate;
}

.yoopharmacy-auth__pending-hero-edge--start {
	justify-self: start;
	text-align: start;
}

.yoopharmacy-auth__pending-hero-edge--end {
	justify-self: end;
	text-align: end;
}

.yoopharmacy-auth__pending-hero-center {
	justify-self: center;
	display: flex;
	justify-content: center;
}

.yoopharmacy-auth__pending-hero-row .yoopharmacy-auth__lang {
	flex-shrink: 0;
}

.yoopharmacy-auth__pending-headline {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 0.35rem;
	line-height: 1.25;
}

.yoopharmacy-auth__pending-lead {
	font-size: 0.98rem;
	color: var(--yoopharmacy-gray-600);
	margin: 0 0 1rem;
	line-height: 1.45;
}

.yoopharmacy-auth__pending-summary {
	text-align: start;
	background: #f9fafb;
	border: 1px solid var(--yoopharmacy-gray-200);
	border-radius: 0.75rem;
	padding: 0.85rem 1rem;
	margin-bottom: 1rem;
}

.yoopharmacy-auth__pending-summary-title {
	font-size: 0.9375rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.yoopharmacy-auth__pending-dl {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.35rem 1rem;
	margin: 0;
	font-size: 0.875rem;
}

.yoopharmacy-auth__pending-dl dt {
	margin: 0;
	color: var(--yoopharmacy-gray-500);
	font-weight: 500;
}

.yoopharmacy-auth__pending-dl dd {
	margin: 0;
	color: var(--yoopharmacy-gray-900);
	word-break: break-word;
}

/* Pending summary RTL: dd[dir="ltr"] otherwise hugs physical inline-start (far left), away from labels */
.yoopharmacy-auth--pending[dir="rtl"] .yoopharmacy-auth__pending-dl dd[dir="ltr"] {
	text-align: end;
	unicode-bidi: isolate;
}

.yoopharmacy-auth__pending-item-icon {
	display: flex;
	justify-content: center;
	margin-bottom: 0.35rem;
	color: var(--yoopharmacy-green-ok);
}

.yoopharmacy-auth__pending-item--wait .yoopharmacy-auth__pending-item-icon {
	color: var(--yoopharmacy-accent);
}

.yoopharmacy-auth__pending-item-icon--muted {
	color: var(--yoopharmacy-gray-400);
}

.yoopharmacy-auth__pending-item h3 {
	font-size: 0.875rem;
	font-weight: 600;
	margin: 0 0 0.25rem;
}

.yoopharmacy-auth__pending-item p {
	font-size: 0.75rem;
	margin: 0;
	line-height: 1.35;
}

.yoopharmacy-auth__pending-item--neutral {
	border-color: var(--yoopharmacy-gray-200);
	background: #f9fafb;
}

.yoopharmacy-auth__next-steps--rich {
	list-style: none;
	padding: 0.85rem 1rem;
	margin-bottom: 0.85rem;
}

.yoopharmacy-auth__next-steps-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9375rem;
	font-weight: 700;
	margin: 0 0 0.65rem;
	color: var(--yoopharmacy-gray-900);
}

.yoopharmacy-auth__next-steps-title .yoopharmacy-icon {
	color: var(--yoopharmacy-accent);
	flex-shrink: 0;
}

.yoopharmacy-auth__next-steps-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	font-size: 0.8125rem;
	color: var(--yoopharmacy-gray-700);
	line-height: 1.45;
	text-align: start;
}

.yoopharmacy-auth__next-steps-list li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.5rem;
	align-items: start;
}

.yoopharmacy-auth__next-steps-num {
	font-weight: 700;
	color: var(--yoopharmacy-accent);
	line-height: 1.45;
}

.yoopharmacy-auth__next-steps-txt {
	min-width: 0;
	text-align: start;
}

.yoopharmacy-auth__pending-email-note {
	font-size: 0.8125rem;
	color: var(--yoopharmacy-gray-600);
	margin: 0 0 0.85rem;
	line-height: 1.45;
}

.yoopharmacy-auth__pending-reject-cta {
	margin: 0 0 1rem;
}

.yoopharmacy-auth__pending-reject-cta .yoopharmacy-auth__submit {
	display: block;
	width: 100%;
	text-align: center;
}

.yoopharmacy-auth__pending-card .yoopharmacy-auth__submit--inline {
	margin-top: 0.65rem;
}

.yoopharmacy-auth__pending-card .yoopharmacy-auth__submit--pending-reapply {
	margin-top: 0.65rem;
}

.yoopharmacy-auth__pending-footer {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--yoopharmacy-gray-200);
}

.yoopharmacy-auth__pending-footer .yoopharmacy-auth__support a {
	color: var(--yoopharmacy-accent);
	text-decoration: none;
}

.yoopharmacy-auth__pending-footer .yoopharmacy-auth__support a:hover {
	text-decoration: underline;
}

.yoopharmacy-auth__success-icon {
	width: 4.25rem;
	height: 4.25rem;
	margin: 0;
	border-radius: 999px;
	background: #f0fdf4;
	color: var(--yoopharmacy-green-ok);
	display: flex;
	align-items: center;
	justify-content: center;
}

.yoopharmacy-auth__reject-icon {
	width: 4.25rem;
	height: 4.25rem;
	margin: 0;
	border-radius: 999px;
	background: #fef2f2;
	color: #dc2626;
	display: flex;
	align-items: center;
	justify-content: center;
}

.yoopharmacy-auth__reject-icon .yoopharmacy-icon {
	color: #dc2626;
}

.yoopharmacy-auth--pending-rejected .yoopharmacy-auth__pending-reject-reason.yoopharmacy-auth__next-steps--rich {
	border-color: #fecaca;
	background: #fff7f7;
}

.yoopharmacy-auth--account-suspended .yoopharmacy-auth__pending-reject-reason.yoopharmacy-auth__next-steps--rich {
	border: 1px solid rgba( 220, 38, 38, 0.22 );
	background: #fff8f8;
	border-radius: 0.75rem;
}

.yoopharmacy-auth--pending-rejected .yoopharmacy-auth__pending-reject-reason .yoopharmacy-auth__next-steps-title .yoopharmacy-icon {
	color: #dc2626;
}

.yoopharmacy-auth__pending-reason-body {
	text-align: start;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--yoopharmacy-gray-800);
	margin: 0;
}

.yoopharmacy-auth__next-steps--reject-meta .yoopharmacy-auth__next-steps-title .yoopharmacy-icon {
	color: #b45309;
}

.yoopharmacy-auth__pending-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 1rem 0;
	text-align: start;
}

@media (min-width: 640px) {
	.yoopharmacy-auth__pending-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.yoopharmacy-auth__pending-item {
	padding: 0.75rem 0.65rem;
	border: 2px solid var(--yoopharmacy-gray-200);
	border-radius: 0.5rem;
	text-align: center;
}

.yoopharmacy-auth__pending-item--ok {
	border-color: var(--yoopharmacy-green-ok);
	background: #f0fdf4;
}

.yoopharmacy-auth__pending-item--wait {
	border-color: var(--yoopharmacy-accent);
	background: var(--yoopharmacy-orange-50);
}

.yoopharmacy-auth__next-steps {
	text-align: start;
	background: var(--yoopharmacy-orange-50);
	border: 1px solid #fed7aa;
	border-radius: 0.5rem;
	padding: 0.85rem 1rem 0.85rem 1.25rem;
	margin-bottom: 0.85rem;
}

.yoopharmacy-auth__next-steps li {
	color: var(--yoopharmacy-accent-dark);
	font-weight: 500;
}

.yoopharmacy-auth__support {
	color: var(--yoopharmacy-gray-600);
	font-size: 0.875rem;
}

/* Lucide-style icons (outline, neutral) */
.yoopharmacy-icon {
	display: block;
	flex-shrink: 0;
}

/* Login / forgot: brand mark — white tile, gray stroke icon (matches React lucide, not emoji) */
.yoopharmacy-auth__logo-mark--outline {
	background: #fff;
	color: var(--yoopharmacy-gray-600);
}

.yoopharmacy-auth__logo-mark--outline .yoopharmacy-icon {
	stroke: currentColor;
}

.yoopharmacy-auth__hero-list--icons {
	list-style: none;
	padding: 0;
	margin: 0;
}

.yoopharmacy-auth__hero-list--icons li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.yoopharmacy-auth__hero-li-icon {
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.3);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex-shrink: 0;
}

.yoopharmacy-auth__lang {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

.yoopharmacy-auth__mobile-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

@media (min-width: 1024px) {
	.yoopharmacy-auth__mobile-brand {
		display: none;
	}
}

.yoopharmacy-auth__mobile-brand-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--yoopharmacy-accent);
	margin: 0;
}

/* Register: stepper with labels */
.yoopharmacy-auth__steps--labeled {
	margin-bottom: 1.25rem;
}

.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__steps-inner {
	overflow-x: auto;
	overflow-y: visible;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-block: 0.15rem;
}

.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__steps-inner::-webkit-scrollbar {
	display: none;
	height: 0;
	width: 0;
}

.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__step-group {
	flex: 0 0 auto;
}

.yoopharmacy-auth__steps-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 0.25rem;
	color: #fff;
	min-width: 0;
}

.yoopharmacy-auth__step-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.375rem;
}

.yoopharmacy-auth__step-label {
	display: block;
	font-size: 0.6875rem;
	text-align: center;
	opacity: 0.9;
	max-width: 4.25rem;
	line-height: 1.15;
}

@media (min-width: 640px) {
	.yoopharmacy-auth__step-label {
		font-size: 0.8125rem;
		max-width: 5.5rem;
		line-height: 1.2;
	}

	.yoopharmacy-auth__step-line {
		flex: 0 0 3rem;
	}
}

.yoopharmacy-auth__step-label.is-emphasis {
	font-weight: 600;
	opacity: 1;
}

.yoopharmacy-auth__step .yoopharmacy-icon {
	color: #fff;
}

.yoopharmacy-auth__title--center,
.yoopharmacy-auth__subtitle--center {
	text-align: center;
}

.yoopharmacy-auth__subtitle--center {
	margin-left: auto;
	margin-right: auto;
	max-width: 28rem;
}

/* Register step 1 — Create new account: tighter vertical spacing between fields */
.yoopharmacy-auth__step-heading.yoopharmacy-auth__step-heading--register-info {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 0.75rem;
	text-align: center;
}

.yoopharmacy-auth__step-heading.yoopharmacy-auth__step-heading--register-info .yoopharmacy-auth__step-heading-icon {
	align-self: center;
	margin-bottom: 0.5rem;
}

.yoopharmacy-auth__step-heading.yoopharmacy-auth__step-heading--register-info .yoopharmacy-auth__title {
	margin: 0 0 0.35rem;
	width: 100%;
	text-align: center;
}

.yoopharmacy-auth__step-heading.yoopharmacy-auth__step-heading--register-info .yoopharmacy-auth__subtitle {
	margin: 0;
	width: 100%;
	max-width: none;
	text-align: center;
}

.yoopharmacy-auth__subtitle--register-pharmacy-lead {
	display: block;
	width: 100%;
	max-width: none;
	margin-inline: 0;
	text-align: center;
	unicode-bidi: plaintext;
}

.yoopharmacy-auth__form--register-info {
	gap: 0.625rem;
}

.yoopharmacy-auth__form--register-info .yoopharmacy-auth__type-cards {
	margin-bottom: 0.25rem;
}

.yoopharmacy-auth__form--register-info .yoopharmacy-auth__grid {
	gap: 0.625rem;
	align-items: start;
}

.yoopharmacy-auth__form--register-info .yoopharmacy-auth__field--full {
	grid-column: 1 / -1;
}

.yoopharmacy-auth__form--register-info .yoopharmacy-auth__select-wrap.yoopharmacy-auth__input-icon {
	width: 100%;
	min-width: 0;
}

.yoopharmacy-auth__form--register-info .yoopharmacy-auth__footer-text {
	margin-top: 0.35rem;
	margin-bottom: 0;
}

.yoopharmacy-auth__form--register-info .yoopharmacy-auth__support-hint {
	margin-top: 0.45rem;
	padding-top: 0.5rem;
}

.yoopharmacy-auth__form--register-info .yoopharmacy-auth__support-hint-lead {
	margin-bottom: 0.2rem;
}

.yoopharmacy-auth__form--register-info .yoopharmacy-auth__support-hint-body {
	line-height: 1.35;
}

.yoopharmacy-auth--register .yoopharmacy-auth__card:has(.yoopharmacy-auth__form--register-info) {
	padding-bottom: 1rem;
}

/* Support hint under login / register footers */
.yoopharmacy-auth__support-hint {
	margin-top: 1rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--yoopharmacy-gray-200);
	text-align: center;
}

.yoopharmacy-auth__support-hint-lead {
	margin: 0 0 0.35rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--yoopharmacy-gray-800);
}

.yoopharmacy-auth__support-hint-body {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--yoopharmacy-gray-600);
	line-height: 1.5;
	word-break: break-word;
}

.yoopharmacy-auth__support-hint-body .yoopharmacy-auth__link {
	font-weight: 500;
	word-break: break-all;
}

.yoopharmacy-auth__support-phone {
	white-space: normal;
}

.yoopharmacy-auth__footer-text--center {
	text-align: center;
}

/* Step hero icon (accent circle) */
.yoopharmacy-auth__step-heading {
	text-align: center;
	margin-bottom: 1.25rem;
}

.yoopharmacy-auth__step-heading-icon {
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 0.75rem;
	border-radius: 999px;
	background: var(--yoopharmacy-orange-50);
	color: var(--yoopharmacy-accent);
	display: flex;
	align-items: center;
	justify-content: center;
}

.yoopharmacy-auth__step-heading-icon .yoopharmacy-icon {
	stroke: currentColor;
}

.yoopharmacy-auth__label--center {
	display: block;
	text-align: center;
	margin-bottom: 0.5rem;
}

/* Pharmacy type cards */
.yoopharmacy-auth__type-cards {
	border: 0;
	padding: 0;
	margin: 0 0 1rem;
}

.yoopharmacy-auth__type-cards-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

.yoopharmacy-auth__type-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.35rem;
	padding: 0.7rem 1rem;
	border: 2px solid var(--yoopharmacy-gray-200);
	border-radius: 0.5rem;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
	margin: 0;
	font: inherit;
	background: #fff;
}

.yoopharmacy-auth__type-card.is-active {
	border-color: var(--yoopharmacy-accent);
	background: var(--yoopharmacy-orange-50);
}

.yoopharmacy-auth__type-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.yoopharmacy-auth__type-card-icon {
	color: var(--yoopharmacy-gray-500);
	display: flex;
	align-items: center;
	justify-content: center;
}

.yoopharmacy-auth__type-card.is-active .yoopharmacy-auth__type-card-icon {
	color: var(--yoopharmacy-accent);
}

.yoopharmacy-auth__type-card-icon--double {
	gap: 0.125rem;
}

.yoopharmacy-auth__type-card-title {
	font-size: 0.875rem;
	font-weight: 600;
}

/* Inputs with leading icon */
.yoopharmacy-auth__input-icon {
	position: relative;
}

.yoopharmacy-auth__input-icon > .yoopharmacy-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	inset-inline-start: 0.75rem;
	color: var(--yoopharmacy-gray-400);
	pointer-events: none;
}

.yoopharmacy-auth__input-icon .yoopharmacy-auth__input {
	padding-inline-start: 2.5rem;
}

.yoopharmacy-auth__password-wrap .yoopharmacy-auth__input {
	padding-inline-end: 2.75rem;
}

/* Password strength (auth screens) */
.yoopharmacy-pw-strength {
	margin-top: 0.35rem;
	margin-bottom: 0.15rem;
}

.yoopharmacy-pw-strength__track {
	height: 4px;
	border-radius: 999px;
	background: var(--yoopharmacy-gray-200);
	overflow: hidden;
}

.yoopharmacy-pw-strength__fill {
	height: 100%;
	width: 0;
	border-radius: inherit;
	transition: width 0.15s ease, background-color 0.15s ease;
}

.yoopharmacy-pw-strength--1 .yoopharmacy-pw-strength__fill {
	width: 25%;
	background-color: #dc2626;
}

.yoopharmacy-pw-strength--2 .yoopharmacy-pw-strength__fill {
	width: 50%;
	background-color: #f59e0b;
}

.yoopharmacy-pw-strength--3 .yoopharmacy-pw-strength__fill {
	width: 75%;
	background-color: #84cc16;
}

.yoopharmacy-pw-strength--4 .yoopharmacy-pw-strength__fill {
	width: 100%;
	background-color: #16a34a;
}

.yoopharmacy-pw-strength__label {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	color: var(--yoopharmacy-gray-600);
}

.yoopharmacy-auth__toggle-pw-icon--hide[hidden],
.yoopharmacy-auth__toggle-pw-icon--show[hidden] {
	display: none !important;
}

.yoopharmacy-auth__toggle-pw {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--yoopharmacy-gray-400);
}

.yoopharmacy-auth__toggle-pw:hover {
	color: var(--yoopharmacy-gray-600);
}

/* OTP cells */
.yoopharmacy-auth__otp-row {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

.yoopharmacy-auth__otp-cell {
	width: 2.75rem;
	height: 2.75rem;
	text-align: center;
	font-size: 1.125rem;
	font-weight: 700;
	padding: 0;
}

.yoopharmacy-auth__back-link {
	margin-top: 1rem;
}

/* Document upload cards */
.yoopharmacy-auth__doc-card {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1rem;
	border: 2px dashed var(--yoopharmacy-gray-200);
	border-radius: 0.5rem;
	margin-bottom: 1rem;
}

.yoopharmacy-auth__doc-file-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.yoopharmacy-auth__doc-picked {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--yoopharmacy-green-ok);
	max-width: 100%;
	word-break: break-word;
}

.yoopharmacy-auth__form--documents {
	gap: 1rem;
}

.yoopharmacy-auth__select-wrap {
	position: relative;
	width: 100%;
}

.yoopharmacy-auth__select-wrap .yoopharmacy-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	inset-inline-start: 0.75rem;
	pointer-events: none;
	z-index: 1;
}

.yoopharmacy-auth__select {
	appearance: none;
	-webkit-appearance: none;
	padding-inline-start: 2.25rem;
	cursor: pointer;
}

.yoopharmacy-auth__step-heading--compact {
	margin-bottom: 1rem;
}

.yoopharmacy-auth__step-heading-icon--sm {
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 0.75rem;
	border-radius: 999px;
	background: var(--yoopharmacy-orange-50);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--yoopharmacy-accent);
}

.yoopharmacy-auth__title--step-sm {
	font-size: 1.25rem;
}

.yoopharmacy-auth__subtitle--step-sm {
	font-size: 0.875rem;
	margin-bottom: 1rem;
}

.yoopharmacy-auth__step-heading-icon-row {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 0.75rem;
	min-height: 3.5rem;
}

.yoopharmacy-auth__step-heading-icon-row .yoopharmacy-auth__step-heading-icon--sm {
	margin: 0;
}

/* Language toggle on the inline end of the row; icon stays centered */
.yoopharmacy-auth__lang--step-heading {
	position: absolute;
	inset-inline-end: 0;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
}

/* Submit busy (loading) */
.yoopharmacy-is-busy {
	position: relative;
	color: transparent !important;
	pointer-events: none;
}

.yoopharmacy-auth__submit.yoopharmacy-is-busy::after {
	content: '';
	position: absolute;
	inset: 50% auto auto 50%;
	width: 1.25rem;
	height: 1.25rem;
	margin: -0.625rem 0 0 -0.625rem;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: yoopharmacy-spin 0.65s linear infinite;
}

.yoopharmacy-auth__link-btn.yoopharmacy-is-busy {
	color: transparent !important;
}

.yoopharmacy-auth__link-btn.yoopharmacy-is-busy::after {
	content: '';
	position: absolute;
	inset: 50% auto auto 50%;
	width: 1.1rem;
	height: 1.1rem;
	margin: -0.55rem 0 0 -0.55rem;
	border: 2px solid rgba(238, 180, 78, 0.3);
	border-top-color: var(--yoopharmacy-accent);
	border-radius: 50%;
	animation: yoopharmacy-spin 0.65s linear infinite;
}

@keyframes yoopharmacy-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Toasts — same as React Sonner top-center + richColors (see screens.css) */
.yoopharmacy-toast-host {
	position: fixed;
	z-index: 99999;
	top: 1.25rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.5rem;
	width: min(22rem, calc(100vw - 2rem));
	pointer-events: none;
}

.yoopharmacy-toast {
	pointer-events: none;
	font-family: var(--yoopharmacy-font-ltr);
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--yoopharmacy-gray-900);
	background: #fff;
	border: 1px solid var(--yoopharmacy-gray-200);
	border-radius: 0.5rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	padding: 1rem;
	opacity: 0;
	transform: translateY(-0.35rem);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.yoopharmacy-toast--in {
	opacity: 1;
	transform: translateY(0);
}

.yoopharmacy-toast--out {
	opacity: 0;
	transform: translateY(-0.25rem);
}

.yoopharmacy-toast--success {
	background: hsl(143, 85%, 96%);
	border-color: hsl(145, 92%, 87%);
	color: hsl(140, 100%, 27%);
}

.yoopharmacy-toast--info {
	background: hsl(208, 100%, 97%);
	border-color: hsl(221, 91%, 93%);
	color: hsl(210, 92%, 45%);
}

.yoopharmacy-toast--error {
	background: hsl(359, 100%, 97%);
	border-color: hsl(359, 100%, 94%);
	color: hsl(360, 100%, 45%);
}

.yoopharmacy-toast--withdraw {
	background: hsl(359, 100%, 97%);
	border-color: hsl(359, 100%, 94%);
	color: hsl(360, 100%, 45%);
}

.yoopharmacy-toast__title {
	display: block;
	font-size: inherit;
	font-weight: 500;
	line-height: 1.5;
	margin: 0 0 0.125rem;
	color: inherit;
}

.yoopharmacy-toast__desc {
	margin: 0;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.4;
	color: inherit;
	opacity: 0.92;
}

.yoopharmacy-toast__desc[hidden] {
	display: none !important;
}

.yoopharmacy-auth__doc-card-icon {
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	border-radius: 0.5rem;
	background: var(--yoopharmacy-orange-50);
	color: var(--yoopharmacy-accent);
	display: flex;
	align-items: center;
	justify-content: center;
}

.yoopharmacy-auth__doc-card-title {
	margin: 0 0 0.25rem;
	font-size: 0.9375rem;
	font-weight: 600;
}

.yoopharmacy-auth__doc-card-desc {
	margin: 0 0 0.75rem;
	font-size: 0.8125rem;
	color: var(--yoopharmacy-gray-600);
	line-height: 1.4;
}

.yoopharmacy-auth__doc-file-label input[type="file"] {
	position: absolute;
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
}

.yoopharmacy-auth__doc-file-label {
	cursor: pointer;
	display: inline-block;
}

.yoopharmacy-auth__doc-file-btn {
	display: inline-block;
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	background: var(--yoopharmacy-orange-50);
	color: var(--yoopharmacy-accent);
	font-size: 0.875rem;
	font-weight: 500;
}

.yoopharmacy-auth__doc-file-btn:hover {
	background: #fed7aa;
}

.yoopharmacy-auth__h3--icon {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--yoopharmacy-accent);
}

.yoopharmacy-auth__h3--icon .yoopharmacy-icon {
	color: inherit;
}

.yoopharmacy-auth__outline--icon {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	justify-content: center;
	width: 100%;
	border-color: var(--yoopharmacy-accent);
	color: var(--yoopharmacy-accent);
}

.yoopharmacy-auth__success-icon .yoopharmacy-icon {
	color: var(--yoopharmacy-green-ok);
}

/* Standalone 404 + admin invite set-password */
.yoopharmacy-auth--notfound .yoopharmacy-auth__notfound-card,
.yoopharmacy-auth--set-password .yoopharmacy-auth__setpw-card {
	max-width: 40rem;
}

.yoopharmacy-auth__notfound-card {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 40rem;
	margin: 2rem auto;
	padding: 2rem 1.75rem 2.25rem;
	border-radius: 1rem;
	background: var(--yoopharmacy-white);
	box-shadow: 0 18px 50px rgba(45, 45, 45, 0.18);
}

.yoopharmacy-auth__notfound-content {
	max-width: 28rem;
	margin-inline: auto;
}

.yoopharmacy-auth__notfound-icon {
	display: flex;
	justify-content: center;
	margin-bottom: 1.25rem;
	color: var(--yoopharmacy-accent);
}

.yoopharmacy-auth__notfound-icon .yoopharmacy-icon,
.yoopharmacy-auth__notfound-icon svg {
	color: var(--yoopharmacy-accent);
	stroke: var(--yoopharmacy-accent);
}

.yoopharmacy-auth__notfound-headline {
	margin: 0 0 1rem;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	color: var(--yoopharmacy-gray-900);
}

.yoopharmacy-auth__notfound-body {
	margin-bottom: 1.25rem;
	padding: 1rem 1.15rem;
	border-radius: 0.75rem;
	background: var(--yoopharmacy-gray-50);
	border: 1px solid var(--yoopharmacy-gray-200);
	text-align: start;
}

.yoopharmacy-auth--notfound[dir="rtl"] .yoopharmacy-auth__notfound-content[lang="ar"] .yoopharmacy-auth__notfound-headline,
.yoopharmacy-auth--notfound[dir="rtl"] .yoopharmacy-auth__notfound-content[lang="ar"] .yoopharmacy-auth__notfound-body,
.yoopharmacy-auth--notfound[dir="rtl"] .yoopharmacy-auth__notfound-content[lang="ar"] .yoopharmacy-auth__notfound-p,
.yoopharmacy-auth--notfound[dir="rtl"] .yoopharmacy-auth__notfound-content[lang="ar"] .yoopharmacy-auth__notfound-support {
	direction: rtl;
	text-align: start;
}

.yoopharmacy-auth--notfound[dir="rtl"] .yoopharmacy-auth__notfound-content[lang="ar"] .yoopharmacy-auth__notfound-p {
	unicode-bidi: plaintext;
}

.yoopharmacy-auth--notfound[dir="rtl"] .yoopharmacy-auth__notfound-content[lang="ar"] .yoopharmacy-auth__notfound-headline {
	text-align: center;
}

.yoopharmacy-auth__notfound-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	margin: 0 0 1rem;
	font-size: 0.9375rem;
}

.yoopharmacy-auth__notfound-sep {
	color: var(--yoopharmacy-gray-500);
	user-select: none;
}

.yoopharmacy-auth__notfound-p {
	margin: 0 0 0.85rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--yoopharmacy-gray-700);
}

.yoopharmacy-auth__notfound-p:last-child {
	margin-bottom: 0;
}

.yoopharmacy-auth__notfound-support {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--yoopharmacy-gray-600);
	text-align: center;
}

.yoopharmacy-auth__notfound-support-mail {
	font-weight: 600;
	color: var(--yoopharmacy-accent);
	text-decoration: none;
	margin-inline-start: 0.25rem;
}

.yoopharmacy-auth__notfound-support-mail:hover {
	text-decoration: underline;
}

.yoopharmacy-auth__setpw-title {
	font-size: 1.35rem;
}

.yoopharmacy-auth__setpw-cta {
	display: inline-block;
	text-decoration: none;
	text-align: center;
}

.yoopharmacy-auth__hero-brand-logo {
	display: block;
	max-height: 3rem;
	width: auto;
	object-fit: contain;
}

.yoopharmacy-auth__hero-brand-logo--solo {
	margin-bottom: 0.75rem;
}

.yoopharmacy-auth__mobile-brand-logo {
	display: block;
	max-height: 2.25rem;
	width: auto;
	object-fit: contain;
}

/* Register: dual stepper (single vs multi) on step 1 */
.yoopharmacy-auth__reg-stepper-info .yoopharmacy-auth__reg-stepper-panel[hidden] {
	display: none !important;
}

/* OTP verify — resend + back */
.yoopharmacy-auth__verify-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-top: 1.25rem;
	width: 100%;
	box-sizing: border-box;
}

.yoopharmacy-auth__verify-back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	text-decoration: none;
	font-weight: 600;
}

.yoopharmacy-auth__verify-resend-form {
	margin: 0;
}

.yoopharmacy-auth__otp-hint {
	font-size: 0.875rem;
	color: var(--yoopharmacy-gray-600);
	margin: 0.35rem 0 0;
	font-weight: 400;
}

/* OTP expiry line — centered under email (avoids RTL/layout glitches with subtitle--center) */
.yoopharmacy-auth__otp-hint--block {
	display: block;
	text-align: center;
	width: 100%;
	max-width: 28rem;
	margin: 0.5rem auto 0;
	font-size: 0.875rem;
	color: var(--yoopharmacy-gray-600);
	font-weight: 400;
	line-height: 1.45;
}

/* Register verify: resend countdown centered above back link */
.yoopharmacy-auth__verify-footer--register {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.yoopharmacy-auth__verify-footer--register .yoopharmacy-auth__verify-resend-form {
	order: 1;
	width: 100%;
	display: flex;
	justify-content: center;
}

.yoopharmacy-auth__verify-footer--register .yoopharmacy-auth__verify-back {
	order: 2;
	justify-content: center;
}

.yoopharmacy-auth__pw-match-msg {
	display: block;
	font-size: 0.8125rem;
	margin: 0.35rem 0 0;
	min-height: 1.25em;
	line-height: 1.35;
}

.yoopharmacy-auth__pw-match-msg.is-match {
	color: var(--yoopharmacy-success-fg, #2d6a4f);
}

.yoopharmacy-auth__pw-match-msg.is-mismatch {
	color: var(--yoopharmacy-danger-fg, #b42318);
}

.yoopharmacy-auth__inline-error {
	color: var(--yoopharmacy-danger-fg, #b42318);
	font-size: 0.875rem;
	margin: 0.5rem 0 0;
	text-align: center;
}

.yoopharmacy-auth__reg-policy-note {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 0 0 1.1rem;
	padding: 0.85rem 1rem;
	border-radius: 0.5rem;
	background: var(--yoopharmacy-orange-50, #fff7ed);
	border: 1px solid var(--yoopharmacy-gray-200);
	border-inline-start: 3px solid var(--yoopharmacy-accent);
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--yoopharmacy-gray-700);
}

.yoopharmacy-auth__reg-policy-note-icon {
	flex-shrink: 0;
	line-height: 0;
	color: var(--yoopharmacy-accent);
	margin-top: 0.1rem;
}

.yoopharmacy-auth__reg-policy-note-icon .yoopharmacy-icon {
	stroke: currentColor;
}

.yoopharmacy-auth__reg-policy-note-content {
	flex: 1;
	min-width: 0;
}

.yoopharmacy-auth__reg-policy-note-text {
	margin: 0 0 0.5rem;
}

.yoopharmacy-auth__reg-policy-note-text:last-child {
	margin-bottom: 0;
}

.yoopharmacy-auth__btn-back--text {
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	font: inherit;
	color: var(--yoopharmacy-accent);
}

/* Multi-branch documents: read-only branch header + uploads */
.yoopharmacy-doc-branch__head--static {
	border-bottom: 1px solid var(--yoopharmacy-gray-200);
	padding-bottom: 0.75rem;
	margin-bottom: 0.75rem;
}

.yoopharmacy-doc-branch__meta {
	font-size: 0.8125rem;
	color: var(--yoopharmacy-gray-600);
	margin: 0.25rem 0 0;
	line-height: 1.4;
}

.yoopharmacy-doc-branch--files-only .yoopharmacy-doc-branch__remove {
	display: none;
}

.yoopharmacy-doc-branch-rows--readonly {
	margin-bottom: 0.5rem;
}

/* Document drop-in cards (closer to React file picker) */
.yoopharmacy-auth__doc-card {
	border: 1px solid var(--yoopharmacy-gray-200);
	background: #fafafa;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.yoopharmacy-auth__doc-card:hover {
	border-color: var(--yoopharmacy-accent);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.yoopharmacy-auth__doc-file-btn {
	display: inline-block;
	padding: 0.4rem 0.85rem;
	border-radius: 0.375rem;
	border: 1px solid var(--yoopharmacy-gray-200);
	background: #fff;
	font-weight: 600;
	font-size: 0.875rem;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.yoopharmacy-auth__doc-file-label:hover .yoopharmacy-auth__doc-file-btn {
	border-color: var(--yoopharmacy-accent);
	color: var(--yoopharmacy-accent);
}

/* —— Auth mobile: compact top + centered lang; registration stepper stays one row —— */
@media (max-width: 1023px) {
	.yoopharmacy-auth--register {
		padding: max(1.15rem, env(safe-area-inset-top)) 0.85rem 0.85rem;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__panel {
		min-height: 100svh;
		padding: max(1rem, env(safe-area-inset-top)) 0.85rem max(1rem, env(safe-area-inset-bottom));
		align-items: center;
		justify-content: center;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__panel-inner {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: calc(100svh - max(1rem, env(safe-area-inset-top)) - max(1rem, env(safe-area-inset-bottom)));
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__panel-card {
		position: relative;
		width: 100%;
		padding: 1.15rem 1.15rem 1.25rem;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__toolbar {
		position: absolute;
		top: 1.15rem;
		left: auto;
		right: auto;
		inset-inline: 1.15rem;
		transform: none;
		margin: 0;
		width: auto;
		max-width: none;
		justify-content: flex-end;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__mobile-brand {
		margin-top: 0;
		margin-bottom: 0.25rem;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__panel-heading {
		margin-bottom: 0.45rem;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__panel-heading .yoopharmacy-auth__title--login {
		margin-bottom: 0.15rem;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__subtitle--tight {
		margin-bottom: 0.75rem;
	}

	/* Forgot-password: toolbar is a direct child of .panel-inner (login wraps toolbar inside .panel-card). */
	.yoopharmacy-auth--split .yoopharmacy-auth__panel-inner:has(> .yoopharmacy-auth__toolbar:first-child) {
		position: relative;
		padding-top: 0;
		justify-content: center;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__panel-inner > .yoopharmacy-auth__toolbar:first-child {
		position: absolute;
		top: 0;
		left: auto;
		right: auto;
		inset-inline: 0;
		transform: none;
		margin: 0;
		width: auto;
		max-width: none;
		justify-content: flex-end;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__panel-inner > .yoopharmacy-auth__title:first-of-type {
		margin-top: 0;
		text-align: center;
	}

	.yoopharmacy-auth--split .yoopharmacy-auth__panel-inner > .yoopharmacy-auth__subtitle {
		text-align: center;
	}

	/* Register card: lang centered above heading when toolbar present */
	.yoopharmacy-auth--register .yoopharmacy-auth__card:has(> .yoopharmacy-auth__toolbar) {
		position: relative;
		padding-top: 1.15rem;
	}

	.yoopharmacy-auth--register .yoopharmacy-auth__card:has(.yoopharmacy-auth__form--register-info) {
		padding-bottom: 0.75rem;
	}

	.yoopharmacy-auth--register .yoopharmacy-auth__card > .yoopharmacy-auth__toolbar:first-child {
		position: absolute;
		top: 1.15rem;
		left: auto;
		right: auto;
		inset-inline: 1.15rem;
		transform: none;
		margin: 0;
		width: auto;
		max-width: none;
		justify-content: flex-end;
	}

	.yoopharmacy-auth--register .yoopharmacy-auth__card > .yoopharmacy-auth__toolbar:first-child + .yoopharmacy-auth__step-heading {
		margin-top: 0;
	}

	.yoopharmacy-auth--register .yoopharmacy-auth__steps--labeled {
		margin-bottom: 0.65rem;
	}

	.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__steps-inner {
		padding-block: 0.35rem 0.2rem;
		padding-inline: 0.85rem;
		box-sizing: border-box;
		scroll-padding-inline: 1rem;
	}

	.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__steps-inner::before,
	.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__steps-inner::after {
		content: "";
		flex: 0 0 0.35rem;
	}

	.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__step {
		width: 2.125rem;
		height: 2.125rem;
		font-size: 0.8125rem;
	}

	.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__step-line {
		flex: 0 0 0.65rem;
		min-width: 0.35rem;
	}

	.yoopharmacy-auth__steps--labeled .yoopharmacy-auth__step-label {
		max-width: 3.65rem;
		font-size: 0.625rem;
	}

	/* Set-password / not-found: pending card + toolbar */
	.yoopharmacy-auth__pending-card:has(.yoopharmacy-auth__toolbar--pending) {
		position: relative;
		padding-top: 1.15rem;
		padding-inline: 1.1rem;
	}

	.yoopharmacy-auth__pending-card .yoopharmacy-auth__toolbar--pending {
		position: absolute;
		top: 1.15rem;
		left: auto;
		right: auto;
		inset-inline: 1.1rem;
		transform: none;
		margin: 0 0 0.35rem;
		width: auto;
		max-width: none;
		justify-content: flex-end;
	}

	.yoopharmacy-auth__pending-card .yoopharmacy-auth__panel-heading {
		margin-top: 0;
		margin-bottom: 0.45rem;
	}
}
