/* Acciones principales y control de contacto al final del perfil. */
.pv-page #acciones_perfil {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
}
.pv-page #acciones_perfil > button {
    width: 100%;
    min-width: 0;
}
.q-block-footer {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    padding: 26px 0 12px;
    margin-top: 12px;
    border-top: 1px solid var(--pv-border, #e6dfea);
}
.q-block-footer[hidden] { display: none !important; }
.pv-page #bloqueo_perfil.q-block-footer-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: auto;
    min-height: 44px;
    height: auto;
    padding: 11px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: var(--pv-muted, #716a80);
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}
.pv-page #bloqueo_perfil.q-block-footer-button svg { width: 17px; height: 17px; }
.pv-page #bloqueo_perfil.q-block-footer-button:not(:disabled):hover {
    color: var(--pv-rose, #a94d70);
    background: var(--pv-soft, #f6edf8);
    border-color: var(--pv-border, #e6dfea);
    transform: none;
}
.pv-page #bloqueo_perfil.q-block-footer-button.is-unblock { color: #267556; }
html[data-theme="dark"] .pv-page #bloqueo_perfil.q-block-footer-button.is-unblock { color: #a7e4c4; }

/* El diálogo se adapta a pantallas pequeñas y conserva el desplazamiento. */
#modal_bloqueo {
    width: min(560px, calc(100% - 28px));
    max-height: calc(100dvh - 28px);
    border-radius: 24px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
#modal_bloqueo .q-profile-dialog-body { padding: 30px; }
#modal_bloqueo_texto { color: #71617e; margin-bottom: 0; }
.q-block-fields { display: grid; gap: 10px; margin-top: 25px; }
.q-block-label { color: inherit; font-size: 14px; font-weight: 650; line-height: 1.5; }
.q-block-label > span { color: #a94d70; }
#modal_bloqueo :is(select, textarea) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #dcd1e4;
    border-radius: 13px;
    background: #fcfafd;
    color: #30243c;
    padding: 13px 14px;
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
}
#modal_bloqueo select { min-height: 48px; cursor: pointer; text-overflow: ellipsis; }
#modal_bloqueo textarea { resize: vertical; min-height: 110px; max-height: 260px; }
#modal_bloqueo textarea::placeholder { color: #91839d; }
#modal_bloqueo :is(select, textarea):focus-visible {
    outline: 3px solid #a880d455;
    outline-offset: 2px;
    border-color: #a880d4;
}
#modal_bloqueo :is(select, textarea)[aria-invalid="true"] { border-color: #ad3553; }
#modal_bloqueo :is(select, textarea):disabled { opacity: .6; cursor: wait; }
#modal_bloqueo .q-block-help {
    min-height: 20px;
    margin: 0;
    color: #71617e;
    font-size: 12px;
    line-height: 1.5;
}
.q-block-details-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; }
#detalles_bloqueo_opcional { font-size: 11px; color: #71617e; }
.q-block-details-foot { display: flex; align-items: start; justify-content: space-between; gap: 16px; color: #71617e; font-size: 11px; line-height: 1.5; }
#contador_detalles_bloqueo { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.q-block-effects { margin: 22px 0 16px; padding: 14px 16px; border-radius: 12px; background: #f8f4fa; }
.q-block-effects summary { cursor: pointer; font-size: 13px; font-weight: 600; }
#modal_bloqueo .q-block-effects ul { margin: 14px 0 0; }
#modal_bloqueo .q-block-effects li { font-size: 12px; }
#modal_bloqueo .q-profile-dialog-note { font-size: 12px; line-height: 1.6; }
.q-block-retry { justify-self: start; border: 0; padding: 4px 0; color: #8051b2; background: none; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
#modal_bloqueo .q-profile-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#modal_bloqueo .q-profile-dialog-actions button { justify-content: center; min-height: 46px; font-weight: 600; }
#modal_bloqueo button:disabled { opacity: .5; cursor: not-allowed; }
#modal_bloqueo[aria-busy="true"] .q-profile-confirm { cursor: wait; }
html[data-theme="dark"] #modal_bloqueo :is(select, textarea) { background: #191220; color: #f6edf9; border-color: #50345f; color-scheme: dark; }
html[data-theme="dark"] #modal_bloqueo :is(.q-block-help, .q-block-details-foot, #detalles_bloqueo_opcional, #modal_bloqueo_texto) { color: #c0accd; }
html[data-theme="dark"] .q-block-effects { background: #2d2039; }
html[data-theme="dark"] .q-block-retry { color: #d4afff; }
@media (max-width: 480px) {
    #modal_bloqueo .q-profile-dialog-body { padding: 23px 20px; }
    #modal_bloqueo h2 { font-size: 21px; }
    #modal_bloqueo :is(select, textarea) { font-size: 16px; }
    .q-block-details-foot { gap: 10px; }
}
