:root {
	--itupx-navy: #07152d;
	--itupx-panel: #0c1e3d;
	--itupx-gold: #d7a928;
	--itupx-mint: #30d5a5;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--itupx-navy);
	color: #f7fbff;
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.itupx-verify-shell { min-height: 100vh; }

#itupx-certificate-frame {
	display: block;
	width: 100%;
	height: min(100vh, 1000px);
	min-height: 720px;
	border: 0;
	background: var(--itupx-navy);
}

.itupx-paper-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: 1180px;
	margin: 0 auto;
	padding: 28px 24px 40px;
}

.itupx-paper-panel h1,
.itupx-paper-dialog h2 { margin: 0; font-size: 1.35rem; }

.itupx-paper-panel p { margin: 6px 0 0; color: #bdc9de; }

.itupx-paper-eyebrow {
	margin: 0 0 6px !important;
	color: var(--itupx-gold) !important;
	font-weight: 800;
	font-size: .74rem;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.itupx-paper-open,
.itupx-paper-submit {
	flex: 0 0 auto;
	border: 0;
	border-radius: 10px;
	padding: 13px 18px;
	background: var(--itupx-mint);
	color: #052018;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.itupx-paper-dialog {
	width: min(94vw, 560px);
	border: 0;
	border-radius: 18px;
	padding: 0;
	background: #fff;
	color: #12203a;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .5);
}

.itupx-paper-dialog::backdrop { background: rgba(3, 10, 25, .72); }

.itupx-paper-dialog form {
	position: relative;
	display: grid;
	gap: 14px;
	padding: 30px;
}

.itupx-paper-dialog label { display: grid; gap: 6px; color: #203353; font-size: .9rem; font-weight: 700; }

.itupx-paper-dialog input:not([type="checkbox"]),
.itupx-paper-dialog textarea {
	width: 100%;
	border: 1px solid #c9d4e5;
	border-radius: 8px;
	padding: 10px 11px;
	color: #12203a;
	font: inherit;
	font-weight: 400;
}

.itupx-consent { grid-template-columns: 18px 1fr; align-items: start; font-weight: 400 !important; }
.itupx-consent input { margin-top: 3px; }
.itupx-dialog-note { margin: -6px 0 4px; color: #62718a; }
.itupx-form-status { min-height: 1.4em; margin: 0; color: #1e5e4b; font-weight: 700; }
.itupx-form-status.is-error { color: #ae2931; }

.itupx-dialog-close {
	position: absolute;
	top: 10px;
	right: 13px;
	border: 0;
	background: transparent;
	color: #58677f;
	font-size: 1.65rem;
	line-height: 1;
	cursor: pointer;
}

@media (max-width: 700px) {
	#itupx-certificate-frame { height: 720px; min-height: 0; }
	.itupx-paper-panel { align-items: flex-start; flex-direction: column; }
	.itupx-paper-open { width: 100%; }
}
