@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@600;700&family=Inter:wght@400;500;600;700&display=swap');

.aif-login-root {
	--aif-bg: #0b1613;
	--aif-card: #12241d;
	--aif-line: #234436;
	--aif-ink: #eafbf2;
	--aif-muted: #82a294;
	--aif-accent: #2fe08a;
	--aif-accent-dark: #22b06a;

	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	background: var(--aif-card);
	border: 1px solid var(--aif-line);
	border-radius: 16px;
	padding: 24px;
	max-width: 380px;
	color: var(--aif-ink);
	box-sizing: border-box;
}
.aif-login-root *, .aif-login-root *::before, .aif-login-root *::after { box-sizing: border-box; }

.aif-login-title {
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 6px;
}
.aif-login-sub {
	font-size: 13px;
	color: var(--aif-muted);
	margin-bottom: 18px;
	line-height: 1.5;
}

.aif-login-field {
	margin-bottom: 12px;
}
.aif-login-field label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--aif-accent);
	margin-bottom: 5px;
}
.aif-login-field input {
	width: 100%;
	background: var(--aif-bg);
	border: 1px solid var(--aif-line);
	border-radius: 8px;
	padding: 10px 12px;
	font-size: 14px;
	color: var(--aif-ink);
	font-family: inherit;
}
.aif-login-field input:focus {
	outline: none;
	border-color: var(--aif-accent);
}
.aif-login-field.aif-code-field input {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-family: 'JetBrains Mono', monospace;
}
.aif-login-hint {
	font-size: 11px;
	color: var(--aif-muted);
	margin-top: 4px;
}

.aif-login-btn {
	width: 100%;
	background: var(--aif-accent);
	color: #0b1613;
	border: none;
	border-radius: 8px;
	padding: 12px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	margin-top: 6px;
	transition: background .15s ease;
}
.aif-login-btn:hover:not(:disabled) { background: var(--aif-accent-dark); }
.aif-login-btn:disabled { opacity: 0.6; cursor: default; }

.aif-login-msg {
	font-size: 12px;
	margin-top: 10px;
	min-height: 16px;
}
.aif-login-msg.aif-error { color: #ee1515; }
.aif-login-msg.aif-success { color: var(--aif-accent); }

.aif-login-loggedin {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.aif-login-loggedin .aif-login-name {
	font-weight: 700;
	font-size: 14px;
}
.aif-login-loggedin .aif-login-name span {
	display: block;
	font-size: 11px;
	font-weight: 400;
	color: var(--aif-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 2px;
}
.aif-login-logout {
	font-size: 13px;
	color: var(--aif-muted);
	text-decoration: none;
	border: 1px solid var(--aif-line);
	padding: 8px 14px;
	border-radius: 8px;
	transition: border-color .15s ease, color .15s ease;
}
.aif-login-logout:hover {
	border-color: var(--aif-accent);
	color: var(--aif-accent);
}

.aif-login-switch {
	margin-top: 14px;
	text-align: center;
}
.aif-login-switch-btn {
	background: none;
	border: none;
	color: var(--aif-muted);
	font-size: 12px;
	cursor: pointer;
	text-decoration: underline;
	font-family: inherit;
	padding: 0;
}
.aif-login-switch-btn:hover {
	color: var(--aif-accent);
}
