.ilium-client-portal {
	border: 1px solid #d8dde4;
	border-radius: 8px;
	margin: 2rem auto clamp(4rem, 7vw, 6rem) !important;
	max-width: 760px;
	padding: 1.5rem;
}

.ilium-portal-header {
	border-bottom: 1px solid #e4e8ee;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}

.ilium-portal-header h3 {
	margin: 0 0 .25rem;
}

.ilium-portal-header p {
	margin: 0;
}

.ilium-client-name {
	font-size: 1.125rem;
	font-weight: 700;
	margin: .35rem 0 .45rem !important;
}

.ilium-login-panel {
	margin-left: auto;
	margin-right: auto;
	max-width: 520px;
}

.ilium-login-panel h2 {
	margin-top: 0;
}

.ilium-login-panel .login-username,
.ilium-login-panel .login-password,
.ilium-login-panel .login-remember,
.ilium-login-panel .login-submit {
	margin: 0 0 1rem;
}

.ilium-login-panel label {
	display: block;
	font-weight: 700;
	margin-bottom: .35rem;
}

.ilium-login-panel input[type="text"],
.ilium-login-panel input[type="password"] {
	max-width: 100%;
}

.ilium-login-panel .login-remember label {
	display: inline-flex;
	font-weight: 400;
	gap: .4rem;
}

.ilium-login-help {
	margin-bottom: 0;
}

.ilium-upload-form {
	background: #f6f8fa;
	border-radius: 6px;
	margin-bottom: 1.25rem;
	padding: 1rem;
}

.ilium-upload-form label {
	display: block;
	font-weight: 700;
	margin-bottom: .5rem;
}

.ilium-upload-row {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.ilium-upload-row input[type="file"] {
	flex: 1 1 260px;
}

.ilium-file-section {
	border-top: 1px solid #e4e8ee;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
}

.ilium-file-section summary {
	align-items: center;
	background: rgb(232, 230, 222);
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	list-style: none;
	padding: 1rem 1.25rem;
}

.ilium-file-section summary::-webkit-details-marker {
	display: none;
}

.ilium-file-section summary::marker {
	content: "";
}

.ilium-file-section summary::after {
	border-bottom: 3px solid currentColor;
	border-right: 3px solid currentColor;
	content: "";
	display: inline-block;
	flex: 0 0 12px;
	height: 12px;
	margin-left: auto;
	transform: rotate(45deg);
	transform-origin: 50% 50%;
	transition: transform .2s ease;
	width: 12px;
}

.ilium-file-section.is-open summary::after {
	transform: rotate(-135deg);
}

.ilium-file-section h4 {
	font-size: 16px;
	font-weight: 700;
	margin: 0;
}

.ilium-file-section-panel {
	overflow: hidden;
}

.ilium-file-section:not([open]) .ilium-file-section-panel {
	height: 0;
}

.ilium-file-list {
	list-style: none !important;
	margin: .75rem 0 0;
	padding: 0 !important;
}

.ilium-file-list li {
	align-items: center;
	border-top: 1px solid #edf0f4;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	list-style: none !important;
	padding: .875rem 0;
}

.site-content .ilium-file-list > li::before,
.ilium-file-list > li::before {
	content: none !important;
	display: none !important;
}

.ilium-file-list li::marker {
	content: "";
}

.ilium-file-list li:first-child {
	border-top: 0;
}

.ilium-file-list small {
	color: #5f6b7a;
	display: block;
	margin-top: .15rem;
}

.ilium-file-list form {
	margin: 0;
}

.ilium-portal-message,
.ilium-portal-error,
.ilium-portal-notice,
.ilium-empty {
	border-radius: 6px;
	margin: 1rem 0;
	padding: .875rem 1rem;
}

.ilium-portal-message {
	background: #ecfdf3;
	color: #075e32;
}

.ilium-portal-error {
	background: #fff0f0;
	color: #8a1f11;
}

.ilium-portal-notice,
.ilium-empty {
	background: #f6f8fa;
	color: #334155;
}

@media (max-width: 640px) {
	.ilium-file-list li {
		align-items: flex-start;
		flex-direction: column;
	}
}
