.aviso {
    --tinta: #843432;
    --fondo: #fff5f3;
    --borde: #e9c3bd;
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    box-sizing: border-box;
    margin: 0 0 1.25rem;
    padding: .85rem 1rem;
    border: 1px solid var(--borde);
    border-radius: 8px;
    background: var(--fondo);
    color: var(--tinta);
    font: 400 .9rem/1.5 system-ui, sans-serif;
    text-align: left;
    overflow-wrap: anywhere;
    scroll-margin-top: 5rem;
}
.aviso::before {
    content: "";
    flex: 0 0 1.15rem;
    height: 1.15rem;
    margin-top: .12rem;
    background: var(--tinta);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7.5v5m0 3h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.aviso-exito {
    --tinta: #285d46;
    --fondo: #f1f8f3;
    --borde: #bdd8c5;
}
.aviso-exito::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='m7.5 12 3 3 6-6'/%3E%3C/svg%3E");
}
.aviso-info {
    --tinta: #31566a;
    --fondo: #f1f7fa;
    --borde: #c4d9e2;
}
.aviso-info::before { transform: rotate(180deg); }
/* El acceso y el contenido del panel comparten la paleta de administración. */
main.contenedor .aviso,
section.contenedor > article .aviso {
    --tinta: #333;
    --fondo: #eef7fb;
    --borde: #2b94bb;
}
.aviso strong, .aviso span { display: block; font: inherit; }
.aviso strong { font-weight: 650; }
.aviso span { margin-top: .15rem; }
.aviso:focus-visible { outline: 2px solid var(--tinta); outline-offset: 2px; }
.aviso a { color: inherit; text-decoration: underline; }

.dialogo-panel {
    box-sizing: border-box;
    width: min(24rem, calc(100% - 2rem));
    margin: auto;
    padding: 1.5rem;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: white;
    color: #333;
    box-shadow: 0 12px 40px #0002;
    font: 1rem/1.5 system-ui, sans-serif;
    overflow-wrap: anywhere;
}
.dialogo-panel::backdrop { background: rgb(0 0 0 / 48%); }
.dialogo-panel:not([open]) { display: none; }
.dialogo-panel h2 { margin: 0; font: 650 1.2rem/1.4 system-ui, sans-serif; }
.dialogo-panel p { margin: .45rem 0 1.25rem; }
.dialogo-panel form { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; }
.dialogo-panel button {
    padding: .55rem .9rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: white;
    color: #333;
    font: inherit;
    cursor: pointer;
}
.dialogo-panel button[value="eliminar"] { background: #227797; color: white; border-color: #227797; }
.dialogo-panel button:focus-visible { outline: 2px solid #227797; outline-offset: 2px; }

[data-conservar] .textfieldRequiredState .textfieldRequiredMsg,
[data-conservar] .selectRequiredState .selectRequiredMsg {
    display: block;
    margin: -.8rem 0 1rem;
    padding: 0;
    border: 0;
    color: #333;
    font-size: .875rem;
}
[data-conservar] .textfieldRequiredState input,
[data-conservar] .selectRequiredState select { border-color: #2b94bb; background: #eef7fb; }
