/* COPED Concursos – componentes do site.
   As cores vêm das variáveis abaixo; o tema COPED redefine as mesmas variáveis. */
:root {
	--coped-marinho: #041C3B;
	--coped-azul: #3760B5;
	--coped-azul-escuro: #2A4C95;
	--coped-areia: #E6E8C8;
	--coped-ceu: #C8E0FC;
	--coped-ardosia: #99B1C1;
	--coped-texto: #041C3B;
	--coped-texto-2: #435169;
	--coped-linha: #D5DBE5;
	--coped-fundo-2: #F4F6F9;
	--coped-ok: #1E6B3A;
	--coped-erro: #A12828;
	--coped-aviso: #7A5A00;
	--coped-corte: 14px;
}

.coped-area, .coped-cards, .coped-docs, .coped-resumo, .coped-tabela-rolagem, .coped-documento { color: var(--coped-texto); }

/* Botões */
.coped-botao {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	min-height: 44px; padding: .6em 1.2em;
	border: 2px solid var(--coped-marinho); background: #fff; color: var(--coped-marinho);
	font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.2;
}
.coped-botao:hover { background: var(--coped-marinho); color: #fff; }
.coped-botao--destaque { background: var(--coped-azul); border-color: var(--coped-azul); color: #fff; }
.coped-botao--destaque:hover { background: var(--coped-marinho); border-color: var(--coped-marinho); }
.coped-botao:focus-visible, .coped-area a:focus-visible, .coped-abas [role="tab"]:focus-visible { outline: 3px solid var(--coped-azul); outline-offset: 3px; }
.coped-botao[disabled] { opacity: .6; cursor: progress; }

/* Selos de situação */
.coped-selo {
	display: inline-block; padding: .25em .7em; font-size: .8125rem; font-weight: 700; line-height: 1.4;
	background: var(--coped-fundo-2); color: var(--coped-texto);
}
.coped-selo--inscricoes_abertas { background: var(--coped-azul); color: #fff; }
.coped-selo--previsto { background: var(--coped-areia); color: var(--coped-marinho); }
.coped-selo--em_andamento { background: var(--coped-ceu); color: var(--coped-marinho); }
.coped-selo--inscricoes_encerradas, .coped-selo--encerrado { background: #E4E8EE; color: var(--coped-texto-2); }
.coped-selo--suspenso { background: #F8DEDE; color: var(--coped-erro); }
.coped-selo--insc-confirmada, .coped-selo--insc-homologada { background: #DCF0E2; color: var(--coped-ok); }
.coped-selo--insc-aguardando_pagamento { background: #FBEFC8; color: var(--coped-aviso); }
.coped-selo--insc-isencao_solicitada { background: var(--coped-ceu); color: var(--coped-marinho); }
.coped-selo--insc-isencao_indeferida, .coped-selo--insc-indeferida, .coped-selo--insc-cancelada { background: #F8DEDE; color: var(--coped-erro); }

/* Cartões de concurso: o canto superior direito tem o corte diagonal da logo. */
.coped-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.coped-card {
	position: relative; display: flex; flex-direction: column; gap: .6rem;
	padding: 22px 22px 20px; background: #fff; border: 1px solid var(--coped-linha); border-top: 4px solid var(--coped-marinho);
	clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 21px, 100% 100%, 0 100%);
}
.coped-card__titulo { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.coped-card__titulo a { color: var(--coped-marinho); text-decoration: none; }
.coped-card__titulo a::after { content: ""; position: absolute; inset: 0; }
.coped-card:hover .coped-card__titulo a, .coped-card__titulo a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.coped-card:focus-within { box-shadow: inset 0 0 0 3px var(--coped-azul); }
.coped-card__titulo a:focus-visible { outline: none; }
.coped-card__orgao { margin: 0; color: var(--coped-texto-2); }
.coped-card__dados { margin: .2rem 0 0; display: grid; gap: .3rem; font-size: .9375rem; }
.coped-card__dados div { display: flex; gap: .5em; }
.coped-card__dados dt { color: var(--coped-texto-2); min-width: 6.5em; }
.coped-card__dados dd { margin: 0; font-weight: 600; }
.coped-card__link { margin-top: auto; padding-top: .6rem; color: var(--coped-azul); font-weight: 700; font-size: .9375rem; }

/* Resumo (lista de definição) */
.coped-resumo { display: grid; gap: 0; margin: 0 0 1.25rem; border-top: 1px solid var(--coped-linha); }
.coped-resumo > div { display: grid; grid-template-columns: minmax(8rem, 38%) 1fr; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--coped-linha); }
.coped-resumo dt { color: var(--coped-texto-2); }
.coped-resumo dd { margin: 0; font-weight: 600; }

/* Quadro de cargos */
.coped-tabela-rolagem { overflow-x: auto; margin: 1.5rem 0; border: 1px solid var(--coped-linha); }
.coped-tabela-rolagem:focus-visible { outline: 3px solid var(--coped-azul); }
.coped-tabela { width: 100%; border-collapse: collapse; font-size: .875rem; min-width: 640px; }
.coped-tabela caption { text-align: left; padding: .8rem 1rem; font-weight: 800; background: var(--coped-marinho); color: #fff; }
.coped-tabela th, .coped-tabela td { padding: .65rem 1rem; text-align: left; border-bottom: 1px solid var(--coped-linha); vertical-align: top; }
.coped-tabela thead th { background: var(--coped-areia); font-weight: 700; vertical-align: bottom; line-height: 1.25; }
.coped-tabela tbody th { font-weight: 700; }
.coped-tabela td[data-rotulo="Taxa"], .coped-tabela td[data-rotulo="Remuneração"] { white-space: nowrap; }
.coped-tabela tbody tr:nth-child(even) { background: var(--coped-fundo-2); }

/* Linha do tempo de documentos */
.coped-docs { list-style: none; margin: 0; padding: 0; border-left: 3px solid var(--coped-marinho); }
.coped-doc { position: relative; display: grid; grid-template-columns: 6.2rem 1fr auto; gap: .5rem 1rem; align-items: start; padding: 1rem 0 1rem 1.25rem; border-bottom: 1px solid var(--coped-linha); }
.coped-doc::before { content: ""; position: absolute; left: -8px; top: 1.35rem; width: 13px; height: 13px; background: #fff; border: 3px solid var(--coped-marinho); }
.coped-doc--retificado::before { background: var(--coped-areia); }
.coped-doc__data { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--coped-texto-2); padding-top: .1rem; }
.coped-doc__data small { display: block; font-weight: 400; font-size: .8125rem; }
.coped-doc--evento::before { background: var(--coped-azul); border-color: var(--coped-azul); border-radius: 50%; }
.coped-doc--evento .coped-doc__titulo { color: var(--coped-texto-2); }
.coped-doc.is-ultimo { background: linear-gradient(90deg, rgba(200,224,252,.45), transparent 70%); }
.coped-docs__atalho { margin: 0 0 .75rem; font-weight: 600; }
.coped-doc__corpo { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.coped-doc__tipo { font-size: .8125rem; font-weight: 700; color: var(--coped-azul); }
.coped-doc__titulo { font-weight: 700; color: var(--coped-marinho); text-decoration: none; overflow-wrap: anywhere; }
.coped-doc__titulo:hover { text-decoration: underline; }
.coped-doc__concurso { font-size: .875rem; color: var(--coped-texto-2); }
.coped-doc__nota { font-size: .875rem; color: var(--coped-texto-2); }
.coped-doc__nota--alerta { color: var(--coped-aviso); }
.coped-doc__baixar { align-self: center; padding: .45em .9em; border: 2px solid var(--coped-azul); color: var(--coped-azul); font-weight: 700; text-decoration: none; white-space: nowrap; }
.coped-doc__baixar small { font-weight: 400; margin-left: .3em; }
.coped-doc__baixar:hover { background: var(--coped-azul); color: #fff; }
@media (max-width: 640px) {
	.coped-doc { grid-template-columns: 1fr; }
	.coped-doc__baixar { justify-self: start; }
}

.coped-pdf { width: 100%; height: 80vh; min-height: 480px; border: 1px solid var(--coped-linha); margin-top: 1rem; }

/* Alertas */
.coped-alerta { padding: .9rem 1.1rem; margin: 0 0 1.25rem; border-left: 5px solid var(--coped-azul); background: var(--coped-ceu); color: var(--coped-marinho); }
.coped-alerta p, .coped-alerta ul { margin: .2rem 0; }
.coped-alerta--ok { border-color: var(--coped-ok); background: #E4F3E8; }
.coped-alerta--erro { border-color: var(--coped-erro); background: #FBE7E7; color: #5E1414; }
.coped-alerta--aviso { border-color: #C79A12; background: #FCF4D8; color: #4D3A00; }
.coped-vazio { padding: 1.25rem; background: var(--coped-fundo-2); color: var(--coped-texto-2); }

/* Área do candidato */
.coped-area { max-width: 960px; }
.coped-area__topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: 1rem; margin-bottom: 1.5rem; border-bottom: 3px solid var(--coped-marinho); }
.coped-area__ola { margin: 0; display: flex; flex-direction: column; }
.coped-area__ola small { font-size: .875rem; color: var(--coped-texto-2); }
.coped-area__menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.coped-area__menu a { display: block; padding: .5em .9em; color: var(--coped-marinho); font-weight: 600; text-decoration: none; }
.coped-area__menu a:hover { background: var(--coped-fundo-2); }
.coped-area__menu a[aria-current="page"] { background: var(--coped-marinho); color: #fff; }
.coped-area__titulo { font-size: 1.5rem; margin: 0 0 1rem; }

.coped-abas__lista { display: flex; border-bottom: 3px solid var(--coped-marinho); margin-bottom: 1.5rem; }
.coped-abas [role="tab"] { font: inherit; font-weight: 700; padding: .8em 1.3em; border: 0; background: transparent; color: var(--coped-texto-2); cursor: pointer; }
.coped-abas [role="tab"][aria-selected="true"] { background: var(--coped-marinho); color: #fff; }

/* Formulários */
.coped-form { margin-bottom: 2rem; }
.coped-form--estreito { max-width: 440px; }
.coped-grupo { border: 1px solid var(--coped-linha); padding: 1rem 1.25rem .5rem; margin: 0 0 1.25rem; }
.coped-grupo legend { padding: 0 .4rem; font-weight: 800; }
.coped-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 0 1rem; }
.coped-campo--largo { grid-column: 1 / -1; }
.coped-campo { margin: 0 0 1rem; display: flex; flex-direction: column; gap: .3rem; }
.coped-campo label { font-weight: 600; }
.coped-campo--check label { font-weight: 400; display: flex; gap: .6rem; align-items: flex-start; }
.coped-campo--check label > span { flex: 1; }
.coped-campo--check input { margin-top: .3rem; width: 1.1rem; height: 1.1rem; flex: none; accent-color: var(--coped-azul); }
.coped-obrig { color: var(--coped-erro); }
.coped-form input[type="text"], .coped-form input[type="email"], .coped-form input[type="tel"], .coped-form input[type="password"],
.coped-form input[type="date"], .coped-form input[type="file"], .coped-form select, .coped-form textarea {
	width: 100%; min-height: 44px; padding: .55rem .7rem; font: inherit; color: var(--coped-texto);
	background: #fff; border: 1px solid #8C98AB; border-radius: 0;
}
.coped-form input[readonly] { background: var(--coped-fundo-2); color: var(--coped-texto-2); }
.coped-form input:focus, .coped-form select:focus, .coped-form textarea:focus { outline: 3px solid var(--coped-ceu); border-color: var(--coped-azul); }
.coped-ajuda { font-size: .875rem; color: var(--coped-texto-2); }
.coped-condicional { padding: .5rem 0 0 1.7rem; }

.coped-opcoes-cargo { display: grid; gap: .5rem; margin-bottom: 1rem; }
.coped-opcao-cargo { display: grid; grid-template-columns: auto 1fr; gap: .1rem .75rem; padding: .8rem 1rem; border: 1px solid var(--coped-linha); cursor: pointer; }
.coped-opcao-cargo input { grid-row: span 2; margin-top: .3rem; width: 1.1rem; height: 1.1rem; accent-color: var(--coped-azul); }
.coped-opcao-cargo__nome { font-weight: 700; }
.coped-opcao-cargo__info { font-size: .875rem; color: var(--coped-texto-2); }
.coped-opcao-cargo:has(input:checked) { border-color: var(--coped-azul); box-shadow: inset 4px 0 0 var(--coped-azul); background: #F1F6FE; }
.coped-opcao-cargo.is-desativado { opacity: .55; cursor: not-allowed; }

/* Minhas inscrições */
.coped-inscricoes { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.coped-inscricao { padding: 1.1rem 1.25rem; border: 1px solid var(--coped-linha); border-left: 5px solid var(--coped-marinho); }
.coped-inscricao__cab { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; }
.coped-inscricao__numero { font-weight: 700; font-variant-numeric: tabular-nums; }
.coped-inscricao h3 { margin: .6rem 0; font-size: 1.15rem; }
.coped-inscricao h3 a { color: var(--coped-marinho); }
.coped-inscricao__dados { display: flex; flex-wrap: wrap; gap: .4rem 2rem; margin: 0 0 1rem; }
.coped-inscricao__dados dt { font-size: .8125rem; color: var(--coped-texto-2); }
.coped-inscricao__dados dd { margin: 0; font-weight: 600; }
.coped-inscricao__acoes { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.coped-inscricao__acoes form { margin: 0; }

.coped-lista-abertos { list-style: none; margin: 0; padding: 0; }
.coped-lista-abertos li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--coped-linha); }
.coped-lista-abertos li div { display: flex; flex-direction: column; }
.coped-lista-abertos span { color: var(--coped-texto-2); font-size: .9375rem; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Barra de progresso do certame */
.coped-progresso { margin: 0 0 2rem; padding: 1.25rem 1.25rem 1.1rem; background: #fff; border: 1px solid var(--coped-linha); border-top: 5px solid var(--coped-marinho); }
.coped-progresso__topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .25rem 1rem; margin-bottom: .75rem; }
.coped-progresso__titulo { margin: 0; font-size: 1.2rem; }
.coped-progresso__resumo { margin: 0; color: var(--coped-texto-2); }
.coped-progresso__resumo strong { font-size: 1.35rem; color: var(--coped-marinho); margin-right: .35rem; font-variant-numeric: tabular-nums; }
.coped-progresso__etapas { list-style: none; margin: .25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 3px; }
.coped-progresso__etapas li { display: flex; flex-direction: column; gap: .15rem; padding-top: .7rem; border-top: 8px solid var(--coped-linha); font-size: .8125rem; min-width: 0; }
.coped-progresso__marca { display: none; }
.coped-progresso__rotulo { font-weight: 700; color: var(--coped-texto-2); line-height: 1.25; overflow-wrap: anywhere; }
.coped-progresso__data { color: var(--coped-texto-2); font-size: .75rem; font-variant-numeric: tabular-nums; }
.coped-progresso__etapas .is-concluida { border-top-color: var(--coped-marinho); }
.coped-progresso__etapas .is-concluida .coped-progresso__rotulo { color: var(--coped-marinho); }
.coped-progresso__etapas .is-atual { border-top-color: var(--coped-azul); }
.coped-progresso__etapas .is-atual .coped-progresso__rotulo { color: var(--coped-azul); }
.coped-progresso__etapas .is-atual .coped-progresso__data { color: var(--coped-azul); font-weight: 700; }
@media (max-width: 760px) {
	.coped-progresso__etapas { grid-template-columns: 1fr; gap: 0; }
	.coped-progresso__etapas li { flex-direction: row; justify-content: space-between; gap: 1rem; padding: .5rem 0 .5rem .85rem; border-top: 0; border-left: 6px solid var(--coped-linha); }
	.coped-progresso__etapas .is-concluida { border-left-color: var(--coped-marinho); }
	.coped-progresso__etapas .is-atual { border-left-color: var(--coped-azul); background: #F1F6FE; }
}

/* Passos da inscrição */
.coped-passos { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); counter-reset: passo; border-bottom: 1px solid var(--coped-linha); }
.coped-passos li { counter-increment: passo; padding: .6rem .5rem .7rem 0; font-size: .875rem; font-weight: 600; color: var(--coped-texto-2); border-bottom: 4px solid transparent; margin-bottom: -1px; }
.coped-passos li::before { content: counter(passo) ". "; }
.coped-passos .is-feito { color: var(--coped-marinho); border-color: var(--coped-ardosia, #99B1C1); }
.coped-passos .is-atual { color: var(--coped-azul); border-color: var(--coped-azul); }
@media (max-width: 560px) { .coped-passos { grid-template-columns: 1fr 1fr; } }

.coped-opcao-cargo__aviso { grid-column: 2; font-size: .8125rem; color: var(--coped-aviso); font-weight: 600; }
.coped-opcoes-simples { display: grid; gap: .5rem; margin-bottom: .75rem; }
.coped-opcoes-simples label, .coped-opcoes-grade label { display: flex; gap: .55rem; align-items: flex-start; }
.coped-opcoes-simples input, .coped-opcoes-grade input { margin-top: .3rem; accent-color: var(--coped-azul); width: 1.05rem; height: 1.05rem; flex: none; }
.coped-opcoes-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: .5rem 1rem; margin: .25rem 0 1rem; }
.coped-regra { margin-bottom: 1rem; }
.coped-inscricao__nota { margin: 0 0 1rem; font-size: .9375rem; color: var(--coped-texto-2); }
.coped-inscricao--substituida { border-left-color: #C9CED8; }

/* Pagamento */
.coped-resumo--pagamento { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); gap: 0 1.5rem; border-top: 0; }
.coped-resumo--pagamento > div { grid-template-columns: 1fr; gap: .1rem; }
.coped-resumo--pagamento dt { font-size: .8125rem; }
.coped-formas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1rem; margin: .5rem 0 1rem; }
.coped-forma { display: flex; flex-direction: column; gap: .5rem; padding: 1.1rem 1.2rem; border: 1px solid var(--coped-linha); border-top: 4px solid var(--coped-azul); }
.coped-forma strong { font-size: 1.1rem; }
.coped-forma span { color: var(--coped-texto-2); font-size: .9375rem; flex: 1; }
.coped-forma .coped-botao { align-self: flex-start; }
.coped-pagamento { padding: 1.25rem; border: 1px solid var(--coped-linha); border-top: 4px solid var(--coped-azul); margin-bottom: 1.5rem; }
.coped-pagamento h3 { margin-top: 0; }
.coped-pix { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: flex-start; }
.coped-pix__qr { width: 220px; height: 220px; border: 1px solid var(--coped-linha); image-rendering: pixelated; }
.coped-pix__codigo { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: .5rem; }
.coped-pix__codigo label { font-weight: 600; }
.coped-pix__codigo textarea, .coped-pagamento input[readonly] { width: 100%; font: .875rem/1.4 ui-monospace, Menlo, Consolas, monospace; padding: .6rem; border: 1px solid #8C98AB; background: var(--coped-fundo-2); word-break: break-all; }
.coped-pix__codigo .coped-botao { align-self: flex-start; }
.coped-pagamento__acoes { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--coped-linha); }
.coped-pagamento__acoes form { margin: 0; }
