/* IB Referral ERP — sign-in page (WordPress wp-login.php, restyled to match the workspace). */

body.login {
	color-scheme: light;
	--blue: #0032ff; --blue-strong: #0032ff; --blue-deep: #0026c4; --blue-wash: #eef2ff; --focus-ring: rgba(0,50,255,.18);
	--ink: #121c3d; --muted: #646d86; --faint: #98a0b4;
	--rule: #e3e7ef; --rule-strong: #c9d0dd; --mist: #f5f7fa; --paper: #ffffff; --field: #ffffff;
	--red: #c0281b; --red-wash: #fdeceb; --red-ink: #7d1a11;
	--green: #0b7a50; --green-wash: #e5f4ed; --green-ink: #0a4b32;
	--yellow-wash: #fff6d6; --yellow-ink: #614600;
	--note-ink: #1b2a6b;
}
:root[data-ibre-theme="dark"] body.login {
	color-scheme: dark;
	--blue: #6b8fff; --blue-strong: #2f5bff; --blue-deep: #2349e6; --blue-wash: rgba(107,143,255,.15); --focus-ring: rgba(107,143,255,.35);
	--ink: #e6eaf3; --muted: #9aa3b8; --faint: #6f7a93;
	--rule: #222c44; --rule-strong: #34405c; --mist: #0b1120; --paper: #0f1626; --field: #0b1222;
	--red: #ff6b5e; --red-wash: rgba(255,107,94,.12); --red-ink: #ffb3ab;
	--green: #3dd68c; --green-wash: rgba(61,214,140,.12); --green-ink: #8ff0c0;
	--yellow-wash: rgba(255,194,26,.12); --yellow-ink: #ffd66b;
	--note-ink: #c9d4ff;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-ibre-theme="light"]) body.login {
		color-scheme: dark;
		--blue: #6b8fff; --blue-strong: #2f5bff; --blue-deep: #2349e6; --blue-wash: rgba(107,143,255,.15); --focus-ring: rgba(107,143,255,.35);
		--ink: #e6eaf3; --muted: #9aa3b8; --faint: #6f7a93;
		--rule: #222c44; --rule-strong: #34405c; --mist: #0b1120; --paper: #0f1626; --field: #0b1222;
		--red: #ff6b5e; --red-wash: rgba(255,107,94,.12); --red-ink: #ffb3ab;
		--green: #3dd68c; --green-wash: rgba(61,214,140,.12); --green-ink: #8ff0c0;
		--yellow-wash: rgba(255,194,26,.12); --yellow-ink: #ffd66b;
		--note-ink: #c9d4ff;
	}
}

body.login {
	background: var(--mist);
	color: var(--ink);
	font-family: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 15px;
	-webkit-font-smoothing: antialiased;
}
body.login * { font-family: inherit; }
body.login .dashicons, body.login .dashicons::before { font-family: dashicons !important; } /* the show-password eye is an icon font */
.login #login { width: min(400px, calc(100vw - 32px)); padding: 9vh 0 40px; }

/* Wordmark instead of the WordPress logo */
.login h1 { margin-bottom: 20px; }
.login h1 a {
	background: none !important; width: auto; height: auto; margin: 0; text-indent: 0; overflow: visible;
	font-size: 22px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.2; color: var(--blue); text-decoration: none;
	display: inline-block;
}
.login h1 a:focus { box-shadow: none; outline: 2px solid var(--blue); outline-offset: 4px; border-radius: 4px; }

/* Heading block above the form */
.ibre-login-intro { margin: 0 0 20px; }
.ibre-login-intro h2 { margin: 0 0 4px; font-size: 26px; line-height: 1.2; font-weight: 700; letter-spacing: -0.015em; color: var(--ink); }
.ibre-login-intro p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }

/* The form: hairline panel, no heavy shadow */
.login form {
	margin: 0; padding: 26px 26px 22px; border: 1px solid var(--rule); border-radius: 10px;
	background: var(--paper); box-shadow: none; overflow: visible;
}
.login form .input, .login input[type="text"], .login input[type="password"], .login input[type="email"] {
	height: 44px; margin: 4px 0 18px; padding: 0 12px; font-size: 16px; line-height: 1.2;
	color: var(--ink); background: var(--field); border: 1px solid var(--rule-strong); border-radius: 6px; box-shadow: none;
}
.login form .input:focus, .login input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--focus-ring); outline: none; }
.login label { font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.4; }
.login .user-pass-wrap { margin: 0; }
.login .wp-pwd { margin: 0; }
.login .wp-pwd input[type="password"], .login .wp-pwd input[type="text"] { padding-right: 46px; margin-bottom: 18px; }
.login .button.wp-hide-pw { height: 44px; width: 44px; min-width: 44px; top: 4px; right: 0; color: var(--muted); border-radius: 0 6px 6px 0; }
.login .button.wp-hide-pw:hover { color: var(--ink); background: transparent; }
.login .button.wp-hide-pw:focus { border-color: var(--blue); box-shadow: 0 0 0 2px var(--focus-ring); }

.login .forgetmenot { float: none; margin: 0 0 18px; }
.login .forgetmenot label { font-weight: 400; color: var(--muted); }
.login input[type="checkbox"] { width: 18px; height: 18px; border-radius: 4px; border-color: var(--rule-strong); background: var(--field); vertical-align: -4px; }
.login input[type="checkbox"]:checked::before { filter: none; }
.login input[type="checkbox"]:focus { box-shadow: 0 0 0 3px var(--focus-ring); border-color: var(--blue); }

.login .submit { margin: 0; padding: 0; }
.login .button-primary, .login #wp-submit {
	float: none; display: block; width: 100%; height: 44px; min-height: 44px; padding: 0 16px;
	font-size: 16px; font-weight: 700; line-height: 1; text-shadow: none;
	color: #ffffff; background: var(--blue-strong); border: 1px solid var(--blue-strong); border-radius: 6px; box-shadow: none;
}
.login .button-primary:hover, .login #wp-submit:hover { background: var(--blue-deep); border-color: var(--blue-deep); }
.login .button-primary:focus, .login #wp-submit:focus { box-shadow: 0 0 0 3px var(--focus-ring); outline: none; }
.login .button-secondary { color: var(--blue); border-color: var(--rule-strong); background: var(--paper); border-radius: 6px; }

/* Messages */
.login .message, .login .notice, .login .success, .login #login_error {
	margin: 0 0 16px; padding: 12px 14px; border: 0; border-radius: 8px; box-shadow: none;
	font-size: 14px; line-height: 1.5; background: var(--blue-wash); color: var(--note-ink);
	border-left: 3px solid var(--blue);
}
.login #login_error, .login .notice-error { background: var(--red-wash); color: var(--red-ink); border-left-color: var(--red); }
.login .success, .login .notice-success { background: var(--green-wash); color: var(--green-ink); border-left-color: var(--green); }
.login #login_error a, .login .message a { color: inherit; font-weight: 600; }

/* Links under the form */
.login #nav, .login #backtoblog { margin: 14px 0 0; padding: 0; text-align: center; font-size: 14px; }
.login #nav a, .login #backtoblog a { color: var(--muted); text-decoration: underline; text-decoration-color: var(--rule-strong); text-underline-offset: 3px; }
.login #nav a:hover, .login #backtoblog a:hover { color: var(--blue); text-decoration-color: currentColor; }
.login #nav a:first-child { color: var(--blue); font-weight: 600; text-decoration: none; }

/* Choosing a new password */
.login #pass-strength-result {
	margin: -10px 0 14px; padding: 6px 10px; border-radius: 6px; border: 1px solid var(--rule); font-size: 13px; font-weight: 600;
	background: var(--mist); color: var(--muted); opacity: 1;
}
.login #pass-strength-result.short, .login #pass-strength-result.bad { background: var(--red-wash); border-color: transparent; color: var(--red-ink); }
.login #pass-strength-result.good { background: var(--yellow-wash); border-color: transparent; color: var(--yellow-ink); }
.login #pass-strength-result.strong { background: var(--green-wash); border-color: transparent; color: var(--green-ink); }
.login .pw-weak { margin: 0 0 14px; }
.login .indicator-hint, .login .description { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 0 0 16px; }
.login .reset-pass-submit { display: grid; grid-template-columns: 1fr; justify-content: stretch; gap: 10px; }
.login .reset-pass-submit .button, .login .reset-pass-submit #wp-submit, .login .reset-pass-submit .wp-generate-pw {
	display: block; float: none; width: 100%; height: 44px; margin: 0; border-radius: 6px; text-align: center;
}
.login .reset-pass-submit .wp-generate-pw { color: var(--blue); background: var(--paper); border: 1px solid var(--rule-strong); font-weight: 600; }

.login .privacy-policy-page-link { margin: 18px 0 0; }
.login .privacy-policy-page-link a { color: var(--faint); }
.login .language-switcher { display: none; }
.login .ibre-login-next { margin: 0; }
.login .ibre-login-next .button-primary { display: flex; align-items: center; justify-content: center; text-decoration: none; }

@media (prefers-reduced-motion: reduce) { .login * { transition: none !important; } }

/* The sign-in form shown on the workspace page itself (wp_login_form markup) */
.login .login-username, .login .login-password { margin: 0; }
.login .login-remember { margin: 0 0 18px; }
.login .login-remember label { font-weight: 400; color: var(--muted); }
.login .login-submit { margin: 0; }
body.ibre-signin { min-height: 100vh; margin: 0; }

.login .ibre-diagnosis code { font-size: 12px; word-break: break-all; }
.login .ibre-diagnosis li { margin: 0 0 6px; }
