.portal-body{
	background: var(--paper);
}

.portal-hero{
	background:
		radial-gradient(circle at 12% 20%, rgba(169, 246, 207, .7), transparent 27%),
		radial-gradient(circle at 88% 80%, rgba(216, 208, 255, .75), transparent 30%),
		var(--paper);
	padding: 5rem 0;
}

.portal-hero h1{
	font-size: clamp(2.5rem, 5vw, 4.6rem);
}

.portal-hero .lead{
	color: var(--ink-soft);
	font-size: 1.04rem;
	max-width: 590px;
}

.portal-login{
	background: rgba(255, 255, 255, .86);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 26px;
	box-shadow: var(--shadow-lg);
	padding: 1.7rem;
}

.portal-benefits{
	display: grid;
	gap: .55rem;
	list-style: none;
	margin-top: 1.7rem;
	padding: 0;
}

.portal-benefits li{
	align-items: center;
	color: var(--ink-soft);
	display: flex;
	font-size: .82rem;
	gap: .65rem;
}

.portal-benefits li::before{
	align-items: center;
	background: var(--ink);
	border-radius: 50%;
	color: var(--lime);
	content: "\2713";
	display: flex;
	font-size: .68rem;
	font-weight: 800;
	height: 22px;
	justify-content: center;
	width: 22px;
}

.portal-card{
	margin-bottom: .75rem;
	transition: border-color .2s ease, transform .2s ease;
}

.portal-card:hover{
	border-color: var(--line-dark);
	transform: translateY(-2px);
}

.status-badge{
	border-radius: 99px;
	display: inline-block;
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .06em;
	padding: .3rem .65rem;
	text-transform: uppercase;
}

.status-draft,
.status-rejected{
	background: #e8ebe8;
	color: #53615b;
}

.status-pending{
	background: #fff0b3;
	color: #695200;
}

.status-published{
	background: var(--mint);
	color: var(--green-dark);
}

.portal-body .table{
	font-size: .82rem;
}

.portal-body .table thead th{
	border-top: 0;
	color: var(--muted);
	font-size: .68rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

@media (max-width: 767.98px){
	.portal-hero{
		padding: 3rem 0;
	}

	.portal-login{
		margin-top: 2rem;
	}
}
