/* Temas restritos às telas do candidato e à prévia da configuração. */
[data-tema-candidato="ROXO_TOMATO"], .temas-candidato-opcoes td:has(input[value="ROXO_TOMATO"]) {
    --ct-primary: #180054; --ct-secondary: #a432f9; --ct-accent: #ff6c4a;
    --ct-bg: #f7f5fb; --ct-tint: #f4eff9; --ct-link: #603d85; --ct-hero: 28, 6, 67;
}
[data-tema-candidato="MARINHO_TURQUESA"], .temas-candidato-opcoes td:has(input[value="MARINHO_TURQUESA"]) {
    --ct-primary: #123451; --ct-secondary: #147d92; --ct-accent: #087d82;
    --ct-bg: #f3f8fb; --ct-tint: #e2f2f4; --ct-link: #18596c; --ct-hero: 12, 36, 57;
}
[data-tema-candidato="VERDE_ESMERALDA"], .temas-candidato-opcoes td:has(input[value="VERDE_ESMERALDA"]) {
    --ct-primary: #164b39; --ct-secondary: #328365; --ct-accent: #08794f;
    --ct-bg: #f4f9f5; --ct-tint: #e3f2e8; --ct-link: #286045; --ct-hero: 13, 46, 34;
}
[data-tema-candidato="PETROLEO_CORAL"], .temas-candidato-opcoes td:has(input[value="PETROLEO_CORAL"]) {
    --ct-primary: #164550; --ct-secondary: #327e89; --ct-accent: #b9412d;
    --ct-bg: #f3f8f8; --ct-tint: #e4f0f1; --ct-link: #275d66; --ct-hero: 12, 40, 48;
}
[data-tema-candidato="BORDO_ROSE"], .temas-candidato-opcoes td:has(input[value="BORDO_ROSE"]) {
    --ct-primary: #641f3c; --ct-secondary: #a24c73; --ct-accent: #a3375c;
    --ct-bg: #fbf5f7; --ct-tint: #f5e5ed; --ct-link: #793450; --ct-hero: 59, 15, 35;
}
[data-tema-candidato="GRAFITE_LARANJA"], .temas-candidato-opcoes td:has(input[value="GRAFITE_LARANJA"]) {
    --ct-primary: #29323d; --ct-secondary: #596674; --ct-accent: #b8490f;
    --ct-bg: #f6f7f8; --ct-tint: #e8edf1; --ct-link: #46535f; --ct-hero: 28, 34, 43;
}
[data-tema-candidato="INDIGO_LAVANDA"], .temas-candidato-opcoes td:has(input[value="INDIGO_LAVANDA"]) {
    --ct-primary: #302566; --ct-secondary: #7162ad; --ct-accent: #6950a2;
    --ct-bg: #f7f6fc; --ct-tint: #ece7f8; --ct-link: #55418d; --ct-hero: 29, 22, 67;
}
[data-tema-candidato="AZUL_DOURADO"], .temas-candidato-opcoes td:has(input[value="AZUL_DOURADO"]) {
    --ct-primary: #173f70; --ct-secondary: #4979a9; --ct-accent: #88610b;
    --ct-bg: #f5f8fc; --ct-tint: #e6eef8; --ct-link: #315e8b; --ct-hero: 14, 35, 63;
}
[data-tema-candidato="MARROM_AREIA"], .temas-candidato-opcoes td:has(input[value="MARROM_AREIA"]) {
    --ct-primary: #593d2d; --ct-secondary: #997252; --ct-accent: #876038;
    --ct-bg: #fbf8f3; --ct-tint: #f2e9dc; --ct-link: #785337; --ct-hero: 52, 34, 23;
}
[data-tema-candidato="CINZA_AZUL"], .temas-candidato-opcoes td:has(input[value="CINZA_AZUL"]) {
    --ct-primary: #344655; --ct-secondary: #617b90; --ct-accent: #216cad;
    --ct-bg: #f5f8fa; --ct-tint: #e6eef4; --ct-link: #3e627e; --ct-hero: 30, 42, 53;
}

[data-tema-candidato="GRAFITE_LIMA"], .temas-candidato-opcoes td:has(input[value="GRAFITE_LIMA"]) {
    --ct-primary: #20251b; --ct-secondary: #b2ce45; --ct-accent: #52651c;
    --ct-bg: #f8faf3; --ct-tint: #edf2d9; --ct-link: #475b24; --ct-hero: 25, 30, 19;
}
[data-tema-candidato="TERRACOTA_OCEANO"], .temas-candidato-opcoes td:has(input[value="TERRACOTA_OCEANO"]) {
    --ct-primary: #783c2b; --ct-secondary: #d58c63; --ct-accent: #006d77;
    --ct-bg: #fcf7f3; --ct-tint: #f5e6dc; --ct-link: #805039; --ct-hero: 66, 33, 24;
}

[data-tema-candidato="VERMELHO_ESCARLATE"], .temas-candidato-opcoes td:has(input[value="VERMELHO_ESCARLATE"]) {
    --ct-primary: #b51f28; --ct-secondary: #eb5757; --ct-accent: #9d1620;
    --ct-bg: #fff7f6; --ct-tint: #fbe4e3; --ct-link: #9c242b; --ct-hero: 91, 16, 22;
}
[data-tema-candidato="LARANJA_AMBAR"], .temas-candidato-opcoes td:has(input[value="LARANJA_AMBAR"]) {
    --ct-primary: #9a430c; --ct-secondary: #e8a03e; --ct-accent: #a14b00;
    --ct-bg: #fffbf3; --ct-tint: #f9ebd3; --ct-link: #88450f; --ct-hero: 80, 36, 12;
}
[data-tema-candidato="ROSA_FRAMBOESA"], .temas-candidato-opcoes td:has(input[value="ROSA_FRAMBOESA"]) {
    --ct-primary: #a51d65; --ct-secondary: #dc629b; --ct-accent: #b02276;
    --ct-bg: #fff6fb; --ct-tint: #f9e1ee; --ct-link: #942159; --ct-hero: 78, 16, 49;
}
[data-tema-candidato="OLIVA_MOSTARDA"], .temas-candidato-opcoes td:has(input[value="OLIVA_MOSTARDA"]) {
    --ct-primary: #4b5629; --ct-secondary: #9aab62; --ct-accent: #6c601b;
    --ct-bg: #f9faf3; --ct-tint: #edf0db; --ct-link: #52602d; --ct-hero: 40, 47, 23;
}

/* As cores semânticas de erros, alertas e resultados permanecem independentes. */
.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]), .tema-candidato-config {
    --clr-blue-100: var(--ct-primary, #180054);
    --clr-blue-200: var(--ct-link, #3214ce);
    --clr-purple-200: var(--ct-secondary, #a432f9);
    --clr-tomato: var(--ct-accent, #ff6c4a);
    --clr-pink-200: var(--ct-tint, #eddaf8);
    --clr-gradient-main: linear-gradient(270deg, var(--ct-secondary, #a432f9) 15%, var(--ct-accent, #ff6c4a) 105%);
    --clr-gradient-main-var: linear-gradient(var(--graus), var(--ct-secondary, #a432f9) 15%, var(--ct-accent, #ff6c4a) 105%);
}
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) { background-color: var(--ct-bg, #f7f5fb); }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]):not(#candidato-login) a { color: var(--ct-link, #603d85); }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]):not(#candidato-login) .commandbuttonsingle {
    background: var(--ct-primary, #180054); color: white; border-color: var(--ct-primary, #180054);
}
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]):not(#candidato-login) .btn-cadastro {
    background: var(--ct-accent, #ff6c4a); color: white; border-color: var(--ct-accent, #ff6c4a);
}
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) input[type=text]:focus-visible,
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) input[type=password]:focus-visible,
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) textarea:focus-visible,
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) select:focus-visible {
    border-color: var(--ct-secondary, #a432f9); outline: 3px solid var(--ct-tint, #e8dcf4); outline-offset: 0;
}
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) { --candidato-tomato: var(--ct-accent, #ff6c4a); background: var(--ct-bg, #f7f5fb); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) a { color: var(--ct-link, #603d85); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .candidato-banner { background-color: rgb(var(--ct-hero, 28, 6, 67)); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .candidato-banner::before {
    background: linear-gradient(90deg, rgba(var(--ct-hero, 28, 6, 67), .64), rgba(var(--ct-hero, 28, 6, 67), .48) 40%, rgba(var(--ct-hero, 28, 6, 67), 0) 60%);
}
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .banner-link { color: white; }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .acesso-cartao h2,
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) #vagas-titulo,
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .vaga-cabecalho h3 { color: var(--ct-primary, #180054); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .botao-primario { background: var(--ct-primary, #180054); border-color: var(--ct-primary, #180054); color: white; }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .botao-primario:hover { background: var(--ct-link, #361575); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .botao-secundario { color: var(--ct-link, #563277); border-color: var(--ct-tint, #d9c9e8); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .botao-secundario:hover { background: var(--ct-tint, #f3edf8); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .novo-cadastro .botao-secundario { color: white; background: var(--ct-accent, #ff6c4a); border-color: var(--ct-accent, #ff6c4a); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .novo-cadastro .botao-secundario:hover { filter: brightness(.92); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .etiqueta,
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .vaga-etiquetas span { background: var(--ct-tint, #f4eff9); color: var(--ct-link, #603d85); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .sobre-titulo { color: var(--ct-link, #8963ab); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .candidato-banner .sobre-titulo { color: var(--ct-tint, #dfc9f4); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) input:not([type=hidden]),
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) textarea,
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) select { border-color: rgba(var(--ct-hero, 28, 6, 67), .31); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) input:not([type=hidden]):focus-visible,
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) textarea:focus-visible,
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) select:focus-visible { border-color: var(--ct-secondary, #a432f9); outline-color: var(--ct-tint, #e8dcf4); }
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) a:focus-visible,
#candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) button:focus-visible { outline-color: var(--ct-secondary, #a97dd5); }
@media (max-width: 700px) {
    #candidato-login.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .candidato-banner::before {
        background: linear-gradient(105deg, rgba(var(--ct-hero, 28, 6, 67), .88), rgba(var(--ct-hero, 28, 6, 67), .58));
    }
}
/* O CSS compilado do legado também contém cores literais nestes componentes. */
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]):not(#candidato-login) { color: var(--ct-primary); }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) :is(.clr-blue-100, .clr-blue-200) { color: var(--ct-primary) !important; }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .clr-purple-200 { color: var(--ct-link) !important; }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .clr-tomato { color: var(--ct-accent) !important; }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) :is(#menu-lateral, #menu-lateral > div:first-child, #cssmenu li:not(.active), .rich-table-subheader, .rich-table-subheadercell, .rich-table-header > th.rich-table-headercell) { background-color: var(--ct-primary); }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral a { color: white; }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral li.active > a { color: var(--ct-primary) !important; }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral a:hover { color: var(--ct-accent) !important; }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) :is(.rich-calendar-header, .rich-calendar-toolfooter, .rich-mpnl-controls:hover, .rich-tabhdr-cell-inactive) { background-color: var(--ct-secondary); }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) :is(.bloco-progresso .commandbutton, .item-menu-usuario .badge) { background-color: var(--ct-accent); }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .commandbutton { border-color: var(--ct-secondary); }
body.candidato-tema:not([data-tema-candidato="ROXO_TOMATO"]) .btn-login { color: white; }
/* O cadastro carrega CSS compilado com cores fixas e !important.
   Os estados do menu usam pares de fundo/texto, inclusive no modo recolhido. */
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #footerBlock,
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) :is(.main-panel, .header-content, .title-section, .commandbutton, select, input[type=text], input[type=password], textarea) {
    color: var(--ct-primary) !important;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) .title-section { border-color: var(--ct-primary); }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) .rich-table { border-bottom-color: var(--ct-primary); }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) :is(.list-row-even, .rich-table > tbody > tr:nth-child(even)) { background-color: var(--ct-tint) !important; }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) :is(.list-row-even, .list-row-odd):hover { background-color: var(--ct-bg) !important; }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) .commandbutton:hover,
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) .bloco-progresso .commandbutton {
    background-color: var(--ct-accent); color: white !important; border-color: var(--ct-accent);
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) .btn-salvar { background-color: var(--ct-primary); color: white !important; border-color: var(--ct-primary); }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) :is(.rich-mpnl-header, .rich-calendar-header, .rich-calendar-toolfooter) { background-color: var(--ct-primary); color: white; }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) input::placeholder { color: var(--ct-primary); }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral > div:first-child,
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li,
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li.has-active {
    background-color: var(--ct-primary) !important;
}
/* Preserva os recortes e os raios entre itens definidos pelo menu do sistema. */
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li > a {
    box-sizing: border-box; background-color: transparent; color: white !important;
}
/* Como no menu do sistema, só o cabeçalho aberto pinta o próprio fundo.
   Nos demais itens o fundo pertence ao LI, cujos cantos formam os recortes. */
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li.has-sub.open > a {
    background-color: var(--ct-primary);
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu .has-sub > ul { width: 100%; }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu .has-sub > ul > li > a {
    width: 83%; margin-left: 17%;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu .has-sub > ul > li > a::before { left: 8px; }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li > a span {
    min-width: 0; white-space: normal; line-height: 1.4;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li.active:not(.has-sub) {
    background-color: white !important;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li.has-active:not(.open),
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li.has-sub.open:has(.active:first-child) {
    background-color: transparent !important;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li.active:not(.has-sub) > a {
    background-color: transparent; color: var(--ct-accent) !important;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li.has-active:not(.open) > a {
    background-color: white; color: var(--ct-accent) !important;
}
/* A cápsula menor pertence só ao hover/foco, sem alterar a faixa ativa. */
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li:not(.active):not(.has-active:not(.open)) > a:is(:hover, :focus-visible) {
    width: calc(100% - 12px); margin-right: 12px; border-radius: 999px !important;
    background-color: var(--ct-tint); color: var(--ct-primary) !important;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu .has-sub > ul > li:not(.active):not(.has-active:not(.open)) > a:is(:hover, :focus-visible) {
    width: calc(83% - 12px);
}
/* Este título desenha a curva acima do primeiro subitem ativo.
   Ele precisa cobrir o gradiente branco do UL inclusive durante o hover. */
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li.has-sub.open:has(> ul > li.active:first-child) > a {
    width: 100%; margin-right: 0; background-color: var(--ct-primary); color: white !important;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li > a:focus-visible { outline: 2px solid white; outline-offset: -2px; }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li > a i::before {
    background-color: currentColor !important;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #cssmenu li > a span::after {
    color: inherit !important; background: transparent !important;
}
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral #logo-div { background: conic-gradient(from 130deg, var(--ct-secondary), var(--ct-accent), var(--ct-secondary)); }
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral .arrow-menu,
body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) #menu-lateral.float-menu .pin:hover::after { background-color: var(--ct-accent); color: white; }
@media (max-width: 768px) {
    body.candidato-cadastro:not([data-tema-candidato="ROXO_TOMATO"]) div:has(> #menu-lateral) { background-color: var(--ct-primary); }
}

/* Seletor nativo JSF: teclado, validação e envio seguem o formulário existente. */
.tema-candidato-config { padding: 16px; margin-bottom: 20px; border: 1px solid #e8dcf4; border-radius: 12px; }
.tema-candidato-config h4 { margin: 0 0 12px; }
.tema-candidato-config p { font-size: 12px; }
.tema-candidato-resumo { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; }
.tema-candidato-resumo::before { content: ""; width: 64px; height: 22px; border-radius: 6px; background: linear-gradient(90deg, var(--ct-primary) 0% 40%, var(--ct-secondary) 40% 70%, var(--ct-accent) 70%); }
.tema-candidato-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 300px); max-width: 1240px; gap: 24px; align-items: start; margin-top: 16px; }
.tema-candidato-preview-painel { position: sticky; top: 20px; min-width: 0; }
.tema-candidato-preview-painel > p { color: #716879; line-height: 1.6; margin-bottom: 0; }
.temas-candidato-opcoes { width: 100%; border: 0; margin: 0; }
.temas-candidato-opcoes tbody { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.temas-candidato-opcoes tr { display: block; min-width: 0; }
.temas-candidato-opcoes td { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: center; gap: 8px; box-sizing: border-box; width: 100%; height: 100%; padding: 10px; border: 2px solid #eee; border-radius: 10px; background: white; }
.temas-candidato-opcoes input[type=radio] { margin: 0; }
.temas-candidato-opcoes td:has(input:checked) { border-color: var(--ct-primary); box-shadow: 0 0 0 2px var(--ct-tint); }
.temas-candidato-opcoes label { display: block; min-width: 0; margin: 0; cursor: pointer; font-size: 12px; line-height: 1.5; color: #30303b; overflow-wrap: anywhere; }
.temas-candidato-opcoes label::before { content: ""; display: block; height: 24px; margin-bottom: 8px; border-radius: 6px; background: linear-gradient(90deg, var(--ct-primary) 0% 40%, var(--ct-secondary) 40% 70%, var(--ct-accent) 70%); }
.tema-candidato-previa { max-width: 300px; font-size: 12px; border: 1px solid var(--ct-tint); border-radius: 12px; overflow: hidden; }
.tema-candidato-faixa { padding: 16px; background: var(--ct-primary); color: white; }
.tema-candidato-exemplo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px; background: var(--ct-bg); color: var(--ct-primary); }
.tema-candidato-exemplo > strong { width: 100%; }
.tema-candidato-etiqueta { background: var(--ct-tint); color: var(--ct-link); border-radius: 20px; padding: 6px 12px; }
.tema-candidato-campo { width: 100%; padding: 9px; background: white; border: 1px solid var(--ct-secondary); outline: 3px solid var(--ct-tint); border-radius: 8px; }
.tema-candidato-entrar, .tema-candidato-cadastrar { padding: 8px 16px; border-radius: 8px; color: white; font-weight: bold; }
.tema-candidato-entrar { background: var(--ct-primary); }
.tema-candidato-cadastrar { background: var(--ct-accent); }
@media (max-width: 1300px) {
    .tema-candidato-editor { grid-template-columns: minmax(0, 1fr); }
    .tema-candidato-preview-painel { position: static; }
}
@media (max-width: 800px) {
    .temas-candidato-opcoes tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 440px) {
    .temas-candidato-opcoes tbody { grid-template-columns: minmax(0, 1fr); }
}
