body.vcc-modal-open{
	overflow:hidden;
}

/* =========================
   VCC AUTH MODAL – FINAL
========================= */

:root{
	--vcc-bg:#0b0b0d;
	--vcc-card:#111114;
	--vcc-gold:#d9c06a;
	--vcc-gold-soft:#c6a85a;
	--vcc-gold-light:#f1d487;
	--vcc-text:#e9e7e2;
	--vcc-muted:#b9b4aa;
	--vcc-line:rgba(217,192,106,0.18);
	--vcc-line-strong:rgba(217,192,106,0.30);
	--vcc-dark-text:#111114;
}

/* modal shell */
.vcc-modal{
	position:fixed;
	inset:0;
	z-index:99999;
	display:none;
}

.vcc-modal.is-open{
	display:block;
}

.vcc-modal-overlay{
	position:absolute;
	inset:0;
	background:rgba(3,4,6,.72);
	backdrop-filter:blur(6px);
}

.vcc-modal-dialog{
	position:relative;
	width:min(92vw,560px);
	margin:5vh auto 0;
	background:var(--vcc-card);
	border:1px solid var(--vcc-line);
	border-radius:24px;
	box-shadow:0 28px 90px rgba(0,0,0,.45);
	padding:0;
	z-index:2;
	overflow:hidden;
}

/* close button */
.vcc-modal-close,
.vcc-modal button.vcc-modal-close{
	position:absolute;
	top:14px;
	right:16px;
	width:46px;
	height:38px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--vcc-line) !important;
	background:rgba(217,192,106,0.04) !important;
	color:var(--vcc-gold) !important;
	font-size:24px;
	line-height:1;
	cursor:pointer;
	border-radius:8px;
	box-shadow:none !important;
	text-shadow:none !important;
	appearance:none !important;
	-webkit-appearance:none !important;
	z-index:5;
	transition:all .18s ease;
}

.vcc-modal-close:hover,
.vcc-modal button.vcc-modal-close:hover{
	color:var(--vcc-gold-light) !important;
	border-color:var(--vcc-line-strong) !important;
	background:rgba(217,192,106,0.08) !important;
	transform:scale(1.04);
}

/* tabs */
.vcc-auth-tabs{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	gap:12px !important;
	padding:22px 24px 0;
	margin:0;
}

.vcc-auth-tab,
.vcc-modal .vcc-auth-tabs button,
.vcc-modal .vcc-auth-tabs > *{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	min-height:46px !important;
	padding:12px 16px !important;
	border-radius:12px !important;
	border:1px solid var(--vcc-line) !important;
	background:rgba(217,192,106,0.06) !important;
	color:var(--vcc-gold-light) !important;
	font-size:14px !important;
	font-weight:700 !important;
	line-height:1.2 !important;
	letter-spacing:.3px !important;
	text-align:center !important;
	cursor:pointer !important;
	box-shadow:none !important;
	text-shadow:none !important;
	opacity:1 !important;
	visibility:visible !important;
	appearance:none !important;
	-webkit-appearance:none !important;
	transition:all .2s ease;
}

/* force inner text/spans/icons to stay visible */
.vcc-auth-tab *,
.vcc-modal .vcc-auth-tabs button *,
.vcc-modal .vcc-auth-tabs > * *{
	color:inherit !important;
	opacity:1 !important;
	visibility:visible !important;
	text-shadow:none !important;
	-webkit-text-fill-color:currentColor !important;
}

/* keep inactive tab visible */
.vcc-auth-tab:not(.is-active):not([aria-selected="true"]),
.vcc-modal .vcc-auth-tabs button:not(.is-active):not([aria-selected="true"]){
	background:rgba(217,192,106,0.06) !important;
	color:var(--vcc-gold-light) !important;
	border:1px solid var(--vcc-line-strong) !important;
}

/* hover for inactive tab */
.vcc-auth-tab:hover,
.vcc-modal .vcc-auth-tabs button:hover{
	background:rgba(217,192,106,0.10) !important;
	color:#fff4c9 !important;
	border-color:rgba(217,192,106,0.45) !important;
}

/* active tab */
.vcc-auth-tab.is-active,
.vcc-auth-tab[aria-selected="true"],
.vcc-modal .vcc-auth-tabs button.is-active,
.vcc-modal .vcc-auth-tabs button[aria-selected="true"],
.vcc-modal .vcc-auth-tabs .active{
	background:linear-gradient(90deg,var(--vcc-gold-soft),var(--vcc-gold-light),var(--vcc-gold-soft)) !important;
background:rgba(217,192,106,0.10) !important;
	color:#fff4c9 !important;
	border-color:rgba(217,192,106,0.45) !important;
}
/* force active inner text/spans/icons */
.vcc-auth-tab.is-active *,
.vcc-auth-tab[aria-selected="true"] *,
.vcc-modal .vcc-auth-tabs button.is-active *,
.vcc-modal .vcc-auth-tabs button[aria-selected="true"] *,
.vcc-modal .vcc-auth-tabs .active *{
	color:var(--vcc-dark-text) !important;
	-webkit-text-fill-color:var(--vcc-dark-text) !important;
	opacity:1 !important;
	visibility:visible !important;
}

/* prevent weird pseudo overlays */
.vcc-auth-tab::before,
.vcc-auth-tab::after,
.vcc-modal .vcc-auth-tabs button::before,
.vcc-modal .vcc-auth-tabs button::after{
	content:none !important;
	display:none !important;
}

/* panels */
.vcc-auth-panels{
	position:relative;
}

.vcc-auth-panel{
	display:none;
	padding:34px 32px 30px;
	background:linear-gradient(
		180deg,
		rgba(217,192,106,0.08) 0%,
		rgba(17,17,20,0.00) 100%
	);
}

.vcc-auth-panel.is-active{
	display:block;
}

.vcc-auth-panel::before{
	content:"";
	display:block;
	height:1px;
	width:90px;
	margin:0 auto 18px;
	background:linear-gradient(
		90deg,
		var(--vcc-gold-soft),
		var(--vcc-gold-light),
		var(--vcc-gold-soft)
	);
}

/* headings */
.vcc-auth-panel .vcc-auth-kicker{
	font-size:12px;
	letter-spacing:2px;
	text-transform:uppercase;
	color:var(--vcc-gold);
	margin-bottom:10px;
	text-align:center;
}

.vcc-auth-panel h3{
	margin:0 0 8px;
	font-size:30px;
	line-height:1.2;
	font-weight:500;
	color:#ffffff;
	text-align:center;
}

.vcc-auth-panel p{
	margin:0 0 24px;
	color:var(--vcc-muted);
	font-size:14px;
	line-height:1.7;
	text-align:center;
}

/* forms */
.vcc-auth-form{
	display:grid !important;
	gap:14px !important;
}

.vcc-field{
	display:grid;
	gap:8px;
}

.vcc-field-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
}

.vcc-field label{
	font-size:12px;
	font-weight:700;
	letter-spacing:1.2px;
	text-transform:uppercase;
	color:var(--vcc-gold);
}

.vcc-field input{
	width:100%;
	padding:14px 16px;
	border:1px solid var(--vcc-line-strong);
	border-radius:10px;
	outline:none;
	font-size:14px;
	box-sizing:border-box;
	background:rgba(255,255,255,0.03);
	color:var(--vcc-text);
	box-shadow:none !important;
	appearance:none !important;
	-webkit-appearance:none !important;
	transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.vcc-field input::placeholder{
	color:rgba(185,180,170,.65);
}

.vcc-field input:focus{
	border-color:rgba(241,212,135,.55);
	box-shadow:0 0 0 3px rgba(217,192,106,.10) !important;
	background:rgba(255,255,255,0.05);
}

/* messages */
.vcc-form-message{
	min-height:20px;
	font-size:13px;
	line-height:1.5;
	padding-top:4px;
}

.vcc-form-message.is-error{
	color:#ff8f8f;
}

.vcc-form-message.is-success{
	color:#bde7b7;
}

/* submit button */
.vcc-submit-btn,
.vcc-modal .vcc-auth-form button[type="submit"],
.vcc-modal .vcc-auth-form input[type="submit"],
.vcc-modal .vcc-auth-form .submit{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	min-height:54px !important;
	margin-top:10px !important;
	padding:14px 22px !important;
	border:none !important;
	border-radius:999px !important;
	background:linear-gradient(90deg,var(--vcc-gold-soft),var(--vcc-gold-light),var(--vcc-gold-soft)) !important;
	background-color:var(--vcc-gold) !important;
	color:var(--vcc-dark-text) !important;
	font-size:15px !important;
	font-weight:700 !important;
	letter-spacing:.3px !important;
	text-align:center !important;
	cursor:pointer !important;
	box-shadow:0 10px 24px rgba(217,192,106,.18) !important;
	text-shadow:none !important;
	opacity:1 !important;
	visibility:visible !important;
	appearance:none !important;
	-webkit-appearance:none !important;
	transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.vcc-submit-btn:hover,
.vcc-modal .vcc-auth-form button[type="submit"]:hover,
.vcc-modal .vcc-auth-form input[type="submit"]:hover{
	transform:translateY(-1px) !important;
	filter:brightness(1.03) !important;
	box-shadow:0 14px 28px rgba(217,192,106,.24) !important;
	color:var(--vcc-dark-text) !important;
}

.vcc-submit-btn:focus,
.vcc-modal .vcc-auth-form button[type="submit"]:focus,
.vcc-modal .vcc-auth-form input[type="submit"]:focus{
	outline:none !important;
	box-shadow:
		0 0 0 3px rgba(217,192,106,0.14),
		0 10px 24px rgba(217,192,106,0.18) !important;
}

/* prevent weird theme overlays */
.vcc-auth-tab::before,
.vcc-auth-tab::after,
.vcc-submit-btn::before,
.vcc-submit-btn::after,
.vcc-modal .vcc-auth-form button[type="submit"]::before,
.vcc-modal .vcc-auth-form button[type="submit"]::after{
	content:none !important;
	display:none !important;
}

/* footer note */
.vcc-auth-panel .vcc-auth-footer-note{
	margin-top:10px;
	padding-top:18px;
	border-top:1px solid var(--vcc-line);
	font-size:12px;
	line-height:1.7;
	color:var(--vcc-muted);
	text-align:center;
}

/* activity toggle */
.vcc-activity-toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	border-radius:999px;
	background:#edd2a2;
	color:#1d2954;
	font-size:28px;
	line-height:1;
	border:none;
	cursor:pointer;
	transition:transform .18s ease, background .18s ease, color .18s ease;
}

.vcc-activity-toggle:hover{
	transform:translateY(-2px);
}

.vcc-activity-toggle.is-saved{
	background:#1d2954;
	color:#fff;
}

/* mobile */
@media (max-width:640px){
	.vcc-modal-dialog{
		width:min(94vw,560px);
		margin:4vh auto 0;
		border-radius:20px;
	}

	.vcc-auth-tabs{
		padding:18px 16px 0;
		gap:8px !important;
	}

	.vcc-auth-panel{
		padding:28px 18px 22px;
	}

	.vcc-field-grid{
		grid-template-columns:1fr;
	}

	.vcc-auth-panel h3{
		font-size:24px;
	}
}