/* ============================================================
   TeamScan — Page de connexion (index.html)
   ============================================================ */

body.page-login {
	background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-accent-light) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
}

.login-wrapper {
	width: 100%;
	max-width: 420px;
	padding: 16px;
}

.login-card {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
	padding: 40px 36px 36px;
}

.login-logo {
	display: flex;
	justify-content: center;
	margin-bottom: 32px;
}

.login-logo img { height: 44px; }

.login-title {
	font-size: var(--font-size-2xl);
	font-weight: 700;
	text-align: center;
	margin-bottom: 6px;
	color: var(--color-text);
}

.login-subtitle {
	text-align: center;
	color: var(--color-text-muted);
	font-size: var(--font-size-sm);
	margin-bottom: 28px;
}

.login-form .btn-primary {
	width: 100%;
	justify-content: center;
	padding: 11px;
	font-size: var(--font-size-base);
	margin-top: 8px;
}

.login-footer {
	text-align: center;
	margin-top: 20px;
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}

.login-footer a { font-weight: 600; }

/* Accès par hash (mode pseudo-anonyme) */
.hash-access-notice {
	background: var(--color-accent-light);
	border: 1.5px solid var(--color-accent);
	border-radius: var(--radius-sm);
	padding: 14px 16px;
	margin-bottom: 24px;
	font-size: var(--font-size-sm);
	color: #0E7490;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.hash-access-notice strong { display: block; margin-bottom: 4px; }

/* Message d'erreur de connexion */
.login-error {
	background: #FEF2F2;
	border: 1px solid #FECACA;
	border-radius: var(--radius-sm);
	padding: 10px 14px;
	color: var(--color-danger);
	font-size: var(--font-size-sm);
	margin-bottom: 18px;
	display: none;
}

.login-error.visible { display: block; }
