* { box-sizing: border-box; }
.ec-tb-fp-login-wrap {
	width: 100%;
	max-width: 380px;
	margin: 20px auto;
}
/*
 * .ec-tb-fp-login-inline is the login form as it actually ships now -
 * rendered inline wherever a portal shortcode sits on a WordPress page
 * when the visitor isn't logged in, not a full-viewport standalone page.
 * The gradient/full-height treatment above only applied to the old
 * dedicated login page and is no longer used, but the card styling below
 * is shared by both.
 */
.ec-tb-fp-login-inline {
	background: linear-gradient(180deg, #0b6e4f 0%, #084f38 100%);
	border-radius: 16px;
	padding: 20px;
}
.ec-tb-fp-login-card {
	background: #fff;
	border-radius: 16px;
	padding: 28px 24px;
	text-align: center;
}
.ec-tb-fp-login-card h1 {
	font-size: 20px;
	color: #084f38;
	margin-bottom: 24px;
	line-height: 1.4;
}
.ec-tb-fp-login-card h1 .hi { display: block; font-size: 15px; color: #666; font-weight: normal; }
.ec-tb-fp-login-card form { text-align: left; }
.ec-tb-fp-login-card label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 14px;
}
.ec-tb-fp-login-card input {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 14px;
	font-size: 16px;
	border: 1px solid #d8ddda;
	border-radius: 8px;
}
.ec-tb-fp-login-card button {
	width: 100%;
	padding: 14px;
	border: none;
	border-radius: 10px;
	background: #0b6e4f;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	margin-top: 8px;
}
.ec-tb-fp-login-error {
	background: #fdecea;
	color: #b3261e;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	margin-bottom: 16px;
}
.ec-tb-fp-login-footer { margin-top: 20px; font-size: 12px; color: #888; }

/* Public cough-link recording page - reuses the same card look */
.ec-tb-fp-cough-link-page {
	min-height: 60vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: linear-gradient(180deg, #0b6e4f 0%, #084f38 100%);
	margin: -8px -8px 0;
}
.ec-tb-fp-cough-link-card {
	background: #fff;
	border-radius: 16px;
	padding: 28px 24px;
	text-align: center;
	max-width: 380px;
	width: 100%;
}
.ec-tb-fp-cough-link-card h1 { font-size: 20px; color: #084f38; margin-bottom: 16px; line-height: 1.4; }
.ec-tb-fp-cough-link-card h1 .hi { display: block; font-size: 15px; color: #666; font-weight: normal; }
.ec-tb-fp-link-btn {
	width: 100%;
	padding: 16px;
	border: none;
	border-radius: 10px;
	background: #0b6e4f;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	margin-top: 14px;
	cursor: pointer;
}
.ec-tb-fp-link-btn:disabled { opacity: 0.6; }
.ec-tb-fp-link-progress { margin-top: 14px; font-weight: 600; color: #084f38; }
.ec-tb-fp-link-status h2 { margin-bottom: 10px; }
