/* Cost Pilot Login - base stylesheet.
 * Dynamic colors + logo are injected via wp_add_inline_style (CPL_Branding).
 * Covers: wp-login.php chrome, the set-password shortcode form, and the
 * provisioned-user banners (wp-login + My Account).
 */

*, *::before, *::after { box-sizing: border-box; }

/* ── wp-login.php layout ──────────────────────────────────────────────────── */
body.login {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: 24px 16px;
}
#login { width: 100%; max-width: 360px; padding: 0; }
#login h1 { margin-bottom: 16px; }
#login h1 a {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	display: block;
	margin: 0 auto;
}
#loginform, #lostpasswordform, #registerform {
	border-radius: 10px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.35), 0 1px 4px rgba(0,0,0,0.2);
	padding: 28px 30px 24px;
	margin-bottom: 0;
	border: none;
}
#loginform label, #lostpasswordform label {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #555;
}
#loginform input[type="text"], #loginform input[type="password"],
#lostpasswordform input[type="text"] {
	border-radius: 6px;
	border: 1px solid #ddd;
	font-size: 15px;
	padding: 10px 12px;
	height: auto;
	transition: border-color .15s, box-shadow .15s;
}
.wp-core-ui .button-primary {
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	padding: 10px 18px;
	height: auto;
	width: 100%;
	transition: background-color .15s, border-color .15s;
}
#nav, #backtoblog { text-align: center; margin-top: 14px; }
#nav a, #backtoblog a { color: #9aa4ad !important; font-size: 12px; text-decoration: none; }
#nav a:hover, #backtoblog a:hover { color: #fff !important; text-decoration: underline; }

/* ── Headline / tagline / footer ──────────────────────────────────────────── */
.cpl-message { text-align: center; margin: 0 0 20px; width: 100%; max-width: 360px; }
.cpl-headline { font-size: 22px; font-weight: 800; letter-spacing: -0.01em; margin: 0 0 6px; line-height: 1.2; text-transform: uppercase; }
.cpl-tagline { font-size: 13px; color: #9aa4ad; margin: 0; line-height: 1.5; }
.cpl-footer { text-align: center; margin-top: 20px; font-size: 11px; color: #6b7682; letter-spacing: 0.05em; text-transform: uppercase; }

/* ── Provisioned-user banner (compact = wp-login, wide = My Account) ──────── */
.cpl-login-banner {
	background: #0D2820;
	border: 1px solid #1D4D3F;
	border-radius: 10px;
	padding: 14px 16px;
	margin: 0 0 16px;
	color: #C7D0D9;
	font-size: 13px;
	line-height: 1.5;
}
.cpl-login-banner p { margin: 0 0 6px; }
.cpl-login-banner p:last-child { margin-bottom: 0; }
.cpl-login-banner a { color: #15E6A4; font-weight: 600; text-decoration: none; }
.cpl-login-banner a:hover { text-decoration: underline; }

.cpl-login-banner--wide {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	max-width: 100%;
	padding: 18px 22px;
	margin: 0 0 22px;
}
.cpl-login-banner__heading { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 800; color: #F4F7FA; margin-bottom: 6px; }
.cpl-login-banner__icon svg { width: 22px; height: 22px; display: block; }
.cpl-login-banner__body { margin: 0; font-size: 14px; color: #AEB8C2; }
.cpl-login-banner__cta {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #15E6A4;
	color: #06231A !important;
	font-weight: 800;
	text-decoration: none;
	border-radius: 8px;
	padding: 12px 20px;
	white-space: nowrap;
}
.cpl-login-banner__cta:hover { background: #12cf93; }
.cpl-login-banner__ctas { flex: none; display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.cpl-login-banner__cta--ghost { background: transparent; color: #15E6A4 !important; border: 1px solid #1D4D3F; justify-content: center; }
.cpl-login-banner__cta--ghost:hover { background: #0D2820; }
@media (max-width: 600px) {
	.cpl-login-banner--wide { flex-direction: column; align-items: flex-start; }
	.cpl-login-banner__cta { width: 100%; justify-content: center; }
	.cpl-login-banner__ctas { width: 100%; }
}

/* ── [cost_pilot_set_password] form ───────────────────────────────────────── */
.cpl-setpw { max-width: 480px; margin: 0 auto; font-size: 15px; line-height: 1.5; color: #1d2327; }
.cpl-setpw--success { max-width: 560px; }
.cpl-setpw__msg { padding: 12px 16px; border-radius: 8px; margin: 0 0 20px; font-size: 14px; line-height: 1.5; }
.cpl-setpw__msg--notice { background: #0D2820; border: 1px solid #1D4D3F; color: #0b6b4f; }
.cpl-setpw__msg--error { background: #fcf0f1; border: 1px solid #f0b7b8; color: #8a1f1f; }

.cpl-setpw__success { background: #f6fbf8; border: 2px solid #15E6A4; border-radius: 12px; padding: 36px 32px; text-align: center; margin: 0 0 16px; }
.cpl-setpw__success-icon { width: 72px; height: 72px; margin: 0 auto 16px; line-height: 0; }
.cpl-setpw__success-icon svg { width: 100%; height: 100%; display: block; }
.cpl-setpw__success-heading { font-size: 28px; line-height: 1.2; margin: 0 0 16px; color: #1d2327; font-weight: 700; }
.cpl-setpw__success-subtext { font-size: 16px; line-height: 1.5; margin: 0 0 16px; color: #1d2327; }
.cpl-setpw__success-email { display: inline-block; margin-top: 4px; font-weight: 700; color: #0b6b4f; word-break: break-all; font-size: 17px; }
.cpl-setpw__success-instruction { font-size: 14px; line-height: 1.5; margin: 0; color: #50575e; }

.cpl-setpw__form { margin: 0; }
.cpl-setpw__field { margin: 0 0 18px; }
.cpl-setpw__field label { display: block; font-weight: 600; margin-bottom: 6px; color: inherit; font-size: 14px; }
.cpl-setpw__hint { font-weight: normal; color: #50575e; font-size: 12px; }
.cpl-setpw__field input[type="email"], .cpl-setpw__field input[type="password"] {
	width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #c3c4c7;
	border-radius: 8px; font-size: 15px; line-height: 1.4; background: #fff; color: #1d2327;
}
.cpl-setpw__field input:focus { border-color: #15E6A4; outline: 2px solid rgba(21,230,164,0.30); outline-offset: -2px; }
.cpl-setpw__actions { margin: 0; }
.cpl-setpw__btn {
	background-color: #15E6A4; color: #06231A; border: 1px solid #15E6A4;
	padding: 12px 24px; border-radius: 8px; font-size: 15px; font-weight: 800;
	cursor: pointer; line-height: 1.4; text-decoration: none; display: inline-block;
	transition: background-color .15s ease;
}
.cpl-setpw__btn:hover, .cpl-setpw__btn:focus { background-color: #12cf93; color: #06231A; text-decoration: none; }
.cpl-setpw__secondary { color: #50575e; font-size: 14px; margin-top: 16px; text-align: center; }
.cpl-setpw__secondary a { color: #0b6b4f; }

.cpl-setpw__account { margin: 0 0 16px; padding: 10px 14px; background: #f6f7f7; border: 1px solid #dcdcde; border-radius: 8px; color: #1d2327; font-size: 14px; line-height: 1.5; }
.cpl-setpw__account strong { color: #0b6b4f; word-break: break-all; }

/* Hidden username field for password managers (off-screen, not display:none). */
.cpl-setpw__hidden-username {
	position: absolute !important; left: -10000px !important; top: auto !important;
	width: 1px !important; height: 1px !important; overflow: hidden !important;
	border: 0 !important; padding: 0 !important; margin: 0 !important;
}

/* ── Set-password page card (two-column: reassurance left, form right) ─────── */
.cpl-setpw-page { max-width: 1040px; margin: 0 auto; }
.cpl-setpw-card {
	display: grid; grid-template-columns: 1fr 1fr;
	background: #11151B; border: 1px solid #232A33; border-radius: 18px; overflow: hidden;
	box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cpl-setpw-brand { padding: 40px 38px; color: #F4F7FA; }
.cpl-setpw-eyebrow { color: #15E6A4; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 12px; }
.cpl-setpw-h1 { font-size: 30px; line-height: 1.15; font-weight: 800; margin: 0 0 14px; color: #F4F7FA; }
.cpl-setpw-lead { color: #AEB8C2; font-size: 15px; line-height: 1.6; margin: 0 0 22px; }
.cpl-setpw-feat { display: flex; align-items: flex-start; gap: 11px; margin: 12px 0; font-size: 14.5px; color: #C7D0D9; }
.cpl-setpw-tick { flex: none; width: 20px; height: 20px; border-radius: 50%; background: #0D2820; border: 1px solid #1D4D3F; color: #15E6A4; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; margin-top: 1px; }
.cpl-setpw-formcol { background: #FFFFFF; padding: 40px 38px; display: flex; flex-direction: column; justify-content: center; }
.cpl-setpw__form-title { font-size: 22px; font-weight: 800; margin: 0 0 6px; color: #1d2327; }
.cpl-setpw__form-sub { color: #50575e; font-size: 14px; margin: 0 0 22px; line-height: 1.5; }
@media (max-width: 820px) {
	.cpl-setpw-card { grid-template-columns: 1fr; }
	.cpl-setpw-brand { border-bottom: 1px solid #232A33; }
}
