/* ============================
	 Auth
	 ============================ */
.auth-shell {
	min-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px;
}

.auth-card {
	width: 100%;
	max-width: 440px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
	border: 1px solid var(--stroke);
	border-radius: 18px;
	box-shadow: var(--shadow);
	backdrop-filter: blur(10px);
	padding: 26px 24px;
}

.brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	text-align: center;
}

.brand-logo {
	width: 72px;
	height: 72px;
	object-fit: contain;
	background: transparent;
	border: none;
	padding: 0;
}

.brand-badge {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--primary), var(--primary2));
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	letter-spacing: 0.6px;
	color: #071022;
	box-shadow: 0 10px 30px rgba(79, 140, 255, 0.25);
}

.brand-name {
	line-height: 1.15;
}

.brand-name strong {
	display: block;
	font-size: 18px;
	letter-spacing: 0.2px;
}

/* ============================
	 Typography & Alerts
	 ============================ */
.h1 {
	margin: 8px 0 16px;
	font-size: 22px;
	letter-spacing: 0.2px;
}

.alert {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-radius: 12px;
	border: 1px solid rgba(255, 107, 107, 0.25);
	background: rgba(255, 107, 107, 0.08);
	color: rgba(255, 230, 230, 0.95);
	font-size: 13px;
}

/* ============================
	 Forms
	 ============================ */
.field {
	margin: 12px 0;
}

.label {
	display: block;
	font-size: 12.5px;
	color: var(--muted);
	margin: 0 0 6px;
}

.input {
	width: 100%;
	border-radius: 12px;
	border: 1px solid var(--stroke);
	background: rgba(10, 18, 33, 0.55);
	color: var(--text);
	padding: 11px 12px;
	font-size: 14px;
	outline: none;
}

.input:focus {
	border-color: rgba(79, 140, 255, 0.55);
	box-shadow: 0 0 0 4px var(--ring);
}

.input-wrap {
	position: relative;
}

.input-wrap .input {
	padding-right: 48px;
}

.input-action {
	position: absolute;
	right: 1px;
	top: 1px;
	bottom: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	border: none;
	background: rgba(10, 18, 33, 0.55);
	color: var(--text);
	border-radius: 0 11px 11px 0;
	cursor: pointer;
}

.input-action:hover {
	filter: brightness(1.06);
}

.input-action:focus {
	outline: none;
	box-shadow: 0 0 0 4px var(--ring);
}

.input-action .bi {
	font-size: 14px;
	line-height: 1;
	display: block;
}

.row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 10px 0 0;
}

.small {
	font-size: 12.5px;
	color: var(--muted);
}
