/* Complementos de disposição para os componentes existentes da UVT. */
.cadastros-area { margin-block: 2rem; }
.cadastros-cards, #cadastros-lista { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; }
.cadastros-area .acesso-card { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.cadastros-area fieldset { min-width:0; margin:20px 0; padding:16px; border:1px solid var(--cor-borda,var(--borda)); border-radius:13px; }
.cadastros-area legend { font-weight:700; padding:0 8px; }
.cadastros-area .campo { display:grid; gap:8px; margin:16px 0; }
.cadastros-area input:not([type=checkbox]), .cadastros-area textarea, .cadastros-area select { box-sizing:border-box; width:100%; padding:12px; border:1px solid var(--cor-borda,var(--borda)); border-radius:10px; background:var(--cor-fundo,var(--fundo)); color:var(--cor-texto,var(--texto)); font:inherit; }

.cadastros-check { display:flex; align-items:center; gap:8px; margin:8px 0; }
/* Não herdar largura total e altura dos campos de texto da Minha Conta. */
.cadastros-area .cadastros-check { min-height:44px; gap:12px; cursor:pointer; }
.cadastros-area .cadastros-check input[type=checkbox] { flex:0 0 20px; width:20px; height:20px; min-height:20px; padding:0; }
.cadastros-roteiro { display:flex; gap:8px; margin:8px 0; }
.cadastros-detalhes { display:grid; gap:16px; }
.cadastros-detalhes dt { font-weight:700; }
.cadastros-detalhes dd { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.cadastros-area button { cursor:pointer; }
.cadastros-area button:disabled { opacity:.55; cursor:wait; }
.cadastros-area .hero__botoes { display:flex; flex-wrap:wrap; gap:12px; }
@media(max-width:520px) { .cadastros-roteiro { flex-direction:column; } }

#cadastro-historico { white-space:pre-wrap; overflow-wrap:anywhere; }
#cadastros-admin-lista { display:grid; gap:16px; margin-block:20px; }

/* Modal nativo: top layer, foco contido e fundo inerte sem alterar a identidade UVT. */
button.acesso-card { font:inherit; text-align:left; cursor:pointer; }
.cadastros-dialog { box-sizing:border-box; width:min(940px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--cor-borda); border-radius:var(--raio); background:var(--cor-fundo-secundario); color:var(--cor-texto); box-shadow:var(--sombra); }
.cadastros-dialog[open] { display:flex; flex-direction:column; }
.cadastros-dialog::backdrop { background:rgba(0,0,0,.72); }
.cadastros-dialog__topo { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; border-bottom:1px solid var(--cor-borda); flex-shrink:0; }
.cadastros-dialog__topo h2 { margin:0; font-size:1.3rem; }
.cadastros-dialog__corpo { padding:20px; overflow-y:auto; overscroll-behavior:contain; }
.cadastros-dialog .acesso-card { background:var(--cor-painel); }
.cadastros-modal-aberto { overflow:hidden; }
.cadastros-resumo { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--cor-borda); }
#cadastros-lista { display:block; }
@media(max-width:600px) { .cadastros-dialog { width:calc(100% - 12px); max-height:calc(100dvh - 12px); border-radius:13px; } .cadastros-dialog__corpo { padding:12px; } .cadastros-dialog__topo { padding:12px; } .cadastros-resumo { align-items:stretch; flex-direction:column; } }

.cadastros-dialog { margin:auto; }

/* Contraste explícito: supera .campo select option da Minha Conta.
   Fundo/texto usam a paleta UVT; color-scheme mantém a seta e popup nativos escuros. */
.cadastros-area .campo input:not([type=checkbox]),
.cadastros-area .campo textarea,
.cadastros-area .campo select {
    color-scheme: dark;
    color: #f6f8fb;
    -webkit-text-fill-color: #f6f8fb;
    background-color: #0a1626;
    border-color: #8190a0;
    opacity: 1;
}
.cadastros-area .campo select { appearance: auto; cursor: pointer; }
.cadastros-area .campo select option,
.cadastros-area .campo select optgroup {
    color: #f6f8fb;
    -webkit-text-fill-color: #f6f8fb;
    background-color: #0a1626;
}
.cadastros-area .campo select option:checked {
    color: #06101d;
    -webkit-text-fill-color: #06101d;
    background-color: #ffd36a;
}
.cadastros-area .campo input::placeholder,
.cadastros-area .campo textarea::placeholder {
    color: #b9c6d5;
    -webkit-text-fill-color: #b9c6d5;
    opacity: 1;
}
.cadastros-area .campo input:not(:disabled):hover,
.cadastros-area .campo textarea:not(:disabled):hover,
.cadastros-area .campo select:not(:disabled):hover { border-color: #b9c6d5; }
.cadastros-area .campo input:focus,
.cadastros-area .campo textarea:focus,
.cadastros-area .campo select:focus {
    outline: 3px solid #ffd36a;
    outline-offset: 3px;
    border-color: #ffd36a;
    box-shadow: none;
}
.cadastros-area .campo input:disabled,
.cadastros-area .campo textarea:disabled,
.cadastros-area .campo select:disabled,
.cadastros-area .campo select option:disabled {
    color: #b9c6d5;
    -webkit-text-fill-color: #b9c6d5;
    background-color: #152334;
    opacity: 1;
    cursor: not-allowed;
}
.cadastros-area .campo input[type=checkbox] { color-scheme: dark; accent-color: #ffd36a; }
@media (forced-colors: active) {
    .cadastros-area .campo input,
    .cadastros-area .campo textarea,
    .cadastros-area .campo select,
    .cadastros-area .campo select option {
        forced-color-adjust: auto;
        -webkit-text-fill-color: currentColor !important;
    }
    .cadastros-area .campo input:focus,
    .cadastros-area .campo textarea:focus,
    .cadastros-area .campo select:focus { outline-color: Highlight; }
}
