:root {
	--aq-bg: linear-gradient(135deg, #e3e6fb 0%, #f2f3fa 45%, #f4f5fa 60%, #d9f0f0 100%);
	--aq-card: #ffffff;
	--aq-card-border: rgba(15, 23, 42, 0.06);
	--aq-text: #111827;
	--aq-muted: #4b5563;
	--aq-label: #374151;
	--aq-input-bg: #f4f5f7;
	--aq-input-border: #e3e5ea;
	--aq-placeholder: #9ca3af;
	--aq-primary: linear-gradient(90deg, #4c7dff 0%, #25b9cf 100%);
	--aq-focus: rgba(76, 125, 255, 0.18);
	--aq-success-bg: #e7f5ec;
	--aq-success-border: #a7d9b9;
	--aq-success-text: #15803d;
	--aq-danger: #dc2626;
}

html.aq-dark {
	--aq-bg:
		radial-gradient(72% 58% at 10% -8%, rgba(79, 110, 247, 0.42) 0%, transparent 62%),
		radial-gradient(64% 48% at 92% 0%, rgba(34, 193, 195, 0.34) 0%, transparent 58%),
		#150b26;
	--aq-card: linear-gradient(165deg, rgba(36, 20, 58, 0.92), rgba(20, 11, 36, 0.96));
	--aq-card-border: rgba(255, 255, 255, 0.12);
	--aq-text: #f3effa;
	--aq-muted: #b7adc9;
	--aq-label: #b7adc9;
	--aq-input-bg: rgba(255, 255, 255, 0.04);
	--aq-input-border: rgba(255, 255, 255, 0.1);
	--aq-placeholder: #8a7ea3;
	--aq-primary: linear-gradient(135deg, #4f6ef7 0%, #3f8cf3 55%, #22c1c3 100%);
	--aq-focus: rgba(91, 124, 250, 0.18);
	--aq-success-bg: rgba(49, 224, 166, 0.16);
	--aq-success-border: rgba(49, 224, 166, 0.35);
	--aq-success-text: #31e0a6;
	--aq-danger: #ff5c7c;
}

html.aq-dark .aq-auth .aq-card {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(14px);
}

html.aq-dark .aq-logo {
	background: linear-gradient(135deg, #31e0a6 0%, #2fd7cc 100%);
}

html, body {
	min-height: 100%;
	background: var(--aq-bg) fixed !important;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	color: var(--aq-text);
}

body main.container,
body .page-content-wrapper,
body .page_content {
	max-width: none;
	margin: 0;
	padding: 0;
}

body .page-header-wrapper,
body .page-breadcrumbs,
body .page-footer {
	display: none;
}

.aq-auth {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px 16px;
}

.aq-auth section {
	display: none;
	width: 100%;
	max-width: 400px;
}

.aq-auth .aq-card {
	background: var(--aq-card);
	border: 1px solid var(--aq-card-border);
	border-radius: 20px;
	box-shadow: 0 24px 60px -20px rgba(30, 41, 80, 0.25), 0 2px 6px rgba(30, 41, 80, 0.05);
	padding: 30px 30px 26px;
	max-width: none;
	margin: 0;
}

.aq-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 26px;
}

.aq-logo {
	width: 30px;
	height: 30px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #16b5a0 0%, #10b981 100%);
	box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
	color: #fff;
	font-family: "Fraunces", Georgia, serif;
	font-weight: 600;
	font-size: 16px;
}

.aq-brand-name {
	font-family: "Fraunces", Georgia, serif;
	font-weight: 600;
	font-size: 18px;
	color: var(--aq-text);
}

.aq-title {
	font-family: "Fraunces", Georgia, serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 1.2;
	margin: 0 0 6px;
	color: var(--aq-text);
}

.aq-subtitle {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--aq-muted);
	margin: 0 0 22px;
}

.aq-field {
	margin-bottom: 16px;
}

.aq-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--aq-label);
	margin-bottom: 7px;
}

.aq-input-wrap {
	position: relative;
}

.aq-auth .aq-input {
	width: 100%;
	height: 40px;
	padding: 0 40px 0 12px;
	font-size: 14px;
	color: var(--aq-text);
	background: var(--aq-input-bg);
	border: 1px solid var(--aq-input-border);
	border-radius: 9px;
	outline: none;
	box-shadow: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.aq-auth .aq-input::placeholder {
	color: var(--aq-placeholder);
}

.aq-auth .aq-input:focus {
	border-color: #7c9dff;
	box-shadow: 0 0 0 3px var(--aq-focus);
}

.aq-auth .invalid .aq-input {
	border-color: var(--aq-danger);
}

.aq-eye {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	background: none;
	border: 0;
	padding: 2px;
	color: var(--aq-muted);
	cursor: pointer;
	display: inline-flex;
}

.aq-eye .eye-off,
.aq-eye.is-visible .eye-on {
	display: none;
}

.aq-eye.is-visible .eye-off {
	display: inline;
}

.aq-icon {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.aq-forgot {
	text-align: right;
	margin: -6px 0 18px;
	font-size: 12.5px;
}

.aq-auth a.aq-link,
.aq-forgot a {
	color: var(--aq-muted);
	font-weight: 500;
	text-decoration: none;
}

.aq-auth a.aq-link:hover,
.aq-forgot a:hover {
	color: var(--aq-text);
}

.aq-auth .aq-btn,
.aq-auth .aq-btn:focus,
.aq-auth .aq-btn:hover {
	width: 100%;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: var(--aq-primary);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 10px 22px -8px rgba(76, 125, 255, 0.55);
	transition: filter 0.15s, opacity 0.15s;
}

.aq-auth .aq-btn:hover {
	filter: brightness(1.05);
}

.aq-auth .aq-btn:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	box-shadow: none;
}

.aq-auth .aq-btn.btn-default {
	background: var(--aq-input-bg);
	color: var(--aq-text);
	border-color: var(--aq-input-border);
	box-shadow: none;
	margin-top: 10px;
}

.aq-auth .aq-btn.is-success,
.aq-auth .aq-btn.is-success:disabled {
	background: var(--aq-success-bg);
	border-color: var(--aq-success-border);
	color: var(--aq-success-text);
	box-shadow: none;
	opacity: 1;
}

.aq-alert {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 12px 14px;
	margin-bottom: 18px;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--aq-text);
	background: var(--aq-success-bg);
	border: 1px solid var(--aq-success-border);
}

.aq-alert .aq-icon {
	color: var(--aq-success-text);
	margin-top: 2px;
}

.aq-alert.hide {
	display: none;
}

.aq-footer-link {
	text-align: center;
	margin: 18px 0 0;
	font-size: 12.5px;
	color: var(--aq-muted);
}

.aq-divider {
	text-align: center;
	color: var(--aq-muted);
	font-size: 12px;
	margin: 16px 0 6px;
}

.aq-hint {
	font-size: 12px;
	color: var(--aq-muted);
	margin: -6px 0 14px;
}

.aq-hint.text-danger {
	color: var(--aq-danger);
}

.aq-hint.hidden {
	display: none;
}

.aq-powered {
	text-align: center;
	font-size: 12px;
	color: var(--aq-muted);
	margin: 20px 0 0;
}

.aq-powered strong {
	color: var(--aq-text);
	font-weight: 600;
}

.aq-theme-toggle {
	position: fixed;
	top: 14px;
	right: 14px;
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	border: 1px solid var(--aq-input-border);
	background: var(--aq-input-bg);
	color: var(--aq-text);
	cursor: pointer;
	z-index: 10;
}

.invalid-login {
	animation: aq-shake 0.4s;
}

@keyframes aq-shake {
	20%, 60% { transform: translateX(-6px); }
	40%, 80% { transform: translateX(6px); }
}
