/* MUNICIPALIDAD DE SALTA - FORMULARIOS ADMINISTRATIVOS V3 */
body.muni-v2 .muni-form-page-card{width:100%;margin-bottom:24px;padding:18px;border:1px solid var(--muni-border-soft);border-radius:var(--muni-radius-lg);background:var(--muni-surface);box-shadow:var(--muni-shadow-sm);box-sizing:border-box}body.muni-v2 #fedar{width:100%;margin:0}body.muni-v2 .titular22{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:50px;margin:16px 0 8px;padding:12px 48px 12px 16px;border:1px solid var(--muni-border-soft);border-left:4px solid var(--muni-primary);border-radius:var(--muni-radius);background:var(--muni-surface);box-shadow:var(--muni-shadow-xs);cursor:pointer;box-sizing:border-box}body.muni-v2 .titular22:hover,body.muni-v2 .titular22.is-open{border-color:var(--muni-primary-border);background:var(--muni-primary-soft);box-shadow:var(--muni-shadow-sm)}body.muni-v2 .titular22 h1{margin:0;color:var(--muni-text-strong);font-size:14px;font-weight:700}body.muni-v2 .muni-section-toggle-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:var(--muni-radius-sm);background:var(--muni-primary-light);color:var(--muni-primary);font-size:15px}body.muni-v2 .muni-section-toggle-chevron{position:absolute;top:50%;right:16px;transform:translateY(-50%);color:var(--muni-primary)}body.muni-v2 .titular22.is-open .muni-section-toggle-chevron{transform:translateY(-50%) rotate(180deg)}
body.muni-v2 .cls_product-tablef{width:100%;margin:0 0 16px;border:1px solid var(--muni-border-soft);border-radius:var(--muni-radius);border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--muni-surface);box-shadow:var(--muni-shadow-xs)}body.muni-v2 .cls_product-tablef>tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%}body.muni-v2 .cls_product-tablef>tbody>tr{display:grid;grid-template-columns:1fr;align-content:start;min-width:0;padding:12px 14px;border-bottom:1px solid var(--muni-border-soft);background:var(--muni-surface)!important;box-sizing:border-box}body.muni-v2 .cls_product-tablef>tbody>tr:nth-child(odd){border-right:1px solid var(--muni-border-soft)}body.muni-v2 .cls_product-tablef>tbody>tr:hover{background:var(--muni-primary-soft)!important}body.muni-v2 .cls_product-tablef>tbody>tr>th,body.muni-v2 .cls_product-tablef>tbody>tr>td{display:block;width:100%!important;min-width:0;height:auto!important;margin:0;padding:0!important;border:0!important;background:transparent!important;color:var(--muni-text);text-align:left!important;box-sizing:border-box}body.muni-v2 .cls_product-tablef>tbody>tr>th{margin-bottom:7px;color:var(--muni-text-strong);font-size:12px;font-weight:700}body.muni-v2 .cls_product-tablef>tbody>tr>td+td{margin-top:6px}
body.muni-v2 .cls_product-tablef input[type=text],body.muni-v2 .cls_product-tablef input[type=password],body.muni-v2 .cls_product-tablef input[type=number],body.muni-v2 .cls_product-tablef input[type=date],body.muni-v2 .cls_product-tablef input[type=file],body.muni-v2 .cls_product-tablef select,body.muni-v2 .cls_product-tablef textarea{display:block;width:100%!important;max-width:100%;min-width:0;min-height:40px;margin:0;padding:8px 11px!important;border:1px solid var(--muni-border-strong)!important;border-radius:var(--muni-radius-sm)!important;background:var(--muni-surface)!important;color:var(--muni-text)!important;font:12px var(--muni-font-family)!important;box-sizing:border-box!important}body.muni-v2 .cls_product-tablef textarea{min-height:90px;resize:vertical}body.muni-v2 .cls_product-tablef input:focus,body.muni-v2 .cls_product-tablef select:focus,body.muni-v2 .cls_product-tablef textarea:focus{outline:none!important;border-color:var(--muni-border-focus)!important;box-shadow:0 0 0 3px rgba(13,111,194,.12)!important}body.muni-v2 .cls_product-tablef input[disabled],body.muni-v2 .cls_product-tablef input[readonly]{background:var(--muni-surface-muted)!important;color:var(--muni-text-muted)!important}body.muni-v2 .cls_product-tablef label.error,body.muni-v2 .cls_product-tablef em.error{display:block;margin-top:5px;color:var(--muni-danger)!important;font-size:10px;font-weight:600}body.muni-v2 .cls_product-tablef a{color:var(--muni-primary);font-weight:600}
body.muni-v2 .cls_product-tablef>tbody>tr[style*=yellow]{background:var(--muni-warning-light)!important}body.muni-v2 .cls_product-tablef>tbody>tr[style*="#bcf5f3"]{background:var(--muni-info-light)!important}body.muni-v2 #tbl_dat_gen>tbody:last-of-type{margin-top:14px;border-top:3px solid var(--muni-info)}body.muni-v2 #tab_domicilio>tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-bottom:8px solid var(--muni-surface-muted)}body.muni-v2 #tab_domicilio>tbody>tr{display:grid;grid-template-columns:1fr;padding:12px 14px;border-bottom:1px solid var(--muni-border-soft);background:var(--muni-surface)!important}body.muni-v2 #tab_domicilio>tbody>tr:nth-child(odd){border-right:1px solid var(--muni-border-soft)}body.muni-v2 #tab_domicilio>tfoot td,body.muni-v2 .cls_product-tablef>tfoot td,body.muni-v2 .cls_product-tablef>tfoot th{padding:16px!important;border:0!important;background:var(--muni-surface-muted)!important;text-align:center!important}body.muni-v2 .action-del.deldom{display:inline-flex;align-items:center;justify-content:center;float:none!important;width:34px;height:34px;margin:8px 0 0!important;border-radius:var(--muni-radius-sm);background:var(--muni-danger-light);cursor:pointer}body.muni-v2 .action-del.deldom:before{content:"\f5de";color:var(--muni-danger);font-family:"bootstrap-icons";font-size:15px}body.muni-v2 #tbl_dat_usuario_global td,body.muni-v2 #tbl_dat_usuario_global th{background:transparent!important}body.muni-v2 #btn_cobrar,body.muni-v2 #btn_cancelar{min-width:190px;min-height:42px;margin:0 5px}
@media(max-width:1100px){body.muni-v2 .cls_product-tablef>tbody,body.muni-v2 #tab_domicilio>tbody{grid-template-columns:1fr}body.muni-v2 .cls_product-tablef>tbody>tr,body.muni-v2 #tab_domicilio>tbody>tr{border-right:0!important}}@media(max-width:700px){body.muni-v2 .muni-form-page-card{padding:12px}body.muni-v2 .muni-page-header{align-items:stretch;flex-direction:column}body.muni-v2 .muni-action-bar-right,body.muni-v2 .muni-action-bar-right .muni-btn{width:100%}body.muni-v2 #btn_cobrar,body.muni-v2 #btn_cancelar{display:block;width:100%!important;margin:6px 0}}

/* ============================================================
   AJUSTES PARA FORMULARIOS DINÁMICOS DE MOVIMIENTOS

   Agregar al final de:
   municipal-formularios-v3.css

   Motivo:
   El formulario de movimientos necesita una distribución de datos
   generales en dos filas, una autorización compacta y selectores
   Alta/Baja más claros. Son componentes reutilizables para ajustes,
   transferencias, devoluciones y otros movimientos de stock.
============================================================ */

/* ============================================================
   DATOS GENERALES EN DOS FILAS
============================================================ */

body.muni-v2 .muni-adjustment-general-layout {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

body.muni-v2 .muni-adjustment-general-row {
    display: grid;
    grid-template-columns:
        minmax(150px, .65fr)
        minmax(260px, 1.15fr)
        minmax(260px, 1.15fr);
    gap: 16px;
    width: 100%;
    align-items: end;
}

body.muni-v2 .muni-adjustment-observation-row {
    width: 100%;
}

body.muni-v2 .muni-adjustment-observation-row .muni-form-field {
    width: 100%;
}

body.muni-v2 .muni-adjustment-observation-row .muni-textarea {
    width: 100% !important;
    min-height: 86px;
}


/* ============================================================
   SELECTORES DE MOVIMIENTO ALTA / BAJA
============================================================ */

body.muni-v2 .muni-movement-cell {
    padding: 8px !important;
    text-align: center !important;
    vertical-align: middle !important;
}

body.muni-v2 .muni-movement-cell.is-active {
    background: transparent !important;
}

body.muni-v2 .muni-movement-selector {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 92px;
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid var(--muni-border-strong);
    border-radius: 10px;
    background: var(--muni-surface);
    color: var(--muni-text-muted);
    cursor: pointer;
    box-sizing: border-box;
    transition:
        border-color var(--muni-transition-fast),
        background var(--muni-transition-fast),
        color var(--muni-transition-fast),
        box-shadow var(--muni-transition-fast),
        transform var(--muni-transition-fast);
}

body.muni-v2 .muni-movement-selector:hover {
    transform: translateY(-1px);
    border-color: var(--muni-primary);
    box-shadow: var(--muni-shadow-xs);
}

body.muni-v2 .muni-movement-selector input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

body.muni-v2 .muni-movement-radio {
    position: relative;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    border: 2px solid var(--muni-border-strong);
    border-radius: 50%;
    background: var(--muni-surface);
    box-sizing: border-box;
}

body.muni-v2 .muni-movement-radio::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    transform: translate(-50%, -50%) scale(0);
    transition: transform var(--muni-transition-fast);
}

body.muni-v2 .muni-movement-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}

body.muni-v2 .muni-movement-label {
    font-size: 11px;
    font-weight: 700;
}

body.muni-v2 .muni-movement-selector-high {
    color: var(--muni-success);
}

body.muni-v2 .muni-movement-selector-low {
    color: var(--muni-danger);
}

body.muni-v2 .muni-movement-selector-high input:checked ~ .muni-movement-radio {
    border-color: var(--muni-success);
}

body.muni-v2 .muni-movement-selector-low input:checked ~ .muni-movement-radio {
    border-color: var(--muni-danger);
}

body.muni-v2 .muni-movement-selector input:checked ~ .muni-movement-radio::after {
    transform: translate(-50%, -50%) scale(1);
}

body.muni-v2 .muni-movement-selector-high:has(input:checked) {
    border-color: var(--muni-success-border);
    background: var(--muni-success-light);
    color: var(--muni-success);
    box-shadow: 0 0 0 3px rgba(30, 155, 94, .08);
}

body.muni-v2 .muni-movement-selector-low:has(input:checked) {
    border-color: var(--muni-danger-border);
    background: var(--muni-danger-light);
    color: var(--muni-danger);
    box-shadow: 0 0 0 3px rgba(220, 53, 69, .08);
}

/* Compatibilidad visual para navegadores sin :has */
body.muni-v2 .muni-movement-cell.is-active .muni-movement-selector-high {
    border-color: var(--muni-success-border);
    background: var(--muni-success-light);
    color: var(--muni-success);
}

body.muni-v2 .muni-movement-cell.is-active .muni-movement-selector-low {
    border-color: var(--muni-danger-border);
    background: var(--muni-danger-light);
    color: var(--muni-danger);
}


/* ============================================================
   ACCIÓN DE ELIMINAR FILA
============================================================ */

body.muni-v2 .muni-row-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--muni-danger-border);
    border-radius: 10px;
    background: var(--muni-danger-light);
    color: var(--muni-danger);
    font-size: 14px;
    cursor: pointer;
    box-sizing: border-box;
    transition:
        transform var(--muni-transition-fast),
        background var(--muni-transition-fast),
        box-shadow var(--muni-transition-fast);
}

body.muni-v2 .muni-row-delete-btn:hover {
    transform: translateY(-1px);
    background: #ffe1e5;
    box-shadow: var(--muni-shadow-xs);
}


/* ============================================================
   AUTORIZACIÓN COMPACTA
============================================================ */

body.muni-v2 .muni-authorization-row {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    align-items: end;
    gap: 18px;
    width: 100%;
}

body.muni-v2 .muni-authorization-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

body.muni-v2 .muni-authorization-field > label:first-child {
    color: var(--muni-text-strong);
    font-size: 12px;
    font-weight: 700;
}

body.muni-v2 .muni-authorization-input-wrap {
    position: relative;
    width: min(100%, 360px);
}

body.muni-v2 .muni-authorization-input-wrap > i {
    position: absolute;
    top: 50%;
    left: 12px;
    z-index: 2;
    transform: translateY(-50%);
    color: var(--muni-primary);
    pointer-events: none;
}

body.muni-v2 .muni-authorization-input-wrap .muni-input {
    width: 100% !important;
    min-height: 42px;
    padding-left: 36px !important;
}

body.muni-v2 .muni-authorization-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    white-space: nowrap;
}

body.muni-v2 .muni-authorization-actions .muni-btn {
    min-width: 150px;
    min-height: 42px;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 950px) {
    body.muni-v2 .muni-adjustment-general-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.muni-v2 .muni-adjustment-general-row .muni-form-field:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    body.muni-v2 .muni-adjustment-general-row {
        grid-template-columns: 1fr;
    }

    body.muni-v2 .muni-adjustment-general-row .muni-form-field:last-child {
        grid-column: auto;
    }

    body.muni-v2 .muni-authorization-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    body.muni-v2 .muni-authorization-input-wrap {
        width: 100%;
    }

    body.muni-v2 .muni-authorization-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.muni-v2 .muni-authorization-actions .muni-btn {
        width: 100%;
    }
}
