/* Portal-only pieces. Colours, font and components come from the shared
   theme (assets/theme/theme-goldpavilion.css). */
:root {
	--tgp-teal: var(--bs-primary);
	--tgp-teal-dark: #002423;
}

body {
	background: var(--bs-tertiary-bg);
}

/* Sign-in page */
.portal-auth {
	min-height: 100vh;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	padding: 1rem;
	background: linear-gradient(135deg, var(--tgp-teal-dark), var(--tgp-teal));
}

.portal-auth .card {
	width: 100%;
	max-width: 380px;
	border: 0;
	border-radius: 0.8rem;
}

.portal-logo {
	width: 72px;
	height: 72px;
}

.portal-brand {
	color: var(--tgp-teal);
	font-size: 1.4rem;
	font-weight: 700;
}

/* Signed-in pages */
.portal-navbar {
	background: var(--tgp-teal-dark);
}

.portal-navbar .navbar-brand img {
	width: 32px;
	height: 32px;
}

.system-card {
	display: block;
	height: 100%;
	padding: 1.75rem 1.5rem;
	border: 1px solid #dfe6e6;
	border-radius: 0.8rem;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.system-card:hover,
.system-card:focus-visible {
	border-color: var(--tgp-teal);
	box-shadow: 0 0.5rem 1.25rem rgba(1, 86, 82, 0.12);
	transform: translateY(-2px);
	color: inherit;
}

.system-card .system-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 1rem;
	border-radius: 0.8rem;
	background: #e6eeee;
	color: var(--tgp-teal);
	font-size: 1.6rem;
}

.system-card .system-go {
	color: var(--tgp-teal);
	font-weight: 600;
}

.access-badge {
	font-weight: 500;
}
