.rsgdxft-modal[hidden] { display: none; }

.rsgdxft-modal {
	position: fixed;
	inset: 0;
	z-index: 300;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--rsgdxft-space-6);
}

.rsgdxft-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
}

.rsgdxft-modal__panel {
	position: relative;
	background: var(--rsgdxft-color-surface);
	border: 1px solid var(--rsgdxft-color-border);
	border-radius: var(--rsgdxft-radius-lg);
	padding: var(--rsgdxft-space-6);
	width: 100%;
	max-width: 420px;
	max-height: 90vh;
	overflow: auto;
	z-index: 1;
	box-shadow: var(--rsgdxft-shadow-lg);
}

.rsgdxft-modal__panel--form { max-width: 560px; max-height: 85vh; overflow-y: auto; }

.rsgdxft-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	background: none;
	border: none;
	color: var(--rsgdxft-color-text-muted);
	font-size: 1.5rem;
	cursor: pointer;
}

.rsgdxft-login-form {
	display: flex;
	flex-direction: column;
	gap: var(--rsgdxft-space-2);
}

.rsgdxft-login-form label {
	font-size: var(--rsgdxft-text-sm);
	color: var(--rsgdxft-color-text-muted);
	margin-top: var(--rsgdxft-space-2);
}

.rsgdxft-login-form input,
.rsgdxft-login-form select,
.rsgdxft-login-form textarea {
	background: var(--rsgdxft-color-bg);
	border: 1px solid var(--rsgdxft-color-border);
	border-radius: var(--rsgdxft-radius-md);
	color: var(--rsgdxft-color-text);
	padding: 8px 10px;
	font: inherit;
}

.rsgdxft-login-form__remember {
	display: flex;
	align-items: center;
	gap: var(--rsgdxft-space-2);
	color: var(--rsgdxft-color-text);
}

.rsgdxft-login-form__submit { margin-top: var(--rsgdxft-space-3); justify-content: center; }
.rsgdxft-login-form__error { color: var(--rsgdxft-color-error); font-size: var(--rsgdxft-text-sm); }
.rsgdxft-login-form__info { color: var(--rsgdxft-color-success); font-size: var(--rsgdxft-text-sm); }
.rsgdxft-login-form__fallback { margin-top: var(--rsgdxft-space-2); }
.rsgdxft-account-card__note { color: var(--rsgdxft-color-text-muted); font-size: var(--rsgdxft-text-sm); }

body.rsgdxft-modal-open { overflow: hidden; }
