/* Menú «⋯» de acciones de fila (core/js/fila_menu.js): un solo menú por página, fijo junto al botón. */
.fila-menu-btn {
    display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem;
    border-radius: 0.4375rem; border: 1px solid transparent; background: none; cursor: pointer;
    color: rgb(var(--c-txt-muted));
}
.fila-menu-btn svg { width: 1rem; height: 1rem; }
.fila-menu-btn:hover, .fila-menu-btn.activo { background: rgb(var(--c-muted-bg)); color: rgb(var(--c-txt)); }
.fila-menu-btn:focus-visible { outline: 2px solid rgb(var(--c-primary)); outline-offset: 1px; }
.th-menu, .td-menu { width: 2.5rem; text-align: right; }
.table-container td.td-menu { padding-top: 0; padding-bottom: 0; }

.fila-menu {
    position: fixed; z-index: 60; min-width: 13rem; max-width: calc(100vw - 16px);
    max-height: calc(100vh - 16px); overflow-y: auto; padding: 0.3125rem;
    background: rgb(var(--c-card)); border: 1px solid rgb(var(--c-stroke)); border-radius: 0.75rem;
    box-shadow: var(--shadow-pop); outline: none;
}
.fila-menu[hidden] { display: none; }
.fila-menu form { display: block; margin: 0; }
.fila-menu [role="menuitem"] {
    display: flex; align-items: flex-start; gap: 0.5rem; width: 100%; text-align: left;
    padding: 0.4375rem 0.625rem; border-radius: 0.5rem; border: 0; background: none; cursor: pointer;
    font-size: 0.8125rem; line-height: 1.25; color: rgb(var(--c-txt-2)); text-decoration: none;
}
.fila-menu [role="menuitem"] svg { width: 0.9375rem; height: 0.9375rem; flex: none; margin-top: 0.0625rem; }
.fila-menu [role="menuitem"]:hover, .fila-menu [role="menuitem"]:focus {
    background: rgb(var(--c-muted-bg)); color: rgb(var(--c-txt)); outline: none;
}
.fila-menu [role="menuitem"].peligro { color: rgb(var(--c-danger)); }
.fila-menu [role="menuitem"][aria-disabled="true"] { cursor: default; color: rgb(var(--c-txt-light)); }
.fila-menu [role="menuitem"][aria-disabled="true"]:hover { background: none; color: rgb(var(--c-txt-light)); }
.fila-menu .fila-menu-txt { display: flex; flex-direction: column; min-width: 0; }
.fila-menu .fila-menu-motivo { font-size: 0.6875rem; color: rgb(var(--c-txt-light)); margin-top: 0.0625rem; }
.fila-menu hr { border: 0; border-top: 1px solid rgb(var(--c-stroke)); margin: 0.3125rem 0.25rem; }
@media (max-width: 480px) {
    .fila-menu [role="menuitem"] { padding: 0.625rem 0.75rem; font-size: 0.875rem; }
}
