/* Procure Aqui - Portal de Publicação de Vagas
   Usa exatamente a paleta e tipografia do tema Procura Aqui (Sora + Plus Jakarta Sans). */

.pa-portal {
	--pa-ink: #14171f;
	--pa-ink-soft: #5b5f6b;
	--pa-line: #eceef2;
	--pa-paper: #ffffff;
	--pa-cream: #fff9ec;
	--pa-yellow: #ffc61a;
	--pa-yellow-deep: #e8ad00;
	--pa-bg-soft: #fafafa;

	max-width: 640px;
	margin: 0 auto;
	background: var(--pa-paper);
	border: 1px solid var(--pa-line);
	border-radius: 18px;
	box-shadow: 0 24px 50px -30px rgba(20, 23, 31, .28);
	padding: 32px;
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--pa-ink);
}

.pa-portal h2 {
	font-family: 'Sora', sans-serif;
	font-weight: 800;
	letter-spacing: -0.01em;
	font-size: 24px;
	margin: 0 0 4px;
	color: var(--pa-ink);
}

.pa-portal-hint { color: var(--pa-ink-soft); font-size: 14px; margin: 0 0 20px; }

.pa-portal-progress { margin-bottom: 28px; }
.pa-portal-progress-bar { height: 4px; background: var(--pa-line); border-radius: 4px; overflow: hidden; margin-bottom: 16px; }
.pa-portal-progress-fill { height: 100%; width: 33.33%; background: var(--pa-yellow); transition: width .35s ease; }

.pa-portal-steps { display: flex; list-style: none; margin: 0; padding: 0; justify-content: space-between; }
.pa-portal-steps li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #a7abb4; font-weight: 700; }
.pa-portal-steps li span {
	width: 22px; height: 22px; border-radius: 50%; background: var(--pa-line); color: #fff;
	display: inline-flex; align-items: center; justify-content: center; font-size: 12px;
}
.pa-portal-steps li.is-active, .pa-portal-steps li.is-done { color: var(--pa-ink); }
.pa-portal-steps li.is-active span { background: var(--pa-yellow); color: var(--pa-ink); }
.pa-portal-steps li.is-done span { background: var(--pa-ink); }

.pa-portal-step { display: none; }
.pa-portal-step.is-active { display: block; animation: pa-fade-in .25s ease; }
@keyframes pa-fade-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

.pa-field { margin-bottom: 18px; }
.pa-field-row { display: flex; gap: 16px; }
.pa-field-row .pa-field { flex: 1; }
.pa-field label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 6px; color: var(--pa-ink); }
.pa-field input, .pa-field select, .pa-field textarea {
	width: 100%; padding: 11px 14px; border: 1px solid var(--pa-line); border-radius: 10px;
	font-size: 14.5px; font-family: inherit; background: #fff; color: var(--pa-ink);
}
.pa-field input:focus, .pa-field select:focus, .pa-field textarea:focus {
	outline: none; border-color: var(--pa-yellow-deep);
}
.pa-field textarea { resize: vertical; }

.pa-logo-drop {
	border: 2px dashed var(--pa-line); border-radius: 14px; padding: 24px; text-align: center;
	cursor: pointer; color: var(--pa-ink-soft); font-size: 14px; transition: border-color .2s ease, background .2s ease;
}
.pa-logo-drop:hover, .pa-logo-drop.is-dragover { border-color: var(--pa-yellow-deep); background: #fff9ec; }
.pa-logo-drop img { max-height: 80px; border-radius: 8px; }

.pa-portal-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; }
.pa-btn { padding: 13px 24px; border-radius: 999px; font-weight: 700; font-size: 14.5px; cursor: pointer; border: none; font-family: inherit; }
.pa-btn-primary { background: var(--pa-ink); color: #fff; box-shadow: 0 10px 24px -12px rgba(20,23,31,.45); transition: transform .15s ease, background .15s ease; }
.pa-btn-primary:hover { background: #2a2e3a; transform: translateY(-1px); }
.pa-btn-primary:disabled { opacity: .6; cursor: default; transform: none; }
.pa-btn-ghost { background: transparent; color: var(--pa-ink); border: 1px solid var(--pa-line); }
.pa-btn-ghost:hover { border-color: var(--pa-ink); }

.pa-preview { background: var(--pa-bg-soft); border: 1px solid var(--pa-line); border-radius: 14px; padding: 20px; margin-bottom: 16px; }
.pa-preview h3 { font-family: 'Sora', sans-serif; font-weight: 800; color: var(--pa-ink); margin: 0 0 4px; }
.pa-preview .pa-preview-meta { font-size: 13px; color: var(--pa-ink-soft); margin-bottom: 12px; }
.pa-preview .pa-preview-desc { font-size: 14px; line-height: 1.6; white-space: pre-line; }

.pa-portal-message { margin-top: 16px; padding: 12px 16px; border-radius: 10px; font-size: 14px; }
.pa-portal-message.success { background: #e9f7ee; color: #1c8a4b; }
.pa-portal-message.error { background: #fdeceb; color: #b3261e; }

@media (max-width: 480px) {
	.pa-portal { padding: 20px; }
	.pa-field-row { flex-direction: column; gap: 0; }
	.pa-portal-steps li { font-size: 0; gap: 0; }
	.pa-portal-steps li span { font-size: 12px; }
}
