/* Login page (backend) */
:root{
	--gc-primary: #0ea5e9; /* overridden inline in index.php */
	--gc-orb-speed: 10s;  /* overridden via JS/config */
}

body.gc-login-body{
	background:#f4f6f8;
	min-height:100vh;
	overflow-y:auto;
	overflow-x:hidden;
}

.gc-login{
	min-height:100vh;
	display:flex;
}

.gc-login-left{
	position:relative;
	flex: 1 1 55%;
	padding:64px 64px;
	color:#fff;
	background: radial-gradient(1200px 800px at -10% -10%, rgba(69, 199, 255, 0.25) 0%, rgba(0,0,0,0) 60%),
			linear-gradient(135deg, #0b3e63 0%, #0a2d4b 55%, #071e33 100%);
	overflow:hidden;
}

.gc-login-badge{
	display:flex;
	align-items:center;
	gap:10px;
	font-weight:600;
	opacity:0.95;
	letter-spacing:0.2px;
}

.gc-login-badge .gc-login-badge-icon{
	width:38px;
	height:38px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.18);
}

.gc-login-left h1{
	margin:44px 0 0 0;
	font-size:56px;
	line-height:1.05;
	font-weight:800;
	letter-spacing:-0.8px;
	color:#ffffff; /* richiesto: "Benvenuto nel" bianco */
}

.gc-login-left h1 .gc-highlight{
	background: linear-gradient(90deg, #3ed3ff 0%, #7cf0ff 55%, #b6fbff 100%);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
}

.gc-login-left .gc-subtitle{
	margin-top:18px;
	max-width:520px;
	font-size:16px;
	line-height:1.6;
	opacity:0.85;
}

/* Big animated background circles */
.gc-bg-orbs{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.gc-bg-orb{
	position:absolute;
	left: 0;
	top: 0;
	border-radius:999px;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.08);
	box-shadow: 0 18px 55px rgba(0,0,0,0.08);
	will-change: transform;
	pointer-events:auto;
	cursor:pointer;
}

.gc-bg-orb .gc-bg-orb-word{
	font-weight:900;
	letter-spacing:0.5px;
	text-transform:uppercase;
	color: rgba(255,255,255,0.75);
	opacity:0.14;
	font-size: 48px;
	line-height: 1;
	display:block;
	box-sizing:border-box;
	padding: 0 28px;
	max-width: calc(100% - 56px);
	overflow:visible;
	text-overflow:clip;
	text-align:center;
	user-select:none;
	white-space:nowrap;
}

.gc-bg-orb.orb-1{
	width:420px;
	height:420px;
	opacity:0.18;
}

.gc-bg-orb.orb-2{
	width:340px;
	height:340px;
	opacity:0.12;
}

.gc-bg-orb.orb-3{
	width:280px;
	height:280px;
	opacity:0.10;
}

.gc-login-right{
	flex: 1 1 45%;
	background:#f7f8fa;
	display:flex;
	align-items:center;
	justify-content:center;
	padding: 56px 28px;
}

.gc-login-card{
	width:100%;
	max-width:520px;
	background:#fff;
	border-radius:18px;
	box-shadow: 0 18px 55px rgba(16, 24, 40, 0.10);
	padding: 44px 44px 34px 44px;
}

.gc-login-card .gc-login-logo{
	text-align:center;
	margin-bottom:16px;
}

.gc-login-card .gc-login-caption{
	text-align:center;
	color:#667085;
	font-weight:600;
	margin: 10px 0 26px 0;
}

.gc-form-group{
	margin-bottom:14px;
}

.gc-form-group label{
	font-size:13px;
	color:#344054;
	font-weight:700;
	margin-bottom:6px;
}

.gc-field{
	position:relative;
}

.gc-field-icon{
	position:absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color:#98a2b3;
	font-size:14px;
	pointer-events:none;
}

.gc-field-toggle{
	position:absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	border:0;
	background:transparent;
	color:#98a2b3;
	padding:6px;
}

.gc-field-toggle:focus{ outline:none; }
.gc-field-toggle:hover{ color:#667085; }

.gc-form-control{
	height: 46px;
	border-radius: 12px;
	border: 1px solid #d0d5dd;
	padding-left: 40px;
	padding-right: 42px;
	box-shadow:none;
}

.gc-form-control:focus{
	border-color: rgba(62, 211, 255, 0.7);
	box-shadow: 0 0 0 4px rgba(62, 211, 255, 0.18);
}

.gc-login-btn{
	width: 100%;
	height: 46px;
	border-radius: 12px;
	font-weight:800;
	letter-spacing:0.2px;
	background: linear-gradient(90deg, #0b3e63 0%, var(--gc-primary) 100%) !important;
	border: 0 !important;
	box-shadow: 0 10px 22px rgba(11, 62, 99, 0.18);
}

.gc-login-btn:hover{ filter: brightness(0.98); }

.gc-login-links{
	margin-top: 14px;
	text-align:center;
}

.gc-login-links a{
	font-weight:700;
}

.gc-login-footer{
	margin-top: 22px;
	text-align:center;
	color:#667085;
	font-weight:600;
}

/* Tablet + mobile: hide left, show only login */
@media (max-width: 1024px){
	.gc-login-left{ display:none; }
	.gc-login-right{ flex: 1 1 100%; padding: 28px 18px; }
	.gc-login-card{ max-width: 560px; }
}

@media (max-width: 576px){
	.gc-login-right{ padding: 20px 14px; }
	.gc-login-card{ padding: 28px 18px 22px 18px; border-radius:16px; }
	.gc-login-card .gc-login-caption{ margin-bottom:18px; }
	.gc-form-control{ height: 44px; }
}

@media (prefers-reduced-motion: reduce){
	.gc-bg-orb{ animation: none !important; }
}
