/* Contenedor base de la calculadora (aislado del tema) */
.crm-jac-calc {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background-color: #f5f7fa;
    color: #1f2937;
    line-height: 1.5;
    min-height: 100vh;
    --azul-jac: #0055A5;
    --azul-oscuro: #003d7a;
    --azul-claro: #e8f0fa;
    --gris-fondo: #f5f7fa;
    --gris-borde: #dce3ea;
    --gris-texto: #6b7280;
    --blanco: #ffffff;
    --negro-texto: #1f2937;
    --verde: #10b981;
    --rojo: #ef4444;
    --sombra: 0 2px 8px rgba(0, 0, 0, 0.06);
    --sombra-lg: 0 4px 16px rgba(0, 0, 0, 0.1);
    --radio: 12px;
    --radio-sm: 8px;
}
.crm-jac-calc *, .crm-jac-calc *::before, .crm-jac-calc *::after { box-sizing: border-box; }
.crm-jac-calc .contenedor { max-width: 1100px; margin: 0 auto; padding: 20px; }
.crm-jac-calc input, .crm-jac-calc select, .crm-jac-calc button { font-family: inherit; }
.crm-jac-calc *, .crm-jac-calc *::before, .crm-jac-calc *::after{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}:root{
    --azul-jac:       #0055A5;
    --azul-oscuro:    #003d7a;
    --azul-claro:     #e8f0fa;
    --gris-fondo:     #f5f7fa;
    --gris-borde:     #dce3ea;
    --gris-texto:     #6b7280;
    --blanco:         #ffffff;
    --negro-texto:    #1f2937;
    --verde:          #10b981;
    --rojo:           #ef4444;
    --sombra:         0 2px 8px rgba(0, 0, 0, 0.06);
    --sombra-lg:      0 4px 16px rgba(0, 0, 0, 0.1);
    --radio:          12px;
    --radio-sm:       8px;
}.crm-jac-calc{
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background-color: var(--gris-fondo);
    color: var(--negro-texto);
    line-height: 1.5;
    min-height: 100vh;
}.crm-jac-calc .contenedor{
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}.crm-jac-calc .encabezado{
    text-align: center;
    margin-bottom: 24px;
}.crm-jac-calc .encabezado h1{
    font-size: 1.6rem;
    color: var(--azul-jac);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.crm-jac-calc .encabezado .subtitulo{
    font-size: 0.85rem;
    color: var(--gris-texto);
    margin-top: 2px;
}.crm-jac-calc .resumen{
    margin-bottom: 24px;
}.crm-jac-calc .resumen h2{
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--gris-texto);
    margin-bottom: 12px;
    font-weight: 600;
}.crm-jac-calc .tarjeta-principal{
    background: linear-gradient(135deg, var(--azul-jac), var(--azul-oscuro));
    color: var(--blanco);
    border-radius: var(--radio);
    padding: 28px 32px;
    margin-bottom: 16px;
    box-shadow: var(--sombra-lg);
}.crm-jac-calc .tarjeta-principal .etiqueta{
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    opacity: 0.85;
    margin-bottom: 6px;
}.crm-jac-calc .tarjeta-principal .monto-grande{
    font-size: 2.4rem;
    font-weight: 800;
    letter-spacing: -0.5px;
}.crm-jac-calc .tarjetas-secundarias{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}.crm-jac-calc .tarjetas-terciarias{
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 16px;
}.crm-jac-calc .tarjeta-secundaria{
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    padding: 20px 24px;
    box-shadow: var(--sombra);
}.crm-jac-calc .tarjeta-secundaria .etiqueta{
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--gris-texto);
    margin-bottom: 4px;
}.crm-jac-calc .tarjeta-secundaria .monto{
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--azul-jac);
}.crm-jac-calc .tarjeta-secundaria .sub{
    font-size: 0.8rem;
    color: var(--gris-texto);
    margin-top: 2px;
}.crm-jac-calc .pestanas{
    display: flex;
    gap: 4px;
    margin-bottom: 0;
    background: var(--blanco);
    border-radius: var(--radio) var(--radio) 0 0;
    padding: 6px 8px 0 8px;
    border: 1px solid var(--gris-borde);
    border-bottom: none;
}.crm-jac-calc .pestana{
    padding: 12px 24px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--gris-texto);
    background: transparent;
    border: none;
    border-radius: var(--radio-sm) var(--radio-sm) 0 0;
    transition: all 0.2s;
    position: relative;
    bottom: -1px;
}.crm-jac-calc .pestana:hover{
    color: var(--azul-jac);
    background: var(--azul-claro);
}.crm-jac-calc .pestana.activa{
    color: var(--azul-jac);
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-bottom-color: var(--blanco);
}.crm-jac-calc .contenido-pestanas{
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-top: none;
    border-radius: 0 0 var(--radio) var(--radio);
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: var(--sombra);
}.crm-jac-calc .panel{
    display: none;
}.crm-jac-calc .panel.activo{
    display: block;
}.crm-jac-calc .grupo-campo{
    margin-bottom: 16px;
}.crm-jac-calc .grupo-campo label{
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--gris-texto);
    margin-bottom: 6px;
}.crm-jac-calc .grupo-campo input, .crm-jac-calc .grupo-campo select{
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio-sm);
    font-size: 0.9rem;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
    background: var(--blanco);
}.crm-jac-calc .grupo-campo input:focus, .crm-jac-calc .grupo-campo select:focus{
    outline: none;
    border-color: var(--azul-jac);
    box-shadow: 0 0 0 3px rgba(0, 85, 165, 0.12);
}.crm-jac-calc .fila-campos{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}.crm-jac-calc .grupo-toggle{
    margin-bottom: 20px;
}.crm-jac-calc .grupo-toggle .toggle-label{
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--gris-texto);
    display: block;
    margin-bottom: 8px;
}.crm-jac-calc .toggle-container{
    display: flex;
    gap: 0;
}.crm-jac-calc .toggle-opcion{
    flex: 1;
    padding: 10px;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid var(--gris-borde);
    background: var(--blanco);
    color: var(--gris-texto);
    transition: all 0.2s;
}.crm-jac-calc .toggle-opcion:first-child{
    border-radius: var(--radio-sm) 0 0 var(--radio-sm);
}.crm-jac-calc .toggle-opcion:last-child{
    border-radius: 0 var(--radio-sm) var(--radio-sm) 0;
}.crm-jac-calc .toggle-opcion.seleccionado{
    background: var(--azul-jac);
    color: var(--blanco);
    border-color: var(--azul-jac);
}.crm-jac-calc .grupo-botones{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}.crm-jac-calc .btn-tarifa{
    padding: 10px 16px;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio-sm);
    background: var(--blanco);
    color: var(--gris-texto);
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}.crm-jac-calc .btn-tarifa:hover{
    border-color: var(--azul-jac);
    color: var(--azul-jac);
}.crm-jac-calc .btn-tarifa.seleccionado{
    background: var(--azul-jac);
    color: var(--blanco);
    border-color: var(--azul-jac);
}.crm-jac-calc .grupo-slider{
    margin-bottom: 20px;
}.crm-jac-calc .grupo-slider .slider-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}.crm-jac-calc .grupo-slider .slider-label{
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--gris-texto);
}.crm-jac-calc .grupo-slider .slider-valor{
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--azul-jac);
}.crm-jac-calc input[type="range"]{
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: var(--gris-borde);
    outline: none;
}.crm-jac-calc input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--azul-jac);
    cursor: pointer;
    border: 2px solid var(--blanco);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    transition: transform 0.15s;
}.crm-jac-calc input[type="range"]::-webkit-slider-thumb:hover{
    transform: scale(1.1);
}.crm-jac-calc input[type="range"]::-moz-range-thumb{
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--azul-jac);
    cursor: pointer;
    border: 2px solid var(--blanco);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}.crm-jac-calc .segmentos{
    display: flex;
    gap: 0;
    margin-bottom: 20px;
}.crm-jac-calc .segmento{
    flex: 1;
    padding: 10px;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid var(--gris-borde);
    background: var(--blanco);
    color: var(--gris-texto);
    transition: all 0.2s;
}.crm-jac-calc .segmento:first-child{
    border-radius: var(--radio-sm) 0 0 var(--radio-sm);
}.crm-jac-calc .segmento:last-child{
    border-radius: 0 var(--radio-sm) var(--radio-sm) 0;
}.crm-jac-calc .segmento:hover{
    border-color: var(--azul-jac);
    color: var(--azul-jac);
}.crm-jac-calc .segmento.seleccionado{
    background: var(--azul-jac);
    color: var(--blanco);
    border-color: var(--azul-jac);
}.crm-jac-calc .tabla-contenedor{
    overflow-x: auto;
    margin-bottom: 24px;
}.crm-jac-calc .tabla-contenedor h3{
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--gris-texto);
    margin-bottom: 12px;
    font-weight: 600;
}.crm-jac-calc table{
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}.crm-jac-calc thead th{
    background: var(--azul-jac);
    color: var(--blanco);
    padding: 10px 14px;
    text-align: right;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}.crm-jac-calc thead th:first-child{
    text-align: center;
    border-radius: var(--radio-sm) 0 0 0;
}.crm-jac-calc thead th:last-child{
    border-radius: 0 var(--radio-sm) 0 0;
}.crm-jac-calc tbody td{
    padding: 10px 14px;
    text-align: right;
    border-bottom: 1px solid var(--gris-borde);
}.crm-jac-calc tbody td:first-child{
    text-align: center;
    font-weight: 600;
    color: var(--gris-texto);
}.crm-jac-calc tbody tr:hover{
    background: var(--azul-claro);
}.crm-jac-calc tbody tr:last-child td{
    border-bottom: none;
}.crm-jac-calc tfoot td{
    padding: 12px 14px;
    text-align: right;
    font-weight: 700;
    border-top: 2px solid var(--azul-jac);
    background: var(--azul-claro);
}.crm-jac-calc tfoot td:first-child{
    text-align: center;
    color: var(--azul-jac);
}.crm-jac-calc .acciones{
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    padding: 24px;
    text-align: center;
    box-shadow: var(--sombra);
}.crm-jac-calc .acciones p{
    font-size: 0.85rem;
    color: var(--gris-texto);
    margin-bottom: 16px;
}.crm-jac-calc .botones-accion{
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}.crm-jac-calc .btn{
    padding: 12px 28px;
    font-size: 0.9rem;
    font-weight: 600;
    border: none;
    border-radius: var(--radio-sm);
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
}.crm-jac-calc .btn-primario{
    background: var(--azul-jac);
    color: var(--blanco);
}.crm-jac-calc .btn-primario:hover{
    background: var(--azul-oscuro);
}.crm-jac-calc .btn-secundario{
    background: var(--blanco);
    color: var(--azul-jac);
    border: 1px solid var(--azul-jac);
}.crm-jac-calc .btn-secundario:hover{
    background: var(--azul-claro);
}.crm-jac-calc .btn-peligro{
    background: var(--blanco);
    color: var(--rojo);
    border: 1px solid var(--rojo);
    font-size: 0.8rem;
    padding: 8px 16px;
}.crm-jac-calc .btn-peligro:hover{
    background: #fef2f2;
}.crm-jac-calc .seccion-avanzada{
    margin-bottom: 24px;
}.crm-jac-calc .seccion-avanzada h4{
    font-size: 0.85rem;
    color: var(--azul-jac);
    margin-bottom: 12px;
    font-weight: 700;
}.crm-jac-calc .form-agregar{
    display: flex;
    gap: 10px;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 16px;
}.crm-jac-calc .form-agregar .grupo-campo{
    flex: 1;
    min-width: 180px;
    margin-bottom: 0;
}.crm-jac-calc .lista-modelos{
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio-sm);
}.crm-jac-calc .modelo-item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    border-bottom: 1px solid var(--gris-borde);
    font-size: 0.85rem;
}.crm-jac-calc .modelo-item:last-child{
    border-bottom: none;
}.crm-jac-calc .modelo-item:hover{
    background: var(--azul-claro);
}.crm-jac-calc .modelo-item .nombre{
    font-weight: 600;
    flex: 1;
}.crm-jac-calc .modelo-item .precio-input{
    width: 140px;
    padding: 6px 10px;
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio-sm);
    font-size: 0.85rem;
    text-align: right;
    margin-right: 8px;
    font-family: inherit;
}.crm-jac-calc .modelo-item .precio-input:focus{
    outline: none;
    border-color: var(--azul-jac);
}.crm-jac-calc .modelo-item .btn-guardar-precio{
    padding: 6px 14px;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--azul-jac);
    color: var(--blanco);
    border: none;
    border-radius: var(--radio-sm);
    cursor: pointer;
}.crm-jac-calc .modelo-item .btn-guardar-precio:hover{
    background: var(--azul-oscuro);
}.crm-jac-calc .tabla-tasas{
    width: 100%;
    font-size: 0.85rem;
}.crm-jac-calc .tabla-tasas td{
    padding: 8px 10px;
    border-bottom: 1px solid var(--gris-borde);
    text-align: left;
}.crm-jac-calc .tabla-tasas td:last-child{
    text-align: right;
}.crm-jac-calc .tabla-tasas .tasa-input{
    width: 100px;
    padding: 6px 10px;
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio-sm);
    font-size: 0.85rem;
    text-align: right;
    font-family: inherit;
}.crm-jac-calc .tabla-tasas .tasa-input:focus{
    outline: none;
    border-color: var(--azul-jac);
}.crm-jac-calc .modal-overlay{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    justify-content: center;
    align-items: center;
}.crm-jac-calc .modal-overlay.activo{
    display: flex;
}.crm-jac-calc .modal{
    background: var(--blanco);
    border-radius: var(--radio);
    padding: 32px;
    max-width: 480px;
    width: 90%;
    box-shadow: var(--sombra-lg);
    text-align: center;
}.crm-jac-calc .modal .icono{
    font-size: 3rem;
    margin-bottom: 12px;
}.crm-jac-calc .modal h3{
    color: var(--azul-jac);
    margin-bottom: 8px;
}.crm-jac-calc .modal p{
    color: var(--gris-texto);
    font-size: 0.9rem;
    margin-bottom: 20px;
}@media (max-width: 768px){
    .contenedor {
        padding: 12px;
    }.crm-jac-calc .tarjeta-principal .monto-grande{
        font-size: 1.8rem;
    }.crm-jac-calc .tarjetas-secundarias{
        grid-template-columns: 1fr;
    }.crm-jac-calc .fila-campos{
        grid-template-columns: 1fr;
    }.crm-jac-calc .grupo-botones{
        gap: 6px;
    }.crm-jac-calc .btn-tarifa{
        padding: 8px 12px;
        font-size: 0.72rem;
    }.crm-jac-calc .pestana{
        padding: 10px 14px;
        font-size: 0.78rem;
    }.crm-jac-calc .botones-accion{
        flex-direction: column;
    }.crm-jac-calc .btn{
        width: 100%;
    }.crm-jac-calc .form-agregar{
        flex-direction: column;
    }.crm-jac-calc .form-agregar .grupo-campo{
        min-width: 100%;
    }



@media print {
    body {
        background: var(--blanco);
        font-size: 11px;
    }.crm-jac-calc .pestanas, .crm-jac-calc .contenido-pestanas, .crm-jac-calc .acciones .botones-accion, .crm-jac-calc .acciones p, .crm-jac-calc .encabezado, .crm-jac-calc .no-imprimir{
        display: none !important;
    }.crm-jac-calc .contenedor{
        max-width: 100%;
        padding: 0;
    }.crm-jac-calc .tarjeta-principal{
        background: var(--azul-jac) !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }.crm-jac-calc .tarjeta-secundaria{
        box-shadow: none;
        border: 1px solid #ccc;
    }.crm-jac-calc table thead th{
        background: var(--azul-jac) !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }.crm-jac-calc .acciones{
        box-shadow: none;
        border: none;
        padding: 12px 0;
    }.crm-jac-calc .solo-impresion{
        display: block !important;
        text-align: center;
        margin-bottom: 16px;
    }.crm-jac-calc .solo-impresion h2{
        color: var(--azul-jac);
        font-size: 1.2rem;
    }


.solo-impresion {
    display: none;
}
