:root {
	--adv-ink: #1a1d23;
	--adv-ink-muted: #5a5d63;
	--adv-ink-subtle: #8b8f97;
	--adv-paper: #ffffff;
	--adv-paper-warm: #faf9f7;
	--adv-paper-cool: #f4f6f9;
	--adv-navy: #1e3a5f;
	--adv-navy-hover: #152d4a;
	--adv-navy-light: #e8eef5;
	--adv-terracotta: #c2674a;
	--adv-terracotta-hover: #a8553c;
	--adv-terracotta-light: #fbf0ea;
	--adv-gold: #b8942e;
	--adv-gold-light: #faf6e8;
	--adv-border: #dde1e6;
	--adv-border-light: #eef0f3;
	--adv-success: #2d8a4e;
	--adv-warning: #b88a1e;
	--adv-danger: #c0392b;
	--adv-info: #2563a0;
	--adv-success-light: #edf7f0;
	--adv-warning-light: #fdf6e3;
	--adv-danger-light: #fcebeb;
	--adv-info-light: #eaf2f9;
	--adv-font-display: Georgia, "Times New Roman", serif;
	--adv-font-body: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	--adv-font-mono: "Cascadia Code", "Fira Code", Consolas, monospace;
	--adv-text-xs: 0.6875rem;
	--adv-text-sm: 0.8125rem;
	--adv-text-base: 0.9375rem;
	--adv-text-md: 1.0625rem;
	--adv-text-lg: 1.25rem;
	--adv-text-xl: 1.5rem;
	--adv-text-2xl: 2rem;
	--adv-text-3xl: 3rem;
	--adv-space-1: 0.25rem;
	--adv-space-2: 0.5rem;
	--adv-space-3: 0.75rem;
	--adv-space-4: 1rem;
	--adv-space-5: 1.25rem;
	--adv-space-6: 1.5rem;
	--adv-space-8: 2rem;
	--adv-space-10: 2.5rem;
	--adv-space-12: 3rem;
	--adv-space-16: 4rem;
	--adv-radius-sm: 4px;
	--adv-radius-md: 6px;
	--adv-radius-lg: 10px;
	--adv-radius-xl: 14px;
	--adv-radius-full: 9999px;
	--adv-shadow-xs: 0 1px 2px rgba(26, 29, 35, 0.04);
	--adv-shadow-sm: 0 1px 3px rgba(26, 29, 35, 0.06), 0 1px 2px rgba(26, 29, 35, 0.04);
	--adv-shadow-md: 0 4px 12px rgba(26, 29, 35, 0.06), 0 1px 4px rgba(26, 29, 35, 0.04);
	--adv-shadow-lg: 0 12px 32px rgba(26, 29, 35, 0.08), 0 2px 8px rgba(26, 29, 35, 0.04);
	--adv-shadow-focus: 0 0 0 3px rgba(30, 58, 95, 0.15);
	--adv-transition-fast: 120ms ease;
	--adv-transition-normal: 200ms ease;
	--adv-transition-slow: 350ms ease;
	--adv-bp-sm: 600px;
	--adv-bp-md: 782px;
	--adv-bp-lg: 1024px;
	--adv-bp-xl: 1280px;
}

html {
	height: 100%;
	margin: 0;
	padding: 0;
	background: #15263e;
}

body {
	position: relative;
	min-height: 100%;
	margin: 0;
	padding: var(--adv-space-8) var(--adv-space-4);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--adv-font-body);
	color: var(--adv-ink);
	background:
		radial-gradient(circle at 14% 18%, rgba(194, 103, 74, 0.2), transparent 34%),
		radial-gradient(circle at 82% 12%, rgba(184, 148, 46, 0.12), transparent 20%),
		linear-gradient(135deg, #13233a 0%, #1e3a5f 42%, #232833 100%);
	box-sizing: border-box;
	overflow-x: hidden;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	background:
		linear-gradient(120deg, transparent 0, transparent 46%, rgba(255, 255, 255, 0.05) 46%, rgba(255, 255, 255, 0.05) 47%, transparent 47%, transparent 100%),
		linear-gradient(300deg, transparent 0, transparent 58%, rgba(255, 255, 255, 0.04) 58%, rgba(255, 255, 255, 0.04) 59%, transparent 59%, transparent 100%);
	opacity: 0.8;
	pointer-events: none;
}

body::after {
	content: "ADVision - Restricted Access";
	position: fixed;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
	pointer-events: none;
	white-space: nowrap;
}

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

.adv-login-wrapper {
	position: relative;
	z-index: 1;
	width: min(100%, 432px);
}

.adv-login-box {
	position: relative;
	overflow: hidden;
	padding: var(--adv-space-10) var(--adv-space-8) var(--adv-space-8);
	background: rgba(255, 255, 255, 0.97);
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: var(--adv-radius-xl);
	box-shadow: var(--adv-shadow-lg);
}

.adv-login-box::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 6px;
	background: linear-gradient(90deg, var(--adv-navy) 0%, var(--adv-terracotta) 65%, var(--adv-gold) 100%);
}

.adv-login-box h1 {
	margin: 0 0 var(--adv-space-3);
	text-align: center;
	font-family: var(--adv-font-display);
	font-size: clamp(2.25rem, 6vw, 2.8rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--adv-navy);
}

.adv-login-box h1::after {
	content: "";
	display: block;
	width: 64px;
	height: 2px;
	margin: var(--adv-space-4) auto 0;
	background: linear-gradient(90deg, var(--adv-terracotta) 0%, var(--adv-gold) 100%);
	border-radius: var(--adv-radius-full);
}

.adv-login-box .login-subtitle {
	margin: 0 0 var(--adv-space-8);
	text-align: center;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--adv-terracotta);
}

.adv-login-error,
.adv-login-message {
	margin: 0 0 var(--adv-space-4);
	padding: var(--adv-space-3) var(--adv-space-4);
	border: 1px solid transparent;
	border-radius: var(--adv-radius-md);
	font-size: var(--adv-text-sm);
	line-height: 1.55;
	box-shadow: var(--adv-shadow-xs);
}

.adv-login-error {
	color: var(--adv-danger);
	background: var(--adv-danger-light);
	border-color: rgba(192, 57, 43, 0.2);
}

.adv-login-message {
	color: var(--adv-info);
	background: var(--adv-info-light);
	border-color: rgba(37, 99, 160, 0.2);
}

#adv-login-form {
	display: grid;
	gap: var(--adv-space-4);
}

#adv-login-form p {
	margin: 0;
	position: relative;
}

.adv-login-box label {
	display: block;
	margin-bottom: var(--adv-space-2);
	font-size: var(--adv-text-sm);
	font-weight: 600;
	line-height: 1.4;
	color: var(--adv-ink);
}

#adv-login-form .login-username::after,
#adv-login-form .login-password::after {
	content: "";
	position: absolute;
	left: 16px;
	bottom: 18px;
	width: 12px;
	height: 12px;
	border-radius: var(--adv-radius-full);
	background: linear-gradient(180deg, var(--adv-navy) 0%, var(--adv-terracotta) 100%);
	box-shadow: 0 0 0 5px rgba(194, 103, 74, 0.08);
	pointer-events: none;
}

#adv-login-form .login-password::after {
	width: 11px;
	height: 11px;
	border-radius: 3px;
	background: linear-gradient(180deg, var(--adv-terracotta) 0%, var(--adv-navy) 100%);
}

.adv-login-box input[type="text"],
.adv-login-box input[type="password"],
.adv-login-box input[type="email"],
.adv-login-box .input {
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 16px 12px 44px;
	border: 1px solid var(--adv-border);
	border-radius: var(--adv-radius-md);
	background: var(--adv-paper);
	box-shadow: inset 0 1px 2px rgba(26, 29, 35, 0.03);
	font-size: 1rem;
	font-family: var(--adv-font-body);
	color: var(--adv-ink);
	transition:
		border-color var(--adv-transition-fast),
		box-shadow var(--adv-transition-fast),
		background-color var(--adv-transition-fast);
	appearance: none;
}

.adv-login-box input[type="text"]:focus,
.adv-login-box input[type="password"]:focus,
.adv-login-box input[type="email"]:focus,
.adv-login-box .input:focus {
	border-color: var(--adv-navy);
	box-shadow: var(--adv-shadow-focus);
	outline: none;
}

.adv-login-box input::placeholder {
	color: var(--adv-ink-subtle);
}

.adv-login-box input:-webkit-autofill,
.adv-login-box input:-webkit-autofill:hover,
.adv-login-box input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--adv-ink);
	-webkit-box-shadow: 0 0 0 1000px var(--adv-paper) inset;
	transition: background-color 9999s ease-out 0s;
}

.adv-login-box .forgetmenot,
#adv-login-form .login-remember {
	margin: calc(var(--adv-space-1) * -1) 0 0;
}

.adv-login-box .forgetmenot label,
#adv-login-form .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: var(--adv-space-3);
	margin: 0;
	font-size: var(--adv-text-sm);
	font-weight: 500;
	color: var(--adv-ink-muted);
	cursor: pointer;
}

#adv-login-form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	border: 1px solid var(--adv-border);
	border-radius: var(--adv-radius-sm);
	accent-color: var(--adv-terracotta);
	box-shadow: none;
	vertical-align: middle;
}

.adv-login-box .submit,
#adv-login-form .login-submit {
	margin: var(--adv-space-2) 0 0;
}

.adv-login-box #wp-submit,
#adv-login-form #wp-submit {
	width: 100%;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: var(--adv-radius-md);
	background: linear-gradient(135deg, var(--adv-navy) 0%, #294a73 100%);
	box-shadow: 0 10px 20px rgba(30, 58, 95, 0.18);
	color: var(--adv-paper);
	font-size: var(--adv-text-base);
	font-weight: 600;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition:
		transform var(--adv-transition-fast),
		box-shadow var(--adv-transition-fast),
		background var(--adv-transition-fast);
	appearance: none;
}

.adv-login-box #wp-submit:hover,
#adv-login-form #wp-submit:hover {
	background: linear-gradient(135deg, var(--adv-navy-hover) 0%, #223d62 100%);
	box-shadow: 0 14px 24px rgba(30, 58, 95, 0.22);
	transform: translateY(-1px);
}

.adv-login-box #wp-submit:focus,
#adv-login-form #wp-submit:focus {
	box-shadow: var(--adv-shadow-focus), 0 10px 20px rgba(30, 58, 95, 0.18);
	outline: none;
}

.adv-login-box #wp-submit:active,
#adv-login-form #wp-submit:active {
	transform: translateY(0);
	box-shadow: 0 8px 16px rgba(30, 58, 95, 0.18);
}

.adv-login-lost-password {
	margin: var(--adv-space-6) 0 0;
	text-align: center;
	font-size: var(--adv-text-sm);
	line-height: 1.5;
	color: var(--adv-ink-muted);
}

.adv-login-lost-password a {
	color: var(--adv-navy);
	text-decoration: none;
	transition: color var(--adv-transition-fast), opacity var(--adv-transition-fast);
}

.adv-login-lost-password a:hover,
.adv-login-lost-password a:focus {
	color: var(--adv-terracotta);
	outline: none;
}

@media (max-width: 480px) {
	body {
		padding: var(--adv-space-5) var(--adv-space-3);
	}

	body::after {
		bottom: 12px;
		font-size: 0.625rem;
		letter-spacing: 0.12em;
	}

	.adv-login-box {
		padding: var(--adv-space-8) var(--adv-space-5) var(--adv-space-6);
		border-radius: var(--adv-radius-lg);
	}

	.adv-login-box h1 {
		font-size: 2.1rem;
	}

	.adv-login-box .login-subtitle {
		margin-bottom: var(--adv-space-6);
		letter-spacing: 0.14em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.adv-login-box input,
	.adv-login-box #wp-submit,
	.adv-login-lost-password a {
		transition: none;
	}

	.adv-login-box #wp-submit:hover,
	#adv-login-form #wp-submit:hover {
		transform: none;
	}
}
