body.rr-staff-login-page {
	margin: 0;
	min-height: 100vh;
	background: var(--rr-surface-muted, #f4f7f5);
	font-family: var(--rr-font, system-ui, sans-serif);
	color: var(--rr-text, #1a2e28);
}

.rr-staff-login {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
}

.rr-staff-login-card {
	width: 100%;
	max-width: 400px;
	background: var(--rr-surface, #fff);
	border: 1px solid var(--rr-border, #d8e0dc);
	border-radius: var(--rr-radius, 8px);
	box-shadow: var(--rr-shadow, 0 1px 3px rgba(13, 59, 46, 0.08));
	padding: 2rem;
}

.rr-staff-login-brand {
	text-align: center;
	margin-bottom: 1.5rem;
}

.rr-staff-login-brand .rr-staff-logo img {
	max-height: 56px;
	width: auto;
}

.rr-staff-login-brand .rr-staff-wordmark {
	font-size: 1.35rem;
	color: var(--rr-brand, #0d3b2e);
}

.rr-staff-login-tagline {
	margin: 0.5rem 0 0;
	color: var(--rr-text-muted, #5c6b66);
	font-size: 0.95rem;
}

.rr-staff-login-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #b91c1c;
	padding: 0.75rem 1rem;
	border-radius: var(--rr-radius, 8px);
	margin-bottom: 1rem;
}

/* Self-contained field styles (homepage embed is outside theme .rr-clinic-app until wrapped) */
.rr-staff-login .rr-clinic-field,
.rr-staff-login-form .rr-clinic-field {
	margin-bottom: 1rem;
	display: block;
}

.rr-staff-login .rr-clinic-field label,
.rr-staff-login-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	color: var(--rr-text, #1a2e28);
}

.rr-staff-login .rr-clinic-field input[type='text'],
.rr-staff-login .rr-clinic-field input[type='password'],
.rr-staff-login-form input[type='text'],
.rr-staff-login-form input[type='password'] {
	display: block;
	width: 100%;
	min-height: 2.75rem;
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--rr-border, #d8e0dc);
	border-radius: var(--rr-radius, 8px);
	box-sizing: border-box;
	background: #fff;
	color: var(--rr-text, #1a2e28);
	font-size: 1rem;
	font-family: inherit;
	-webkit-appearance: none;
	appearance: none;
}

.rr-staff-login .rr-btn--primary,
.rr-staff-login-form .rr-btn--primary {
	display: block;
	width: 100%;
	padding: 0.75rem 1rem;
	border: none;
	border-radius: var(--rr-radius, 8px);
	background: var(--rr-brand, #0d3b2e);
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}

.rr-staff-login-remember {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: 0.9rem;
}

.rr-staff-login-submit {
	width: 100%;
	padding: 0.75rem;
	font-size: 1rem;
	cursor: pointer;
}

.rr-staff-login-back {
	text-align: center;
	margin-top: 1.5rem;
	font-size: 0.9rem;
}

.rr-staff-login-back a {
	color: var(--rr-accent, #2d8a5e);
}

.rr-staff-login-back--standalone {
	text-align: center;
	margin: -1rem auto 2rem;
	max-width: 400px;
}

/* Embedded on homepage / shortcode */
.rr-staff-login--embed {
	min-height: 0;
	padding: 2.5rem 1rem;
	margin: 2rem auto;
	max-width: 480px;
}

.rr-staff-login--embed .rr-staff-login-card {
	max-width: none;
}

.rr-staff-login--compact {
	padding: 1.5rem 0;
	margin: 1rem 0;
	max-width: 360px;
}

.rr-staff-login--compact .rr-staff-login-tagline {
	display: none;
}

/* Header menu Staff link */
.rr-staff-menu-link:focus-visible {
	outline: 2px solid var(--rr-accent-soft, #a8e6cf);
	outline-offset: 2px;
}

/* Legacy floating Staff tab (removed in 0.8.5; kept for sites with old cached CSS) */
.rr-staff-home-tab {
	position: fixed;
	right: 0;
	top: 40%;
	z-index: 9999;
	background: var(--rr-brand, #0d3b2e);
	color: #fff;
	padding: 0.65rem 0.5rem 0.65rem 0.75rem;
	border-radius: 8px 0 0 8px;
	font-weight: 600;
	font-size: 0.85rem;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(13, 59, 46, 0.25);
	letter-spacing: 0.02em;
}

.rr-staff-home-tab:hover,
.rr-staff-home-tab:focus {
	color: #fff;
	background: var(--rr-brand-hover, #0a2f24);
}
