:root {
    color-scheme: dark;
    --fundo: #101010;
    --painel: #1b1b1b;
    --texto: #f7f4ec;
    --mudo: #c8c2b4;
    --linha: #3c3c3c;
    --ouro: #f0c14b;
    --ouro-texto: #1a1404;
    --ok: #b6f2c2;
    --erro: #ffb4b4;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--fundo);
    color: var(--texto);
    font-family: "Avenir Next", "Segoe UI", sans-serif;
    line-height: 1.4;
}

a { color: var(--ouro); }

button,
.botao,
input,
select {
    font: inherit;
}

button,
.botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 16px;
    border: 0;
    border-radius: 10px;
    background: var(--ouro);
    color: var(--ouro-texto);
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

button.secundario,
.botao.secundario {
    background: transparent;
    color: var(--texto);
    border: 1px solid var(--linha);
}

button.perigo,
.botao.perigo {
    background: transparent;
    color: var(--erro);
    border: 1px solid #6e3030;
}

input,
select {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--linha);
    border-radius: 10px;
    background: #0c0c0c;
    color: var(--texto);
}

label {
    display: grid;
    gap: 6px;
    font-weight: 700;
}

.topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--linha);
}

.topo a { font-weight: 700; text-decoration: none; }

.marca {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: inherit;
    font-weight: 700;
    text-decoration: none;
}

.marca-texto {
    display: grid;
    min-width: 0;
}

.marca-texto span {
    font-weight: 400;
    color: var(--mudo);
}

.logotipo {
    height: 40px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
}

.logotipo-grande {
    height: 80px;
    max-width: 240px;
}

.menu {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: min(1100px, calc(100% - 48px));
    margin: 16px auto 0;
}

.menu a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 6px 12px;
    border: 1px solid var(--linha);
    border-radius: 999px;
    color: var(--texto);
    text-decoration: none;
}

.menu a.ativo {
    background: var(--ouro);
    color: var(--ouro-texto);
    border-color: var(--ouro);
}

body.notebook main {
    width: min(1100px, calc(100% - 48px));
    margin: 24px auto 48px;
}

body.phone {
    background:
        radial-gradient(120% 42% at 50% -8%, #2c2618 0%, transparent 58%),
        var(--fundo);
}

body.phone main {
    width: min(440px, calc(100% - 32px));
    margin: 8px auto 48px;
}

body.phone h1 {
    margin: 0 0 8px;
    font-size: 1.85rem;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

body.phone h2 {
    margin: 0 0 8px;
    font-size: 1.45rem;
    line-height: 1.2;
}

body.phone .topo-jurado {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 16px 20px;
    border-bottom: 1px solid var(--linha);
}

body.phone .topo-jurado form {
    align-self: end;
}

body.phone .topo-jurado button {
    min-height: 36px;
    padding: 4px 12px;
    font-size: 0.9rem;
}

body.phone .marca {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

body.phone .logotipo {
    width: 64px;
    height: 64px;
    max-width: none;
    object-fit: contain;
    padding: 4px;
    border: 1px solid var(--linha);
    border-radius: 16px;
    background: #000;
}

body.phone .marca-texto {
    justify-items: center;
    gap: 4px;
}

body.phone .marca-texto strong {
    font-size: 1.15rem;
    line-height: 1.25;
    text-wrap: balance;
}

body.phone .marca-texto span {
    font-size: 0.95rem;
}

body.phone .kicker {
    margin: 18px 0 6px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.phone .espera {
    margin-top: 28px;
    padding: 36px 22px;
    text-align: center;
    background: var(--painel);
    border: 1px solid var(--linha);
    border-radius: 20px;
}

body.phone .espera .kicker {
    margin-top: 0;
}

body.phone .espera .aviso {
    margin: 14px 0 0;
    color: var(--ouro);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

body.phone .espera .agradecimento {
    color: var(--texto);
}

body.phone .numero {
    margin-top: 20px;
    font-size: 0.85rem;
    font-weight: 700;
}

body.phone #candidata-atual h2 {
    margin-top: 2px;
}

body.phone .quesito p {
    margin: 0 0 8px;
    font-weight: 700;
}

body.phone .contagem {
    color: var(--mudo);
}

body.phone .titulo-revisao {
    color: var(--ouro);
}

body.phone .numero-candidata {
    color: var(--ouro);
    font-size: 0.8em;
}

body.phone [data-nota] {
    color: var(--ouro);
    font-size: 1.2em;
}

body.phone .botao {
    width: 100%;
    margin-top: 8px;
}

body.phone .voltar {
    display: inline-flex;
    margin: 4px 0 8px;
    color: var(--mudo);
    font-weight: 700;
    text-decoration: none;
}

body.phone .bloco-consulta .quesito {
    margin: 4px 0;
}

body.phone .bloco-consulta .quesito p {
    margin: 0;
}

body.phone [data-aviso-ficha] {
    color: var(--ouro);
}

body.phone .encerradas {
    margin-top: 32px;
}

body.phone .consulta {
    padding: 0;
    list-style: none;
}

body.phone .consulta li {
    margin: 8px 0;
}

body.phone .entrada {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding-top: 28px;
    text-align: center;
}

body.phone .entrada .pilha {
    width: 100%;
    margin-top: 12px;
    text-align: left;
}

body.phone .entrada .erro {
    width: 100%;
    text-align: left;
}

body.phone .logotipo-entrada {
    width: 128px;
    height: 128px;
    margin-bottom: 8px;
    object-fit: contain;
}

.grade {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr);
    gap: 16px;
    min-width: 0;
}

.lista,
.corte { list-style: none; padding: 0; }

.lista li,
.bloco,
.subbloco {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    margin: 8px 0;
    background: var(--painel);
    border: 1px solid var(--linha);
    border-radius: 12px;
}

.bloco { display: block; }
.subbloco { display: block; }

.acoes,
.linha,
.pilha { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }

.pilha { flex-direction: column; align-items: stretch; }

.mudo { color: var(--mudo); }

.lista li.jurado {
    display: grid;
    align-items: stretch;
}

.jurado-linha {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.jurado-linha div {
    display: grid;
}

.jurado details {
    width: 100%;
}

.jurado summary {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 6px 12px;
    border: 1px solid var(--linha);
    border-radius: 10px;
    cursor: pointer;
}

.jurado summary::-webkit-details-marker { display: none; }

.jurado details[open] summary { margin-bottom: 12px; }

.cadastro-jurado {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    align-items: end;
    margin-top: 20px;
}

.erro {
    background: #3a1616;
    color: var(--erro);
    padding: 12px 16px;
    border-radius: 10px;
}

.ok { color: var(--ok); font-weight: 700; }

.aviso-rede {
    margin: 0;
    padding: 12px 16px;
    background: #3a1616;
    color: var(--erro);
    font-weight: 700;
}

.numero {
    margin: 0;
    font-size: 1rem;
    color: var(--ouro);
    letter-spacing: 0.08em;
}

.kicker { color: var(--mudo); margin-bottom: 0; }

.quesito { margin: 18px 0; }

.escala {
    display: flex;
    gap: 6px;
}

.escala button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 64px;
    padding: 0;
    font-size: 1.35rem;
    background: transparent;
    color: var(--texto);
    border: 2px solid var(--ouro);
}

.escala button[aria-pressed="true"] {
    background: var(--ouro);
    color: var(--ouro-texto);
}

:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
}

body.notebook .casca {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #101010;
    border-bottom: 1px solid var(--linha);
}

body.notebook .casca .topo {
    border-bottom: 0;
    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}

body.notebook .marca-bloco {
    display: grid;
    gap: 2px;
    min-width: 0;
}

body.notebook .marca-bloco .marca {
    font-size: 1.55rem;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

body.notebook .marca-bloco p {
    margin: 0;
    color: var(--mudo);
    font-size: 0.92rem;
}

body.notebook .casca .menu {
    margin-top: 0;
    padding: 0 0 14px;
    align-items: center;
    gap: 28px;
}

body.notebook .menu-grupo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

body.notebook .menu-rotulo {
    margin-right: 4px;
    color: var(--mudo);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.notebook .topo .logotipo {
    width: 56px;
    height: 56px;
    max-width: none;
    padding: 4px;
    object-fit: contain;
    border: 1px solid var(--linha);
    border-radius: 14px;
    background: #000;
}

body.notebook .marca-texto strong {
    font-size: 1.05rem;
    line-height: 1.25;
    text-wrap: balance;
}

body.notebook .marca-texto .selo {
    font-weight: 700;
    color: var(--mudo);
}

body.notebook h1 {
    margin: 0 0 6px;
    font-size: 1.7rem;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

body.notebook h2 {
    margin: 0 0 8px;
    font-size: 1.15rem;
}

body.notebook h3 {
    margin: 0;
    font-size: 1.05rem;
}

body.notebook .pagina {
    margin-bottom: 20px;
}

body.notebook .pagina p,
body.notebook .kicker {
    max-width: 66ch;
    margin: 0;
    color: var(--mudo);
}

body.notebook .kicker {
    margin-bottom: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.notebook .painel {
    margin: 0 0 16px;
    padding: 16px 18px 18px;
    background: var(--painel);
    border: 1px solid var(--linha);
    border-radius: 16px;
}

body.notebook .subpainel {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--linha);
}

body.notebook .subpainel-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
}

body.notebook .subpainel-topo h2,
body.notebook .subpainel-topo p {
    margin: 0;
}

body.notebook .duas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

body.notebook .campos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    align-items: end;
    margin-top: 12px;
}

body.notebook .campos-largo {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

body.notebook .campos button {
    justify-self: start;
    min-width: 160px;
}

body.notebook .aviso {
    margin: 0 0 16px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #2a2416;
    color: var(--ouro);
}

body.notebook .vazio {
    margin: 8px 0;
    color: var(--mudo);
}

body.notebook .selos {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

body.notebook .selo {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 8px;
    border: 1px solid var(--linha);
    border-radius: 999px;
    color: var(--mudo);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

body.notebook .selo-ativo {
    border-color: var(--ouro);
    background: var(--ouro);
    color: var(--ouro-texto);
}

body.notebook .selo-andamento {
    border-color: #8a6a22;
    color: var(--ouro);
}

body.notebook .selo-ok {
    border-color: #2f6a3e;
    color: var(--ok);
}

body.notebook .lista li {
    align-items: center;
}

body.notebook .painel .lista li {
    margin: 0;
    padding: 10px 0;
    background: transparent;
    border-width: 0 0 1px;
    border-radius: 0;
}

body.notebook .painel .lista li:last-child {
    border-bottom: 0;
}

body.notebook .lista li.evento-item,
body.notebook .lista li.jurado {
    display: grid;
    align-items: center;
}

body.notebook .lista li.evento-item {
    grid-template-columns: minmax(0, 1fr) auto;
}

body.notebook .numero-lista {
    color: var(--ouro);
    font-variant-numeric: tabular-nums;
}

body.notebook ol.ordem {
    margin: 8px 0 0;
    padding-left: 1.3rem;
}

body.notebook ol.ordem li {
    margin: 6px 0;
}

body.notebook .corte li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--linha);
}

body.notebook .numero-candidata {
    color: var(--ouro);
    font-size: 0.8em;
}

body.notebook .podio-media {
    margin: 0;
    color: var(--ouro);
    font-size: 1.2em;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

body.notebook .podio {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 12px;
    margin: 20px 0 8px;
}

body.notebook .podio-lugar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
}

body.notebook .podio-2 { grid-column: 1; }
body.notebook .podio-1 { grid-column: 2; }
body.notebook .podio-3 { grid-column: 3; }

body.notebook .podio-lugar .kicker {
    margin: 0;
}

body.notebook .podio-1 .kicker {
    color: var(--ouro);
}

body.notebook .podio-nome {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.25;
    text-wrap: balance;
}

body.notebook .podio-1 .podio-nome {
    font-size: 1.35rem;
}

body.notebook .podio-1 .podio-media {
    font-size: 1.6em;
}

body.notebook .podio-degrau {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 8px;
    border: 1px solid var(--linha);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    background: #242424;
    color: var(--mudo);
    font-size: 1.8rem;
    font-weight: 700;
}

body.notebook .podio-1 .podio-degrau {
    height: 140px;
    border-color: var(--ouro);
    background: linear-gradient(180deg, #3a2f12, #1f1a0c);
    color: var(--ouro);
    font-size: 2.6rem;
}

body.notebook .podio-2 .podio-degrau {
    height: 100px;
}

body.notebook .podio-3 .podio-degrau {
    height: 72px;
}

body.notebook .tempo-noite strong {
    color: var(--ouro);
}

body.notebook .tempo-filtro {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 12px;
    align-items: end;
    margin: 12px 0 8px;
    padding: 14px;
    border: 1px solid var(--linha);
    border-radius: 12px;
    background: #151515;
}

body.notebook .tempo-filtro label {
    color: var(--mudo);
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.notebook .tempo-filtro select {
    color: var(--texto);
    font-size: 0.95rem;
    letter-spacing: 0;
    text-transform: none;
}

body.notebook .tempo-categoria {
    margin-top: 20px;
}

body.notebook .tempo-categoria h3 {
    margin-bottom: 10px;
}

body.notebook #tempo,
body.notebook #auditoria {
    scroll-margin-top: 170px;
}

body.notebook .auditoria-filtro {
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
}

body.notebook .auditoria-tabela {
    width: 100%;
    margin-top: 8px;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.95rem;
}

body.notebook .auditoria-tabela thead th {
    padding: 8px 10px;
    border-bottom: 1px solid var(--linha);
    color: var(--mudo);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
}

body.notebook .auditoria-tabela thead th:nth-child(1) { width: 130px; }
body.notebook .auditoria-tabela thead th:nth-child(2) { width: 120px; }

body.notebook .auditoria-tabela td {
    padding: 9px 10px;
    border-bottom: 1px solid var(--linha);
    text-align: left;
    vertical-align: top;
}

body.notebook .auditoria-tabela tbody tr:last-child td {
    border-bottom: 0;
}

body.notebook .selo-voto {
    border-color: #2f6a3e;
    color: var(--ok);
}

body.notebook .selo-revisao {
    border-color: #8a6a22;
    color: var(--ouro);
}

body.notebook .selo-resultado {
    border-color: var(--ouro);
    background: var(--ouro);
    color: var(--ouro-texto);
}

body.notebook tr[data-auditoria="revisao"] td {
    background: #1f1a0e;
}

body.notebook .auditoria-notas {
    margin-top: 4px;
}

body.notebook .auditoria-notas summary {
    color: var(--ouro);
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
}

body.notebook .auditoria-notas ul {
    margin: 6px 0 0;
    padding-left: 1.1rem;
}

body.notebook .tempo-tabela {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.95rem;
}

body.notebook .tempo-tabela thead th:nth-child(1) { width: 22%; }
body.notebook .tempo-tabela thead th:nth-child(2) { width: 22%; }
body.notebook .tempo-tabela thead th:nth-child(3) { width: 18%; }
body.notebook .tempo-tabela thead th:nth-child(4) { width: 20%; }

body.notebook .tempo-tabela thead th {
    padding: 8px 10px;
    border-bottom: 1px solid var(--linha);
    color: var(--mudo);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
}

body.notebook .tempo-tabela td,
body.notebook .tempo-tabela tbody th {
    padding: 9px 10px;
    text-align: left;
    vertical-align: top;
}

body.notebook .tempo-tabela tbody th {
    font-weight: 700;
}

body.notebook .tempo-tabela tbody {
    border-bottom: 1px solid var(--linha);
}

body.notebook .tempo-tabela tbody:last-child {
    border-bottom: 0;
}

body.notebook .tempo-numero {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

body.notebook .tempo-jurado {
    color: var(--ouro);
    font-weight: 700;
}

body.notebook .logotipo-grande {
    display: block;
    width: 160px;
    height: 160px;
    max-width: none;
    margin-bottom: 12px;
    padding: 8px;
    object-fit: contain;
    border: 1px solid var(--linha);
    border-radius: 20px;
    background: #000;
}

body.notebook .entrada-admin {
    width: min(420px, 100%);
    margin: 32px auto;
}

body.notebook .entrada-jurado {
    width: 100%;
    margin-top: 32px;
}

body.notebook .acoes-noite {
    margin-bottom: 8px;
}

body.notebook input[type="file"] {
    padding: 8px;
}

body.notebook .identidade {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

body.notebook .situacao {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0;
    color: var(--mudo);
    font-size: 0.92rem;
}

body.notebook .situacao span + span::before {
    content: "·";
    margin-right: 14px;
    color: var(--linha);
}

body.notebook .situacao .ativa {
    color: var(--ouro);
    font-weight: 700;
}

body.notebook .situacao-grande {
    margin-bottom: 8px;
    font-size: 1.05rem;
}

body.notebook .campo-erro {
    margin: 0;
    color: var(--erro);
    font-size: 0.88rem;
    font-weight: 600;
}

body.notebook .ficha {
    margin: 12px 0 0;
    padding: 14px 16px 16px;
    border: 1px solid var(--linha);
    border-radius: 12px;
    background: #141414;
}

body.notebook .ficha h2,
body.notebook .ficha h3 {
    margin: 0;
}

body.notebook .ficha .campos {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
}

body.notebook .ficha-acoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}

body.notebook .ficha-acoes form {
    display: contents;
}

body.notebook .ficha-acoes button {
    min-width: 0;
    min-height: 40px;
    padding: 8px 16px;
}

body.notebook .sanfona summary .editar {
    flex: 0 0 auto;
    color: var(--ouro);
    font-weight: 700;
}

body.notebook .sanfona {
    margin: 8px 0 0;
    border: 1px solid var(--linha);
    border-radius: 12px;
    background: #141414;
}

body.notebook .candidata-incluir.campos {
    grid-template-columns: 110px minmax(0, 1.5fr) 120px minmax(0, 1fr) minmax(0, 1fr) 180px;
}

body.notebook .candidata-incluir button,
body.notebook .candidata-campos.campos {
    min-width: 0;
}

body.notebook .candidata-incluir button {
    width: 100%;
    justify-self: stretch;
}

body.notebook .candidata-campos.campos {
    grid-template-columns: 110px minmax(0, 1.5fr) 120px minmax(0, 1fr) minmax(0, 1fr);
}

body.notebook .jurado-incluir.campos,
body.notebook .sanfona.sanfona-jurado summary {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr) 180px;
}

body.notebook .jurado-incluir.campos {
    margin-right: 17px;
    margin-left: 17px;
}

body.notebook .jurado-incluir button {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
}

body.notebook .jurado-campos.campos {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr);
}

body.notebook .etapa-incluir.campos {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 180px;
    margin-right: 17px;
    margin-left: 17px;
}

body.notebook .etapa-incluir button {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
}

body.notebook .sanfona summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 180px;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 10px 16px;
    cursor: pointer;
    list-style: none;
}

body.notebook .sanfona summary::-webkit-details-marker {
    display: none;
}

body.notebook .sanfona summary .editar {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body.notebook .sanfona summary .editar::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--mudo);
    border-bottom: 2px solid var(--mudo);
    transform: rotate(45deg);
}

body.notebook .sanfona[open] summary .editar::after {
    transform: rotate(-135deg);
}

body.notebook .sanfona-corpo {
    display: grid;
    gap: 12px;
    padding: 0 16px 16px;
}

body.notebook .leitura {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

body.notebook .leitura li {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--linha);
}

body.notebook dialog.dialogo {
    width: min(420px, calc(100% - 32px));
    padding: 22px;
    border: 1px solid var(--linha);
    border-radius: 16px;
    background: var(--painel);
    color: var(--texto);
}

body.notebook dialog.dialogo::backdrop {
    background: rgb(0 0 0 / 62%);
}

body.notebook dialog.dialogo h2 {
    margin: 0 0 8px;
}

body.notebook dialog.dialogo p {
    margin: 0 0 16px;
}

body.notebook dialog.dialogo .acoes {
    justify-content: flex-end;
}

body.notebook dialog.dialogo button.perigo {
    background: #6e3030;
    color: #fff;
    border-color: #6e3030;
}

@media (max-width: 900px) {
    body.notebook .duas,
    body.notebook .grade,
    body.notebook .candidata-incluir.campos,
    body.notebook .candidata-campos.campos,
    body.notebook .jurado-incluir.campos,
    body.notebook .jurado-campos.campos {
        grid-template-columns: 1fr 1fr;
    }

    body.notebook .candidata-incluir button,
    body.notebook .jurado-incluir button {
        grid-column: 1 / -1;
        width: auto;
        justify-self: start;
        min-width: 160px;
    }
}

body.notebook .pagina-com-acao {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

body.impressao {
    color-scheme: light;
    background: #e9e6df;
    color: #1a1a1a;
}

.impressao-acoes {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 16px;
}

.impressao-folha {
    width: 210mm;
    min-height: 297mm;
    margin: 0 auto 24px;
    padding: 18mm 18mm 14mm;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.12);
}

.impressao-topo {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #b8902c;
}

.impressao-logotipo {
    width: 72px;
    height: 72px;
    padding: 4px;
    object-fit: contain;
    border-radius: 14px;
    background: #000;
}

.impressao-kicker {
    margin: 0;
    color: #8a6a1c;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.impressao-evento {
    margin: 2px 0 0;
    font-size: 1.15rem;
    font-weight: 700;
}

.impressao-folha h1 {
    margin: 22px 0 16px;
    font-size: 1.6rem;
    line-height: 1.2;
    text-wrap: balance;
}

.impressao-tabela {
    width: 100%;
    border-collapse: collapse;
    font-size: 1rem;
}

.impressao-tabela th {
    padding: 8px 10px;
    border-bottom: 2px solid #1a1a1a;
    color: #555;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
}

.impressao-tabela td {
    padding: 12px 10px;
    border-bottom: 1px solid #d8d3c8;
    vertical-align: top;
}

.impressao-titulo {
    font-weight: 700;
}

.impressao-numero {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.impressao-destaque td {
    background: #f8efd6;
    font-size: 1.1rem;
    font-weight: 700;
}

.impressao-destaque .impressao-titulo {
    color: #8a6a1c;
}

.impressao-rodape {
    margin-top: auto;
    padding-top: 24px;
    color: #555;
    font-size: 0.85rem;
}

.impressao-rodape p {
    margin: 0;
}

@page {
    size: A4;
    margin: 0;
}

@media print {
    body.impressao {
        background: #fff;
    }

    .impressao-acoes {
        display: none;
    }

    .impressao-folha {
        min-height: 100vh;
        margin: 0;
        box-shadow: none;
        break-after: page;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .impressao-folha:last-of-type {
        break-after: auto;
    }
}
