/**
 * Portal Inline Login Form
 */

.hsd-portal-login {
	background: var(--hsd-surface, #fff);
	border-radius: var(--hsd-card-radius, 12px);
	box-shadow: var(--hsd-card-shadow, 0 1px 3px rgba(0,0,0,.1));
	overflow: hidden;
	max-width: 440px;
	margin: 0 auto;
}

/* Tabs */
.hsd-portal-login__tabs {
	display: flex;
	border-bottom: 1px solid var(--hsd-border, #e5e7eb);
}

.hsd-portal-login__tab {
	flex: 1;
	padding: var(--hsd-space-3, .75rem) var(--hsd-space-4, 1rem);
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	font-size: .875rem;
	font-weight: 500;
	color: var(--hsd-text-secondary, #6b7280);
	cursor: pointer;
	transition: color .15s, border-color .15s;
}

.hsd-portal-login__tab:hover {
	color: var(--hsd-text-primary, #111827);
}

.hsd-portal-login__tab--active {
	color: var(--hsd-primary, #6366f1);
	border-bottom-color: var(--hsd-primary, #6366f1);
}

/* Panels */
.hsd-portal-login__panel {
	display: none;
	padding: var(--hsd-space-6, 1.5rem);
}

.hsd-portal-login__panel--active {
	display: block;
}

/* Fields */
.hsd-portal-login__field {
	margin-bottom: var(--hsd-space-4, 1rem);
}

.hsd-portal-login__label {
	display: block;
	font-size: .8125rem;
	font-weight: 500;
	color: var(--hsd-text-primary, #111827);
	margin-bottom: var(--hsd-space-1, .25rem);
}

.hsd-portal-login__input {
	display: block;
	width: 100%;
	padding: .5rem .75rem;
	font-size: .875rem;
	line-height: 1.5;
	color: var(--hsd-text-primary, #111827);
	background: var(--hsd-surface, #fff);
	border: 1px solid var(--hsd-border, #d1d5db);
	border-radius: 8px;
	transition: border-color .15s, box-shadow .15s;
	box-sizing: border-box;
}

.hsd-portal-login__input:focus {
	outline: none;
	border-color: var(--hsd-primary, #6366f1);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--hsd-primary, #6366f1) 15%, transparent);
}

/* Actions row */
.hsd-portal-login__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--hsd-space-3, .75rem);
	margin-top: var(--hsd-space-5, 1.25rem);
}

.hsd-portal-login__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .5rem 1.25rem;
	font-size: .875rem;
	font-weight: 500;
	color: #fff;
	background: var(--hsd-primary, #6366f1);
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: opacity .15s;
	line-height: 1.5;
}

.hsd-portal-login__submit:hover {
	opacity: .9;
}

.hsd-portal-login__submit:disabled {
	opacity: .6;
	cursor: not-allowed;
}

.hsd-portal-login__forgot {
	font-size: .8125rem;
	color: var(--hsd-text-secondary, #6b7280);
	text-decoration: none;
}

.hsd-portal-login__forgot:hover {
	color: var(--hsd-primary, #6366f1);
}

/* Guest description */
.hsd-portal-login__desc {
	font-size: .875rem;
	color: var(--hsd-text-secondary, #6b7280);
	margin: 0 0 var(--hsd-space-4, 1rem);
	line-height: 1.5;
}

/* Message area */
.hsd-portal-login__msg {
	font-size: .8125rem;
	margin-top: var(--hsd-space-3, .75rem);
	min-height: 1.2em;
}

.hsd-portal-login__msg--error {
	color: var(--hsd-error, #ef4444);
}

.hsd-portal-login__msg--success {
	color: var(--hsd-success, #22c55e);
}

/* Mobile */
@media (max-width: 480px) {
	.hsd-portal-login__actions {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.hsd-portal-login__forgot {
		text-align: center;
	}

	.hsd-portal-login__submit {
		width: 100%;
	}
}
