
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:white;color:#111}
.oculto{display:none}
#login{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}
.caja-login{width:100%;max-width:420px;background:white;padding:40px;border-radius:25px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.caja-login img{width:690px;max-width:100%}.caja-login h1{font-size:34px;margin:15px 0}.telefonos-login{margin-top:20px;display:flex;flex-direction:column;gap:6px;font-size:17px}
#mensaje-error{color:red;font-weight:bold}
input,select,textarea{width:100%;padding:14px;margin:10px 0;border:1px solid #ddd;border-radius:10px;font-size:16px;box-sizing:border-box}
textarea{min-height:100px;resize:vertical}
button{background:#009fe3;color:white;border:none;padding:12px 18px;border-radius:10px;font-size:14px;font-weight:bold;cursor:pointer;margin:5px 5px 5px 0}
button:hover{background:#007bb3}.salir{background:#e60000!important;color:#fff!important}
.password-box{position:relative}.password-box input{padding-right:45px}.ojo{position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:20px;user-select:none}
header{display:flex;justify-content:space-between;align-items:center;padding:20px 50px;background:white;box-shadow:0 4px 12px rgba(0,0,0,.08);position:sticky;top:0;z-index:1000}
.logo{display:flex;align-items:center;gap:15px;cursor:pointer}.logo img{height:130px}.logo h1{font-size:30px;margin:0}
nav{display:flex;flex-wrap:wrap;justify-content:flex-end}nav button{background:white;color:#111;margin-left:8px}nav button:hover{background:#009fe3;color:white}
.seccion{display:none;padding:80px 50px;min-height:500px}.seccion.activa{display:block}
.inicio-centrado{min-height:calc(100vh - 220px);display:flex;justify-content:center;align-items:center;text-align:center;font-size:42px;font-weight:bold}
h2{font-size:38px;margin-top:0}h3{margin-top:0}
.admin-submenu{position:sticky;top:105px;z-index:900;background:#fff;border:1px solid #eee;border-radius:16px;padding:14px;margin-bottom:28px;box-shadow:0 5px 18px rgba(0,0,0,.06);display:flex;flex-wrap:wrap;gap:8px}
.admin-submenu button{margin:0}.admin-submenu button.activo{background:#007bb3;color:#fff}
.admin-panel{display:none}.admin-panel.activo{display:block}
.bloque,.bloque-admin,.tarifa-card,.usuario-card,.alta-card,.comision-card,.campo-card{background:white;border:1px solid #eee;border-radius:16px;padding:22px;margin:28px 0;box-shadow:0 5px 18px rgba(0,0,0,.06)}
.bloque-admin{background:#f8f8f8;scroll-margin-top:180px}.sub-bloque{background:#fff;border:1px solid #eee;border-radius:14px;padding:18px;margin-top:28px;margin-bottom:24px}
.tarifa-card h3{color:#009fe3;margin-top:0}.dato-linea{display:block;margin:7px 0}
.total-final{font-size:26px;font-weight:bold;margin-top:18px;margin-bottom:10px}.total-general{background:#009fe3;color:#fff;padding:18px;border-radius:14px}
.fila{display:grid;grid-template-columns:2fr 2fr 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #eee}.fila.titulo{font-weight:bold}
.flyer-admin-card,.comision-personalizada-card{margin-top:16px;padding:16px;border:1px solid #eee;border-radius:14px;background:#fff}
.flyer-box{margin-top:14px;padding-top:12px;border-top:1px solid #eee}.flyer-preview{margin:10px 0;width:100%;max-width:420px;height:260px;border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#f7f7f7}.flyer-preview iframe{width:100%;height:100%;border:0}
.boton-descarga{display:inline-block;background:#009fe3;color:#fff;text-decoration:none;padding:10px 14px;border-radius:10px;font-weight:bold;margin-top:6px}.boton-descarga:hover{background:#007bb3}
@media(max-width:900px){header{flex-direction:column;padding:20px}.logo{flex-direction:column;margin-bottom:15px}nav{justify-content:center}nav button{width:100%;margin:5px 0}.seccion{padding:40px 20px}.inicio-centrado{font-size:30px;min-height:300px}.fila{grid-template-columns:1fr}.admin-submenu{position:static}.admin-submenu button{width:100%}}


.boton-borrar-comision{
    background:#e60000;
    color:#ffffff;
    margin-top:12px;
}

.boton-borrar-comision:hover{
    background:#b80000;
}


.linea-movil-alta,
.producto-adicional-alta{
    background:#ffffff;
    border:1px solid #eeeeee;
    border-radius:14px;
    padding:16px;
    margin:14px 0;
}

.cabecera-producto-adicional{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.boton-borrar-adicional{
    background:#e60000;
    color:#ffffff;
}

.boton-borrar-adicional:hover{
    background:#b80000;
}

.resumen-productos-contratados{
    margin-top:16px;
    padding:16px;
    border-radius:14px;
    border:1px solid #dddddd;
    background:#ffffff;
}

.resumen-producto-linea{
    display:flex;
    justify-content:space-between;
    gap:10px;
    border-bottom:1px solid #eeeeee;
    padding:8px 0;
}

.pago-mensual-total{
    margin-top:16px;
    padding:18px;
    border-radius:14px;
    border:2px solid #009fe3;
    background:#eef9ff;
    font-size:22px;
    font-weight:bold;
}

.pago-mensual-total span{
    color:#007bb3;
    margin-left:8px;
}


#bloque-fibra-alta{
    background:#ffffff;
    border:1px solid #eeeeee;
    border-radius:14px;
    padding:16px;
    margin:14px 0;
}


/* =========================================================
   DISEÑO PROFESIONAL DAVATEL - BLOQUE FINAL
   ========================================================= */

:root{
    --davatel-blue:#0057b8;
    --davatel-blue-dark:#003f86;
    --davatel-cyan:#00a8e8;
    --davatel-red:#e30613;
    --bg-soft:#f4f7fb;
    --card:#ffffff;
    --text:#1f2937;
    --muted:#6b7280;
    --border:#dbe3ef;
    --shadow:0 14px 35px rgba(15, 23, 42, 0.09);
    --shadow-soft:0 8px 20px rgba(15, 23, 42, 0.06);
    --radius:18px;
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    background:linear-gradient(180deg, #eef5ff 0%, #f7f9fc 42%, #ffffff 100%);
    color:var(--text);
    font-family:Arial, Helvetica, sans-serif;
    line-height:1.55;
}

.oculto{
    display:none !important;
}

/* LOGIN */
#login{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    background:
        radial-gradient(circle at top left, rgba(0,168,232,0.18), transparent 32%),
        radial-gradient(circle at bottom right, rgba(227,6,19,0.13), transparent 32%),
        linear-gradient(135deg, #f4f8ff, #ffffff);
}

.caja-login{
    width:100%;
    max-width:430px;
    background:rgba(255,255,255,0.96);
    border:1px solid rgba(219,227,239,0.9);
    border-radius:26px;
    box-shadow:var(--shadow);
    padding:38px 34px;
    text-align:center;
}

.caja-login img{
    max-width:210px;
    margin-bottom:16px;
}

.caja-login h1{
    margin:0 0 28px;
    font-size:28px;
    letter-spacing:1px;
    color:var(--davatel-blue-dark);
}

/* CABECERA */
header{
    background:linear-gradient(90deg, #ffffff, #f7fbff);
    border-bottom:1px solid var(--border);
    box-shadow:var(--shadow-soft);
    padding:18px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    position:sticky;
    top:0;
    z-index:10;
}

.logo{
    display:flex;
    align-items:center;
    gap:14px;
    cursor:pointer;
}

.logo img{
    max-height:54px;
}

.logo h1{
    margin:0;
    font-size:25px;
    letter-spacing:0.8px;
    color:var(--davatel-blue-dark);
}

nav{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}

/* BOTONES */
button,
input[type="button"],
input[type="submit"]{
    appearance:none;
    border:0;
    border-radius:13px;
    background:linear-gradient(135deg, var(--davatel-blue), var(--davatel-cyan));
    color:#ffffff;
    font-weight:700;
    padding:12px 18px;
    cursor:pointer;
    box-shadow:0 7px 16px rgba(0,87,184,0.18);
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
    margin:8px 6px 8px 0;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(0,87,184,0.24);
    filter:saturate(1.08);
}

button:active{
    transform:translateY(0);
}

button.salir,
.salir{
    background:linear-gradient(135deg, #e30613, #ff5b64);
    box-shadow:0 7px 16px rgba(227,6,19,0.18);
}

.boton-borrar-adicional,
.boton-borrar-comision,
button[onclick*="borrar"],
button[onclick*="eliminar"]{
    background:linear-gradient(135deg, #dc2626, #ef4444) !important;
    box-shadow:0 7px 16px rgba(220,38,38,0.18);
}

/* SECCIONES */
.seccion{
    display:none;
    max-width:1180px;
    margin:34px auto;
    padding:0 24px 36px;
}

.seccion.activa{
    display:block;
}

.seccion h2,
.seccion h1{
    margin:0 0 24px;
    color:var(--davatel-blue-dark);
    font-size:30px;
    letter-spacing:.3px;
}

.seccion h3{
    color:var(--davatel-blue-dark);
    font-size:22px;
    margin:0 0 18px;
}

.seccion h4{
    color:#25324a;
    font-size:18px;
    margin:8px 0 14px;
}

.inicio-centrado{
    min-height:280px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow-soft);
    color:var(--davatel-blue-dark);
    font-size:28px;
    font-weight:800;
    padding:36px;
}

/* TARJETAS Y BLOQUES */
.bloque,
.bloque-admin,
.caja-admin,
.sub-bloque,
.producto-adicional-alta,
.linea-movil-alta,
.comision-personalizada-card,
#lista-tarifas > div,
#admin-lista-tarifas > div,
#listado-tarifas-admin > div,
.tarifa-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow-soft);
    padding:24px;
    margin:20px 0;
}

.sub-bloque{
    background:#fbfdff;
    border-style:dashed;
    padding:20px;
}

.producto-adicional-alta,
.linea-movil-alta{
    background:#ffffff;
    border-left:5px solid var(--davatel-cyan);
}

/* ADMIN SUBMENU */
.admin-submenu{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:var(--shadow-soft);
    padding:14px;
    margin-bottom:24px;
}

.admin-submenu button{
    margin:0;
    background:#eef5ff;
    color:var(--davatel-blue-dark);
    box-shadow:none;
}

.admin-submenu button.activo,
.admin-submenu button:hover{
    background:linear-gradient(135deg, var(--davatel-blue), var(--davatel-cyan));
    color:#ffffff;
}

/* FORMULARIOS */
label{
    display:block;
    margin:18px 0 7px;
    font-size:14px;
    font-weight:800;
    color:var(--davatel-blue-dark);
    text-transform:uppercase;
    letter-spacing:.45px;
}

input,
select,
textarea{
    width:100%;
    min-height:46px;
    border:1px solid var(--border);
    border-radius:13px;
    background:#ffffff;
    color:var(--text);
    padding:12px 14px;
    font-size:16px;
    outline:none;
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
    margin-bottom:8px;
}

textarea{
    min-height:110px;
    resize:vertical;
}

input:focus,
select:focus,
textarea:focus{
    border-color:var(--davatel-cyan);
    box-shadow:0 0 0 4px rgba(0,168,232,0.16);
    background:#fcfeff;
}

input[type="file"]{
    padding:11px;
    background:#f8fafc;
}

/* PASSWORD */
.password-box{
    position:relative;
}

.password-box input{
    padding-right:48px;
}

.ojo{
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    color:var(--muted);
}

/* DATOS EN TARJETAS */
.dato-linea,
.tarifa-card span,
.comision-personalizada-card span{
    display:block;
    padding:8px 0;
    border-bottom:1px solid #eef2f7;
    color:#374151;
}

.dato-linea:last-child,
.tarifa-card span:last-child{
    border-bottom:0;
}

.dato-linea strong{
    color:var(--davatel-blue-dark);
}

/* LISTAS Y RESUMEN */
.resumen-productos-contratados{
    margin-top:18px;
    padding:18px;
    border-radius:16px;
    border:1px solid var(--border);
    background:#ffffff;
    box-shadow:var(--shadow-soft);
}

.resumen-productos-contratados > strong{
    display:block;
    color:var(--davatel-blue-dark);
    font-size:18px;
    margin-bottom:10px;
}

.resumen-producto-linea{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    border-bottom:1px solid #eef2f7;
    padding:10px 0;
}

.resumen-producto-linea:last-child{
    border-bottom:0;
}

.resumen-producto-linea span{
    color:#263244;
    font-weight:600;
}

.resumen-producto-linea strong{
    color:var(--davatel-blue-dark);
    white-space:nowrap;
}

.pago-mensual-total{
    margin-top:18px;
    padding:20px;
    border-radius:18px;
    border:2px solid var(--davatel-cyan);
    background:linear-gradient(135deg, #eef9ff, #ffffff);
    font-size:22px;
    font-weight:900;
    box-shadow:var(--shadow-soft);
}

.pago-mensual-total strong{
    color:var(--davatel-blue-dark);
}

.pago-mensual-total span{
    color:var(--davatel-blue);
    margin-left:8px;
}

/* PRODUCTOS ADICIONALES */
.cabecera-producto-adicional{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid #eef2f7;
    padding-bottom:12px;
    margin-bottom:14px;
}

.cabecera-producto-adicional h3{
    margin:0;
}

.pregunta-mas-adicional{
    margin-top:16px;
    padding-top:14px;
    border-top:1px dashed var(--border);
}

/* TABLAS SI EXISTEN */
table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
    box-shadow:var(--shadow-soft);
}

th{
    background:#eef5ff;
    color:var(--davatel-blue-dark);
    text-align:left;
    padding:14px;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.4px;
}

td{
    padding:14px;
    border-top:1px solid #eef2f7;
}

/* MENSAJES */
#mensaje-error{
    color:var(--davatel-red);
    font-weight:700;
    margin-top:14px;
}

.telefonos-login{
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid #eef2f7;
    color:var(--muted);
}

.telefonos-login span{
    display:block;
    color:var(--davatel-blue-dark);
    font-weight:800;
    margin-top:5px;
}

/* RESPONSIVE */
@media (max-width: 860px){
    header{
        flex-direction:column;
        align-items:flex-start;
    }

    nav{
        width:100%;
        justify-content:flex-start;
    }

    nav button{
        flex:1 1 auto;
    }

    .seccion{
        margin:22px auto;
        padding:0 14px 26px;
    }

    .bloque,
    .bloque-admin,
    .caja-admin,
    .sub-bloque{
        padding:18px;
    }

    .resumen-producto-linea{
        flex-direction:column;
        gap:4px;
    }
}

@media (max-width: 520px){
    .caja-login{
        padding:28px 20px;
    }

    .logo h1{
        font-size:21px;
    }

    .seccion h2,
    .seccion h1{
        font-size:25px;
    }

    button{
        width:100%;
        margin-right:0;
    }

    .cabecera-producto-adicional{
        flex-direction:column;
        align-items:stretch;
    }
}

/* =========================================================
   FIN DISEÑO PROFESIONAL DAVATEL
   ========================================================= */


/* Mejoras finales listado altas */
.alta-card-header h3{
    font-size:30px;
    font-weight:900;
    letter-spacing:.3px;
}

.alta-subtitulo{
    font-size:18px;
}

.dato-alta-item{
    min-height:78px;
}

.dato-alta-label{
    font-size:12px;
    font-weight:900;
    color:#003f86;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.dato-alta-valor{
    font-size:18px;
    font-weight:700;
    line-height:1.35;
}

.alta-info-grid strong{
    font-size:18px;
}

.boton-enlace{
    text-decoration:none;
}


/* Ajustes finales perfectos */
.alta-card-header h3{
    font-size:32px;
    margin:0;
}

.alta-info-grid.cinco{
    grid-template-columns:repeat(5, minmax(0,1fr));
}

.alta-info-grid.cinco > div{
    min-height:95px;
}

.alta-info-label{
    font-size:13px;
    font-weight:900;
}

.alta-info-grid strong{
    font-size:18px;
    line-height:1.3;
}

.datos-alta-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.dato-alta-item{
    min-height:92px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.dato-alta-label{
    font-size:13px;
}

.dato-alta-valor{
    font-size:18px !important;
    font-weight:700;
}

@media (max-width: 1100px){
    .alta-info-grid.cinco{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width: 700px){
    .alta-info-grid.cinco,
    .datos-alta-grid{
        grid-template-columns:1fr;
    }
}


/* ===========================
   Ajuste final listado altas
   =========================== */

#lista-altas{
    margin-top:18px;
}

.alta-card{
    background:#ffffff;
    border:1px solid #dbe3ef;
    border-radius:18px;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
    padding:18px;
    margin:14px 0;
}

.alta-card-header{
    padding-bottom:10px;
    margin-bottom:12px;
}

.alta-card-header h3{
    font-size:28px;
    color:#003f86;
    margin:0;
    line-height:1.15;
}

.estado-alta{
    background:#eef5ff;
    border:1px solid #cfe0f7;
    color:#003f86;
    border-radius:999px;
    padding:7px 12px;
    font-size:13px;
    font-weight:800;
}

.alta-info-grid.cinco{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin:12px 0;
}

.alta-info-grid.cinco > div{
    background:#f8fbff;
    border:1px solid #edf2f7;
    border-radius:14px;
    padding:10px;
    min-height:auto;
}

.alta-info-label,
.dato-alta-label{
    font-size:12px;
    font-weight:900;
    letter-spacing:.35px;
    color:#003f86;
    margin-bottom:3px;
}

.alta-info-grid strong,
.dato-alta-valor{
    font-size:16px !important;
    line-height:1.2;
    font-weight:700;
}

.datos-alta-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:10px;
}

.dato-alta-item{
    background:#ffffff;
    border:1px solid #eef2f7;
    border-radius:14px;
    padding:10px;
    min-height:auto;
}

.alta-acciones{
    margin-top:12px;
    padding-top:10px;
    gap:8px;
}

.alta-acciones .boton-enlace,
.alta-acciones button{
    padding:10px 14px;
    border-radius:12px;
    font-size:14px;
}

@media (max-width:1100px){
    .alta-info-grid.cinco{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:700px){
    .alta-info-grid.cinco,
    .datos-alta-grid{
        grid-template-columns:1fr;
    }

    .alta-card-header{
        display:block;
    }

    .estado-alta{
        display:inline-block;
        margin-top:8px;
    }
}


.campo-obligatorio-error{
    border-color:#dc2626 !important;
    background:#fff5f5 !important;
    box-shadow:0 0 0 4px rgba(220,38,38,0.12) !important;
}

/* Selector estado de alta en administración */
.select-estado-alta-admin{
    margin-top:6px;
    margin-bottom:0;
    min-height:40px;
    padding:8px 10px;
    font-size:15px;
    font-weight:700;
    color:#003f86;
    background:#ffffff;
}
/* FORZAR ESTADO Y COMISIÓN A LA DERECHA DE DNI REVERSO */
#admin-lista-altas .alta-acciones{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:12px !important;
}

#admin-lista-altas .alta-acciones a[href*="dni_reverso"],
#admin-lista-altas .alta-acciones a:nth-of-type(2){
    margin-right:auto !important;
}

#admin-lista-altas .alta-acciones label,
#admin-lista-altas .alta-acciones select{
    display:inline-flex !important;
    width:auto !important;
    margin:0 !important;
}

#admin-lista-altas .alta-acciones select{
    min-width:190px !important;
}

/* ===== CONSULTAR ALTAS ADMIN: DNI IZQUIERDA + ESTADO/COMISIÓN A LA DERECHA ===== */
#admin-lista-altas .alta-info-grid.cuatro{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:12px 0;
}

#admin-lista-altas .alta-info-grid.cuatro > div{
    background:#f8fbff;
    border:1px solid #edf2f7;
    border-radius:14px;
    padding:10px;
}

#admin-lista-altas .acciones-admin-alta{
    display:flex !important;
    align-items:flex-end !important;
    gap:12px !important;
    flex-wrap:wrap !important;
    width:100% !important;
    margin-top:14px !important;
    padding-top:12px !important;
    border-top:1px solid #eef2f7 !important;
}

#admin-lista-altas .acciones-admin-alta .boton-enlace{
    align-self:center !important;
    margin-right:8px !important;
}

#admin-lista-altas .acciones-admin-derecha{
    margin-left:auto !important;
    display:flex !important;
    align-items:flex-end !important;
    gap:14px !important;
    flex-wrap:wrap !important;
}

#admin-lista-altas .accion-admin-campo{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
    min-width:190px !important;
}

#admin-lista-altas .accion-admin-campo label{
    margin:0 !important;
    font-size:12px !important;
    font-weight:900 !important;
    color:#003f86 !important;
    text-transform:uppercase !important;
    letter-spacing:.35px !important;
}

#admin-lista-altas .accion-admin-campo select{
    width:100% !important;
    margin:0 !important;
    min-height:40px !important;
    padding:8px 10px !important;
}

#admin-lista-altas .estado-comision-texto{
    display:flex !important;
    align-items:center !important;
    min-height:40px !important;
    padding:8px 12px !important;
    border:1px solid #dbe3ef !important;
    border-radius:12px !important;
    background:#f8fbff !important;
    color:#003f86 !important;
    font-weight:900 !important;
}

@media(max-width:1100px){
    #admin-lista-altas .alta-info-grid.cuatro{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:800px){
    #admin-lista-altas .alta-info-grid.cuatro{
        grid-template-columns:1fr;
    }

    #admin-lista-altas .acciones-admin-derecha{
        margin-left:0 !important;
        width:100% !important;
    }

    #admin-lista-altas .accion-admin-campo{
        width:100% !important;
        min-width:100% !important;
    }
}


/* ===== CAMBIAR ESTADO A TODAS - CONSULTAR ALTAS ADMIN ===== */
.cambiar-estado-todas-box{
    margin-top:22px !important;
    border:1px solid #cfe0f7 !important;
    background:linear-gradient(135deg,#f6fbff,#ffffff) !important;
}

.cambiar-estado-todas-box h3{
    margin-bottom:8px !important;
    color:#003f86 !important;
}

.cambiar-estado-todas-box p{
    margin:0 0 14px !important;
    color:#475569 !important;
    font-weight:600 !important;
}

.cambiar-estado-todas-controles{
    display:flex !important;
    gap:12px !important;
    align-items:center !important;
    flex-wrap:wrap !important;
}

.cambiar-estado-todas-controles select{
    width:auto !important;
    min-width:240px !important;
    margin:0 !important;
}

.cambiar-estado-todas-controles button{
    margin:0 !important;
}

.alta-info-grid.tres{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:12px 0;
}

@media(max-width:900px){
    .cambiar-estado-todas-controles select,
    .cambiar-estado-todas-controles button{
        width:100% !important;
    }

    .alta-info-grid.tres{
        grid-template-columns:1fr;
    }
}


/* ===== INFORME COMISIONES ADMIN: CLIENTE Y ESTADO DE COBRO ===== */
.acciones-comision-informe{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #eef2f7;
}

.acciones-comision-informe label{
    margin:0 !important;
    font-size:12px !important;
    font-weight:900 !important;
    color:#003f86 !important;
    text-transform:uppercase !important;
}

.acciones-comision-informe select{
    width:auto !important;
    min-width:190px !important;
    margin:0 !important;
    padding:10px 12px !important;
}

@media(max-width:700px){
    .acciones-comision-informe{
        align-items:stretch;
    }

    .acciones-comision-informe select{
        width:100% !important;
    }
}


/* ===== TITULOS DE PAGINAS EN RECUADRO DESTACADO ===== */
.seccion > h2,
.titulo-box,
#admin h2,
#admin h3,
.bloque-admin h3,
.admin-panel h3{
    display:block;
    background:linear-gradient(135deg,#eef5ff,#ffffff);
    border:1px solid #cfe0f7;
    border-left:6px solid #0057b8;
    border-radius:16px;
    padding:16px 20px;
    color:#003f86;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
    margin:0 0 22px;
}


/* ===== MI CUENTA Y DATOS DISTRIBUIDORES ===== */
#mi-cuenta h2,
#admin-datos-distribuidores h3:first-child{
    display:block;
    background:linear-gradient(135deg,#eef5ff,#ffffff);
    border:1px solid #cfe0f7;
    border-left:6px solid #0057b8;
    border-radius:16px;
    padding:16px 20px;
    color:#003f86;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
    margin:0 0 22px;
}

.datos-distribuidor-card{
    background:#ffffff;
    border:1px solid #dbe3ef;
    border-radius:18px;
    padding:20px;
    margin:18px 0;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
}

.datos-distribuidor-card h3{
    color:#003f86;
    margin-bottom:16px;
}

.datos-distribuidor-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

#mi-cuenta input[readonly],
.datos-distribuidor-card input[readonly]{
    background:#f3f7fb;
    color:#64748b;
    font-weight:700;
}

@media(max-width:800px){
    .datos-distribuidor-grid{
        grid-template-columns:1fr;
    }
}
/* ===== FIN MI CUENTA Y DATOS DISTRIBUIDORES ===== */
/* =========================================================
   RESPONSIVE MÓVIL / TABLET - AÑADIR AL FINAL DE style.css
   No modifica funciones ni estructura, solo adaptación visual.
   ========================================================= */

@media (max-width: 1024px){
    body{
        overflow-x:hidden;
    }

    .contenedor,
    .contenido,
    main,
    section,
    .seccion{
        max-width:100% !important;
        width:100% !important;
    }

    .bloque,
    .sub-bloque,
    .tarifa-card,
    .alta-card,
    .comision-card,
    .usuario-card,
    .campo-card,
    .flyer-admin-card,
    .comision-personalizada-card,
    .datos-distribuidor-card{
        width:100% !important;
        max-width:100% !important;
    }

    .alta-info-grid,
    .alta-info-grid.tres,
    .alta-info-grid.cinco,
    .datos-alta-grid,
    .datos-distribuidor-grid{
        grid-template-columns:1fr 1fr !important;
    }

    .flyer-preview iframe{
        width:100% !important;
        max-width:100% !important;
    }

    table{
        width:100% !important;
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }
}

@media (max-width: 768px){
    body{
        font-size:15px;
    }

    header,
    nav,
    .menu,
    .admin-submenu{
        flex-wrap:wrap !important;
        gap:8px !important;
    }

    nav button,
    .menu button,
    .admin-submenu button,
    button,
    .boton-enlace,
    .boton-descarga{
        width:100% !important;
        max-width:100% !important;
        margin:6px 0 !important;
        text-align:center !important;
        justify-content:center !important;
    }

    input,
    select,
    textarea{
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        font-size:16px !important;
    }

    .bloque,
    .sub-bloque,
    .tarifa-card,
    .alta-card,
    .comision-card,
    .usuario-card,
    .campo-card,
    .flyer-admin-card,
    .comision-personalizada-card,
    .datos-distribuidor-card{
        padding:16px !important;
        margin-bottom:18px !important;
        border-radius:14px !important;
    }

    .alta-card-header{
        flex-direction:column !important;
        align-items:flex-start !important;
        gap:8px !important;
    }

    .alta-info-grid,
    .alta-info-grid.tres,
    .alta-info-grid.cinco,
    .datos-alta-grid,
    .datos-distribuidor-grid{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .alta-acciones,
    .acciones-admin-alta,
    .acciones-admin-derecha,
    .cambiar-estado-todas-controles{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:8px !important;
    }

    .titulo-tarifas-seccion,
    section h2,
    .seccion h2{
        font-size:26px !important;
        line-height:1.2 !important;
        padding:14px 16px !important;
    }

    .tarifas-titulo-extra{
        font-size:16px !important;
        margin:16px 0 8px !important;
    }

    .flyer-preview{
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
    }

    .flyer-preview iframe{
        width:100% !important;
        height:520px !important;
        max-width:100% !important;
    }

    .boton-contratar-tarifa{
        width:auto !important;
        min-width:110px !important;
        padding:8px 12px !important;
        font-size:13px !important;
    }
}

@media (max-width: 480px){
    body{
        font-size:14px;
    }

    .web,
    #web,
    .seccion{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .bloque,
    .sub-bloque,
    .tarifa-card,
    .alta-card,
    .comision-card,
    .usuario-card,
    .campo-card,
    .flyer-admin-card,
    .comision-personalizada-card,
    .datos-distribuidor-card{
        padding:14px !important;
        margin-bottom:16px !important;
    }

    section h2,
    .seccion h2,
    .titulo-tarifas-seccion{
        font-size:24px !important;
        margin-bottom:14px !important;
    }

    .alta-card-header h3,
    .tarifa-card h3,
    .comision-card h3,
    .datos-distribuidor-card h3{
        font-size:20px !important;
        line-height:1.25 !important;
        word-break:break-word !important;
    }

    .dato-linea{
        word-break:break-word !important;
        white-space:normal !important;
    }

    .estado-alta{
        width:100% !important;
        text-align:center !important;
        display:block !important;
    }

    .flyer-preview iframe{
        height:430px !important;
    }

    .print-header,
    .print-logo{
        max-width:100% !important;
    }
}

/* =========================================================
   PREMIUM VISUAL TARIFAS / BLOQUES - PRUEBA
   Base buena conservada. Solo mejora visual.
   ========================================================= */

/* Fondo más limpio y sensación app */
#tarifas{
    scroll-margin-top:120px;
}

/* Título principal de la pantalla */
#tarifas > h2{
    margin-bottom:38px !important;
}

/* Contenedor dinámico de Tarifas */
#lista-tarifas{
    display:flex;
    flex-direction:column;
    gap:28px;
}

/* Títulos FLYER / BUSCAR / TARIFAS con aspecto premium */
#lista-tarifas .titulo-tarifas-seccion,
#admin-lista-tarifas .titulo-tarifas-seccion{
    display:block;
    background:linear-gradient(135deg,#eef5ff,#ffffff);
    border:1px solid #cfe0f7;
    border-left:6px solid #0057b8;
    border-radius:18px;
    padding:18px 22px;
    color:#003f86;
    box-shadow:0 10px 24px rgba(15,23,42,.07);
    margin:34px 0 4px !important;
    font-size:28px !important;
    font-weight:900 !important;
    letter-spacing:.6px;
    text-transform:uppercase;
}

/* Primer título más cercano al inicio */
#lista-tarifas .titulo-tarifas-seccion:first-child{
    margin-top:0 !important;
}

/* Separación clara debajo del flyer */
#lista-flyers-tarifas{
    margin-bottom:30px !important;
}

/* Caja del flyer más limpia */
#lista-flyers-tarifas .flyer-box{
    margin-top:0 !important;
    padding:24px !important;
    border:1px solid #dbe3ef !important;
    border-radius:20px !important;
    background:#ffffff !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
}

/* PDF más grande y centrado */
#lista-flyers-tarifas .flyer-preview{
    max-width:620px !important;
    height:360px !important;
    margin:0 auto 16px !important;
    border-radius:16px !important;
}

/* Bloque buscador separado y destacado */
.filtro-tarifas-bloque{
    margin-top:0 !important;
    margin-bottom:36px !important;
    padding:26px !important;
    border-radius:20px !important;
    border:1px solid #dbe3ef !important;
    background:linear-gradient(135deg,#ffffff,#f8fbff) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
}

/* Selector del filtro */
.filtro-tarifas-bloque select{
    margin-bottom:14px !important;
}

/* Botones filtro mejor colocados */
.filtro-tarifas-bloque button{
    min-width:120px;
}

/* Listado de tarifas tipo tarjetas premium */
#tarifas-filtradas-listado{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:22px;
    margin-top:4px;
}

/* Tarjetas de tarifas más premium */
#tarifas-filtradas-listado .tarifa-card{
    margin:0 !important;
    border-radius:22px !important;
    border:1px solid #dbe3ef !important;
    background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%) !important;
    box-shadow:0 12px 28px rgba(15,23,42,.08) !important;
    padding:24px !important;
    position:relative;
    overflow:hidden;
}

/* Franja lateral corporativa */
#tarifas-filtradas-listado .tarifa-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:6px;
    background:linear-gradient(180deg,#0057b8,#00a8e8);
}

/* Nombre tarifa */
#tarifas-filtradas-listado .tarifa-card h3{
    font-size:23px !important;
    font-weight:900 !important;
    color:#003f86 !important;
    margin:0 0 14px 0 !important;
    padding-left:4px;
}

/* Líneas dato más limpias */
#tarifas-filtradas-listado .dato-linea{
    padding:9px 0 !important;
    border-bottom:1px solid #edf2f7 !important;
}

/* Botón contratar compacto premium */
.boton-contratar-tarifa{
    width:auto !important;
    min-width:118px !important;
    padding:8px 14px !important;
    font-size:13px !important;
    border-radius:999px !important;
    display:inline-block !important;
    margin-top:16px !important;
    box-shadow:0 8px 18px rgba(0,87,184,.18) !important;
}

/* Separación general más cómoda dentro de Tarifas */
#tarifas .bloque,
#tarifas .tarifa-card,
#tarifas .flyer-box{
    margin-bottom:26px !important;
}

/* Mensaje vacío */
#tarifas-filtradas-listado .mensaje-vacio{
    grid-column:1/-1;
    background:#ffffff;
    border:1px solid #dbe3ef;
    border-radius:18px;
    padding:24px;
    color:#64748b;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
}

/* Tablet */
@media(max-width:900px){
    #lista-tarifas .titulo-tarifas-seccion,
    #admin-lista-tarifas .titulo-tarifas-seccion{
        font-size:24px !important;
        padding:16px 18px !important;
        margin-top:28px !important;
    }

    #lista-flyers-tarifas .flyer-preview{
        height:420px !important;
        max-width:100% !important;
    }

    #tarifas-filtradas-listado{
        grid-template-columns:1fr;
    }
}

/* Móvil */
@media(max-width:520px){
    #lista-tarifas{
        gap:20px;
    }

    #lista-tarifas .titulo-tarifas-seccion,
    #admin-lista-tarifas .titulo-tarifas-seccion{
        font-size:21px !important;
        padding:14px 16px !important;
        border-radius:16px !important;
    }

    #lista-flyers-tarifas .flyer-box,
    .filtro-tarifas-bloque,
    #tarifas-filtradas-listado .tarifa-card{
        padding:18px !important;
        border-radius:18px !important;
    }

    #lista-flyers-tarifas .flyer-preview{
        height:360px !important;
    }

    .filtro-tarifas-bloque button{
        width:100% !important;
    }
}
/* =========================================================
   FIN PREMIUM VISUAL TARIFAS / BLOQUES - PRUEBA
   ========================================================= */

/* =========================================================
   PREMIUM GLOBAL TODA LA WEB
   Aplica el acabado premium de Tarifas al resto de pantallas.
   Solo visual. No modifica funciones.
   ========================================================= */

/* Títulos principales de todas las secciones */
.seccion > h2,
#admin > h2{
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    padding:18px 22px !important;
    color:#003f86 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    margin:0 0 34px !important;
    font-size:30px !important;
    font-weight:900 !important;
    letter-spacing:.6px !important;
    text-transform:uppercase !important;
}

/* Subtítulos dentro de bloques */
.bloque > h3,
.bloque-admin > h3,
.admin-panel > h3,
.sub-bloque > h3,
.datos-distribuidor-card > h3,
.comision-card > h3,
.usuario-card > h3,
.alta-card h3{
    color:#003f86 !important;
    font-weight:900 !important;
    letter-spacing:.3px !important;
}

/* Bloques principales premium */
.bloque,
.bloque-admin,
.sub-bloque,
.usuario-card,
.alta-card,
.comision-card,
.campo-card,
.flyer-admin-card,
.comision-personalizada-card,
.datos-distribuidor-card,
.resumen-productos-contratados,
.pago-mensual-total{
    border-radius:22px !important;
    border:1px solid #dbe3ef !important;
    background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%) !important;
    box-shadow:0 12px 28px rgba(15,23,42,.08) !important;
}

/* Separación limpia entre bloques */
.bloque,
.bloque-admin,
.sub-bloque,
.usuario-card,
.alta-card,
.comision-card,
.campo-card,
.flyer-admin-card,
.comision-personalizada-card,
.datos-distribuidor-card{
    margin-top:26px !important;
    margin-bottom:30px !important;
}

/* Franja premium en tarjetas importantes */
.alta-card,
.comision-card,
.usuario-card,
.tarifa-card,
.datos-distribuidor-card,
.comision-personalizada-card{
    position:relative;
    overflow:hidden;
}

.alta-card::before,
.comision-card::before,
.usuario-card::before,
.tarifa-card::before,
.datos-distribuidor-card::before,
.comision-personalizada-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:6px;
    background:linear-gradient(180deg,#0057b8,#00a8e8);
}

/* Menú superior premium */
header{
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(8px);
    border-bottom:1px solid #dbe3ef !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
}

nav button{
    border-radius:999px !important;
}

/* Submenú admin premium */
.admin-submenu{
    border-radius:22px !important;
    border:1px solid #dbe3ef !important;
    background:linear-gradient(135deg,#ffffff,#f8fbff) !important;
    box-shadow:0 12px 28px rgba(15,23,42,.08) !important;
    padding:16px !important;
}

.admin-submenu button{
    border-radius:999px !important;
    padding:10px 16px !important;
}

/* Inputs/selects premium */
input,
select,
textarea{
    border-radius:14px !important;
    border:1px solid #dbe3ef !important;
    background:#ffffff !important;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#00a8e8 !important;
    box-shadow:0 0 0 4px rgba(0,168,232,.16) !important;
}

/* Botones premium globales */
button,
.boton-enlace,
.boton-descarga,
input[type="button"],
input[type="submit"]{
    border-radius:999px !important;
    font-weight:800 !important;
}

/* Listados de altas/comisiones más limpios */
#lista-altas,
#lista-comisiones,
#admin-lista-altas,
#admin-informe-comisiones,
#lista-usuarios,
#admin-lista-tarifas,
#lista-comisiones-personalizadas,
#admin-lista-datos-distribuidores{
    display:flex;
    flex-direction:column;
    gap:18px;
}

/* Alta header premium */
.alta-card-header{
    border-bottom:1px solid #edf2f7 !important;
    padding-bottom:14px !important;
    margin-bottom:16px !important;
}

.estado-alta,
.estado-comision-texto{
    border-radius:999px !important;
    background:#eef5ff !important;
    border:1px solid #cfe0f7 !important;
    color:#003f86 !important;
}

/* Grids con aire */
.alta-info-grid > div,
.dato-alta-item,
.datos-distribuidor-grid > div{
    border-radius:16px !important;
    background:#ffffff !important;
    border:1px solid #edf2f7 !important;
}

/* Página inicio premium */
.inicio-centrado{
    border-radius:28px !important;
    background:
        radial-gradient(circle at top left, rgba(0,168,232,.14), transparent 30%),
        radial-gradient(circle at bottom right, rgba(0,87,184,.12), transparent 35%),
        linear-gradient(135deg,#ffffff,#f7fbff) !important;
    box-shadow:0 14px 35px rgba(15,23,42,.09) !important;
    border:1px solid #dbe3ef !important;
}

/* Contacto premium */
#contacto .bloque p{
    font-weight:700;
    color:#334155;
}

/* Mi cuenta premium */
#mi-cuenta .bloque,
#admin-datos-distribuidores .datos-distribuidor-card{
    padding:26px !important;
}

/* Login más premium sin cambiar estructura */
.caja-login{
    background:
        radial-gradient(circle at top left, rgba(0,168,232,.10), transparent 35%),
        linear-gradient(180deg,#ffffff,#f9fbff) !important;
    border:1px solid #dbe3ef !important;
    box-shadow:0 16px 40px rgba(15,23,42,.12) !important;
}

/* Responsive premium global */
@media(max-width:900px){
    .seccion > h2,
    #admin > h2{
        font-size:25px !important;
        padding:16px 18px !important;
        margin-bottom:26px !important;
    }

    .bloque,
    .bloque-admin,
    .sub-bloque,
    .alta-card,
    .comision-card,
    .usuario-card,
    .datos-distribuidor-card{
        padding:18px !important;
        border-radius:20px !important;
    }

    #lista-altas,
    #lista-comisiones,
    #admin-lista-altas,
    #admin-informe-comisiones{
        gap:14px;
    }
}

@media(max-width:520px){
    .seccion > h2,
    #admin > h2{
        font-size:22px !important;
        border-radius:16px !important;
    }

    .bloque,
    .bloque-admin,
    .sub-bloque,
    .alta-card,
    .comision-card,
    .usuario-card,
    .datos-distribuidor-card{
        padding:16px !important;
        border-radius:18px !important;
    }
}
/* =========================================================
   FIN PREMIUM GLOBAL TODA LA WEB
   ========================================================= */

/* =========================================================
   PREMIUM TITULOS INTERNOS DE BLOQUES
   Nueva alta, Consultar altas, Contacto, Mi cuenta, etc.
   Solo visual. No modifica funciones.
   ========================================================= */

.bloque > h3,
.sub-bloque > h3,
.bloque-admin > h3,
.admin-panel > h3,
.datos-distribuidor-card > h3,
#mi-cuenta .bloque > h3,
#contacto .bloque > h3,
#altas .bloque > h3,
#admin .bloque-admin > h3{
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    padding:16px 20px !important;
    color:#003f86 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    margin:0 0 24px !important;
    font-size:28px !important;
    font-weight:900 !important;
    letter-spacing:.5px !important;
    text-transform:none !important;
}

/* Ajuste para títulos pequeños dentro de sub-bloques repetidos */
.sub-bloque > h4,
.linea-movil-alta > h4,
.producto-adicional-alta h3{
    display:block !important;
    background:linear-gradient(135deg,#f8fbff,#ffffff) !important;
    border:1px solid #dbe3ef !important;
    border-left:5px solid #00a8e8 !important;
    border-radius:16px !important;
    padding:12px 16px !important;
    color:#003f86 !important;
    box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
    margin:0 0 18px !important;
    font-size:21px !important;
    font-weight:900 !important;
}

/* Más aire entre bloque y título premium */
.bloque,
.sub-bloque,
.bloque-admin{
    padding-top:26px !important;
}

/* Responsive títulos internos premium */
@media(max-width:900px){
    .bloque > h3,
    .sub-bloque > h3,
    .bloque-admin > h3,
    .admin-panel > h3,
    .datos-distribuidor-card > h3,
    #mi-cuenta .bloque > h3,
    #contacto .bloque > h3,
    #altas .bloque > h3,
    #admin .bloque-admin > h3{
        font-size:24px !important;
        padding:15px 18px !important;
        border-radius:16px !important;
    }
}

@media(max-width:520px){
    .bloque > h3,
    .sub-bloque > h3,
    .bloque-admin > h3,
    .admin-panel > h3,
    .datos-distribuidor-card > h3,
    #mi-cuenta .bloque > h3,
    #contacto .bloque > h3,
    #altas .bloque > h3,
    #admin .bloque-admin > h3{
        font-size:21px !important;
        padding:14px 16px !important;
    }

    .sub-bloque > h4,
    .linea-movil-alta > h4,
    .producto-adicional-alta h3{
        font-size:18px !important;
    }
}
/* =========================================================
   FIN PREMIUM TITULOS INTERNOS DE BLOQUES
   ========================================================= */


/* =========================================================
   AJUSTES FINALES:
   - TODO MAYUSCULAS
   - EMAILS EN MINUSCULAS
   - ESPACIADO GRANDE ENTRE BLOQUES
   ========================================================= */

/* Todo en mayúsculas */
body {
    text-transform: uppercase !important;
}

/* Excepción: emails en minúsculas */
a[href^="mailto:"],
input[type="email"],
.email {
    text-transform: lowercase !important;
}

/* Espaciado fuerte entre bloques */
.bloque,
.bloque-admin,
.sub-bloque,
.alta-card,
.comision-card,
.usuario-card,
.campo-card,
.datos-distribuidor-card {
    margin-top: 30px !important;
    margin-bottom: 60px !important;
}

/* Más aire en secciones */
.seccion {
    padding-bottom: 60px !important;
}

/* Separación adicional entre títulos internos y contenido */
.bloque > h3,
.sub-bloque > h3,
.bloque-admin > h3 {
    margin-bottom: 30px !important;
}

/* Separación entre tarjetas/listados */
#lista-altas,
#lista-comisiones,
#admin-lista-altas,
#admin-lista-tarifas,
#lista-comisiones-personalizadas {
    gap: 30px !important;
}

/* Responsive ajuste */
@media(max-width:768px){
    .bloque,
    .bloque-admin,
    .sub-bloque{
        margin-bottom: 40px !important;
    }
}

/* =========================================================
   CORRECCION DEFINITIVA MAYUSCULAS TITULOS INTERNOS
   Sobrescribe reglas anteriores que dejaban algunos h3 en minúsculas.
   ========================================================= */

h1, h2, h3, h4, h5,
.seccion > h2,
#admin > h2,
.bloque > h3,
.sub-bloque > h3,
.bloque-admin > h3,
.admin-panel > h3,
.datos-distribuidor-card > h3,
#mi-cuenta .bloque > h3,
#contacto .bloque > h3,
#altas .bloque > h3,
#admin .bloque-admin > h3,
.alta-card-header h3,
.tarifa-card h3,
.comision-card h3,
.usuario-card h3,
.campo-card h3{
    text-transform: uppercase !important;
}

/* Mantener emails en minúsculas */
a[href^="mailto:"],
input[type="email"],
.email,
#contacto-email,
#cuenta-email,
input[id*="email"]{
    text-transform: lowercase !important;
}


/* =========================================================
   NUEVOS AJUSTES PREMIUM
   ========================================================= */

.titulo-listado-altas{
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    padding:18px 22px !important;
    color:#003f86 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    margin:50px 0 30px !important;
    font-size:34px !important;
    font-weight:900 !important;
    letter-spacing:.6px !important;
    text-transform:uppercase !important;
}

.admin-submenu{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
    overflow-x:auto !important;
    padding-bottom:8px !important;
}

.admin-submenu button{
    font-size:14px !important;
    padding:10px 18px !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    flex-shrink:0 !important;
}

@media(max-width:1100px){
    .admin-submenu button{
        font-size:12px !important;
        padding:9px 14px !important;
    }
}

@media(max-width:768px){
    .titulo-listado-altas{
        font-size:24px !important;
        padding:16px 18px !important;
    }

    .admin-submenu{
        flex-wrap:wrap !important;
    }

    .admin-submenu button{
        font-size:12px !important;
    }
}


/* =========================================================
   REDUCCION FINAL TITULOS PREMIUM
   ========================================================= */

.titulo-tarifas-seccion,
.titulo-listado-altas,
.seccion > h2,
#admin > h2,
.bloque > h3,
.sub-bloque > h3,
.bloque-admin > h3,
.admin-panel > h3,
.datos-distribuidor-card > h3,
#mi-cuenta .bloque > h3,
#contacto .bloque > h3,
#altas .bloque > h3,
#admin .bloque-admin > h3{
    font-size: 18px !important;
    padding: 12px 16px !important;
    letter-spacing: .4px !important;
}

@media(max-width:768px){
    .titulo-tarifas-seccion,
    .titulo-listado-altas,
    .seccion > h2,
    #admin > h2,
    .bloque > h3,
    .sub-bloque > h3,
    .bloque-admin > h3,
    .admin-panel > h3,
    .datos-distribuidor-card > h3,
    #mi-cuenta .bloque > h3,
    #contacto .bloque > h3,
    #altas .bloque > h3,
    #admin .bloque-admin > h3{
        font-size:16px !important;
        padding:10px 14px !important;
    }
}


/* =========================================================
   UNIFICAR TODOS LOS TITULOS Y SUBTITULOS
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
.titulo-tarifas-seccion,
.titulo-listado-altas,
.seccion > h2,
#admin > h2,
.bloque > h3,
.sub-bloque > h3,
.bloque-admin > h3,
.admin-panel > h3,
.datos-distribuidor-card > h3,
#mi-cuenta .bloque > h3,
#contacto .bloque > h3,
#altas .bloque > h3,
#admin .bloque-admin > h3,
.alta-card-header h3,
.tarifa-card h3,
.comision-card h3,
.usuario-card h3,
.campo-card h3,
.sub-bloque > h4,
.linea-movil-alta > h4,
.producto-adicional-alta h3{
    font-size:18px !important;
    line-height:1.2 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    text-transform:uppercase !important;
}

@media(max-width:768px){
    h1,
    h2,
    h3,
    h4,
    h5,
    .titulo-tarifas-seccion,
    .titulo-listado-altas,
    .seccion > h2,
    #admin > h2,
    .bloque > h3,
    .sub-bloque > h3,
    .bloque-admin > h3,
    .admin-panel > h3,
    .datos-distribuidor-card > h3,
    #mi-cuenta .bloque > h3,
    #contacto .bloque > h3,
    #altas .bloque > h3,
    #admin .bloque-admin > h3,
    .alta-card-header h3,
    .tarifa-card h3,
    .comision-card h3,
    .usuario-card h3,
    .campo-card h3,
    .sub-bloque > h4,
    .linea-movil-alta > h4,
    .producto-adicional-alta h3{
        font-size:16px !important;
    }
}


/* =========================================================
   CORRECCION FINAL TITULOS TARIFAS
   ========================================================= */

.titulo-tarifas-seccion,
.titulo-listado-altas,
#lista-tarifas h2,
#lista-tarifas .titulo-tarifas-seccion,
#admin-lista-tarifas h2{
    font-size:16px !important;
    line-height:1.1 !important;
    padding:10px 14px !important;
    letter-spacing:.3px !important;
}

@media(max-width:768px){
    .titulo-tarifas-seccion,
    .titulo-listado-altas,
    #lista-tarifas h2,
    #lista-tarifas .titulo-tarifas-seccion,
    #admin-lista-tarifas h2{
        font-size:14px !important;
        padding:8px 12px !important;
    }
}

/* ===== TITULO DINAMICO LISTADO DE ALTAS ===== */
.titulo-listado-altas-dinamico{
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    padding:10px 14px !important;
    color:#003f86 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    margin:35px 0 25px !important;
    font-size:16px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:.3px !important;
    text-transform:uppercase !important;
}

/* ===== TITULO DINAMICO LISTADO DE COMISIONES ===== */
.titulo-listado-comisiones-dinamico{
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    padding:10px 14px !important;
    color:#003f86 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    margin:35px 0 25px !important;
    font-size:16px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:.3px !important;
    text-transform:uppercase !important;
}


/* ===== AJUSTE ESPACIO LISTADO COMISIONES ===== */
.titulo-listado-comisiones-dinamico{
    margin-bottom: 12px !important;
}


/* ===== LISTADO COMISIONES MAS PEGADO ===== */
.titulo-listado-comisiones-dinamico{
    margin-bottom: 2px !important;
}

/* =========================================================
   FIX RESPONSIVE MOVIL + LOGIN
   ========================================================= */

/* Login sin logo y con nuevo título */
#login .caja-login img{
    display:none !important;
}

#login .caja-login h1{
    text-transform:uppercase !important;
    font-size:30px !important;
    line-height:1.15 !important;
    margin-bottom:28px !important;
}

/* Navegación usable en móvil/tablet */
@media(max-width:900px){
    header{
        position:relative !important;
        top:auto !important;
        padding:14px !important;
        gap:12px !important;
    }

    header .logo{
        width:100% !important;
        justify-content:center !important;
        flex-direction:row !important;
        margin-bottom:8px !important;
    }

    header .logo img{
        max-height:42px !important;
    }

    header .logo h1{
        font-size:18px !important;
    }

    nav{
        width:100% !important;
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
        gap:8px !important;
        justify-content:stretch !important;
        overflow:visible !important;
    }

    nav button{
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:10px 8px !important;
        font-size:12px !important;
        line-height:1.15 !important;
        white-space:normal !important;
        text-align:center !important;
        border-radius:999px !important;
    }

    .seccion{
        margin:18px auto !important;
        padding:0 12px 36px !important;
        max-width:100% !important;
    }

    .admin-submenu{
        position:relative !important;
        top:auto !important;
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
        gap:8px !important;
        overflow:visible !important;
        padding:12px !important;
    }

    .admin-submenu button{
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:9px 7px !important;
        font-size:11px !important;
        line-height:1.15 !important;
        white-space:normal !important;
    }
}

@media(max-width:520px){
    #login{
        padding:16px !important;
    }

    .caja-login{
        padding:26px 18px !important;
        border-radius:22px !important;
    }

    #login .caja-login h1{
        font-size:26px !important;
    }

    nav{
        grid-template-columns:1fr 1fr !important;
    }

    nav button{
        font-size:11px !important;
        padding:9px 6px !important;
    }

    .admin-submenu{
        grid-template-columns:1fr !important;
    }

    .admin-submenu button{
        font-size:11px !important;
        padding:10px 8px !important;
    }

    input,
    select,
    textarea{
        font-size:16px !important;
    }

    .bloque,
    .bloque-admin,
    .sub-bloque,
    .alta-card,
    .comision-card,
    .tarifa-card,
    .datos-distribuidor-card{
        padding:14px !important;
        margin-bottom:34px !important;
        border-radius:18px !important;
    }

    .alta-info-grid,
    .alta-info-grid.cinco,
    .alta-info-grid.tres,
    .datos-alta-grid,
    .datos-distribuidor-grid{
        grid-template-columns:1fr !important;
    }

    .alta-acciones,
    .acciones-admin-alta,
    .acciones-admin-derecha,
    .cambiar-estado-todas-controles,
    .acciones-comision-informe{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:10px !important;
    }

    .boton-enlace,
    button,
    .boton-descarga{
        width:100% !important;
        text-align:center !important;
        justify-content:center !important;
    }
}
/* =========================================================
   FIN FIX RESPONSIVE MOVIL + LOGIN
   ========================================================= */


/* =========================================================
   AJUSTE FINAL TITULO TARIFAS
   Mismo tamaño que el resto y más pegado a Conecta Fibra.
   ========================================================= */

#admin-lista-tarifas > .titulo-tarifas-seccion,
#admin-lista-tarifas > h2.titulo-tarifas-seccion,
#admin-lista-tarifas > h2,
#tarifas-filtradas-listado > .titulo-tarifas-seccion,
#lista-tarifas .titulo-tarifas-seccion{
    font-size:16px !important;
    line-height:1.1 !important;
    padding:10px 14px !important;
    margin-top:18px !important;
    margin-bottom:6px !important;
}

#admin-lista-tarifas{
    gap:6px !important;
}

#admin-lista-tarifas .tarifa-card{
    margin-top:6px !important;
}

@media(max-width:768px){
    #admin-lista-tarifas > .titulo-tarifas-seccion,
    #admin-lista-tarifas > h2.titulo-tarifas-seccion,
    #admin-lista-tarifas > h2,
    #tarifas-filtradas-listado > .titulo-tarifas-seccion,
    #lista-tarifas .titulo-tarifas-seccion{
        font-size:14px !important;
        padding:8px 12px !important;
        margin-bottom:4px !important;
    }
}


/* =========================================================
   TITULO LISTADO DE USUARIOS
   ========================================================= */

.listado-usuarios-titulo{
    margin-top: 18px !important;
    margin-bottom: 8px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}


/* ===== TITULO LISTADO USUARIOS ===== */

.listado-usuarios-titulo{
    margin-top: 18px !important;
    margin-bottom: 10px !important;
}


/* =========================================================
   AJUSTE DEFINITIVO LISTADO DE USUARIOS
   ========================================================= */

#lista-usuarios{
    gap: 6px !important;
}

.listado-usuarios-titulo{
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    padding:10px 14px !important;
    color:#003f86 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    margin-top:46px !important;
    margin-bottom:4px !important;
    font-size:16px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:.3px !important;
    text-transform:uppercase !important;
}

#lista-usuarios .usuario-card{
    margin-top:4px !important;
}

@media(max-width:768px){
    .listado-usuarios-titulo{
        margin-top:38px !important;
        margin-bottom:4px !important;
        font-size:14px !important;
        padding:8px 12px !important;
    }
}


/* =========================================================
   FIX REAL LISTADO DE TARIFAS ADMIN
   ========================================================= */

#admin-lista-tarifas .titulo-listado-tarifas-admin,
#admin-lista-tarifas .titulo-tarifas-listado{
    font-size:16px !important;
    line-height:1.1 !important;
    padding:10px 14px !important;
    margin-top:55px !important;
    margin-bottom:8px !important;
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    color:#003f86 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    font-weight:900 !important;
    letter-spacing:.3px !important;
    text-transform:uppercase !important;
}

/* Baja el bloque del listado respecto a los botones Guardar/Limpiar */
#admin-lista-tarifas{
    padding-top:34px !important;
    gap:6px !important;
}

/* Pega la primera tarifa al título */
#admin-lista-tarifas .tarifa-card:first-of-type{
    margin-top:6px !important;
}

@media(max-width:768px){
    #admin-lista-tarifas{
        padding-top:24px !important;
    }

    #admin-lista-tarifas .titulo-listado-tarifas-admin,
    #admin-lista-tarifas .titulo-tarifas-listado{
        font-size:14px !important;
        padding:8px 12px !important;
        margin-top:42px !important;
        margin-bottom:6px !important;
    }
}


/* =========================================================
   FIX REAL COMISIONES PERSONALIZADAS GUARDADAS
   Separación grande desde botón Guardar comisión.
   ========================================================= */

#admin-comision-personalizada .boton-guardar-comision-personalizada{
    margin-bottom: 95px !important;
}

#admin-comision-personalizada .titulo-comisiones-personalizadas-guardadas{
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    padding:10px 14px !important;
    color:#003f86 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    font-size:16px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:.3px !important;
    text-transform:uppercase !important;
}

/* Refuerzo por si el navegador mantiene cache o alguna regla anterior pisa el botón */
#admin-comision-personalizada h3.titulo-comisiones-personalizadas-guardadas{
    margin-top: 0 !important;
}

@media(max-width:768px){
    #admin-comision-personalizada .boton-guardar-comision-personalizada{
        margin-bottom: 70px !important;
    }

    #admin-comision-personalizada .titulo-comisiones-personalizadas-guardadas{
        font-size:14px !important;
        padding:8px 12px !important;
        margin-bottom: 14px !important;
    }
}


/* =========================================================
   FILTRO ESTADO DEL ALTA - CONSULTAR ALTAS
   ========================================================= */

#admin-altas-estado{
    margin-top:10px !important;
    margin-bottom:14px !important;
}


/* =========================================================
   LOGO HUMANITY + AVISO LEGAL
   ========================================================= */

.humanity-corner-logo{
    position:fixed;
    top:10px;
    right:10px;
    z-index:9999;
    background:rgba(255,255,255,.92);
    padding:6px;
    border-radius:14px;
    box-shadow:0 4px 18px rgba(0,0,0,.12);
}

.humanity-corner-logo img{
    width:120px;
    height:auto;
    display:block;
}

.aviso-legal-distribuidor{
    position:fixed;
    bottom:10px;
    right:10px;
    z-index:9999;
    max-width:320px;
    background:rgba(255,255,255,.95);
    border:1px solid #d8e3f5;
    border-left:5px solid #0b5fc1;
    border-radius:16px;
    padding:12px 14px;
    color:#123;
    font-size:12px;
    line-height:1.45;
    box-shadow:0 6px 20px rgba(0,0,0,.12);
}

.aviso-legal-distribuidor strong{
    color:#003f86;
}

@media(max-width:768px){

    .humanity-corner-logo{
        top:6px;
        right:6px;
        padding:4px;
    }

    .humanity-corner-logo img{
        width:80px;
    }

    .aviso-legal-distribuidor{
        left:8px;
        right:8px;
        bottom:8px;
        max-width:none;
        font-size:11px;
        padding:10px;
    }
}


/* =========================================================
   LOGO HUMANITY LOGIN + ENLACE AVISO LEGAL
   ========================================================= */

#login{
    position:relative !important;
}

.humanity-login-logo{
    position:fixed !important;
    top:16px !important;
    left:16px !important;
    z-index:99999 !important;
    display:block !important;
    background:#ffffff !important;
    padding:7px !important;
    border-radius:14px !important;
    box-shadow:0 8px 24px rgba(15,23,42,.16) !important;
    border:1px solid #dbe3ef !important;
    text-decoration:none !important;
}

.humanity-login-logo img{
    display:block !important;
    width:118px !important;
    height:auto !important;
    max-width:118px !important;
}

.aviso-legal-link-login{
    position:fixed !important;
    bottom:16px !important;
    right:16px !important;
    z-index:99999 !important;
    display:inline-block !important;
    background:#ffffff !important;
    border:1px solid #dbe3ef !important;
    border-left:5px solid #0057b8 !important;
    border-radius:999px !important;
    padding:10px 16px !important;
    color:#003f86 !important;
    font-size:13px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    box-shadow:0 8px 24px rgba(15,23,42,.16) !important;
    letter-spacing:.4px !important;
}

.aviso-legal-link-login:hover{
    background:#eef5ff !important;
}

/* Página independiente aviso legal */
.pagina-aviso-legal{
    min-height:100vh !important;
    background:linear-gradient(180deg,#eef5ff 0%,#ffffff 100%) !important;
    padding:30px 16px !important;
    text-transform:uppercase !important;
}

.aviso-legal-page{
    max-width:760px !important;
    margin:0 auto !important;
    background:#ffffff !important;
    border:1px solid #dbe3ef !important;
    border-radius:24px !important;
    box-shadow:0 14px 35px rgba(15,23,42,.10) !important;
    padding:32px !important;
}

.aviso-legal-logo{
    width:150px !important;
    height:auto !important;
    display:block !important;
    margin:0 auto 24px !important;
}

.aviso-legal-page h1{
    display:block !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    padding:14px 18px !important;
    color:#003f86 !important;
    font-size:22px !important;
    font-weight:900 !important;
    margin:0 0 24px !important;
}

.aviso-legal-card{
    border:1px solid #dbe3ef !important;
    border-radius:18px !important;
    padding:22px !important;
    background:#f9fbff !important;
    color:#1f2937 !important;
    font-size:15px !important;
    line-height:1.6 !important;
}

.aviso-legal-card h2{
    color:#003f86 !important;
    font-size:17px !important;
    margin:18px 0 10px !important;
}

.aviso-legal-card p{
    margin:8px 0 !important;
}

.aviso-legal-card hr{
    border:0 !important;
    border-top:1px solid #dbe3ef !important;
    margin:20px 0 !important;
}

.volver-aviso-legal{
    display:inline-block !important;
    margin-top:22px !important;
    background:linear-gradient(135deg,#0057b8,#00a8e8) !important;
    color:#ffffff !important;
    text-decoration:none !important;
    padding:11px 18px !important;
    border-radius:999px !important;
    font-weight:900 !important;
    box-shadow:0 8px 20px rgba(0,87,184,.20) !important;
}

@media(max-width:768px){
    .humanity-login-logo{
        top:8px !important;
        left:8px !important;
        padding:5px !important;
    }

    .humanity-login-logo img{
        width:82px !important;
        max-width:82px !important;
    }

    .aviso-legal-link-login{
        bottom:8px !important;
        right:8px !important;
        font-size:11px !important;
        padding:8px 12px !important;
    }

    .aviso-legal-page{
        padding:22px 16px !important;
        border-radius:20px !important;
    }

    .aviso-legal-logo{
        width:120px !important;
    }
}

/* =========================================================
   FIN LOGO HUMANITY LOGIN + ENLACE AVISO LEGAL
   ========================================================= */


/* ===== DESACTIVADO TEMPORALMENTE ===== */
.humanity-login-logo,
.aviso-legal-link-login{
    display:none !important;
}
/* ===== FIN DESACTIVADO TEMPORALMENTE ===== */

/* =========================================================
   OPERADOR EN TARIFAS
   ========================================================= */
#tarifa-operador{
    margin-bottom: 14px !important;
}

/* ===== DESACTIVADO TEMPORALMENTE LOGO AVISO ===== */
.humanity-login-logo,
.aviso-legal-link-login{
    display:none !important;
}
/* ===== FIN DESACTIVADO TEMPORALMENTE LOGO AVISO ===== */


/* ===== AJUSTES FINALES SEGUROS ===== */
.telefonos-login{
    border-top:1px solid #e5eaf2 !important;
    margin-top:40px !important;
    padding-top:26px !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
}
.telefonos-login strong{
    display:block !important;
    color:#6b7280 !important;
    font-size:20px !important;
    font-weight:900 !important;
    letter-spacing:.4px !important;
}
.telefonos-login span{
    display:block !important;
    color:#003f86 !important;
    font-size:21px !important;
    font-weight:900 !important;
}
#datos-facturacion-comisiones-fijo,
.datos-facturacion-comisiones{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin:34px 0 20px 0 !important;
    padding:22px !important;
    font-size:18px !important;
    color:#003b82 !important;
    font-weight:500 !important;
    line-height:1.6 !important;
    background:#ffffff !important;
    border:1px solid #dbe3ef !important;
    border-left:6px solid #0057b8 !important;
    border-radius:18px !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    text-align:left !important;
}
#datos-facturacion-comisiones-fijo strong,
.datos-facturacion-comisiones strong{
    color:#003f86 !important;
    font-weight:900 !important;
}
.humanity-login-logo,
.aviso-legal-link-login{
    display:none !important;
}
/* ===== FIN AJUSTES FINALES SEGUROS ===== */


/* ===== MAYORISTAS COMPLETO ===== */
#mayorista-lista-distribuidores,
#mayorista-lista-tarifas,
#mayorista-lista-altas,
#mayorista-lista-comisiones,
#mayorista-lista-comisiones-distribuidores,
#admin-lista-mayoristas-asignacion,
#admin-informe-comisiones-mayoristas{
    display:flex;
    flex-direction:column;
    gap:18px;
}

#menu-mayorista{
    background:linear-gradient(135deg,#003f86,#00a8e8) !important;
    color:#ffffff !important;
}

#bloque-iban-alta{
    background:#ffffff;
    border:1px solid #dbe3ef;
    border-left:6px solid #0057b8;
    border-radius:18px;
    padding:18px;
    margin:22px 0;
}
/* ===== FIN MAYORISTAS COMPLETO ===== */


.aviso-mayorista{
    border-left:6px solid #00a8e8 !important;
    background:linear-gradient(135deg,#eef9ff,#ffffff) !important;
}


/* ===== SUBMENÚ PANEL MAYORISTA ===== */
.mayorista-submenu{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    background:#ffffff;
    border:1px solid #dbe3ef;
    border-radius:22px;
    box-shadow:0 12px 28px rgba(15,23,42,.08);
    padding:16px;
    margin-bottom:24px;
}

.mayorista-submenu button{
    margin:0;
    background:#eef5ff !important;
    color:#003f86 !important;
    box-shadow:none !important;
    border-radius:999px !important;
    padding:10px 16px !important;
}

.mayorista-submenu button.activo,
.mayorista-submenu button:hover{
    background:linear-gradient(135deg,#0057b8,#00a8e8) !important;
    color:#ffffff !important;
}

.mayorista-panel{
    display:none;
}

.mayorista-panel.activo{
    display:block;
}

@media(max-width:768px){
    .mayorista-submenu button{
        width:100% !important;
    }
}
/* ===== FIN SUBMENÚ PANEL MAYORISTA ===== */


/* DAVATEL_DOMINGO_ESTILOS */
.aviso-legal-login-link{
    position:fixed;
    right:22px;
    bottom:18px;
    color:#003f86;
    font-weight:800;
    text-decoration:none;
    background:rgba(255,255,255,.92);
    border:1px solid #dbe3ef;
    border-radius:12px;
    padding:10px 14px;
    box-shadow:0 8px 20px rgba(15,23,42,.08);
    z-index:20;
}

.aviso-legal-login-link:hover{
    color:#009fe3;
}

.mensaje-contrato-instrucciones{
    margin-top:18px;
    padding:16px;
    border-radius:14px;
    border:1px solid #cfe0f7;
    background:#eef5ff;
    color:#003f86;
    font-weight:900;
}
/* FIN DAVATEL_DOMINGO_ESTILOS */





/* DAVATEL_COMISIONES_AGRUPADAS_TOTAL */
.grupo-comisiones-alta{
    margin:22px 0 !important;
}

.grupo-comisiones-alta .comision-card{
    margin:0 !important;
}

.grupo-comisiones-alta .comision-card + .comision-card{
    margin-top:8px !important;
}

.grupo-comisiones-alta .comision-card.comision-misma-alta{
    border-top-left-radius:10px !important;
    border-top-right-radius:10px !important;
    box-shadow:0 5px 14px rgba(15,23,42,.05) !important;
}

.grupo-comisiones-alta + .grupo-comisiones-alta{
    margin-top:34px !important;
}
/* FIN DAVATEL_COMISIONES_AGRUPADAS_TOTAL */








/* DAVATEL_FILTRO_COMISIONES_TOTAL_ABAJO */
.total-comisiones-forzado{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:18px !important;
    width:100% !important;
    margin:24px 0 0 0 !important;
    padding:22px 24px !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#003f86,#009fe3) !important;
    color:#ffffff !important;
    box-shadow:0 12px 30px rgba(0,63,134,.22) !important;
    font-weight:900 !important;
}

.total-comisiones-forzado div{
    font-size:22px !important;
    letter-spacing:.4px !important;
}

.total-comisiones-forzado strong{
    font-size:36px !important;
    color:#ffffff !important;
    line-height:1 !important;
}

.grupo-comisiones-alta{
    margin:0 0 30px 0 !important;
}

.grupo-comisiones-alta .comision-card{
    margin:0 !important;
}

.grupo-comisiones-alta .comision-card + .comision-card{
    margin-top:8px !important;
}

.badge-adicional{
    font-size:13px !important;
    color:#009fe3 !important;
    margin-left:8px !important;
}
/* FIN DAVATEL_FILTRO_COMISIONES_TOTAL_ABAJO */



























/* DAVATEL_ADMIN_MENU_CORREGIDO */
.admin-menu-oculto-corregido{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
}
/* FIN DAVATEL_ADMIN_MENU_CORREGIDO */


/* DAVATEL_ALTA_PARTICULAR_EMPRESA */
#alta-tipo-cliente{
    margin-bottom:22px;
}
/* FIN DAVATEL_ALTA_PARTICULAR_EMPRESA */


/* DAVATEL_BOTONES_CONTRATO_TAMANO_WEB */
#contrato-distribuidor button[onclick="descargarContratoDistribuidor()"],
#contrato-distribuidor .btn-salir-contrato{
    width:auto !important;
    min-width:170px !important;
    height:54px !important;
    padding:0 26px !important;
    border-radius:999px !important;
    border:none !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.1 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    vertical-align:middle !important;
    margin:0 14px 0 0 !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
}

#contrato-distribuidor button[onclick="descargarContratoDistribuidor()"]{
    background:linear-gradient(135deg,#006dcc,#12a9ef) !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(0,109,204,.22) !important;
}

#contrato-distribuidor .btn-salir-contrato{
    background:linear-gradient(135deg,#d60000,#ff3030) !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(214,0,0,.22) !important;
}

#contrato-distribuidor button[onclick="descargarContratoDistribuidor()"]:hover,
#contrato-distribuidor .btn-salir-contrato:hover{
    transform:translateY(-1px) !important;
    opacity:.97 !important;
}
/* FIN DAVATEL_BOTONES_CONTRATO_TAMANO_WEB */







/* DAVATEL_USUARIOS_DATOS_CONTRATO */
.bloque-datos-contrato-usuario-admin{
    background:#fff;
    border:1px solid #d8e5f5;
    border-radius:22px;
    padding:24px;
    margin-bottom:34px;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
}

.bloque-datos-contrato-usuario-admin input,
.bloque-datos-contrato-usuario-admin select{
    margin-bottom:16px !important;
}
/* FIN DAVATEL_USUARIOS_DATOS_CONTRATO */

/* DAVATEL_USUARIOS_LISTADO_DATOS_EDITAR */
.datos-contrato-en-usuario{
    margin-top:18px;
    padding:16px;
    border-radius:16px;
    background:#f5f9ff;
    border:1px solid #d5e6fb;
}

.datos-contrato-en-usuario h4,
.editar-datos-distribuidor-usuario h4{
    margin:0 0 12px 0;
    color:#003f86;
}

.datos-contrato-en-usuario div{
    margin-bottom:6px;
}

.btn-editar-datos-distribuidor{
    margin-top:16px !important;
}

.editar-datos-distribuidor-usuario{
    margin-top:18px;
    padding:18px;
    border-radius:18px;
    background:#fff;
    border:2px solid #d5e6fb;
}

.editar-datos-distribuidor-usuario input,
.editar-datos-distribuidor-usuario select,
.editar-datos-distribuidor-usuario textarea{
    margin-bottom:14px !important;
}

.acciones-editar-datos-distribuidor{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
/* FIN DAVATEL_USUARIOS_LISTADO_DATOS_EDITAR */














/* DAVATEL_USUARIOS_FILTROS_RENDER_PROPIO */
#bloque-filtros-usuarios-admin,.bloque-filtros-usuarios-admin{
    position:relative !important;
    z-index:100 !important;
    overflow:visible !important;
}
#admin-filtro-usuarios-mayorista,#admin-filtro-usuarios-distribuidor,#admin-filtro-usuarios-rol{
    display:block !important;
    width:100% !important;
    min-height:56px !important;
    opacity:1 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    background:#fff !important;
    color:#111 !important;
    appearance:auto !important;
    -webkit-appearance:auto !important;
    position:relative !important;
    z-index:200 !important;
}
.usuario-card.card{
    background:#fff;
    border-radius:22px;
    padding:22px;
    margin-bottom:24px;
    border:1px solid #d8e5f5;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.acciones-usuario-admin{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
}
.aviso-altas-usuario{
    color:#c40000;
    font-weight:900;
    align-self:center;
}
.datos-contrato-en-usuario{
    margin-top:16px;
    padding:16px;
    border-radius:16px;
    background:#f5f9ff;
    border:1px solid #d5e6fb;
}
/* FIN DAVATEL_USUARIOS_FILTROS_RENDER_PROPIO */

/* DAVATEL_BOTON_EDITAR_USUARIOS */
.editar-datos-distribuidor-usuario{
    display:none;
    margin-top:22px;
    padding:22px;
    border-radius:18px;
    border:2px solid #d5e6fb;
    background:#ffffff;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
}

.editar-datos-distribuidor-usuario h4{
    margin:0 0 18px 0;
    color:#003f86;
}

.editar-datos-distribuidor-usuario input,
.editar-datos-distribuidor-usuario select{
    margin-bottom:14px !important;
}

.acciones-editar-datos-distribuidor{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:18px;
}
/* FIN DAVATEL_BOTON_EDITAR_USUARIOS */

/* DAVATEL_ABRIR_EDITAR_DATOS */
.editar-datos-distribuidor-usuario{
    margin-top:22px !important;
    padding:22px !important;
    border-radius:18px !important;
    border:2px solid #d5e6fb !important;
    background:#ffffff !important;
    box-shadow:0 8px 24px rgba(15,23,42,.06) !important;
}

.editar-datos-distribuidor-usuario h4{
    margin:0 0 18px 0 !important;
    color:#003f86 !important;
}

.editar-datos-distribuidor-usuario input,
.editar-datos-distribuidor-usuario select{
    margin-bottom:14px !important;
}

.acciones-editar-datos-distribuidor{
    display:flex !important;
    gap:12px !important;
    flex-wrap:wrap !important;
    margin-top:18px !important;
}
/* FIN DAVATEL_ABRIR_EDITAR_DATOS */


/* DAVATEL_ESPACIO_EXTRA_FINAL */
#admin-usuarios button[onclick="crearUsuario()"]{
    margin-bottom:70px !important;
}

.acciones-filtro-usuarios-admin{
    margin-bottom:60px !important;
}

#lista-usuarios{
    margin-top:50px !important;
}
/* FIN DAVATEL_ESPACIO_EXTRA_FINAL */


/* DAVATEL_BOTON_OCULTAR_TARIFA */
.btn-ocultar-tarifa-admin{
    margin-left:10px !important;
    background:#ff9800 !important;
    color:#fff !important;
}
/* FIN DAVATEL_BOTON_OCULTAR_TARIFA */

/* DAVATEL_ADMIN_ALTAS_FILTRO_MAYORISTA */
.campo-filtro-mayorista-altas-admin{
    margin-bottom:18px !important;
}
/* FIN DAVATEL_ADMIN_ALTAS_FILTRO_MAYORISTA */

/* DAVATEL_ALTAS_FILTROS_REPARADO_FINAL */
#admin-altas #admin-altas-mayorista,
#admin-altas #admin-altas-comision{
    display:block !important;
    width:100% !important;
    margin-bottom:18px !important;
}
/* FIN DAVATEL_ALTAS_FILTROS_REPARADO_FINAL */


/* DAVATEL_ESPACIO_ESTADO_ALTAS_OK */
/* DISTRIBUIDORES Y MAYORISTAS */
.estado-alta,
.badge-estado,
.estado,
.estado-cancelado,
.estado-pendiente,
.estado-completado{
    display:inline-block !important;
    margin-top:14px !important;
}

.tarjeta-alta h3 + .estado-alta,
.tarifa-card h3 + .estado-alta,
.card h3 + .estado-alta,
.card h2 + .estado-alta,
.card strong + .estado-alta{
    margin-top:16px !important;
}
/* FIN DAVATEL_ESPACIO_ESTADO_ALTAS_OK */


/* DAVATEL_ESPACIO_LISTADO_ALTAS */
/* Reducir espacio entre LISTADO DE ALTAS y la primera alta en distribuidores/mayoristas */
#listado-altas,
#lista-altas,
#altas-distribuidor,
#altas-mayorista,
.lista-altas,
.listado-altas{
    margin-top:18px !important;
    padding-top:18px !important;
}

#listado-altas .card:first-child,
#lista-altas .card:first-child,
#altas-distribuidor .card:first-child,
#altas-mayorista .card:first-child,
.lista-altas .card:first-child,
.listado-altas .card:first-child,
#listado-altas .alta-card:first-child,
#lista-altas .alta-card:first-child,
#altas-distribuidor .alta-card:first-child,
#altas-mayorista .alta-card:first-child,
.lista-altas .alta-card:first-child,
.listado-altas .alta-card:first-child{
    margin-top:0 !important;
}

.titulo-listado-altas,
h2.titulo-listado-altas,
h3.titulo-listado-altas{
    margin-bottom:18px !important;
}

/* Si el título LISTADO DE ALTAS está seguido por un bloque/listado, quitar separación excesiva */
h2 + #listado-altas,
h2 + #lista-altas,
h2 + .listado-altas,
h2 + .lista-altas,
h3 + #listado-altas,
h3 + #lista-altas,
h3 + .listado-altas,
h3 + .lista-altas{
    margin-top:18px !important;
}
/* FIN DAVATEL_ESPACIO_LISTADO_ALTAS */


/* DAVATEL_ESPACIO_ALTAS_CORREGIDO_OK */
/* Solo DISTRIBUIDORES -> ALTAS y MAYORISTA -> ALTAS */
#lista-altas,
#mayorista-lista-altas{
    gap:8px !important;
}

#lista-altas .titulo-listado-altas-dinamico,
#mayorista-lista-altas .titulo-listado-altas-dinamico,
#lista-altas .titulo-listado-altas,
#mayorista-lista-altas .titulo-listado-altas{
    margin-bottom:8px !important;
}

#lista-altas .alta-card:first-of-type,
#mayorista-lista-altas .alta-card:first-of-type,
#lista-altas .alta-card:first-child,
#mayorista-lista-altas .alta-card:first-child{
    margin-top:8px !important;
}

#lista-altas > .alta-card,
#mayorista-lista-altas > .alta-card{
    margin-top:8px !important;
}
/* FIN DAVATEL_ESPACIO_ALTAS_CORREGIDO_OK */


/* ===== TÍTULOS DE GRUPOS DE TARIFAS ===== */
.titulo-grupo-tarifas,
.titulo-grupo-tarifas-admin{
    margin-top:28px !important;
    margin-bottom:14px !important;
    text-transform:uppercase;
    background:linear-gradient(135deg,#003f86,#009fe3) !important;
    color:#ffffff !important;
    border:none !important;
    border-radius:16px !important;
    padding:16px 20px !important;
    box-shadow:0 8px 20px rgba(15,23,42,.12) !important;
}


/* ===== TÍTULOS DE GRUPOS DE TARIFAS - CABECERA COMPACTA FINAL ===== */
#tarifas-filtradas-listado .titulo-grupo-tarifas,
#admin-lista-tarifas .titulo-grupo-tarifas-admin,
.titulo-grupo-tarifas,
.titulo-grupo-tarifas-admin{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    clear:both !important;
    float:none !important;
    margin:34px 0 14px 0 !important;
    padding:12px 18px !important;
    min-height:0 !important;
    height:auto !important;
    line-height:1.25 !important;
    text-transform:uppercase !important;
    letter-spacing:.6px !important;
    font-size:22px !important;
    font-weight:900 !important;
    color:#003f86 !important;
    background:linear-gradient(135deg,#eef5ff,#ffffff) !important;
    border:1px solid #cfe0f7 !important;
    border-left:7px solid #0057b8 !important;
    border-radius:14px !important;
    box-shadow:0 6px 16px rgba(15,23,42,.06) !important;
}

#tarifas-filtradas-listado .titulo-grupo-tarifas + .tarifa-card,
#admin-lista-tarifas .titulo-grupo-tarifas-admin + .tarifa-card,
.titulo-grupo-tarifas + .tarifa-card,
.titulo-grupo-tarifas-admin + .tarifa-card{
    clear:both !important;
    margin-top:12px !important;
}


/* ===== MOTIVOS TARIFAS IA ===== */
.ia-motivos-recomendacion{
    margin-top:14px;
    padding:14px 16px;
    border-radius:14px;
    border:1px solid #cfe0f7;
    background:#f6fbff;
}
.ia-motivos-recomendacion strong{
    color:#003f86;
}
.ia-motivos-recomendacion ul{
    margin:8px 0 0 18px;
    padding:0;
}
.ia-motivos-recomendacion li{
    margin:4px 0;
}


/* ===== MEJORA VISUAL RESULTADOS IA: SECCIONES, ESPACIOS Y TÍTULOS ===== */
#ia-resultados{
    margin-top: 28px;
}

#ia-resultados .ia-bloque-resultados{
    margin: 34px 0 46px;
    padding: 24px;
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: 22px;
    background: #eff6ff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

#ia-resultados .ia-bloque-resultados:first-child{
    margin-top: 16px;
}

#ia-resultados .ia-titulo-bloque{
    display: block;
    margin: 0 0 24px;
    padding: 16px 20px;
    border-radius: 16px;
    background: linear-gradient(135deg, #1d4ed8, #2563eb);
    color: #ffffff;
    text-align: center;
    font-size: 24px;
    line-height: 1.25;
    letter-spacing: 0.9px;
    text-transform: uppercase;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22);
}

#ia-resultados .ia-listado-tarjetas{
    display: flex;
    flex-direction: column;
    gap: 22px;
}

#ia-resultados .ia-tarifa-card{
    margin: 0;
    padding: 24px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-left: 7px solid #2563eb;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

#ia-resultados .ia-tarifa-card h3{
    display: block;
    margin: 0 0 20px;
    padding: 14px 18px;
    border-radius: 14px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-left: 6px solid #2563eb;
    background: linear-gradient(135deg, #e8f1ff 0%, #f8fbff 100%);
    color: #0b4ea2;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: 0.2px;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.10);
}

#ia-resultados .ia-tarifa-card .dato-linea{
    display: block;
    margin: 9px 0;
    line-height: 1.45;
}

#ia-resultados .ia-tarifa-card .pago-mensual-total{
    margin-top: 20px;
    padding: 15px 18px;
    border-radius: 14px;
    background: #dbeafe;
    font-size: 18px;
}

#ia-resultados .ia-tarifa-card .boton-contratar-tarifa{
    margin-top: 18px;
    width: 100%;
    min-height: 46px;
    font-size: 15px;
    font-weight: 800;
}

#ia-resultados .ia-motivos-recomendacion,
#ia-resultados .ia-motivos{
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f1f5f9;
}

@media (max-width: 700px){
    #ia-resultados .ia-bloque-resultados{
        margin: 24px 0 34px;
        padding: 16px;
        border-radius: 18px;
    }

    #ia-resultados .ia-titulo-bloque{
        margin-bottom: 18px;
        padding: 14px 12px;
        font-size: 20px;
    }

    #ia-resultados .ia-tarifa-card{
        padding: 18px;
        border-radius: 16px;
    }

    #ia-resultados .ia-tarifa-card h3{
        padding: 12px 14px;
        font-size: 19px;
        border-radius: 12px;
    }
}
/* ===== FIN MEJORA VISUAL RESULTADOS IA ===== */


/* ===== COMISIONES DISTRIBUIDOR SEPARADAS EN RESULTADOS IA ===== */
#ia-resultados .ia-comisiones-distribuidor{
    margin-top: 18px;
    margin-bottom: 16px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    background: #eff6ff;
}

#ia-resultados .ia-comisiones-titulo{
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #dbeafe;
    color: #1e3a8a;
    font-size: 15px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.5px;
}

#ia-resultados .ia-comisiones-lista{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#ia-resultados .ia-comision-fila{
    display: grid;
    grid-template-columns: 110px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

#ia-resultados .ia-comision-tipo{
    font-weight: 900;
    text-transform: uppercase;
    font-size: 12px;
    color: #475569;
}

#ia-resultados .ia-comision-nombre{
    font-weight: 700;
    line-height: 1.35;
}

#ia-resultados .ia-comision-importe{
    font-weight: 900;
    white-space: nowrap;
}

#ia-resultados .ia-comision-total{
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
    border: 1px solid rgba(37, 99, 235, 0.22);
    color: #1e3a8a;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    font-size: 16px;
}

#ia-resultados .ia-comision-total strong{
    font-size: 19px;
    white-space: nowrap;
    color: #1d4ed8;
}

@media (max-width: 700px){
    #ia-resultados .ia-comision-fila{
        grid-template-columns: 1fr;
        gap: 5px;
    }

    #ia-resultados .ia-comision-importe{
        font-size: 17px;
    }

    #ia-resultados .ia-comision-total{
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}
/* ===== FIN COMISIONES DISTRIBUIDOR SEPARADAS EN RESULTADOS IA ===== */


/* ===== AJUSTE IA: TOTAL COMISIÓN MISMO COLOR Y FORMATO ===== */
#ia-resultados .ia-comision-total,
#ia-resultados .ia-comision-total span,
#ia-resultados .ia-comision-total strong,
.ia-comision-total,
.ia-comision-total span,
.ia-comision-total strong{
    color:#1d4ed8 !important;
    font-weight:900 !important;
}

#ia-resultados .ia-comision-total span,
.ia-comision-total span{
    font-size:19px !important;
    text-transform:uppercase !important;
    letter-spacing:.2px !important;
}

#ia-resultados .ia-comision-total strong,
.ia-comision-total strong{
    font-size:19px !important;
}
/* ===== FIN AJUSTE IA TOTAL COMISIÓN ===== */


.ia-total-mensual-superior{
    margin:0 0 22px 0;
    padding:14px 16px;
    border-radius:14px;
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
    border:1px solid rgba(37,99,235,.22);
    color:#1e3a8a;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:16px;
    font-weight:700;
}
.ia-total-mensual-superior strong{
    font-size:19px;
    color:#1d4ed8;
}
.ia-motivos-recomendacion{display:none!important;}

.cuota-mensual,.cuota-mensual *{color:#1d4ed8!important;font-weight:900!important;}


/* ===== FIX REAL CUOTA MENSUAL SEPARADA DE COMISIONES IA ===== */
#ia-resultados .ia-cuota-mensual-card,
.ia-cuota-mensual-card{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:16px !important;
    margin-top:22px !important;
    margin-bottom:30px !important;
    padding:16px 18px !important;
    border-radius:16px !important;
    background:linear-gradient(135deg, #dbeafe, #bfdbfe) !important;
    border:1px solid rgba(37, 99, 235, 0.22) !important;
    color:#1d4ed8 !important;
    font-size:19px !important;
    font-weight:900 !important;
    box-shadow:0 8px 18px rgba(37, 99, 235, 0.10) !important;
}

#ia-resultados .ia-cuota-mensual-card .ia-cuota-mensual-label,
#ia-resultados .ia-cuota-mensual-card span,
.ia-cuota-mensual-card .ia-cuota-mensual-label,
.ia-cuota-mensual-card span{
    color:#1d4ed8 !important;
    font-size:19px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.2px !important;
}

#ia-resultados .ia-cuota-mensual-card > span:last-child,
.ia-cuota-mensual-card > span:last-child{
    margin-left:auto !important;
    white-space:nowrap !important;
}

/* Separación extra entre la cuota mensual y la ficha de comisiones */
#ia-resultados .ia-cuota-mensual-card + .ia-comisiones-distribuidor,
.ia-cuota-mensual-card + .ia-comisiones-distribuidor{
    margin-top:30px !important;
}

/* Si por estructura queda cerca igualmente, la ficha de comisiones empieza separada */
#ia-resultados .ia-comisiones-distribuidor,
.ia-comisiones-distribuidor{
    margin-top:26px !important;
}

/* Mantener COMISIÓN TOTAL DISTRIBUIDOR con formato azul y texto visible */
#ia-resultados .ia-comision-total,
#ia-resultados .ia-comision-total span,
#ia-resultados .ia-comision-total strong,
.ia-comision-total,
.ia-comision-total span,
.ia-comision-total strong{
    color:#1d4ed8 !important;
    font-weight:900 !important;
}

#ia-resultados .ia-comision-total span,
.ia-comision-total span{
    font-size:19px !important;
    text-transform:uppercase !important;
    letter-spacing:.2px !important;
}

#ia-resultados .ia-comision-total strong,
.ia-comision-total strong{
    font-size:19px !important;
}
/* ===== FIN FIX REAL CUOTA MENSUAL ===== */


/* ===== LOGO DAVATEL Y DISTRIBUIDORES CONECTADOS ADMIN ===== */
.caja-login img{
    width:100%;
    max-width:360px;
    height:auto;
    display:block;
    margin:0 auto 18px;
}

.logo img{
    height:58px;
    width:auto;
    object-fit:contain;
}

.admin-conectados-box{
    display:flex;
    align-items:center;
    gap:10px;
    width:max-content;
    max-width:100%;
    margin:-8px 0 22px 0;
    padding:12px 18px;
    border:1px solid #cfe0f7;
    border-left:6px solid #16a34a;
    border-radius:16px;
    background:linear-gradient(135deg,#f0fdf4,#ffffff);
    color:#003f86;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
    font-size:16px;
}

.admin-conectados-punto{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#16a34a;
    box-shadow:0 0 0 4px rgba(22,163,74,.15);
    flex:0 0 auto;
}

#admin-numero-distribuidores-conectados{
    font-size:22px;
    font-weight:900;
    color:#16a34a;
}

@media(max-width:700px){
    .admin-conectados-box{
        width:100%;
        justify-content:center;
        text-align:center;
        flex-wrap:wrap;
    }
}
/* ===== FIN LOGO DAVATEL Y DISTRIBUIDORES CONECTADOS ADMIN ===== */


/* ===== FIX LOGO DAVATEL GRANDE + CONTADOR REAL ADMIN ===== */
#login .caja-login{
    max-width:780px !important;
}

#login .logo-login-davatel,
.caja-login img.logo-login-davatel{
    width:100% !important;
    max-width:700px !important;
    height:auto !important;
    display:block !important;
    margin:0 auto 28px !important;
}

header .logo img{
    height:95px !important;
    max-width:260px !important;
    width:auto !important;
    object-fit:contain !important;
}

header .logo{
    gap:22px !important;
}

#admin-distribuidores-conectados.admin-conectados-box{
    margin:42px 0 34px 0 !important;
    padding:18px 24px !important;
    font-size:18px !important;
    gap:12px !important;
}

.admin-detalle-conectados{
    display:inline-block;
    margin-left:10px;
    color:#475569;
    font-size:14px;
    font-weight:800;
}

@media(max-width:900px){
    #login .caja-login{max-width:94vw !important;}
    header .logo img{height:78px !important; max-width:220px !important;}
    .admin-detalle-conectados{width:100%; margin-left:0; margin-top:6px; text-align:center;}
}
/* ===== FIN FIX LOGO DAVATEL GRANDE + CONTADOR REAL ADMIN ===== */

/* ===== CORRECCION REAL LOGO GRANDE + CONTADOR EN CABECERA ===== */
#login .caja-login{
    max-width:900px !important;
    padding:42px 44px !important;
}

#login .logo-login-davatel,
#login .caja-login img.logo-login-davatel{
    width:100% !important;
    max-width:760px !important;
    min-width:520px !important;
    height:auto !important;
    display:block !important;
    margin:0 auto 34px !important;
}

header{
    align-items:center !important;
    gap:34px !important;
}

header .logo{
    flex:0 0 auto !important;
    margin-right:34px !important;
}

header .logo img{
    width:420px !important;
    max-width:420px !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    display:block !important;
}

header .logo h1{
    display:none !important;
}

.admin-conectados-header{
    flex:0 0 auto !important;
    display:flex;
    align-items:center;
    gap:12px;
    margin-left:34px !important;
    margin-right:36px !important;
    padding:16px 22px !important;
    border:1px solid #cfe0f7;
    border-left:6px solid #16a34a;
    border-radius:18px;
    background:linear-gradient(135deg,#f0fdf4,#ffffff);
    color:#003f86;
    box-shadow:0 8px 20px rgba(15,23,42,.08);
    font-size:17px;
    white-space:nowrap;
}

#admin-numero-usuarios-conectados{
    font-size:25px;
    font-weight:900;
    color:#16a34a;
}

.admin-detalle-conectados{
    margin-left:10px !important;
    color:#475569 !important;
    font-size:13px !important;
    font-weight:800 !important;
}

#admin-distribuidores-conectados{
    display:none !important;
}

@media(max-width:1200px){
    header .logo img{
        width:340px !important;
        max-width:340px !important;
    }
    .admin-conectados-header{
        margin-left:10px !important;
        margin-right:10px !important;
        font-size:15px !important;
        flex-wrap:wrap;
    }
}

@media(max-width:900px){
    #login .logo-login-davatel,
    #login .caja-login img.logo-login-davatel{
        min-width:0 !important;
        max-width:100% !important;
    }
    header .logo{
        width:100% !important;
        margin-right:0 !important;
        justify-content:center !important;
    }
    header .logo img{
        width:100% !important;
        max-width:620px !important;
    }
    .admin-conectados-header{
        width:100% !important;
        justify-content:center !important;
        margin:18px 0 18px 0 !important;
        text-align:center !important;
    }
    .admin-detalle-conectados{
        width:100% !important;
        margin-left:0 !important;
    }
}
/* ===== FIN CORRECCION REAL LOGO GRANDE + CONTADOR EN CABECERA ===== */

/* ===== AJUSTE REAL DEFINITIVO TAMAÑO LOGO DAVATEL ===== */
#login .caja-login{
    max-width:820px !important;
    padding:38px 34px !important;
}

#login .logo-login-davatel,
#login .caja-login img.logo-login-davatel{
    width:100% !important;
    max-width:456px !important;
    min-width:0 !important;
    height:auto !important;
    display:block !important;
    margin:0 auto 28px !important;
}

header .logo img{
    width:210px !important;
    max-width:210px !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    display:block !important;
}

header .logo{
    margin-right:34px !important;
    gap:14px !important;
}

@media(max-width:900px){
    #login .logo-login-davatel,
    #login .caja-login img.logo-login-davatel{
        max-width:360px !important;
        min-width:0 !important;
    }

    header .logo img{
        width:190px !important;
        max-width:190px !important;
    }
}
/* ===== FIN AJUSTE REAL DEFINITIVO TAMAÑO LOGO DAVATEL ===== */

.admin-conectados-header{transform:scale(.65);transform-origin:left center;}
/* ===== AJUSTE FINAL: LOGO CABECERA MAS PEQUEÑO PARA SALIR EN MISMA LINEA ===== */
@media (min-width: 901px){
    header{
        flex-wrap:nowrap !important;
        gap:18px !important;
        padding-left:28px !important;
        padding-right:28px !important;
    }

    header .logo{
        margin-right:16px !important;
        flex:0 0 auto !important;
    }

    header .logo img{
        width:150px !important;
        max-width:150px !important;
        height:auto !important;
    }

    header nav{
        flex-wrap:nowrap !important;
        gap:10px !important;
        margin-left:auto !important;
    }

    header nav button{
        white-space:nowrap !important;
        flex:0 0 auto !important;
    }

    .admin-conectados-header{
        transform:scale(.58) !important;
        transform-origin:left center !important;
        margin-left:10px !important;
        margin-right:10px !important;
    }
}
/* ===== FIN AJUSTE FINAL ===== */

/* =========================================================
   PORTADA COMERCIAL DAVATEL DISTRIBUIDORES - DISEÑO Nº 1
   ========================================================= */
.portada-davatel{
    min-height:100vh;
    background:radial-gradient(circle at 80% 18%, rgba(0,159,227,.34), transparent 30%), linear-gradient(135deg,#ffffff 0%,#eef7ff 45%,#dff2ff 100%);
    color:#061a3b;
    font-family:Arial, Helvetica, sans-serif;
    overflow-x:hidden;
}
.portada-header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,57,130,.08);position:sticky;top:0;z-index:50}.portada-logo{height:82px;display:block}.portada-menu{display:flex;align-items:center;gap:28px}.portada-menu a{color:#061a3b;text-decoration:none;font-weight:900;font-size:15px;letter-spacing:.4px}.portada-menu a:hover{color:#0775ff}.portada-btn-entrar,.portada-menu button{background:linear-gradient(135deg,#126cff,#02b7f1)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:16px 30px!important;font-size:18px!important;font-weight:900!important;box-shadow:0 16px 35px rgba(0,104,255,.24)!important;margin:0!important}.portada-hero{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr;gap:42px;align-items:center;padding:46px 56px 30px}.portada-hero-texto h1{font-size:72px;line-height:.96;margin:0 0 22px;font-weight:1000;letter-spacing:-2px;color:#061a3b}.portada-hero-texto h1 span{background:linear-gradient(90deg,#126cff,#09b8f0);-webkit-background-clip:text;background-clip:text;color:transparent}.portada-comision{display:inline-flex;align-items:center;gap:14px;background:linear-gradient(100deg,#126cff,#02b7f1);color:white;border-radius:0 18px 18px 0;padding:14px 30px;margin:0 0 30px;font-size:31px;font-weight:900;box-shadow:0 18px 40px rgba(0,120,255,.26)}.portada-comision strong{font-size:58px;line-height:1}.portada-puntos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.portada-puntos li{position:relative;padding-left:46px;font-size:21px;font-weight:900;line-height:1.25;color:#061a3b}.portada-puntos li:before{content:'✓';position:absolute;left:0;top:-3px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#0a74ff;color:white;font-weight:900}.portada-mockup{position:relative;min-height:520px}.portada-laptop{position:absolute;right:44px;top:18px;width:730px;height:440px;background:#111827;border:12px solid #151923;border-radius:22px;box-shadow:0 35px 65px rgba(2,30,70,.22);display:grid;grid-template-columns:150px 1fr 230px;gap:16px;padding:22px;transform:perspective(1000px) rotateY(-8deg) rotateX(2deg);transform-origin:center}.portada-laptop:after{content:'';position:absolute;left:110px;right:80px;bottom:-36px;height:36px;background:linear-gradient(180deg,#9ca3af,#d1d5db);border-radius:0 0 38px 38px;box-shadow:0 18px 25px rgba(0,0,0,.16)}.mock-sidebar,.mock-panel,.mock-resultado{background:#fff;border-radius:12px;padding:16px}.mock-logo{width:112px;margin-bottom:18px}.mock-sidebar span{display:block;font-size:12px;color:#0b2b5c;margin:14px 0;font-weight:800}.mock-panel h3,.mock-resultado h4{margin:0;color:#061a3b;font-size:18px}.mock-panel p{font-size:12px;color:#64748b;margin:5px 0 14px}.mock-campo{border:1px solid #d8e8fa;border-radius:9px;padding:9px 12px;margin:9px 0;background:#f8fbff}.mock-campo span{display:block;font-size:11px;color:#64748b}.mock-campo strong{font-size:13px;color:#061a3b}.mock-panel button{width:100%;margin-top:10px!important;background:#0877ff!important;border-radius:9px!important;font-size:12px!important}.mock-badge{display:inline-block;background:#1668ff;color:white;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:900;margin:12px 0}.mock-precio{font-size:36px;font-weight:1000;color:#061a3b;margin:10px 0}.mock-precio small{font-size:14px}.mock-resultado p{margin:9px 0;color:#064e3b;font-size:13px}.mock-resultado strong{color:#00a887;font-size:22px}.portada-phone{position:absolute;right:0;bottom:0;width:175px;height:340px;background:#07305f;border:10px solid #111827;border-radius:32px;box-shadow:0 24px 50px rgba(2,30,70,.25);padding:26px 15px;color:#fff}.phone-logo{width:85px;filter:brightness(3);margin-bottom:18px}.phone-precio{font-size:30px;font-weight:1000;margin:12px 0}.portada-phone p{font-size:12px;margin:10px 0}.portada-cards{max-width:1450px;margin:12px auto 22px;padding:0 56px;display:grid;grid-template-columns:repeat(6,1fr);gap:0;background:linear-gradient(135deg,#0877ff,#00aeea);border-radius:24px;box-shadow:0 18px 45px rgba(0,100,220,.22);overflow:hidden}.portada-cards article{color:white;text-align:center;padding:28px 18px;border-right:1px solid rgba(255,255,255,.3)}.portada-cards article:last-child{border-right:0}.portada-cards article div{font-size:42px;font-weight:1000;margin-bottom:10px}.portada-cards h3{font-size:16px;text-transform:uppercase;margin:0 0 10px;color:#fff}.portada-cards p{font-size:14px;margin:0;line-height:1.35}.portada-cta{max-width:1450px;margin:18px auto;padding:24px 46px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0769ef,#04b9e7);border-radius:20px;color:#fff;box-shadow:0 18px 45px rgba(0,100,220,.2)}.portada-cta strong{font-size:34px}.portada-cta p{font-size:20px;margin:6px 0 0}.portada-cta button{background:white!important;color:#0b66df!important;border-radius:999px!important;padding:14px 52px!important;font-size:21px!important;font-weight:1000!important}.portada-contacto{max-width:1450px;margin:24px auto;padding:34px 42px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;background:#fff;border-radius:24px;box-shadow:0 18px 50px rgba(2,50,105,.12)}.portada-contacto-texto h2{font-size:42px;line-height:1.05;margin:0 0 18px;color:#0775ff}.portada-contacto-texto p{font-size:20px;max-width:560px;color:#1e3356}.portada-contacto-pasos{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.portada-contacto-pasos span{background:#eff6ff;color:#0759c7;border-radius:999px;padding:10px 16px;font-weight:900}.portada-form{display:grid;gap:16px}.portada-form input{height:62px;border:1px solid #c9dcf6;border-radius:16px;padding:0 22px;font-size:18px}.portada-form button{height:64px;border-radius:16px!important;background:linear-gradient(135deg,#126cff,#02b7f1)!important;color:white!important;font-size:22px!important;font-weight:1000!important}.portada-form small{color:#0759c7;text-align:center;font-weight:700}.portada-operadores{max-width:1450px;margin:24px auto;text-align:center;padding:24px 56px}.portada-operadores h2{font-size:24px;color:#061a3b;margin:0 0 24px}.operadores-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;background:white;border-radius:22px;padding:26px;box-shadow:0 16px 40px rgba(2,50,105,.10)}.operadores-grid span{font-size:28px;font-weight:1000;color:#1e3356}.operadores-grid span:nth-child(1){color:#62b321}.operadores-grid span:nth-child(3){color:#e60000}.operadores-grid span:nth-child(4){color:#ff7800}.operadores-grid span:nth-child(5){color:#111}.operadores-grid span:nth-child(7){color:#0078c9}.operadores-grid span:nth-child(8){color:#333}.operadores-grid span:nth-child(9){color:#111}.operadores-grid span:nth-child(10){color:#d33392}.portada-operadores p{font-size:18px;font-weight:900;color:#0b66df}.portada-confianza{max-width:1450px;margin:24px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 56px}.portada-confianza div{background:white;border-radius:18px;padding:20px;box-shadow:0 12px 32px rgba(2,50,105,.09)}.portada-confianza strong{display:block;color:#0759c7;font-size:18px;margin-bottom:6px}.portada-confianza span{color:#1e3356}.portada-footer{background:#051c43;color:white;margin-top:42px;padding:44px 56px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:38px}.portada-footer img{width:180px;filter:brightness(3);margin-bottom:12px}.portada-footer h4{margin:0 0 12px;text-transform:uppercase}.portada-footer a{display:block;color:#dbeafe;text-decoration:none;margin:8px 0}.portada-footer p{color:#dbeafe;line-height:1.5;margin:0}
@media(max-width:1150px){.portada-hero{grid-template-columns:1fr;padding:28px}.portada-mockup{min-height:440px}.portada-laptop{position:relative;right:auto;top:auto;width:100%;transform:none}.portada-phone{right:18px}.portada-cards{grid-template-columns:repeat(2,1fr);padding:0;margin-left:28px;margin-right:28px}.operadores-grid{grid-template-columns:repeat(3,1fr)}.portada-contacto{grid-template-columns:1fr;margin-left:28px;margin-right:28px}.portada-confianza{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.portada-header{height:auto;align-items:flex-start;gap:12px;padding:16px;flex-direction:column}.portada-logo{height:68px}.portada-menu{width:100%;gap:10px;flex-wrap:wrap}.portada-menu a{font-size:13px}.portada-btn-entrar{padding:12px 20px!important;font-size:15px!important}.portada-hero-texto h1{font-size:44px}.portada-comision{font-size:20px}.portada-comision strong{font-size:42px}.portada-puntos li{font-size:17px}.portada-laptop{height:auto;grid-template-columns:1fr;padding:16px}.mock-sidebar{display:none}.portada-phone{display:none}.portada-cards{grid-template-columns:1fr}.portada-cta{margin-left:28px;margin-right:28px;flex-direction:column;align-items:flex-start;gap:16px}.portada-cta strong{font-size:25px}.operadores-grid{grid-template-columns:repeat(2,1fr)}.operadores-grid span{font-size:22px}.portada-confianza{grid-template-columns:1fr;padding:0 28px}.portada-footer{grid-template-columns:1fr;padding:34px 28px}}

/* =========================================================
   PORTADA DAVATEL - CORRECCIONES BOCETO 1
   ========================================================= */
.portada-davatel{
    overflow-x:hidden;
}

.portada-hero{
    grid-template-columns:minmax(420px,.82fr) minmax(640px,1.18fr) !important;
    gap:84px !important;
    align-items:center !important;
    overflow:visible !important;
}

.portada-hero-texto{
    position:relative !important;
    z-index:4 !important;
    max-width:650px !important;
    overflow:visible !important;
}

.portada-hero-texto h1{
    line-height:1.08 !important;
    padding-bottom:12px !important;
    margin-bottom:18px !important;
    overflow:visible !important;
    text-wrap:balance;
}

.portada-hero-texto h1 span{
    display:inline-block !important;
    padding-bottom:8px !important;
    overflow:visible !important;
}

.portada-puntos{
    max-width:620px !important;
}

.portada-puntos li{
    line-height:1.35 !important;
    max-width:610px !important;
}

.portada-mockup{
    position:relative !important;
    z-index:1 !important;
    min-height:560px !important;
    overflow:visible !important;
    pointer-events:none;
}

.portada-laptop{
    right:18px !important;
    top:36px !important;
    width:min(690px,100%) !important;
    height:450px !important;
    transform:none !important;
    border:10px solid #111827 !important;
    border-radius:24px !important;
    box-shadow:0 28px 70px rgba(2,30,70,.24) !important;
    overflow:hidden !important;
}

.portada-laptop:after{
    display:none !important;
}

.mock-sidebar,
.mock-panel,
.mock-resultado{
    position:relative !important;
    z-index:2 !important;
}

.mock-logo{
    display:none !important;
}

.mock-sidebar:before{
    content:"DAVATEL\A DISTRIBUCIONES";
    white-space:pre-line;
    display:block;
    color:#0759c7;
    font-weight:1000;
    font-size:18px;
    line-height:1.05;
    margin-bottom:20px;
    letter-spacing:.4px;
}

.portada-phone{
    right:0 !important;
    bottom:8px !important;
    z-index:3 !important;
    background:linear-gradient(180deg,#0a3c78,#061a3b) !important;
    overflow:hidden !important;
}

.phone-logo{
    display:none !important;
}

.portada-phone:before{
    content:"DAVATEL";
    display:block;
    width:100%;
    text-align:center;
    color:#ffffff;
    font-weight:1000;
    font-size:22px;
    letter-spacing:.5px;
    margin-bottom:18px;
}

.portada-phone:after{
    content:"DISTRIBUCIONES";
    position:absolute;
    top:49px;
    left:0;
    right:0;
    text-align:center;
    color:#a7d7ff;
    font-size:9px;
    font-weight:900;
    letter-spacing:.8px;
}

.portada-contacto-texto h2{
    line-height:1.16 !important;
    padding-bottom:8px !important;
}

.portada-rgpd-check{
    display:flex !important;
    gap:10px !important;
    align-items:flex-start !important;
    margin:0 !important;
    padding:12px 14px !important;
    border:1px solid #c9dcf6 !important;
    border-radius:14px !important;
    background:#f8fbff !important;
    color:#1e3356 !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
}

.portada-rgpd-check input{
    width:18px !important;
    min-height:18px !important;
    height:18px !important;
    margin:1px 0 0 0 !important;
    flex:0 0 auto !important;
}

.portada-rgpd-check a{
    color:#0759c7 !important;
    font-weight:900 !important;
}

.portada-footer-marca{
    display:inline-flex;
    flex-direction:column;
    gap:2px;
    margin-bottom:14px;
    color:#fff;
}

.portada-footer-marca strong{
    font-size:34px;
    line-height:.95;
    letter-spacing:.8px;
}

.portada-footer-marca span{
    font-size:13px;
    color:#93c5fd;
    font-weight:900;
    letter-spacing:2px;
}

.portada-footer-nota{
    margin-top:12px !important;
    font-size:12px !important;
    opacity:.82;
}

.legal-page-davatel{
    min-height:100vh;
    background:linear-gradient(135deg,#eef7ff,#ffffff);
    padding:38px 18px;
    font-family:Arial,Helvetica,sans-serif;
    color:#061a3b;
}

.legal-card-davatel{
    max-width:980px;
    margin:0 auto;
    background:white;
    border:1px solid #dbeafe;
    border-radius:24px;
    box-shadow:0 18px 50px rgba(2,50,105,.12);
    padding:34px;
}

.legal-card-davatel h1{
    color:#0759c7;
    font-size:34px;
    margin:0 0 18px;
}

.legal-card-davatel h2{
    color:#061a3b;
    font-size:22px;
    margin:28px 0 10px;
}

.legal-card-davatel p,
.legal-card-davatel li{
    font-size:16px;
    line-height:1.65;
}

.legal-card-davatel ul{
    padding-left:22px;
}

.legal-volver-davatel{
    display:inline-block;
    margin-top:28px;
    background:linear-gradient(135deg,#126cff,#02b7f1);
    color:#fff !important;
    text-decoration:none;
    border-radius:999px;
    padding:14px 26px;
    font-weight:900;
}

@media(max-width:1250px){
    .portada-hero{
        grid-template-columns:1fr !important;
        gap:28px !important;
    }
    .portada-hero-texto{
        max-width:100% !important;
    }
    .portada-puntos{
        max-width:100% !important;
    }
    .portada-laptop{
        position:relative !important;
        right:auto !important;
        top:auto !important;
        margin:0 auto !important;
    }
}

@media(max-width:760px){
    .portada-hero{
        padding:24px 18px 18px !important;
    }
    .portada-hero-texto h1{
        font-size:42px !important;
    }
    .portada-mockup{
        min-height:auto !important;
    }
    .portada-laptop{
        height:auto !important;
        grid-template-columns:1fr !important;
    }
    .mock-resultado{
        display:block !important;
    }
    .legal-card-davatel{
        padding:24px 18px;
    }
}
/* =========================================================
   FIN CORRECCIONES PORTADA DAVATEL
   ========================================================= */

/* =========================================================
   PORTADA DAVATEL - AJUSTE FINAL BOCETO 1 PROFESIONAL
   ========================================================= */
#portada-davatel.portada-davatel{
    background:
        radial-gradient(circle at 78% 18%, rgba(0,167,255,.35), transparent 32%),
        radial-gradient(circle at 8% 12%, rgba(255,255,255,.95), transparent 34%),
        linear-gradient(135deg,#f7fbff 0%,#eaf6ff 48%,#c8eeff 100%) !important;
    overflow:hidden !important;
}
#portada-davatel .portada-header{
    height:104px !important;
    padding:14px 52px !important;
    background:rgba(255,255,255,.94) !important;
}
#portada-davatel .portada-logo{
    height:76px !important;
    width:auto !important;
    object-fit:contain !important;
}
#portada-davatel .portada-menu{
    gap:34px !important;
}
#portada-davatel .portada-menu a{
    text-decoration:none !important;
    color:#061a3b !important;
    font-weight:900 !important;
}
#portada-davatel .portada-menu a:hover{
    color:#0877ff !important;
}
#portada-davatel .portada-btn-entrar{
    min-width:145px !important;
}
#portada-davatel .portada-hero{
    max-width:1500px !important;
    margin:0 auto !important;
    padding:42px 54px 26px !important;
    display:grid !important;
    grid-template-columns:minmax(430px, .82fr) minmax(720px, 1.18fr) !important;
    gap:54px !important;
    align-items:center !important;
    overflow:visible !important;
}
#portada-davatel .portada-hero-texto{
    max-width:640px !important;
    z-index:5 !important;
}
#portada-davatel .portada-hero-texto h1{
    font-size:66px !important;
    line-height:1.04 !important;
    letter-spacing:-1.6px !important;
    padding-bottom:18px !important;
    margin:0 0 10px !important;
    overflow:visible !important;
}
#portada-davatel .portada-hero-texto h1 span{
    display:inline-block !important;
    padding:0 0 10px !important;
    line-height:1.02 !important;
    overflow:visible !important;
}
#portada-davatel .portada-comision{
    margin-top:0 !important;
    margin-bottom:24px !important;
    padding:12px 26px !important;
    font-size:28px !important;
    border-radius:0 18px 18px 0 !important;
}
#portada-davatel .portada-comision strong{
    font-size:56px !important;
}
#portada-davatel .portada-puntos{
    max-width:590px !important;
    gap:15px !important;
}
#portada-davatel .portada-puntos li{
    font-size:20px !important;
    line-height:1.30 !important;
    padding-left:46px !important;
    max-width:590px !important;
}
#portada-davatel .portada-puntos li:before{
    top:0 !important;
    width:30px !important;
    height:30px !important;
}
#portada-davatel .portada-mockup{
    position:relative !important;
    width:100% !important;
    max-width:850px !important;
    min-height:560px !important;
    overflow:visible !important;
    pointer-events:none !important;
}
#portada-davatel .portada-laptop{
    position:absolute !important;
    left:0 !important;
    right:auto !important;
    top:42px !important;
    width:690px !important;
    height:452px !important;
    display:grid !important;
    grid-template-columns:160px 1fr 220px !important;
    gap:18px !important;
    padding:22px !important;
    background:#101827 !important;
    border:10px solid #111827 !important;
    border-radius:26px !important;
    transform:none !important;
    overflow:visible !important;
    box-shadow:0 32px 80px rgba(4,42,91,.28), 0 12px 28px rgba(4,42,91,.16) !important;
}
#portada-davatel .portada-laptop:after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:110px !important;
    right:110px !important;
    bottom:-40px !important;
    height:32px !important;
    background:linear-gradient(180deg,#e5e7eb,#9ca3af) !important;
    border-radius:0 0 34px 34px !important;
    box-shadow:0 16px 22px rgba(0,0,0,.12) !important;
    z-index:0 !important;
}
#portada-davatel .mock-sidebar,
#portada-davatel .mock-panel,
#portada-davatel .mock-resultado{
    background:#ffffff !important;
    border-radius:14px !important;
    padding:18px !important;
    position:relative !important;
    z-index:2 !important;
    overflow:hidden !important;
    box-shadow:inset 0 0 0 1px rgba(219,234,254,.72) !important;
}
#portada-davatel .mock-sidebar{
    padding:18px 14px !important;
}
#portada-davatel .mock-logo{
    display:none !important;
}
#portada-davatel .mock-sidebar:before{
    content:"DAVATEL\A DISTRIBUCIONES" !important;
    white-space:pre-line !important;
    display:block !important;
    color:#0759c7 !important;
    font-weight:1000 !important;
    font-size:20px !important;
    line-height:1.02 !important;
    letter-spacing:.2px !important;
    margin-bottom:22px !important;
    max-width:100% !important;
}
#portada-davatel .mock-sidebar span{
    display:block !important;
    margin:15px 0 !important;
    font-size:13px !important;
    color:#061a3b !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}
#portada-davatel .mock-panel h3,
#portada-davatel .mock-resultado h4{
    font-size:18px !important;
    line-height:1.15 !important;
    margin:0 0 8px !important;
}
#portada-davatel .mock-panel p{
    margin:0 0 12px !important;
    font-size:12px !important;
}
#portada-davatel .mock-campo{
    margin:8px 0 !important;
    padding:8px 10px !important;
    border-radius:10px !important;
}
#portada-davatel .mock-campo span{
    font-size:11px !important;
}
#portada-davatel .mock-campo strong{
    font-size:13px !important;
    line-height:1.2 !important;
}
#portada-davatel .mock-panel button{
    height:42px !important;
    margin-top:10px !important;
    padding:0 !important;
    border-radius:10px !important;
}
#portada-davatel .mock-badge{
    margin:0 0 12px !important;
    padding:8px 12px !important;
    border-radius:8px !important;
    font-size:11px !important;
}
#portada-davatel .mock-precio{
    font-size:40px !important;
    line-height:1 !important;
    margin:18px 0 15px !important;
    white-space:nowrap !important;
}
#portada-davatel .mock-resultado p{
    font-size:13px !important;
    margin:8px 0 !important;
    white-space:nowrap !important;
}
#portada-davatel .mock-resultado strong{
    display:block !important;
    margin-top:16px !important;
    color:#00a887 !important;
    font-size:22px !important;
    white-space:nowrap !important;
}
#portada-davatel .portada-phone{
    position:absolute !important;
    right:6px !important;
    bottom:4px !important;
    width:158px !important;
    height:318px !important;
    padding:34px 16px 18px !important;
    border:9px solid #111827 !important;
    border-radius:30px !important;
    background:linear-gradient(180deg,#0b3d78,#061a3b) !important;
    color:#ffffff !important;
    z-index:5 !important;
    box-shadow:0 28px 58px rgba(2,30,70,.33) !important;
    overflow:hidden !important;
}
#portada-davatel .phone-logo{
    display:none !important;
}
#portada-davatel .portada-phone:before{
    content:"DAVATEL" !important;
    display:block !important;
    width:100% !important;
    color:#fff !important;
    font-size:23px !important;
    line-height:1 !important;
    font-weight:1000 !important;
    text-align:center !important;
    letter-spacing:.4px !important;
    margin-bottom:4px !important;
}
#portada-davatel .portada-phone:after{
    content:"DISTRIBUCIONES" !important;
    position:absolute !important;
    top:57px !important;
    left:0 !important;
    right:0 !important;
    text-align:center !important;
    color:#a7d7ff !important;
    font-size:8px !important;
    font-weight:900 !important;
    letter-spacing:.9px !important;
}
#portada-davatel .portada-phone .mock-badge{
    margin-top:26px !important;
    margin-bottom:18px !important;
    font-size:10px !important;
}
#portada-davatel .phone-precio{
    font-size:32px !important;
    line-height:1 !important;
    margin:8px 0 18px !important;
    padding:0 !important;
    white-space:nowrap !important;
}
#portada-davatel .portada-phone p{
    font-size:12px !important;
    margin:10px 0 !important;
    white-space:nowrap !important;
}
#portada-davatel .portada-cards{
    max-width:1450px !important;
    margin-top:4px !important;
}
#portada-davatel .portada-contacto{
    grid-template-columns:1fr .95fr !important;
}
#portada-davatel .portada-contacto-texto h2{
    font-size:42px !important;
    line-height:1.12 !important;
    padding-bottom:8px !important;
}
#portada-davatel .operadores-grid span{
    background:#fff !important;
    border:1px solid #dbeafe !important;
    border-radius:14px !important;
    padding:12px 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:58px !important;
    box-shadow:0 8px 22px rgba(2,50,105,.06) !important;
}
#portada-davatel .portada-footer-marca strong{
    font-size:38px !important;
    color:#ffffff !important;
    letter-spacing:.8px !important;
}
#portada-davatel .portada-footer-marca span{
    color:#93c5fd !important;
}
@media(max-width:1350px){
    #portada-davatel .portada-hero{
        grid-template-columns:minmax(380px,.74fr) minmax(650px,1.26fr) !important;
        gap:30px !important;
        padding-left:36px !important;
        padding-right:36px !important;
    }
    #portada-davatel .portada-hero-texto h1{font-size:58px !important;}
    #portada-davatel .portada-puntos li{font-size:18px !important;}
    #portada-davatel .portada-laptop{width:640px !important;grid-template-columns:150px 1fr 205px !important;}
    #portada-davatel .portada-phone{width:148px !important;right:0 !important;}
}
@media(max-width:1180px){
    #portada-davatel .portada-hero{
        grid-template-columns:1fr !important;
        gap:22px !important;
    }
    #portada-davatel .portada-hero-texto,
    #portada-davatel .portada-puntos{
        max-width:100% !important;
    }
    #portada-davatel .portada-mockup{
        max-width:850px !important;
        margin:0 auto !important;
    }
}
@media(max-width:760px){
    #portada-davatel .portada-header{
        height:auto !important;
        padding:16px !important;
    }
    #portada-davatel .portada-logo{height:68px !important;}
    #portada-davatel .portada-hero-texto h1{font-size:42px !important;}
    #portada-davatel .portada-mockup{min-height:auto !important;}
    #portada-davatel .portada-laptop{
        position:relative !important;
        width:100% !important;
        height:auto !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        left:auto !important;
        top:auto !important;
        padding:16px !important;
    }
    #portada-davatel .portada-laptop:after{display:none !important;}
    #portada-davatel .mock-sidebar{display:block !important;}
    #portada-davatel .portada-phone{display:none !important;}
    #portada-davatel .portada-contacto{grid-template-columns:1fr !important;}
}
/* =========================================================
   FIN AJUSTE FINAL BOCETO 1
   ========================================================= */

.mock-logo{width:150px!important;height:auto!important;display:block;margin:10px auto 20px auto;}
.phone-logo{width:120px!important;height:auto!important;display:block;margin:20px auto;}

/* =========================================================
   CORRECCIÓN REAL LOGOS MOCKUP DAVATEL
   Sustituye textos DAVATEL DISTRIBUCIONES por el logo real.
   ========================================================= */
#portada-davatel .mock-sidebar::before,
#portada-davatel .portada-phone::before,
#portada-davatel .portada-phone::after{
    content:none !important;
    display:none !important;
}

#portada-davatel .mock-sidebar{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
}

#portada-davatel .mock-sidebar .mock-logo,
#portada-davatel .mock-logo{
    display:block !important;
    width:135px !important;
    max-width:135px !important;
    height:auto !important;
    margin:4px auto 22px auto !important;
    object-fit:contain !important;
    filter:none !important;
    background:transparent !important;
}

#portada-davatel .portada-phone{
    display:block !important;
    padding-top:24px !important;
}

#portada-davatel .portada-phone .phone-logo,
#portada-davatel .phone-logo{
    display:block !important;
    width:115px !important;
    max-width:115px !important;
    height:auto !important;
    margin:0 auto 20px auto !important;
    object-fit:contain !important;
    filter:none !important;
    background:transparent !important;
}

#portada-davatel .portada-phone .mock-badge{
    margin-top:8px !important;
}
/* =========================================================
   FIN CORRECCIÓN REAL LOGOS MOCKUP DAVATEL
   ========================================================= */

/* ===== BOTÓN VOLVER DESDE LOGIN A PORTADA ===== */
.btn-volver-portada-login{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    margin:14px auto 8px !important;
    padding:11px 22px !important;
    border:2px solid #0077e6 !important;
    border-radius:999px !important;
    background:#ffffff !important;
    color:#004b9b !important;
    font-size:15px !important;
    font-weight:900 !important;
    box-shadow:0 8px 20px rgba(0,86,184,.12) !important;
    width:auto !important;
    max-width:100% !important;
}
.btn-volver-portada-login:hover{
    background:#0077e6 !important;
    color:#ffffff !important;
}
@media(max-width:520px){
    .btn-volver-portada-login{width:100% !important;}
}
/* ===== FIN BOTÓN VOLVER DESDE LOGIN A PORTADA ===== */


.portada-hero{position:relative;}
.portada-texto-central{
position:absolute;
left:53%;
top:110px;
transform:translateX(-50%);
font-size:24px;
font-weight:800;
color:#0b2d6b;
text-align:center;
line-height:1.2;
max-width:520px;
z-index:5;
}


.portada-hero{position:relative;}
.portada-texto-central{
position:absolute;
left:43%;
top:260px;
transform:translateX(-50%);
font-size:24px;
font-weight:800;
color:#0b2d6b;
text-align:center;
line-height:1.2;
max-width:520px;
z-index:5;
}

/* ===== AJUSTE FINAL TEXTO COMPARADOR EN HUECO AZUL + MÓVIL ===== */
#portada-davatel .portada-texto-central{
    position:absolute !important;
    left:0 !important;
    top:-92px !important;
    width:690px !important;
    max-width:690px !important;
    transform:none !important;
    text-align:center !important;
    color:#062c66 !important;
    font-size:25px !important;
    font-weight:1000 !important;
    line-height:1.18 !important;
    letter-spacing:.3px !important;
    z-index:20 !important;
    pointer-events:none !important;
    text-transform:uppercase !important;
}

@media(max-width:1350px){
    #portada-davatel .portada-texto-central{
        width:640px !important;
        max-width:640px !important;
        top:-86px !important;
        font-size:22px !important;
    }
}

@media(max-width:1180px){
    #portada-davatel .portada-texto-central{
        position:relative !important;
        left:auto !important;
        top:auto !important;
        width:100% !important;
        max-width:850px !important;
        margin:0 auto 22px auto !important;
        font-size:24px !important;
        line-height:1.22 !important;
    }
    #portada-davatel .portada-mockup{
        padding-top:0 !important;
    }
}

@media(max-width:760px){
    #portada-davatel .portada-header{
        align-items:center !important;
        text-align:center !important;
    }
    #portada-davatel .portada-menu{
        justify-content:center !important;
    }
    #portada-davatel .portada-hero{
        padding:24px 16px 18px !important;
        gap:18px !important;
    }
    #portada-davatel .portada-hero-texto h1{
        font-size:38px !important;
        text-align:center !important;
        letter-spacing:-.6px !important;
    }
    #portada-davatel .portada-comision{
        width:100% !important;
        justify-content:center !important;
        border-radius:18px !important;
        font-size:18px !important;
        padding:12px 16px !important;
    }
    #portada-davatel .portada-comision strong{
        font-size:38px !important;
    }
    #portada-davatel .portada-puntos li{
        font-size:16px !important;
        text-align:left !important;
    }
    #portada-davatel .portada-texto-central{
        position:relative !important;
        display:block !important;
        left:auto !important;
        top:auto !important;
        width:100% !important;
        max-width:100% !important;
        margin:6px auto 18px auto !important;
        font-size:20px !important;
        line-height:1.24 !important;
        z-index:5 !important;
    }
    #portada-davatel .portada-mockup{
        width:100% !important;
        max-width:100% !important;
        overflow:visible !important;
    }
    #portada-davatel .portada-laptop{
        border-width:7px !important;
        border-radius:18px !important;
        padding:14px !important;
        gap:12px !important;
    }
    #portada-davatel .mock-sidebar,
    #portada-davatel .mock-panel,
    #portada-davatel .mock-resultado{
        padding:14px !important;
    }
    #portada-davatel .portada-cards,
    #portada-davatel .portada-cta,
    #portada-davatel .portada-contacto,
    #portada-davatel .portada-operadores,
    #portada-davatel .portada-confianza{
        margin-left:16px !important;
        margin-right:16px !important;
        padding-left:16px !important;
        padding-right:16px !important;
    }
    #portada-davatel .portada-contacto-texto h2{
        font-size:30px !important;
    }
}
/* ===== FIN AJUSTE FINAL TEXTO COMPARADOR EN HUECO AZUL + MÓVIL ===== */


/* ===== SEO DAVATEL - BLOQUES LIMPIOS PORTADA ===== */
.portada-seo-resumen{
    max-width:1450px;
    margin:28px auto 18px;
    padding:0 56px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}
.portada-seo-resumen article{
    background:#ffffff;
    border:1px solid #dbeafe;
    border-radius:22px;
    padding:30px 28px;
    text-align:center;
    box-shadow:0 16px 40px rgba(2,50,105,.10);
}
.portada-seo-resumen .seo-icono{
    font-size:48px;
    line-height:1;
    margin-bottom:14px;
}
.portada-seo-resumen h2{
    color:#061a3b;
    font-size:24px;
    line-height:1.15;
    margin:0 0 12px;
    text-transform:uppercase;
}
.portada-seo-resumen p{
    color:#1e3356;
    font-size:17px;
    line-height:1.45;
    margin:0 auto 16px;
    max-width:430px;
}
.seo-mini-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin:12px 0 20px;
}
.seo-mini-links a{
    display:inline-block;
    background:#eff6ff;
    color:#0759c7;
    border:1px solid #bfdbfe;
    border-radius:999px;
    padding:8px 12px;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}
.seo-mini-links a:hover{
    background:#dbeafe;
}
.seo-boton{
    display:inline-block;
    background:linear-gradient(135deg,#126cff,#02b7f1);
    color:#ffffff!important;
    text-decoration:none;
    font-weight:1000;
    border-radius:12px;
    padding:13px 22px;
    box-shadow:0 12px 25px rgba(0,104,255,.22);
}
@media(max-width:1150px){
    .portada-seo-resumen{grid-template-columns:1fr; padding:0 28px;}
}
@media(max-width:760px){
    .portada-seo-resumen{padding:0 20px; margin-top:20px;}
    .portada-seo-resumen article{padding:24px 18px;}
    .portada-seo-resumen h2{font-size:21px;}
    .portada-seo-resumen p{font-size:16px;}
}

.seo-h1-hidden{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

#bloque-dni-alta input[type="file"]{
    display:block;
    width:100%;
    margin:8px 0 12px;
    padding:10px;
    border:1px solid #d0d7e2;
    border-radius:10px;
    background:#fff;
}
#bloque-dni-alta small{
    display:block;
    margin:-6px 0 12px;
    color:#64748b;
    font-size:12px;
}

.boton-editar-alta-admin{
    background:#0057b8;
    color:#fff;
    border:0;
    border-radius:10px;
    padding:10px 14px;
    font-weight:800;
    cursor:pointer;
}
.boton-editar-alta-admin:hover{
    background:#003f86;
}


/* =========================================================
   DAVATEL PORTADA RESPONSIVE MÓVIL - AJUSTE FINAL
   Solo afecta a la página inicial #portada-davatel.
   ========================================================= */
#portada-davatel,
#portada-davatel *{
    box-sizing:border-box;
}

#portada-davatel{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
}

#portada-davatel img{
    max-width:100%;
    height:auto;
}

#portada-davatel .portada-menu-toggle{
    display:none !important;
}

#portada-davatel .portada-logo-wrap{
    display:flex;
    align-items:center;
    min-width:0;
}

@media(max-width:900px){
    html, body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    #portada-davatel.portada-davatel{
        background:linear-gradient(180deg,#ffffff 0%,#eef7ff 45%,#dff2ff 100%) !important;
        overflow-x:hidden !important;
    }

    #portada-davatel .portada-header{
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        padding:10px 14px !important;
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:10px !important;
        text-align:left !important;
    }

    #portada-davatel .portada-logo-wrap{
        flex:1 1 auto !important;
        max-width:calc(100% - 120px) !important;
    }

    #portada-davatel .portada-logo{
        height:52px !important;
        width:auto !important;
        max-width:190px !important;
        object-fit:contain !important;
        display:block !important;
    }

    #portada-davatel .portada-menu-toggle{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex:0 0 auto !important;
        min-width:96px !important;
        margin:0 !important;
        padding:11px 14px !important;
        border:0 !important;
        border-radius:999px !important;
        background:linear-gradient(135deg,#126cff,#02b7f1) !important;
        color:#ffffff !important;
        font-size:14px !important;
        font-weight:1000 !important;
        line-height:1 !important;
        box-shadow:0 10px 24px rgba(0,104,255,.22) !important;
    }

    #portada-davatel .portada-menu{
        display:none !important;
        order:3 !important;
        width:100% !important;
        margin-top:6px !important;
        padding:10px !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:8px !important;
        background:#ffffff !important;
        border:1px solid #dbeafe !important;
        border-radius:18px !important;
        box-shadow:0 14px 34px rgba(2,50,105,.12) !important;
    }

    #portada-davatel .portada-menu.abierto{
        display:flex !important;
    }

    #portada-davatel .portada-menu a,
    #portada-davatel .portada-menu button{
        width:100% !important;
        min-width:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
        margin:0 !important;
        padding:13px 14px !important;
        border-radius:13px !important;
        font-size:14px !important;
        line-height:1.2 !important;
    }

    #portada-davatel .portada-menu a{
        background:#eff6ff !important;
        color:#061a3b !important;
        border:1px solid #dbeafe !important;
    }

    #portada-davatel .portada-btn-entrar,
    #portada-davatel .portada-menu button{
        background:linear-gradient(135deg,#126cff,#02b7f1) !important;
        color:#ffffff !important;
        font-size:15px !important;
        box-shadow:none !important;
    }

    #portada-davatel .portada-hero{
        width:100% !important;
        max-width:100% !important;
        padding:22px 14px 18px !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:20px !important;
        align-items:start !important;
        overflow:visible !important;
    }

    #portada-davatel .portada-hero-texto{
        width:100% !important;
        max-width:100% !important;
        text-align:center !important;
    }

    #portada-davatel .portada-hero-texto h1{
        font-size:clamp(34px, 10vw, 46px) !important;
        line-height:1.02 !important;
        letter-spacing:-.8px !important;
        margin:0 0 12px !important;
        padding:0 0 8px !important;
        text-align:center !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
    }

    #portada-davatel .portada-hero-texto h1 span{
        display:inline-block !important;
        padding-bottom:4px !important;
    }

    #portada-davatel .portada-comision{
        width:100% !important;
        max-width:100% !important;
        display:flex !important;
        flex-wrap:wrap !important;
        justify-content:center !important;
        align-items:center !important;
        gap:8px !important;
        margin:0 auto 18px !important;
        padding:12px 14px !important;
        border-radius:18px !important;
        font-size:17px !important;
        line-height:1.1 !important;
        text-align:center !important;
    }

    #portada-davatel .portada-comision strong{
        font-size:38px !important;
        line-height:1 !important;
    }

    #portada-davatel .portada-puntos{
        width:100% !important;
        max-width:100% !important;
        gap:12px !important;
        text-align:left !important;
    }

    #portada-davatel .portada-puntos li{
        width:100% !important;
        max-width:100% !important;
        font-size:16px !important;
        line-height:1.32 !important;
        padding-left:38px !important;
        text-align:left !important;
    }

    #portada-davatel .portada-puntos li:before{
        width:26px !important;
        height:26px !important;
        top:0 !important;
        font-size:15px !important;
    }

    #portada-davatel .portada-mockup{
        width:100% !important;
        max-width:100% !important;
        min-height:0 !important;
        height:auto !important;
        padding:0 !important;
        margin:0 auto !important;
        overflow:visible !important;
    }

    #portada-davatel .portada-texto-central{
        position:relative !important;
        left:auto !important;
        top:auto !important;
        transform:none !important;
        width:100% !important;
        max-width:100% !important;
        margin:2px auto 14px !important;
        padding:0 4px !important;
        text-align:center !important;
        font-size:18px !important;
        line-height:1.24 !important;
        letter-spacing:.1px !important;
    }

    #portada-davatel .portada-laptop{
        position:relative !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        width:100% !important;
        max-width:100% !important;
        height:auto !important;
        min-height:0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        padding:12px !important;
        border-width:7px !important;
        border-radius:20px !important;
        overflow:hidden !important;
        transform:none !important;
    }

    #portada-davatel .portada-laptop:after,
    #portada-davatel .portada-phone{
        display:none !important;
    }

    #portada-davatel .mock-sidebar{
        display:none !important;
    }

    #portada-davatel .mock-panel,
    #portada-davatel .mock-resultado{
        width:100% !important;
        max-width:100% !important;
        padding:14px !important;
        border-radius:14px !important;
        overflow:visible !important;
    }

    #portada-davatel .mock-panel h3,
    #portada-davatel .mock-resultado h4{
        font-size:17px !important;
        line-height:1.2 !important;
    }

    #portada-davatel .mock-precio{
        font-size:33px !important;
        white-space:normal !important;
    }

    #portada-davatel .mock-resultado p,
    #portada-davatel .mock-resultado strong{
        white-space:normal !important;
    }

    #portada-davatel .mock-resultado strong{
        font-size:20px !important;
    }

    #portada-davatel .portada-cards,
    #portada-davatel .portada-seo-resumen,
    #portada-davatel .portada-cta,
    #portada-davatel .portada-contacto,
    #portada-davatel .portada-operadores,
    #portada-davatel .portada-confianza{
        width:calc(100% - 28px) !important;
        max-width:calc(100% - 28px) !important;
        margin-left:14px !important;
        margin-right:14px !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }

    #portada-davatel .portada-cards,
    #portada-davatel .portada-seo-resumen,
    #portada-davatel .portada-contacto,
    #portada-davatel .portada-confianza{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    #portada-davatel .portada-cards{
        padding-top:14px !important;
        padding-bottom:14px !important;
        border-radius:22px !important;
    }

    #portada-davatel .portada-cards article{
        border-right:0 !important;
        border-bottom:1px solid rgba(255,255,255,.24) !important;
        padding:22px 14px !important;
    }

    #portada-davatel .portada-cards article:last-child{
        border-bottom:0 !important;
    }

    #portada-davatel .portada-seo-resumen article{
        padding:22px 16px !important;
        text-align:center !important;
    }

    #portada-davatel .portada-cta{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:14px !important;
        padding-top:22px !important;
        padding-bottom:22px !important;
        text-align:center !important;
    }

    #portada-davatel .portada-cta strong{
        font-size:24px !important;
        line-height:1.15 !important;
    }

    #portada-davatel .portada-cta p{
        font-size:16px !important;
    }

    #portada-davatel .portada-cta button{
        width:100% !important;
        margin:0 !important;
        padding:14px 18px !important;
        font-size:18px !important;
    }

    #portada-davatel .portada-contacto{
        padding-top:24px !important;
        padding-bottom:24px !important;
        border-radius:22px !important;
    }

    #portada-davatel .portada-contacto-texto h2{
        font-size:28px !important;
        line-height:1.12 !important;
        text-align:center !important;
    }

    #portada-davatel .portada-contacto-texto p{
        font-size:16px !important;
        text-align:center !important;
    }

    #portada-davatel .portada-contacto-pasos{
        justify-content:center !important;
    }

    #portada-davatel .portada-contacto-pasos span{
        width:100% !important;
        text-align:center !important;
    }

    #portada-davatel .portada-form{
        width:100% !important;
        max-width:100% !important;
    }

    #portada-davatel .portada-form input,
    #portada-davatel .portada-form button{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        font-size:16px !important;
    }

    #portada-davatel .portada-rgpd-check{
        align-items:flex-start !important;
        text-align:left !important;
    }

    #portada-davatel .operadores-grid{
        width:100% !important;
        max-width:100% !important;
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:10px !important;
        padding:14px !important;
    }

    #portada-davatel .operadores-grid span{
        min-height:50px !important;
        padding:10px 8px !important;
        font-size:18px !important;
        overflow-wrap:anywhere !important;
    }

    #portada-davatel .portada-confianza div{
        padding:18px !important;
        text-align:center !important;
    }

    #portada-davatel .portada-footer{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:24px !important;
        padding:32px 20px !important;
        text-align:center !important;
    }

    #portada-davatel .portada-footer a{
        padding:4px 0 !important;
    }
}

@media(max-width:420px){
    #portada-davatel .portada-logo{
        height:46px !important;
        max-width:165px !important;
    }

    #portada-davatel .portada-menu-toggle{
        min-width:88px !important;
        padding:10px 12px !important;
        font-size:13px !important;
    }

    #portada-davatel .portada-hero{
        padding-left:12px !important;
        padding-right:12px !important;
    }

    #portada-davatel .portada-hero-texto h1{
        font-size:32px !important;
    }

    #portada-davatel .portada-texto-central{
        font-size:16px !important;
    }

    #portada-davatel .operadores-grid{
        grid-template-columns:1fr !important;
    }
}
/* ===== FIN DAVATEL PORTADA RESPONSIVE MÓVIL ===== */

/* =========================================================
   FIX MÓVIL DAVATEL - CHECK RGPD FORMULARIO CONTACTO
   Evita que el checkbox ocupe todo el ancho y empuje el texto fuera.
   ========================================================= */
#portada-davatel .portada-form .portada-rgpd-check,
.portada-davatel .portada-form .portada-rgpd-check{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:12px !important;
    overflow:hidden !important;
}

#portada-davatel .portada-form .portada-rgpd-check input[type="checkbox"],
.portada-davatel .portada-form .portada-rgpd-check input[type="checkbox"]{
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    flex:0 0 22px !important;
    margin:2px 0 0 0 !important;
    padding:0 !important;
    border-radius:6px !important;
    box-sizing:border-box !important;
}

#portada-davatel .portada-form .portada-rgpd-check span,
.portada-davatel .portada-form .portada-rgpd-check span{
    display:block !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.35 !important;
    text-align:left !important;
}

@media(max-width:760px){
    #portada-davatel .portada-form .portada-rgpd-check,
    .portada-davatel .portada-form .portada-rgpd-check{
        padding:14px 14px !important;
        gap:10px !important;
        font-size:13px !important;
        line-height:1.35 !important;
    }

    #portada-davatel .portada-form .portada-rgpd-check input[type="checkbox"],
    .portada-davatel .portada-form .portada-rgpd-check input[type="checkbox"]{
        width:22px !important;
        min-width:22px !important;
        max-width:22px !important;
        flex-basis:22px !important;
    }
}
