/**
 * Insurance Quote Manager Pro - auth styles (Step 10).
 * Login card + protected dashboard placeholder. Blue/white, responsive.
 * Scoped under .iqmp-auth.
 */

.iqmp-auth {
	--iqmp-primary: #0A66C2;
	--iqmp-ink: #101828;
	--iqmp-muted: #667085;
	--iqmp-line: #e4e7ec;
	--iqmp-bg: #f7f9fc;
	--iqmp-danger: #d92d20;
	--iqmp-success: #027a48;

	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--iqmp-ink);
	box-sizing: border-box;
}
.iqmp-auth *, .iqmp-auth *::before, .iqmp-auth *::after { box-sizing: border-box; }

/* ---------- Login card ---------- */
.iqmp-auth__card {
	max-width: 420px;
	margin: 40px auto;
	background: #fff;
	border: 1px solid var(--iqmp-line);
	border-radius: 16px;
	padding: 34px 30px;
	box-shadow: 0 12px 40px rgba(16, 24, 40, 0.08);
}

.iqmp-auth__card--message { text-align: center; }

.iqmp-auth__brand { text-align: center; margin-bottom: 18px; }
.iqmp-auth__logo { max-height: 52px; max-width: 200px; display: inline-block; }
.iqmp-auth__brand-name { font-size: 20px; font-weight: 700; color: var(--iqmp-primary); }

.iqmp-auth__title { margin: 0 0 6px; font-size: 23px; font-weight: 700; text-align: center; }
.iqmp-auth__subtitle { margin: 0 0 22px; font-size: 14px; color: var(--iqmp-muted); text-align: center; line-height: 1.5; }

.iqmp-auth__notice {
	margin: 0 0 18px;
	padding: 11px 14px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.5;
}
.iqmp-auth__notice--error { background: #fef3f2; border: 1px solid #fecdca; color: #b42318; }
.iqmp-auth__notice--success { background: #ecfdf3; border: 1px solid #a6f4c5; color: var(--iqmp-success); }

.iqmp-auth__field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.iqmp-auth__field label { font-size: 13px; font-weight: 600; }

.iqmp-auth__field input[type="text"],
.iqmp-auth__field input[type="password"] {
	width: 100%;
	padding: 12px 14px;
	font-size: 14px;
	font-family: inherit;
	color: var(--iqmp-ink);
	border: 1.5px solid var(--iqmp-line);
	border-radius: 10px;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.iqmp-auth__field input:focus {
	outline: none;
	border-color: var(--iqmp-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--iqmp-primary) 10%, #fff);
}

.iqmp-auth__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 22px;
	font-size: 13px;
}
.iqmp-auth__remember { display: inline-flex; align-items: center; gap: 7px; color: var(--iqmp-ink); cursor: pointer; }
.iqmp-auth__remember input { width: 15px; height: 15px; }
.iqmp-auth__forgot { color: var(--iqmp-primary); text-decoration: none; font-weight: 600; }
.iqmp-auth__forgot:hover { text-decoration: underline; }

.iqmp-auth__admin-note { text-align: center; }
.iqmp-auth__admin-note p { margin: 0 0 16px; font-size: 14px; color: var(--iqmp-muted); }

/* ---------- Buttons ---------- */
.iqmp-auth .iqmp-btn {
	appearance: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	padding: 12px 24px;
	border-radius: 10px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.1s ease, box-shadow 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}
.iqmp-auth .iqmp-btn:active { transform: translateY(1px); }
.iqmp-auth .iqmp-btn--primary {
	background: var(--iqmp-primary);
	color: #fff;
	box-shadow: 0 4px 14px color-mix(in srgb, var(--iqmp-primary) 30%, transparent);
}
.iqmp-auth .iqmp-btn--ghost { background: #fff; color: var(--iqmp-ink); border: 1.5px solid var(--iqmp-line); }
.iqmp-auth__btn { width: 100%; }

/* ---------- Dashboard placeholder ---------- */
.iqmp-dashboard { max-width: 920px; margin: 32px auto; }

.iqmp-dashboard__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	background: #fff;
	border: 1px solid var(--iqmp-line);
	border-radius: 16px;
	padding: 24px 26px;
	margin-bottom: 20px;
	box-shadow: 0 4px 18px rgba(16, 24, 40, 0.05);
}
.iqmp-dashboard__welcome { margin: 0 0 4px; font-size: 22px; font-weight: 700; }
.iqmp-dashboard__subtitle { margin: 0; font-size: 14px; color: var(--iqmp-muted); }
.iqmp-dashboard__logout { flex-shrink: 0; }

.iqmp-dashboard__cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.iqmp-dashboard__card {
	background: #fff;
	border: 1px solid var(--iqmp-line);
	border-radius: 14px;
	padding: 22px 20px;
	box-shadow: 0 4px 18px rgba(16, 24, 40, 0.05);
	border-top: 3px solid var(--iqmp-primary);
}
.iqmp-dashboard__card-label { display: block; font-size: 13px; color: var(--iqmp-muted); font-weight: 600; margin-bottom: 10px; }
.iqmp-dashboard__card-value { display: block; font-size: 15px; font-weight: 700; color: var(--iqmp-primary); }

/* ---------- Responsive ---------- */
@media (max-width: 820px) {
	.iqmp-dashboard__cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
	.iqmp-auth__card { margin: 20px 12px; padding: 26px 22px; }
	.iqmp-dashboard { margin: 16px 12px; }
	.iqmp-dashboard__cards { grid-template-columns: 1fr; }
	.iqmp-dashboard__head { flex-direction: column; align-items: flex-start; }
	.iqmp-dashboard__logout { width: 100%; }
}
