.ghir-market-authentication-page {
	background: #f5f5f3;
}

.gm-authentication {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 70vh;
	padding: 32px 16px;
}

.gm-authentication *,
.gm-authentication *::before,
.gm-authentication *::after {
	box-sizing: border-box;
}

.gm-authentication__panel {
	width: 100%;
	max-width: 460px;
	padding: 32px;
	background: #ffffff;
	border: 1px solid #e3e3df;
	border-radius: 20px;
	box-shadow: 0 16px 45px rgba(20, 20, 20, 0.08);
}

.gm-authentication__header {
	margin-bottom: 24px;
	text-align: right;
}

.gm-authentication__eyebrow {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
}

.gm-authentication__title {
	margin: 0;
	font-size: clamp(28px, 5vw, 38px);
	line-height: 1.3;
}

.gm-authentication__description {
	margin: 12px 0 0;
	font-size: 15px;
	line-height: 1.9;
	color: #555555;
}

.gm-authentication__status {
	margin-bottom: 20px;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.8;
}

.gm-authentication__status--error {
	background: #fff1f1;
	border: 1px solid #f2bcbc;
	color: #8b1f1f;
}

.gm-authentication__status--success {
	background: #eef8f0;
	border: 1px solid #b9dfc0;
	color: #1d642b;
}

.gm-authentication__status--info {
	background: #f1f4f8;
	border: 1px solid #cbd5e1;
	color: #334155;
}

.gm-authentication__form {
	display: grid;
	gap: 18px;
}

.gm-authentication__field {
	display: grid;
	gap: 8px;
}

.gm-authentication__label {
	font-size: 14px;
	font-weight: 700;
}

.gm-authentication__input {
	width: 100%;
	min-height: 52px;
	padding: 10px 14px;
	border: 1px solid #cfcfca;
	border-radius: 12px;
	background: #ffffff;
	font: inherit;
	font-size: 17px;
	direction: ltr;
	text-align: left;
}

.gm-authentication__input:focus {
	border-color: #222222;
	outline: 3px solid rgba(34, 34, 34, 0.12);
}

.gm-authentication__input--otp {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 10px;
	text-align: center;
}

.gm-authentication__help,
.gm-authentication__timer,
.gm-authentication__legal-note {
	margin: 0;
	font-size: 13px;
	line-height: 1.8;
	color: #666666;
}

.gm-authentication__button {
	min-height: 52px;
	padding: 10px 18px;
	border: 0;
	border-radius: 12px;
	background: #1d1d1b;
	color: #ffffff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.gm-authentication__button:hover,
.gm-authentication__button:focus {
	background: #000000;
}

.gm-authentication__button:disabled {
	opacity: 0.55;
	cursor: wait;
}

.gm-authentication__remember {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	cursor: pointer;
}

.gm-authentication__secondary-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.gm-authentication__text-button {
	padding: 4px 0;
	border: 0;
	background: transparent;
	color: #333333;
	font: inherit;
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
}

.gm-authentication__text-button:disabled {
	color: #999999;
	cursor: not-allowed;
	text-decoration: none;
}

.gm-authentication__legal-note {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid #ecece8;
}

@media (max-width: 520px) {
	.gm-authentication {
		align-items: flex-start;
		padding: 16px 12px;
	}

	.gm-authentication__panel {
		padding: 24px 18px;
		border-radius: 16px;
	}

	.gm-authentication__secondary-actions {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Whole-product composition: consumes shared foundation tokens without replacing domain semantics. */
:where(.gm-template,.gm-surface) :where(button,a,input,select,textarea){font-family:var(--gm-font,inherit)}

/* === GM PRODUCT VISUAL TRANSFORMATION CORRECTIVE LAYER ===
 * Current Production presentation responsibilities above are intentionally retained.
 * Rules below establish the new canonical visual precedence without orphaning active selectors.
 */
/* Domain adapter over canonical Ghir Market design system. */
.gm-authentication{max-width:44rem;margin-inline:auto}.gm-authentication__form,.gm-authentication__card{background:var(--gm-white);border:1px solid var(--gm-line);border-radius:var(--gm-radius-lg);padding:1.25rem}.gm-authentication__actions{display:flex;gap:.75rem;flex-wrap:wrap}.gm-authentication__status{margin-block:1rem}