/* Auth pages — white + orange logo identity */
.auth-section {
	padding: 60px 0 80px;
	background: var(--background, #FAFAF9);
	min-height: calc(100vh - 200px);
}
.auth-card {
	background: var(--surface, #FFFFFF);
	border-radius: var(--radius-lg, 8px);
	border: 1px solid var(--border, #E8E4E1);
	box-shadow: var(--shadow-md, 0 2px 8px rgba(28, 25, 23, 0.08));
	padding: 40px 40px 36px;
	max-width: 440px;
	margin: 0 auto;
}
.auth-card h2 {
	font-size: 22px;
	font-weight: 700;
	color: var(--text-primary, #1C1917);
	margin: 0 0 6px;
}
.auth-card h2 i {
	color: var(--primary, #EF6C2F);
	margin-right: 8px;
}
.auth-card .auth-subtitle {
	color: var(--text-secondary, #78716C);
	font-size: 14px;
	margin-bottom: 28px;
}
.auth-card .form-group { margin-bottom: 18px; }
.auth-card label {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-primary, #1C1917);
	margin-bottom: 6px;
	display: block;
}
.auth-card .form-control {
	height: 44px;
	border-radius: var(--radius-md, 6px);
	border: 1px solid var(--border, #E8E4E1);
	font-size: 14px;
	padding: 0 14px;
	width: 100%;
	box-sizing: border-box;
	transition: border-color .2s, box-shadow .2s;
	color: var(--text-primary, #1C1917);
}
.auth-card .form-control:focus {
	border-color: var(--primary, #EF6C2F);
	outline: none;
	box-shadow: var(--focus-ring, 0 0 0 3px rgba(239, 108, 47, 0.2));
}
.auth-btn {
	width: 100%;
	height: 46px;
	background: var(--primary, #EF6C2F);
	color: #fff;
	border: 1px solid var(--primary, #EF6C2F);
	border-radius: var(--radius-md, 6px);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	margin-top: 6px;
	transition: background .2s, border-color .2s;
}
.auth-btn:hover {
	background: var(--primary-dark, #D4551A);
	border-color: var(--primary-dark, #D4551A);
}
.auth-btn:disabled { opacity: .6; cursor: not-allowed; }
.auth-links {
	text-align: center;
	margin-top: 20px;
	font-size: 13px;
	color: var(--text-secondary, #78716C);
}
.auth-links a {
	color: var(--primary, #EF6C2F);
	text-decoration: none;
	font-weight: 600;
}
.auth-links a:hover { text-decoration: underline; }
.auth-divider {
	border: none;
	border-top: 1px solid var(--border, #E8E4E1);
	margin: 20px 0;
}
.auth-alert {
	padding: 12px 14px;
	border-radius: var(--radius-md, 6px);
	font-size: 13px;
	margin-bottom: 18px;
	display: none;
}
.auth-alert.error {
	background: var(--danger-bg, #FDECEA);
	border: 1px solid var(--danger-border, #F5C2C0);
	color: var(--danger, #C0392B);
}
.auth-alert.success {
	background: var(--success-bg, #E8F5E9);
	border: 1px solid var(--success-border, #A7D7B0);
	color: var(--success, #198754);
}
.auth-alert.warning {
	background: var(--warning-bg, #FFF8E6);
	border: 1px solid var(--warning-border, #F5D78E);
	color: #856404;
}
.forgot-link {
	float: right;
	font-size: 12px;
	color: var(--primary, #EF6C2F);
	text-decoration: none;
	font-weight: 600;
	margin-top: 2px;
}
.forgot-link:hover { text-decoration: underline; }
.pass-wrap { position: relative; }
.pass-toggle {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	color: var(--text-muted, #A8A29E);
	padding: 0;
}
.pass-toggle:hover { color: var(--primary, #EF6C2F); }
.pass-strength {
	height: 4px;
	border-radius: 2px;
	margin-top: 6px;
	transition: all .3s;
	background: var(--border, #E8E4E1);
}
.pass-strength.weak   { background: var(--danger, #C0392B); width: 33%; }
.pass-strength.medium { background: var(--warning, #D97706); width: 66%; }
.pass-strength.strong { background: var(--success, #198754); width: 100%; }
.field-error {
	font-size: 12px;
	color: var(--danger, #C0392B);
	margin-top: 4px;
	display: none;
}
.form-control.is-invalid { border-color: var(--danger, #C0392B); }

@media (max-width: 480px) {
	.auth-card { padding: 28px 18px 24px; }
}
