.fct-ff-upload-input,
.fct-upload-form input[type="file"] {
	background: #fff;
	border: 1px dashed #aab3c2;
	border-radius: 10px;
	box-sizing: border-box;
	cursor: pointer;
	padding: 16px;
	width: 100%;
}

.fct-ff-upload-hint,
.fct-ff-upload-status {
	color: #677184;
	font-size: 12px;
	margin-top: 7px;
}

.fct-ff-upload-status[data-type="error"] {
	color: #b42318;
}

.fct-ff-upload-status[data-type="uploading"] {
	color: #175cd3;
}

.fct-ff-upload-status[data-type="success"] {
	color: #067647;
}

.fct-ff-upload-list {
	margin: 8px 0 0;
	padding-inline-start: 20px;
}

.fct-upload-portal {
	background: #f4f7fb;
	min-height: 70vh;
	padding: 55px 20px;
}

.fct-upload-card {
	background: #fff;
	border: 1px solid #dfe5ee;
	border-radius: 18px;
	box-shadow: 0 18px 55px rgba(31, 47, 70, .09);
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 720px;
	padding: 32px;
}

.fct-upload-card h1 {
	font-size: 30px;
	margin: 4px 0 8px;
}

.fct-upload-eyebrow {
	color: #1570ef;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-upload-limits {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0;
}

.fct-upload-limits span {
	background: #eef4ff;
	border-radius: 999px;
	color: #344054;
	font-size: 12px;
	padding: 7px 10px;
}

.fct-upload-message {
	background: #f2f4f7;
	border-radius: 9px;
	margin: 14px 0;
	padding: 12px 14px;
}

.fct-upload-message.is-success {
	background: #ecfdf3;
	color: #067647;
}

.fct-upload-message.is-error {
	background: #fef3f2;
	color: #b42318;
}

.fct-upload-form label {
	display: block;
	font-weight: 700;
	margin-bottom: 8px;
}

.fct-upload-form button {
	background: #1570ef;
	border: 0;
	border-radius: 9px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	margin-top: 12px;
	padding: 12px 18px;
}

.fct-upload-received {
	border-top: 1px solid #e4e7ec;
	margin-top: 24px;
	padding-top: 18px;
}

.fct-upload-received h2 {
	font-size: 18px;
}

@media (max-width: 600px) {
	.fct-upload-portal { padding: 25px 12px; }
	.fct-upload-card { border-radius: 12px; padding: 20px; }
}
