:root{
    --bg-oscuro:#1b2a44;
    --bg-gradiente:radial-gradient(circle at top right,#334765,#1b2a44 72%);
    --azul-primario:#2563eb;
    --azul-hover:#1d4ed8;
    --azul-brillo:#3b82f6;
    --texto-principal:#f8fafc;
    --texto-muted:#94a3b8;
    --blanco-transparente:rgba(255,255,255,.05);
    --borde-suave:rgba(255,255,255,.1);
    --radius:12px;
}



*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI',Arial,sans-serif;
}

html{
    overflow-x:hidden;
    min-height:100%;
    background:var(--bg-oscuro);
}

html:has(body[data-visual-theme="blackstock"]){background:#06111f}
html:has(body[data-visual-theme="claro"]){background:#f7f9fc}
html:has(body[data-visual-theme="menta"]){background:#f4fbf7}
html:has(body[data-visual-theme="lavanda"]){background:#fbf8ff}
html:has(body[data-visual-theme="cielo"]){background:#f3f8fb}
html:has(body[data-visual-theme="arena"]){background:#fbf7ef}
html:has(body[data-visual-theme="salvia"]){background:#f2f7f4}

body{
    overflow-x:hidden;
    background:var(--bg-gradiente);
    background-color:var(--bg-oscuro);
    background-attachment:fixed;
    color:var(--texto-principal);
    min-height:100vh;
    min-height:100dvh;
    padding-top:80px;
}





@supports (-webkit-touch-callout:none){
    body{
        background-attachment:scroll;
    }
}

body.menu-abierto{
    overflow:hidden;
}

h1,
h2,
h3{
    color:#fff;
    margin-bottom:15px;
}

.titulo{
    text-align:center;
}

.contenedor{
    width:95%;
    max-width:1200px;
    margin:30px auto;
}

.card,
.tarjeta{
    background:rgba(255,255,255,.03);
    padding:25px;
    border-radius:var(--radius);
    border:1px solid var(--borde-suave);
}





.menu{
    position:fixed;
    top:18px;
    left:25px;
    width:auto;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:0;
    background:transparent;
    border:none;
    backdrop-filter:none;
}





.menu-toggle{
    display:flex;
    width:50px;
    min-width:50px;
    height:50px;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08);
    border:1px solid var(--borde-suave);
    color:#fff;
    font-size:26px;
    border-radius:10px;
    cursor:pointer;
    transition:.3s ease;
}

.menu-toggle:hover{
    background:rgba(255,255,255,.15);
}

.menu-enlaces{
    position:fixed;
    top:0;
    left:-340px;
    width:85%;
    max-width:340px;
    height:100vh;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:95px 20px 28px;
    background:linear-gradient(180deg,#111827,#0f172a);
    border-right:1px solid var(--borde-suave);
    overflow-y:auto;
    transition:left .3s ease;
    box-shadow:18px 0 45px rgba(0,0,0,.45);
    z-index:9999;
}

.menu-enlaces.mostrar{
    left:0;
}

.menu-enlaces a{
    width:100%;
    padding:13px 18px;
    border-radius:10px;
    background:rgba(255,255,255,.06);
    border:1px solid transparent;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    transition:.3s ease;
}

.menu-enlaces a:hover{
    background:rgba(59,130,246,.18);
    border-color:rgba(59,130,246,.35);
    transform:translateX(4px);
}

.menu-enlaces a.activo{
    background:linear-gradient(135deg,var(--azul-primario),var(--azul-brillo));
    box-shadow:0 8px 22px rgba(37,99,235,.35);
}

.menu-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    opacity:0;
    visibility:hidden;
    transition:.3s ease;
    z-index:9998;
}

.menu-overlay.activo{
    opacity:1;
    visibility:visible;
}

.logout-form{
    width:100%;
    margin-top:auto;
    padding-top:20px;
}



button,
.btn-accion,
.logout button{
    background:var(--azul-primario);
    color:#fff;
    border:none;
    padding:10px 16px;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:.3s ease;
}

button:hover,
.btn-accion:hover,
.logout button:hover{
    background:var(--azul-hover);
    transform:translateY(-2px);
}

a.btn-accion{
    color:#fff;
    text-decoration:none;
}

.btn-logout,
.logout button{
    width:100%;
    min-height:48px;
    border-radius:12px;
    background:linear-gradient(135deg,#dc2626,#ef4444);
    box-shadow:0 10px 25px rgba(239,68,68,.25);
}

.btn-logout:hover,
.logout button:hover{
    background:linear-gradient(135deg,#b91c1c,#dc2626);
}

.btn-principal{
    background:linear-gradient(135deg,var(--azul-primario),var(--azul-brillo));
}

.btn-secundario{
    background:rgba(255,255,255,.08);
    border:1px solid var(--borde-suave);
}

.btn-principal,
.btn-secundario,
.btn-eliminar{
    min-height:45px;
    border-radius:10px;
}

.btn-eliminar{
    background:#dc2626;
    padding:8px 14px;
}

.btn-eliminar:hover{
    background:#b91c1c;
}


label{
    display:block;
    margin-bottom:5px;
    font-weight:600;
    color:var(--texto-muted);
}

input,
select,
textarea{
    width:100%;
    padding:12px;
    margin:8px 0;
    border-radius:8px;
    border:1px solid var(--borde-suave);
    outline:none;
    background:var(--blanco-transparente);
    color:#fff;
    transition:.3s ease;
}

textarea{
    font-family:inherit;
    resize:vertical;
    min-height:60px;
}

input:focus,
select:focus,
textarea:focus{
    border-color:var(--azul-brillo);
    box-shadow:0 0 12px rgba(59,130,246,.3);
}

select{
    cursor:pointer;
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 12px center;
    background-size:16px;
}

select option{
    background:#1e293b;
    color:#fff;
}

.form-container{
    max-width:800px;
    margin:40px auto;
    padding:35px;
    background:rgba(30,41,59,.4);
    border-radius:16px;
    border:1px solid var(--borde-suave);
}

.form-container h1{
    text-align:center;
    margin-bottom:30px;
}

.form-container input,
.form-container select{
    margin-bottom:20px;
    height:45px;
    background:rgba(15,23,42,.4);
}


.login-card{
    width:380px;
    max-width:95%;
    margin:80px auto;
    background:rgba(30,41,59,.7);
    padding:40px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 25px 50px -12px rgba(0,0,0,.5);
    backdrop-filter:blur(12px);
    text-align:center;
}

.login-card h2{
    color:var(--azul-brillo);
    font-size:16px;
    margin-bottom:25px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.login-card input{
    background:rgba(15,23,42,.5);
}



.contenedor-tabla{
    width:100%;
    overflow-x:auto;
    margin-top:20px;
    padding:20px;
    background:rgba(30,41,59,.3);
    border-radius:15px;
    border:1px solid var(--borde-suave);
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}

.contenedor-tabla::-webkit-scrollbar{
    height:8px;
}

.contenedor-tabla::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.2);
    border-radius:20px;
}

.tabla-responsive{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

table{
    width:100%;
    min-width:700px;
    border-collapse:separate;
    border-spacing:0 8px;
}

th{
    padding:15px;
    color:var(--texto-muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1px;
    text-align:left;
    border-bottom:1px solid var(--borde-suave);
}

td{
    padding:15px;
    background:rgba(255,255,255,.02);
    color:var(--texto-principal);
    transition:.3s ease;
    white-space:nowrap;
}

tr:hover td{
    background:rgba(255,255,255,.05);
}

td:first-child{
    border-radius:8px 0 0 8px;
}

td:last-child{
    border-radius:0 8px 8px 0;
}

.acciones{
    display:flex;
    gap:6px;
    flex-wrap:nowrap;
    align-items:center;
}

.acciones .btn-accion{
    width:auto;
    padding:9px 12px;
    font-size:14px;
    white-space:nowrap;
}

.status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:600;
}

.status::before{
    content:'';
    width:10px;
    height:10px;
    border-radius:50%;
}

.status.critico{
    color:#f87171;
}

.status.critico::before{
    background:#ef4444;
    box-shadow:0 0 8px #ef4444;
}

.status.bajo{
    color:#fbbf24;
}

.status.bajo::before{
    background:#f59e0b;
    box-shadow:0 0 8px #f59e0b;
}

.status.ok{
    color:#34d399;
}

.status.ok::before{
    background:#10b981;
    box-shadow:0 0 8px #10b981;
}

.alerta{
    position:fixed;
    top:20px;
    right:20px;
    padding:15px 25px;
    border-radius:8px;
    color:#fff;
    font-weight:700;
    box-shadow:0 10px 25px rgba(0,0,0,.3);
    z-index:9999;
    animation:aparecer .5s ease,desaparecer .5s ease 3s forwards;
}

.alerta.exito{
    background:#22c55e;
}

.alerta.error{
    background:#ef4444;
}

.alerta-ventas{
    padding:14px 18px;
    border-radius:12px;
    margin-bottom:18px;
    font-weight:700;
    text-align:center;
}

.alerta-ok{
    background:rgba(34,197,94,.15);
    border:1px solid rgba(34,197,94,.4);
    color:#86efac;
}

.alerta-error{
    background:rgba(239,68,68,.15);
    border:1px solid rgba(239,68,68,.4);
    color:#fca5a5;
}

.error{
    background:#dc2626;
    color:#fff;
    padding:10px;
    border-radius:5px;
    margin:10px 0;
}

.exito:not(.alerta){
    width:fit-content;
    margin:0 auto 25px auto;
    padding:16px 30px;
    background:linear-gradient(135deg,#16a34a,#22c55e);
    color:white;
    border-radius:16px;
    font-size:1.4rem;
    font-weight:700;
    text-align:center;
    box-shadow:0 8px 25px rgba(34,197,94,.35);
    animation:exito-aparecer .5s ease,exito-desaparecer .5s ease 4s forwards;
}

@keyframes aparecer{
    from{
        opacity:0;
        transform:translateX(100%);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes desaparecer{
    to{
        opacity:0;
        transform:translateX(100%);
    }
}

@keyframes exito-aparecer{
    from{
        opacity:0;
        transform:translateY(-20px) scale(.9);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

@keyframes exito-desaparecer{
    to{
        opacity:0;
        transform:translateY(-20px);
        visibility:hidden;
    }
}


#resultados{
    position:absolute;
    width:300px;
    max-width:100%;
    max-height:220px;
    overflow-y:auto;
    background:#fff;
    color:#333;
    border-radius:0 0 10px 10px;
    box-shadow:0 10px 25px rgba(0,0,0,.25);
    z-index:100;
}

.resultado-item{
    padding:10px;
    border-bottom:1px solid #eee;
    cursor:pointer;
}

.resultado-item:hover{
    background:#f0f0f0;
}

.footer{
    margin-top:20px;
    font-size:12px;
    color:var(--texto-muted);
}

.marquee{
    position:absolute;
    top:20px;
    width:100%;
    overflow:hidden;
    white-space:nowrap;
    pointer-events:none;
}

.marquee span{
    display:inline-block;
    padding-left:100%;
    font-size:40px;
    font-weight:700;
    color:rgba(255,255,255,.05);
    animation:mover 15s linear infinite;
}

@keyframes mover{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-100%);
    }
}


.ventas-page{
    max-width:1200px;
}

.ventas-header{
    text-align:center;
    margin-bottom:25px;
}

.ventas-header p{
    color:var(--texto-muted);
    font-size:15px;
}

.ventas-card{
    margin-bottom:22px;
    box-shadow:0 20px 45px rgba(0,0,0,.18);
}

.ventas-form{
    display:grid;
    grid-template-columns:2fr 1fr auto;
    gap:16px;
    align-items:end;
}

.campo-busqueda{
    position:relative;
}

.resultados-productos{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    background:#111827;
    color:#fff;
    border:1px solid var(--borde-suave);
    border-radius:0 0 12px 12px;
    max-height:240px;
    overflow-y:auto;
    z-index:50;
    display:none;
    box-shadow:0 20px 40px rgba(0,0,0,.35);
}

.resultados-productos.activo{
    display:block;
}

.resultados-productos .resultado-item{
    padding:12px 14px;
    cursor:pointer;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.resultados-productos .resultado-item:hover{
    background:rgba(59,130,246,.18);
}

.resultados-productos .resultado-item small{
    display:block;
    margin-top:4px;
    color:var(--texto-muted);
}

.tabla-ventas{
    min-width:760px;
}

.cantidad-control{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:6px;
    background:rgba(255,255,255,.04);
    border:1px solid var(--borde-suave);
    border-radius:12px;
}

.cantidad-control form{
    margin:0;
}

.btn-cantidad{
    width:34px;
    height:34px;
    padding:0;
    border-radius:9px;
    font-size:20px;
    line-height:1;
}

.cantidad-numero{
    min-width:32px;
    text-align:center;
    font-weight:800;
    color:#fff;
}

.resumen-venta{
    margin-top:20px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.resumen-venta div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 16px;
    background:rgba(255,255,255,.04);
    border:1px solid var(--borde-suave);
    border-radius:12px;
}

.resumen-venta span{
    color:var(--texto-muted);
    font-weight:700;
}

.resumen-venta strong{
    color:#fff;
}

.resumen-venta .total-final{
    background:linear-gradient(135deg,rgba(37,99,235,.35),rgba(59,130,246,.18));
    border-color:rgba(59,130,246,.5);
}

.resumen-venta .total-final strong{
    font-size:22px;
}

.acciones-venta{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    align-items:center;
}







.acciones-venta form{
    margin:0;
}

.btn-confirmar{
    width:100%;
}

.carrito-vacio{
    text-align:center;
    color:var(--texto-muted);
}

.carrito-vacio h2{
    color:#fff;
}


.tabla-stock{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed;
    margin:0 auto;
    border-collapse:separate;
    border-spacing:0 8px;
}

.tabla-stock th,
.tabla-stock td{
    padding:15px;
    white-space:nowrap;
    text-align:center;
    vertical-align:middle;
}

.tabla-stock th:nth-child(1),
.tabla-stock td:nth-child(1){
    width:35%;
    text-align:left;
}

.tabla-stock th:nth-child(2),
.tabla-stock td:nth-child(2){
    width:20%;
}

.tabla-stock th:nth-child(3),
.tabla-stock td:nth-child(3){
    width:25%;
}

.tabla-stock th:nth-child(4),
.tabla-stock td:nth-child(4){
    width:20%;
    text-align:center;
}


.detalle-venta-page table{
    width:100%;
    min-width:0 !important;
    table-layout:fixed;
}

.detalle-venta-page th,
.detalle-venta-page td{
    text-align:center !important;
    vertical-align:middle;
}

.detalle-venta-page td{
    width:auto !important;
    white-space:normal;
}

.detalle-venta-page .contenedor-tabla{
    overflow-x:hidden;
}

.tabla-anuales{
    width:100%;
    min-width:0 !important;
    table-layout:fixed;
}

.tabla-anuales th,
.tabla-anuales td{
    text-align:center;
    vertical-align:middle;
    white-space:normal;
}


.historial-page{
    background:var(--bg-gradiente);
    background-color:var(--bg-oscuro);
    background-attachment:fixed;
    min-height:100vh;
    min-height:100dvh;
}

.historial-page > .contenedor-tabla{
    width:94%;
    max-width:1200px;
    margin:20px auto 30px;
}

.historial-page .tabla-responsive{
    width:100%;
    overflow-x:auto;
}

.historial-resumen{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    margin:18px 0;
}

.historial-resumen article{
    padding:14px;
    background:rgba(15,23,42,.58);
    border:1px solid var(--borde-suave);
    border-radius:8px;
    text-align:left;
}

.historial-resumen span{
    display:block;
    color:var(--texto-muted);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:8px;
}

.historial-resumen strong{
    display:block;
    color:var(--texto-principal);
    font-size:20px;
    overflow-wrap:anywhere;
}

.historial-acciones{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.historial-acciones .btn-accion{
    width:auto;
    margin:0;
    min-height:42px;
    padding:10px 14px;
    text-decoration:none;
}

.producto-margen-preview{
    width:100%;
    padding:12px 14px;
    margin:4px 0 14px;
    border:1px solid rgba(16,185,129,.38);
    border-radius:8px;
    background:rgba(16,185,129,.10);
    color:#bbf7d0;
    font-weight:800;
    text-align:center;
}

.producto-margen-preview.bajo{
    border-color:rgba(245,158,11,.45);
    background:rgba(245,158,11,.12);
    color:#fde68a;
}

.producto-margen-preview.riesgo{
    border-color:rgba(239,68,68,.48);
    background:rgba(239,68,68,.13);
    color:#fecaca;
}

.tabla-historial{
    width:100%;
    min-width:1120px !important;
    table-layout:fixed;
}

.tabla-historial th,
.tabla-historial td{
    text-align:center;
    vertical-align:middle;
    white-space:normal;
}

.tabla-historial th:nth-child(1),
.tabla-historial td:nth-child(1){width:5%;}

.tabla-historial th:nth-child(2),
.tabla-historial td:nth-child(2){width:15%;}

.tabla-historial th:nth-child(3),
.tabla-historial td:nth-child(3){width:13%;}

.tabla-historial th:nth-child(4),
.tabla-historial td:nth-child(4){width:11%;}

.tabla-historial th:nth-child(5),
.tabla-historial td:nth-child(5){width:10%;}

.tabla-historial th:nth-child(6),
.tabla-historial td:nth-child(6){width:10%;}

.tabla-historial th:nth-child(7),
.tabla-historial td:nth-child(7){width:9%;}

.tabla-historial th:nth-child(8),
.tabla-historial td:nth-child(8){width:9%;}

.tabla-historial th:nth-child(9),
.tabla-historial td:nth-child(9){width:9%;}

.tabla-historial th:nth-child(10),
.tabla-historial td:nth-child(10){width:9%;}

.tabla-historial a.btn-accion{
    width:auto;
    margin:0;
    color:#fff;
    text-decoration:none;
}

.tabla-historial button{
    width:auto;
    margin:0 auto;
}


.tabla-productos-admin{
    width:100%;
    border-collapse:separate;
    border-spacing:0 10px;
    margin-top:20px;
}

.tabla-productos-admin th{
    padding:12px 10px;
    text-align:left;
    color:#93c5fd;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.tabla-productos-admin tr:not(:first-child){
    background:rgba(255,255,255,.035);
}

.tabla-productos-admin td{
    padding:10px;
    vertical-align:middle;
    border-bottom:none;
}

.tabla-productos-admin td:first-child{
    border-radius:10px 0 0 10px;
}

.tabla-productos-admin td:last-child{
    border-radius:0 10px 10px 0;
}

.form-stock{
    display:flex;
    gap:6px;
    align-items:center;
    flex-wrap:nowrap;
}

.form-stock input[type="number"]{
    width:64px;
    height:38px;
    padding:8px;
}

.form-stock button{
    width:auto;
    height:38px;
    padding:8px 12px;
    font-size:14px;
}

.barra-productos{
    display:flex;
    gap:12px;
    align-items:center;
    margin-bottom:18px;
}

.barra-productos #buscador{
    flex:1;
    margin-bottom:0;
}

.campo-voz{
    position:relative;
    display:flex;
    align-items:center;
    flex:1;
}

.campo-voz input{
    width:100%;
    padding-right:40px;
}

.btn-voz{
    position:absolute;
    right:5px;
    top:50%;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    min-width:30px;
    padding:0;
    border:none;
    border-radius:50%;
    background:var(--azul-primario);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font-size:14px;
    line-height:1;
    transition:.2s ease;
}

.btn-voz:hover{
    background:var(--azul-hover);
}

.btn-voz.escuchando{
    background:#dc2626;
    animation:pulsoBtnVoz 1s ease-in-out infinite;
}

.btn-voz[hidden]{
    display:none;
}

@keyframes pulsoBtnVoz{
    0%,100%{ box-shadow:0 0 0 0 rgba(220,38,38,.45); }
    50%{ box-shadow:0 0 0 8px rgba(220,38,38,0); }
}

.voz-flotante{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:1200;
    width:58px;
    height:58px;
    min-width:58px;
    padding:0;
    border:none;
    border-radius:50%;
    background:var(--azul-primario);
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(0,0,0,.28);
    transition:.2s ease;
}

.voz-flotante:hover{
    background:var(--azul-hover);
    transform:translateY(-2px);
}

.voz-flotante.escuchando{
    background:#dc2626;
    animation:pulsoBtnVoz 1s ease-in-out infinite;
}

.voz-panel{
    position:fixed;
    right:22px;
    bottom:92px;
    z-index:1200;
    width:min(340px, calc(100vw - 44px));
    padding:16px;
    border-radius:16px;
    border:1px solid var(--theme-border, var(--borde-suave));
    background:var(--theme-panel, #0b203a);
    color:var(--theme-text, var(--texto-principal));
    box-shadow:0 20px 45px rgba(0,0,0,.35);
}

.voz-panel[hidden]{
    display:none;
}

.voz-panel-cabecera{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}

.voz-panel-cerrar{
    width:28px;
    height:28px;
    min-width:28px;
    padding:0;
    border:none;
    border-radius:50%;
    background:transparent;
    color:inherit;
    font-size:20px;
    line-height:1;
    cursor:pointer;
}

.voz-panel-cerrar:hover{
    background:rgba(127,127,127,.18);
    transform:none;
}

.voz-estado{
    margin:0 0 6px;
    font-size:13px;
    opacity:.75;
}

.voz-transcripcion{
    margin:0 0 8px;
    font-size:15px;
    font-style:italic;
    min-height:20px;
}

.voz-respuesta{
    margin:0;
    font-size:14px;
    font-weight:600;
    min-height:20px;
}

.voz-respuesta.voz-exito{ color:var(--theme-success,#16a34a); }
.voz-respuesta.voz-error{ color:var(--theme-danger,#dc2626); }
.voz-respuesta.voz-aviso{ color:var(--theme-warning,#d97706); }

.voz-panel-pie{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.voz-panel-pie button{
    flex:1;
    min-width:130px;
    min-height:34px;
    padding:6px 10px;
    border:1px solid var(--theme-border, var(--borde-suave));
    border-radius:10px;
    background:transparent;
    color:inherit;
    font-size:12px;
    cursor:pointer;
}

.voz-panel-pie button:hover{
    background:var(--azul-primario);
    color:#fff;
    transform:none;
}

.voz-ejemplos{
    margin:12px 0 0;
    padding:10px 10px 10px 26px;
    max-height:190px;
    overflow-y:auto;
    border-radius:10px;
    background:rgba(127,127,127,.12);
    font-size:13px;
    line-height:1.7;
}

.voz-ejemplos[hidden]{
    display:none;
}

@media (max-width:600px){
    .voz-flotante{
        right:16px;
        bottom:16px;
        width:52px;
        height:52px;
        min-width:52px;
        font-size:22px;
    }

    .voz-panel{
        right:16px;
        left:16px;
        bottom:80px;
        width:auto;
    }
}

.btn-eliminados{
    white-space:nowrap;
}

.fila-vacia td{
    text-align:center;
    padding:25px;
    color:#f8fafc;
}


.form-categoria-rapida{
    display:flex;
    gap:10px;
    margin-bottom:15px;
    width:100%;
}

.form-categoria-rapida input{
    flex:1;
    min-width:0;
}

.btn-guardar-categoria{
    background:#22c55e;
    width:auto;
    padding:0 20px;
    white-space:nowrap;
}

.btn-gestionar-categorias{
    display:inline-block;
    background:#2563eb;
    color:#fff;
    padding:14px 18px;
    border-radius:8px;
    text-decoration:none;
    font-weight:bold;
    transition:.3s ease;
    max-width:100%;
}

.btn-gestionar-categorias:hover{
    background:#1d4ed8;
    transform:translateY(-2px);
}




.acciones-formulario{
    display:flex;
    gap:10px;
    align-items:center;
    margin-top:12px;
    flex-wrap:wrap;
}

.btn-formulario{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 20px;
    border-radius:8px;
    background:#2563eb;
    color:#fff;
    border:none;
    text-decoration:none;
    font-weight:700;
    font-size:15px;
    line-height:1;
    cursor:pointer;
    width:auto;
}

.btn-formulario:hover{
    background:#1d4ed8;
    transform:translateY(-2px);
}


@media (max-width:1100px) and (min-width:769px){
    .acciones{
        flex-wrap:wrap;
    }
}

@media (max-width:900px){
    .menu{
        justify-content:space-between;
    }

    .ventas-form,
    .acciones-venta{
        grid-template-columns:1fr;
    }

    .resumen-venta{
        grid-template-columns:1fr;
    }
}

@media (max-width:768px){
    .contenedor{
        width:100%;
        max-width:100%;
        padding:14px;
        margin:20px auto;
    }

    .titulo{
        font-size:24px;
        line-height:1.2;
        text-align:center;
    }

    #resumen{
        font-size:14px !important;
        line-height:1.7;
        padding:0 8px;
    }

    .form-container{
        padding:20px;
    }

    .login-card{
        margin:50px auto;
        padding:30px 20px;
    }

    button,
    .btn-accion{
        width:100%;
    }

    .contenedor-tabla{
        width:100%;
        max-width:100%;
        padding:14px;
    }

    .barra-productos{
        flex-direction:column;
        align-items:stretch;
        gap:12px;
    }

    .barra-productos #buscador,
    .barra-productos .btn-eliminados{
        width:100%;
        text-align:center;
    }

    .form-categoria-rapida{
        flex-direction:column;
        gap:12px;
    }

    .form-categoria-rapida input,
    .btn-guardar-categoria,
    .btn-gestionar-categorias{
        width:100%;
    }

    .btn-guardar-categoria,
    .btn-gestionar-categorias{
        text-align:center;
        padding:14px 16px;
    }

    .acciones-formulario{
        flex-direction:column;
        width:100%;
    }

    .btn-formulario{
        width:100%;
    }
}


@media (max-width:700px){

    .tabla-responsive{
        overflow-x:visible;
    }

    .historial-resumen{
        grid-template-columns:1fr;
    }

    .historial-acciones{
        align-items:stretch;
    }

    .historial-acciones .btn-accion{
        width:100%;
    }

    .tabla,
    .tabla thead,
    .tabla tbody,
    .tabla th,
    .tabla td,
    .tabla tr,
    .tabla-ventas,
    .tabla-ventas thead,
    .tabla-ventas tbody,
    .tabla-ventas th,
    .tabla-ventas td,
    .tabla-ventas tr,
    .tabla-stock,
    .tabla-stock thead,
    .tabla-stock tbody,
    .tabla-stock th,
    .tabla-stock td,
    .tabla-stock tr,
    .tabla-anuales,
    .tabla-anuales thead,
    .tabla-anuales tbody,
    .tabla-anuales th,
    .tabla-anuales td,
    .tabla-anuales tr,
    .tabla-historial,
    .tabla-historial thead,
    .tabla-historial tbody,
    .tabla-historial th,
    .tabla-historial td,
    .tabla-historial tr,
    .tabla-productos,
    .tabla-productos thead,
    .tabla-productos tbody,
    .tabla-productos tr,
    .tabla-productos td,
    .tabla-productos-admin,
    .tabla-productos-admin tbody,
    .tabla-productos-admin tr,
    .tabla-productos-admin td{
        display:block;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }

    .tabla thead,
    .tabla-ventas thead,
    .tabla-stock thead,
    .tabla-anuales thead,
    .tabla-historial thead,
    .tabla-productos thead,
    .tabla-productos-admin thead,
    .tabla-productos-admin tr:first-child{
        display:none !important;
    }

    .tabla,
    .tabla-ventas,
    .tabla-stock,
    .tabla-anuales,
    .tabla-historial,
    .tabla-productos-admin{
        border-collapse:separate;
        border-spacing:0;
        table-layout:auto;
    }

    .tabla tr,
    .tabla-ventas tr,
    .tabla-stock tr,
    .tabla-anuales tr,
    .tabla-historial tr,
    .tabla-productos tr,
    .tabla-productos-admin tr{
        margin-bottom:14px;
        padding:14px;
        background:var(--theme-panel, rgba(255,255,255,.04));
        border:1px solid var(--theme-border, var(--borde-suave));
        border-radius:14px;
    }

    .tabla td,
    .tabla-ventas td,
    .tabla-stock td,
    .tabla-anuales td,
    .tabla-historial td,
    .tabla-productos td,
    .tabla-productos-admin td{
        display:flex !important;
        justify-content:space-between;
        align-items:center;
        gap:15px;
        padding:10px 0;
        color:var(--theme-text);
        background:transparent !important;
        border-radius:0 !important;
        border-bottom:1px solid var(--theme-border, rgba(255,255,255,.08));
        text-align:right;
        white-space:normal;
        word-break:break-word;
        overflow-wrap:anywhere;
    }

    .tabla td::before,
    .tabla-ventas td::before,
    .tabla-stock td::before,
    .tabla-anuales td::before,
    .tabla-historial td::before,
    .tabla-productos td::before,
    .tabla-productos-admin td::before{
        content:attr(data-label);
        flex:0 0 42%;
        color:var(--theme-muted, var(--texto-muted));
        font-weight:800;
        text-transform:uppercase;
        font-size:12px;
        letter-spacing:.5px;
        text-align:left;
    }

    .tabla td:not([data-label])::before,
    .tabla-ventas td:not([data-label])::before,
    .tabla-stock td:not([data-label])::before,
    .tabla-anuales td:not([data-label])::before,
    .tabla-historial td:not([data-label])::before,
    .tabla-productos td:not([data-label])::before,
    .tabla-productos-admin td:not([data-label])::before{
        content:none;
    }

    .tabla td:not([data-label]),
    .tabla-ventas td:not([data-label]),
    .tabla-stock td:not([data-label]),
    .tabla-anuales td:not([data-label]),
    .tabla-historial td:not([data-label]),
    .tabla-productos td:not([data-label]),
    .tabla-productos-admin td:not([data-label]){
        justify-content:center;
        text-align:center;
    }

    .tabla td:last-child,
    .tabla-ventas td:last-child,
    .tabla-stock td:last-child,
    .tabla-anuales td:last-child,
    .tabla-historial td:last-child,
    .tabla-productos td:last-child,
    .tabla-productos-admin td:last-child{
        border-bottom:none;
    }

    .cantidad-control{
        margin-left:auto;
    }

    .tabla-historial td strong,
    .tabla-historial td span,
    .tabla-historial td a,
    .tabla-historial td form{
        margin-left:auto;
        text-align:right;
    }

    .tabla-historial .status{
        justify-content:flex-end;
    }

    .tabla-historial .btn-accion,
    .tabla-historial button{
        width:auto;
        margin-left:auto;
    }

    .form-stock{
        justify-content:flex-end;
        align-items:center;
        gap:8px;
        flex-wrap:wrap;
        width:58%;
    }

    .form-stock input[type="number"]{
        width:75px;
        max-width:75px;
        height:38px;
        margin:0;
    }

    .form-stock button{
        width:auto;
        height:38px;
        padding:8px 12px;
        margin:0;
    }

    .acciones{
        width:58%;
        display:flex;
        flex-direction:column;
        align-items:flex-end;
        gap:8px;
    }

    .acciones .btn-accion,
    .tabla-productos-admin td[data-label="Acción"] > .btn-accion{
        width:auto;
        min-width:120px;
        max-width:100%;
        padding:10px 14px;
        margin:0;
        text-align:center;
    }

    .fila-vacia td{
        display:block !important;
        width:100%;
        text-align:center !important;
        border-bottom:none !important;
    }

    .fila-vacia td::before{
        display:none !important;
        content:"" !important;
    }
}


@media (max-width:768px){

    .categorias-page .contenedor{
        width:100%;
        max-width:100%;
        padding:14px;
        margin:20px auto;
    }

    .categorias-page .contenedor-tabla{
        width:100%;
        padding:14px;
        overflow-x:visible;
    }

    .categorias-page .tabla-responsive{
        overflow-x:visible;
    }

    .categorias-page .tabla-categorias,
    .categorias-page .tabla-categorias thead,
    .categorias-page .tabla-categorias tbody,
    .categorias-page .tabla-categorias th,
    .categorias-page .tabla-categorias td,
    .categorias-page .tabla-categorias tr{
        display:block;
        width:100%;
        min-width:0 !important;
    }

    .categorias-page .tabla-categorias thead{
        display:none;
    }

    .categorias-page .tabla-categorias tr{
        margin-bottom:14px;
        padding:14px;
        background:rgba(255,255,255,.04);
        border:1px solid var(--borde-suave);
        border-radius:14px;
    }

    .categorias-page .tabla-categorias td{
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:14px;
        padding:10px 0;
        background:transparent;
        border-radius:0 !important;
        border-bottom:1px solid rgba(255,255,255,.08);
        text-align:right;
        white-space:normal;
        word-break:break-word;
    }

    .categorias-page .tabla-categorias td::before{
        content:attr(data-label);
        color:var(--texto-muted);
        font-weight:800;
        text-align:left;
        flex:0 0 40%;
    }

    .categorias-page .tabla-categorias td:last-child{
        border-bottom:none;
    }

    .categorias-page .acciones-tabla{
        display:block !important;
        text-align:left;
    }

    .categorias-page .acciones-tabla::before{
        display:block;
        margin-bottom:10px;
    }

    .categorias-page .btn-editar,
    .categorias-page .btn-eliminar{
        width:100%;
        margin-right:0;
        margin-bottom:10px;
    }

    .categorias-page .btn-eliminar{
        margin-bottom:0;
    }
}



td a,
.acciones a,
.acciones-tabla a,
.tabla-productos-admin a,
.tabla-categorias a,
.tabla-historial a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 8px;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 14px;
    transition: 0.3s ease;
}


td a[href*="editar"],
.acciones a[href*="editar"],
.acciones-tabla a[href*="editar"] {
    background: #2563eb;
}


td a[href*="eliminar"],
.acciones a[href*="eliminar"],
.acciones-tabla a[href*="eliminar"] {
    background: #ef4444;
}


td a[href*="editar"]:hover,
.acciones a[href*="editar"]:hover,
.acciones-tabla a[href*="editar"]:hover {
    background: #1d4ed8;
    transform: translateY(-2px);
}


td a[href*="eliminar"]:hover,
.acciones a[href*="eliminar"]:hover,
.acciones-tabla a[href*="eliminar"]:hover {
    background: #dc2626;
    transform: translateY(-2px);
}


td .no-permitido,
.no-permitido {
    color: #f8fafc;
    font-weight: 600;
}



.categorias-page .btn-editar,
.categorias-page .btn-eliminar {
    width: 110px;
    min-height: 46px;
    margin-right: 10px;
}

@media (max-width: 768px) {
    .categorias-page .btn-editar,
    .categorias-page .btn-eliminar {
        width: 100%;
        margin-right: 0;
    }
}


.btn-volver-categorias {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2563eb;
    color: #ffffff;
    padding: 14px 18px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    margin: 0 0 18px 0;
    transition: 0.3s ease;
}

.btn-volver-categorias:hover {
    background: #1d4ed8;
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .btn-volver-categorias {
        width: 100%;
        text-align: center;
    }
}



.productos-page {
    overflow-x: hidden;
}

.productos-page .contenedor {
    max-width: 100%;
    overflow-x: hidden;
}

.productos-page .contenedor-tabla {
    overflow-x: hidden !important;
}

.productos-page .tabla-productos-admin {
    width: 100%;
    max-width: 100%;
    min-width: 0 !important;
}







.editar-producto-page .form-container {
    max-width: 700px;
    margin: 40px auto;
    padding: 35px;
    background: rgba(30,41,59,.4);
    border: 1px solid var(--borde-suave);
    border-radius: 16px;
    box-shadow: 0 20px 45px rgba(0,0,0,.18);
}

.editar-producto-page .form-container h1 {
    text-align: center;
    margin-bottom: 25px;
}

.editar-producto-page .form-container label {
    margin-top: 12px;
}

.editar-producto-page .form-container input,
.editar-producto-page .form-container select {
    width: 100%;
}

.editar-producto-page .form-container button {
    margin-top: 15px;
}

.btn-volver-editar {
    margin-top: 15px;
}

@media (max-width: 768px) {
    .editar-producto-page .form-container {
        width: 94%;
        padding: 22px;
        margin: 25px auto;
    }

    .editar-producto-page .form-container button,
    .editar-producto-page .form-container .btn-accion {
        width: 100%;
    }
}



.alerta {
    position: fixed;
    top: 95px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    z-index: 20000;
    width: auto;
    max-width: 90%;
    text-align: center;
    padding: 15px 25px;
    border-radius: 10px;
}


@keyframes aparecer {
    from {
        opacity: 0;
        transform: translate(-50%, -15px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

@keyframes desaparecer {
    to {
        opacity: 0;
        transform: translate(-50%, -15px);
    }
}

.proveedores-page .subtitulo-proveedores {
    color: #fff;
    font-size: 1.2em;
    margin: 0 0 20px;
    text-align: center;
}

.proveedores-page .tabla-responsive {
    width: 100%;
    overflow-x: hidden;
}

.proveedores-page .tabla-proveedores {
    width: 100%;
    min-width: 0 !important;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0 8px;
}

.proveedores-page .tabla-proveedores th,
.proveedores-page .tabla-proveedores td {
    text-align: center;
    vertical-align: middle;
    white-space: normal;
}

.proveedores-page .tabla-proveedores th:nth-child(1),
.proveedores-page .tabla-proveedores td:nth-child(1) {
    width: 35%;
}

.proveedores-page .tabla-proveedores th:nth-child(2),
.proveedores-page .tabla-proveedores td:nth-child(2) {
    width: 35%;
}

.proveedores-page .tabla-proveedores th:nth-child(3),
.proveedores-page .tabla-proveedores td:nth-child(3) {
    width: 30%;
}

.proveedores-page .tabla-proveedores .btn-eliminar {
    margin: 0 auto;
}

.acciones-proveedor {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.acciones-proveedor .btn-accion,
.acciones-proveedor .btn-eliminar {
    width: auto;
    min-width: 100px;
}


.productos-page .tabla-productos-admin td,
.productos-page .tabla-productos-admin th {
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

.productos-page .tabla-productos-admin td[data-label="Código"] {
    max-width: 160px;
}

.productos-page .tabla-productos-admin td[data-label="Acción"] {
    min-width: 300px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}



.contenedor-tabla {
    overflow-x: auto;
    padding-right: 20px;
}




.categorias-page .contenedor {
    width: 90%;
    max-width: 1200px;
    margin: 30px auto;
}

.categorias-page .titulo {
    text-align: center;
    margin-bottom: 25px;
}

.categorias-page .btn-volver-categorias {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2563eb;
    color: #ffffff;
    padding: 14px 18px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    margin-bottom: 25px;
    transition: 0.3s ease;
}

.categorias-page .btn-volver-categorias:hover {
    background: #1d4ed8;
    transform: translateY(-2px);
}

.categorias-page .contenedor-tabla {
    width: 100%;
    max-width: 1200px;
    margin: 15px auto 0;
    padding: 24px;
    overflow-x: hidden;
}

.categorias-page .tabla-responsive {
    width: 100%;
    overflow-x: hidden;
}

.categorias-page .tabla-categorias {
    width: 100%;
    min-width: 0 !important;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.categorias-page .tabla-categorias th,
.categorias-page .tabla-categorias td {
    padding: 18px;
    vertical-align: middle;
    white-space: normal;
}

.categorias-page .tabla-categorias th:nth-child(1),
.categorias-page .tabla-categorias td:nth-child(1) {
    width: 12%;
    text-align: left;
}

.categorias-page .tabla-categorias th:nth-child(2),
.categorias-page .tabla-categorias td:nth-child(2) {
    width: 38%;
    text-align: left;
}

.categorias-page .tabla-categorias th:nth-child(3),
.categorias-page .tabla-categorias td:nth-child(3) {
    width: 50%;
    text-align: right;
}

.categorias-page .tabla-categorias td {
    background: rgba(255,255,255,.03);
}

.categorias-page .tabla-categorias td:first-child {
    border-radius: 8px 0 0 8px;
}

.categorias-page .tabla-categorias td:last-child {
    border-radius: 0 8px 8px 0;
}

.categorias-page .acciones-tabla {
    text-align: right;
    white-space: nowrap;
}

.categorias-page .acciones-tabla .btn-editar,
.categorias-page .acciones-tabla .btn-eliminar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    min-height: 46px;
    margin-left: 10px;
    margin-right: 0;
    padding: 0 14px;
    border-radius: 8px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
}

.categorias-page .acciones-tabla .btn-editar {
    background: #2563eb;
}

.categorias-page .acciones-tabla .btn-eliminar {
    background: #ef4444;
}

.categorias-page .acciones-tabla .btn-editar:hover {
    background: #1d4ed8;
    transform: translateY(-2px);
}

.categorias-page .acciones-tabla .btn-eliminar:hover {
    background: #dc2626;
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .categorias-page .contenedor {
        width: 100%;
        max-width: 100%;
        padding: 14px;
        margin: 20px auto;
    }

    .categorias-page .btn-volver-categorias {
        width: 100%;
        text-align: center;
    }

    .categorias-page .contenedor-tabla {
        padding: 14px;
        overflow-x: visible;
    }

    .categorias-page .tabla-responsive {
        overflow-x: visible;
    }

    .categorias-page .tabla-categorias,
    .categorias-page .tabla-categorias thead,
    .categorias-page .tabla-categorias tbody,
    .categorias-page .tabla-categorias th,
    .categorias-page .tabla-categorias td,
    .categorias-page .tabla-categorias tr {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
    }

    .categorias-page .tabla-categorias thead {
        display: none !important;
    }

    .categorias-page .tabla-categorias tr {
        margin-bottom: 14px;
        padding: 14px;
        background: rgba(255,255,255,.04);
        border: 1px solid var(--borde-suave);
        border-radius: 14px;
    }

    .categorias-page .tabla-categorias td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 14px;
        padding: 10px 0;
        background: transparent;
        border-radius: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08);
        text-align: right;
        word-break: break-word;
    }

    .categorias-page .tabla-categorias td::before {
        content: attr(data-label);
        color: var(--texto-muted);
        font-weight: 800;
        text-align: left;
        flex: 0 0 40%;
    }

    .categorias-page .tabla-categorias td:last-child {
        border-bottom: none;
    }

    .categorias-page .acciones-tabla {
        display: block;
        text-align: right;
    }

    .categorias-page .acciones-tabla::before {
        display: block;
        margin-bottom: 10px;
    }

    .categorias-page .acciones-tabla .btn-editar,
    .categorias-page .acciones-tabla .btn-eliminar {
        width: 100%;
        margin: 0 0 10px 0;
    }

    .categorias-page .acciones-tabla .btn-eliminar {
        margin-bottom: 0;
    }
}



.categorias-page .contenedor {
    width: 90%;
    max-width: 1200px;
    margin: 30px auto;
}

.categorias-page .titulo {
    text-align: center;
    margin-bottom: 25px;
}

.categorias-page .btn-volver-categorias {
    margin-bottom: 28px;
}

.categorias-page .contenedor-tabla {
    width: 100%;
    max-width: 1200px;
    margin: 20px auto 0;
    padding: 24px;
    overflow-x: hidden;
}

.categorias-page .tabla-responsive {
    width: 100%;
    overflow-x: hidden;
}

.categorias-page .tabla-categorias {
    width: 100%;
    min-width: 0 !important;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.categorias-page .tabla-categorias th,
.categorias-page .tabla-categorias td {
    padding: 18px;
    vertical-align: middle;
    text-align: center;
    white-space: normal;
}

.categorias-page .tabla-categorias th:nth-child(1),
.categorias-page .tabla-categorias td:nth-child(1) {
    width: 15%;
}

.categorias-page .tabla-categorias th:nth-child(2),
.categorias-page .tabla-categorias td:nth-child(2) {
    width: 45%;
}

.categorias-page .tabla-categorias th:nth-child(3),
.categorias-page .tabla-categorias td:nth-child(3) {
    width: 40%;
}

.categorias-page .tabla-categorias td {
    background: rgba(255,255,255,.03);
}

.categorias-page .tabla-categorias td:first-child {
    border-radius: 8px 0 0 8px;
}

.categorias-page .tabla-categorias td:last-child {
    border-radius: 0 8px 8px 0;
}

.categorias-page .acciones-tabla {
    display: table-cell !important;
    text-align: center;
    white-space: nowrap;
}

.categorias-page .acciones-tabla .btn-editar,
.categorias-page .acciones-tabla .btn-eliminar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    min-height: 46px;
    margin: 0 5px;
    padding: 0 14px;
    border-radius: 8px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
}

.categorias-page .acciones-tabla .btn-editar {
    background: #2563eb;
}

.categorias-page .acciones-tabla .btn-eliminar {
    background: #ef4444;
}



@media (max-width: 768px) {
    .categorias-page .tabla-categorias,
    .categorias-page .tabla-categorias thead,
    .categorias-page .tabla-categorias tbody,
    .categorias-page .tabla-categorias th,
    .categorias-page .tabla-categorias td,
    .categorias-page .tabla-categorias tr {
        display: block;
        width: 100% !important;
    }

    .categorias-page .tabla-categorias thead {
        display: none !important;
    }

    .categorias-page .tabla-categorias tr {
        margin-bottom: 14px;
        padding: 14px;
        background: rgba(255,255,255,.04);
        border: 1px solid var(--borde-suave);
        border-radius: 14px;
    }

    .categorias-page .tabla-categorias td {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        text-align: right;
        padding: 10px 0;
        background: transparent;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .categorias-page .tabla-categorias td::before {
        content: attr(data-label);
        color: var(--texto-muted);
        font-weight: 800;
        text-align: left;
    }

    .categorias-page .tabla-categorias td.acciones-tabla {
        display: block !important;
        text-align: left;
    }

    .categorias-page .acciones-tabla form {
        display: block;
        width: 100%;
        margin: 0;
    }

    .categorias-page .acciones-tabla .btn-editar,
    .categorias-page .acciones-tabla .btn-eliminar {
        width: 100% !important;
        margin: 0 0 10px 0 !important;
        white-space: nowrap;
    }

    .categorias-page .acciones-tabla .btn-eliminar {
        margin-bottom: 0 !important;
    }
}



@media (min-width: 769px) {
    .categorias-page .tabla-categorias th,
    .categorias-page .tabla-categorias td {
        text-align: center !important;
        vertical-align: middle !important;
    }

    .categorias-page .tabla-categorias th:nth-child(1),
    .categorias-page .tabla-categorias td:nth-child(1) {
        width: 15%;
        text-align: center !important;
    }

    .categorias-page .tabla-categorias th:nth-child(2),
    .categorias-page .tabla-categorias td:nth-child(2) {
        width: 45%;
        text-align: center !important;
    }

    .categorias-page .tabla-categorias th:nth-child(3),
    .categorias-page .tabla-categorias td:nth-child(3) {
        width: 40%;
        text-align: center !important;
    }

    .categorias-page .acciones-tabla {
        text-align: center !important;
        display: table-cell !important;
    }

    .categorias-page .acciones-tabla .btn-editar,
    .categorias-page .acciones-tabla .btn-eliminar {
        margin: 0 6px;
    }

    .categorias-page .acciones-tabla .btn-editar {
        margin-bottom: 10px;
    }
}


.productos-page .contenedor {
    width: 95%;
    max-width: 1400px;
    margin: 30px auto;
}

.productos-page .titulo {
    text-align: center;
    margin-bottom: 25px;
}

.productos-page .contenedor-tabla {
    width: 100%;
    max-width: 1400px;
    margin: 20px auto 0;
    padding: 24px;
    overflow-x: auto;
}

.productos-page .tabla-responsive {
    width: 100%;
    overflow-x: auto;
}



.productos-page .tabla-productos-admin {
    width: 100%;
    min-width: 1000px;
    max-width: none;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0 10px;
}



.productos-page .tabla-productos-admin th,
.productos-page .tabla-productos-admin td {
    text-align: center;
    vertical-align: middle;
    padding: 16px 10px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.productos-page .tabla-productos-admin th:nth-child(1),
.productos-page .tabla-productos-admin td:nth-child(1) {
    width: 10%;
}

.productos-page .tabla-productos-admin th:nth-child(2),
.productos-page .tabla-productos-admin td:nth-child(2) {
    width: 13%;
}

.productos-page .tabla-productos-admin th:nth-child(3),
.productos-page .tabla-productos-admin td:nth-child(3) {
    width: 12%;
}

.productos-page .tabla-productos-admin th:nth-child(4),
.productos-page .tabla-productos-admin td:nth-child(4) {
    width: 12%;
}

.productos-page .tabla-productos-admin th:nth-child(5),
.productos-page .tabla-productos-admin td:nth-child(5) {
    width: 9%;
}

.productos-page .tabla-productos-admin th:nth-child(6),
.productos-page .tabla-productos-admin td:nth-child(6) {
    width: 9%;
}

.productos-page .tabla-productos-admin th:nth-child(7),
.productos-page .tabla-productos-admin td:nth-child(7) {
    width: 12%;
}

.productos-page .tabla-productos-admin th:nth-child(8),
.productos-page .tabla-productos-admin td:nth-child(8) {
    width: 8%;
}

.productos-page .tabla-productos-admin th:nth-child(9),
.productos-page .tabla-productos-admin td:nth-child(9) {
    width: 15%;
}


.productos-page .tabla-productos-admin td[data-label="Acción"] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    overflow: hidden;
}



.productos-page .tabla-productos-admin td[data-label="Acción"] a,
.productos-page .tabla-productos-admin td[data-label="Acción"] button {
    width: auto;
    min-width: 95px;
    min-height: 42px;
    margin: 0;
}




.productos-page .tabla-productos-admin th:nth-child(1),
.productos-page .tabla-productos-admin td:nth-child(1) {
    width: 9%;
}

.productos-page .tabla-productos-admin th:nth-child(2),
.productos-page .tabla-productos-admin td:nth-child(2) {
    width: 12%;
}

.productos-page .tabla-productos-admin th:nth-child(3),
.productos-page .tabla-productos-admin td:nth-child(3) {
    width: 11%;
}

.productos-page .tabla-productos-admin th:nth-child(4),
.productos-page .tabla-productos-admin td:nth-child(4) {
    width: 11%;
}

.productos-page .tabla-productos-admin th:nth-child(5),
.productos-page .tabla-productos-admin td:nth-child(5) {
    width: 8%;
}

.productos-page .tabla-productos-admin th:nth-child(6),
.productos-page .tabla-productos-admin td:nth-child(6) {
    width: 8%;
}

.productos-page .tabla-productos-admin th:nth-child(7),
.productos-page .tabla-productos-admin td:nth-child(7) {
    width: 11%;
}

.productos-page .tabla-productos-admin th:nth-child(8),
.productos-page .tabla-productos-admin td:nth-child(8) {
    width: 8%;
}

.productos-page .tabla-productos-admin th:nth-child(9),
.productos-page .tabla-productos-admin td:nth-child(9) {
    width: 22%;
}

.productos-page .tabla-productos-admin td[data-label="Acción"] a,
.productos-page .tabla-productos-admin td[data-label="Acción"] button {
    min-width: 80px;
    padding: 10px 12px;
    font-size: 14px;
}


.productos-page .tabla-productos-admin th:nth-child(7),
.productos-page .tabla-productos-admin td:nth-child(7) {
    width: 14%;
}

.productos-page .form-stock {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.productos-page .form-stock input[type="number"] {
    width: 75px;
    min-width: 75px;
    height: 42px;
    margin: 0;
    text-align: center;
}

.productos-page .form-stock button {
    width: auto;
    min-width: 95px;
    height: 42px;
    padding: 0 14px;
    white-space: nowrap;
    margin: 0;
}

.productos-page .tabla-productos-admin th:nth-child(9),
.productos-page .tabla-productos-admin td:nth-child(9) {
    width: 20%;
}

.productos-page .contenedor-tabla {
    width: 100%;
    max-width: 1400px;
    margin: 20px auto 0;
    padding: 24px;
    overflow-x: auto;
}


.productos-page .form-stock {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.productos-page .form-stock input[type="number"] {
    width: 75px;
    min-width: 75px;
    height: 42px;
    margin: 0;
    text-align: center;
}

.productos-page .form-stock button {
    width: auto;
    min-width: 95px;
    height: 42px;
    padding: 0 14px;
    white-space: nowrap;
    margin: 0;
}

.productos-page .tabla-productos-admin td[data-label="Acción"] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.productos-page .tabla-productos-admin td[data-label="Acción"] a,
.productos-page .tabla-productos-admin td[data-label="Acción"] button {
    white-space: nowrap;
    min-width: 95px;
}

.empleados-page .contenedor {
    width: 92%;
    max-width: 1100px;
    margin: 30px auto;
}

.empleados-page .titulo {
    text-align: center;
    margin-bottom: 25px;
}

.empleados-page .contenedor-tabla {
    width: 100%;
    max-width: 1100px;
    margin: 20px auto 0;
    padding: 24px;
    overflow-x: auto;
}

.empleados-page .tabla-empleados {
    width: 100%;
    min-width: 0;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.empleados-page .tabla-empleados th,
.empleados-page .tabla-empleados td {
    text-align: center;
    vertical-align: middle;
    padding: 12px;
    white-space: nowrap;
}

.empleados-page .contenedor-tabla {
    overflow-x: hidden;
}

.empleados-page .acciones-empleados {
    display: grid;
    grid-template-columns: 90px 165px 155px 115px;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.empleados-page .acciones-empleados > .btn-rostro-tabla { grid-column: 1; }
.empleados-page .acciones-empleados > .btn-cambiar-password { grid-column: 2; }
.empleados-page .acciones-empleados > .accion-borrar { grid-column: 3; }
.empleados-page .acciones-empleados > .accion-eliminar,
.empleados-page .acciones-empleados > .no-permitido { grid-column: 4; }

.empleados-page .acciones-empleados .accion-form {
    display: block;
    width: 100%;
}

.empleados-page .acciones-empleados a,
.empleados-page .acciones-empleados button {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    white-space: nowrap;
}

.empleados-page .acciones-empleados .no-permitido {
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .empleados-page .contenedor {
        width: 100%;
        max-width: 100%;
        padding: 14px;
        margin: 20px auto;
    }

    .empleados-page .contenedor-tabla {
        padding: 14px;
        overflow-x: visible;
    }

    .empleados-page .tabla-empleados,
    .empleados-page .tabla-empleados thead,
    .empleados-page .tabla-empleados tbody,
    .empleados-page .tabla-empleados th,
    .empleados-page .tabla-empleados td,
    .empleados-page .tabla-empleados tr {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
    }

    .empleados-page .tabla-empleados thead {
        display: none !important;
    }

    .empleados-page .tabla-empleados tr {
        margin-bottom: 14px;
        padding: 14px;
        background: rgba(255,255,255,.04);
        border: 1px solid var(--borde-suave);
        border-radius: 14px;
    }

    .empleados-page .tabla-empleados td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 14px;
        padding: 10px 0;
        background: transparent !important;
        border-bottom: 1px solid rgba(255,255,255,.08);
        text-align: right;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .empleados-page .tabla-empleados td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        color: var(--texto-muted);
        font-weight: 800;
        text-transform: uppercase;
        font-size: 12px;
        letter-spacing: .5px;
        text-align: left;
    }

    .empleados-page .tabla-empleados td:last-child {
        border-bottom: none;
    }

    .empleados-page .acciones-empleados {
        width: 58%;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
    }

    .empleados-page .acciones-empleados .accion-form {
        width: 100%;
    }

    .empleados-page .acciones-empleados a,
    .empleados-page .acciones-empleados button {
        width: 100%;
        min-width: 120px;
    }
}

.bloqueo-turno{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:var(--bg-gradiente);
}

.bloqueo-card{
    width:min(420px, 100%);
    background:var(--blanco-transparente);
    border:1px solid var(--borde-suave);
    border-radius:18px;
    padding:30px;
    text-align:center;
    box-shadow:0 20px 45px rgba(0,0,0,.25);
}

.bloqueo-card h1{
    margin-bottom:10px;
}

.bloqueo-card p{
    color:var(--texto-muted);
    margin-bottom:10px;
}

.contador-bloqueo{
    margin:25px 0;
    font-size:42px;
    font-weight:800;
}

.menu-link-turnos{
    font-weight:700;
}

.menu-link-turnos::before{
    content:"⏱ ";
}



.estado-turno-card{
    margin-bottom:22px;
}

.estado-turno-card h2{
    margin-bottom:14px;
    text-align:center;
}

.estado-turno-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
}

.estado-turno-grid div{
    padding:14px;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    border:1px solid var(--borde-suave);
}

.estado-turno-grid span{
    display:block;
    font-size:13px;
    color:var(--texto-muted);
    margin-bottom:6px;
}

.estado-turno-grid strong{
    display:block;
    font-size:15px;
}

.estado-turno-contadores{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    margin-bottom:18px;
}

.estado-turno-contadores .contador-vivo{
    padding:16px 14px;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    border:1px solid var(--borde-suave);
    text-align:center;
}

.estado-turno-contadores .contador-vivo span{
    display:block;
    font-size:13px;
    color:var(--texto-muted);
    margin-bottom:8px;
}

.estado-turno-contadores .contador-vivo strong{
    display:block;
    font-size:24px;
    font-weight:900;
    letter-spacing:1px;
    line-height:1.1;
    font-variant-numeric:tabular-nums;
}

.estado-turno-contadores .contador-salida strong{
    color:#22c55e;
}

.estado-turno-contadores .contador-salida.alerta strong{
    color:#facc15;
}

.estado-turno-contadores .contador-salida.peligro strong{
    color:#fb923c;
}

.estado-turno-contadores .contador-salida.finalizado strong{
    color:#f87171;
}

.estado-turno-contadores .contador-comida-turno strong{
    color:#38bdf8;
}

.estado-turno-contadores .contador-trabajado strong{
    color:#a78bfa;
}

@media (max-width:720px){
    .estado-turno-contadores{
        grid-template-columns:1fr;
    }
}

.ventas-bloqueadas{
    opacity:.65;
}

.ventas-bloqueadas input,
.ventas-bloqueadas button,
.ventas-bloqueadas select{
    cursor:not-allowed;
}

    .reloj-turno{
    position:fixed;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    z-index:900;
    width:min(520px, calc(100% - 28px));
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:14px 18px;
    border-radius:18px;
    background:#1f2937;
    color:#f8fafc !important;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 16px 35px rgba(0,0,0,.35);
    backdrop-filter:blur(10px);
}

.ventas-page .reloj-turno span{
    font-size:14px;
    color:#e5e7eb !important;
    opacity:1;
    text-shadow:none !important;
}

.ventas-page .reloj-turno strong{
    color:#22c55e !important;
    font-size:18px;
    font-weight:900;
    letter-spacing:1px;
    text-shadow:none !important;
}

.ventas-page .reloj-turno.reloj-ok strong{
    color:#22c55e !important;
}

.ventas-page .reloj-turno.reloj-alerta strong{
    color:#facc15 !important;
}

.ventas-page .reloj-turno.reloj-peligro strong{
    color:#fb923c !important;
}

.ventas-page .reloj-turno.reloj-finalizado strong{
    color:#f87171 !important;
}

.ventas-page .reloj-turno.reloj-comida strong{
    color:#38bdf8 !important;
}

.ventas-page .reloj-turno.reloj-espera strong{
    color:#a78bfa !important;
}

.bloqueo-comida-activo{
    position:fixed;
    inset:0;
    z-index:2000;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(8px);
}

.bloqueo-comida-card{
    width:min(440px, 100%);
    padding:30px;
    border-radius:20px;
    background:var(--blanco-transparente);
    border:1px solid var(--borde-suave);
    box-shadow:0 20px 45px rgba(0,0,0,.35);
    text-align:center;
}

.bloqueo-comida-card h2{
    margin-bottom:10px;
}

.bloqueo-comida-card p{
    color:var(--texto-muted);
    margin-bottom:10px;
}

.contador-comida{
    margin:24px 0;
    font-size:42px;
    font-weight:800;
}

.salida-modal-overlay{
    position:fixed;
    inset:0;
    z-index:2100;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(8px);
}

.salida-modal-overlay[hidden]{
    display:none;
}

.salida-modal-card{
    width:min(460px, 100%);
    max-height:92vh;
    overflow-y:auto;
    padding:30px;
    border-radius:20px;
    background:var(--blanco-transparente);
    border:1px solid var(--borde-suave);
    box-shadow:0 20px 45px rgba(0,0,0,.35);
    text-align:left;
}

.salida-modal-card h2{
    margin-bottom:10px;
}

.salida-modal-card p{
    color:var(--texto-muted);
    margin-bottom:18px;
}

.salida-modal-card label{
    display:block;
    margin:14px 0 6px;
    font-weight:600;
}

.salida-modal-card textarea,
.salida-modal-card input{
    width:100%;
}

.salida-modal-card textarea{
    resize:vertical;
    min-height:92px;
    line-height:1.5;
}

.textarea-expandible{
    width:100%;
    min-height:110px;
    resize:vertical;
    overflow-y:auto;
    line-height:1.5;
}

.devolucion-items{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:6px 0 14px;
}

.devolucion-items-cargando{
    color:var(--theme-muted, var(--texto-muted));
    margin:6px 0;
    font-size:.92rem;
}

.devolucion-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border:1px solid var(--borde-suave);
    border-radius:12px;
}

.devolucion-item-info{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}

.devolucion-item-info strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.devolucion-item-info small{
    color:var(--theme-muted, var(--texto-muted));
    font-size:.82rem;
}

.devolucion-item-control{
    display:flex;
    align-items:center;
    gap:6px;
    flex-shrink:0;
}

.salida-modal-card .devolucion-item-control input[type="number"]{
    width:56px;
    text-align:center;
    padding:6px 4px;
}

.devolucion-resumen{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-radius:12px;
    background:var(--blanco-transparente);
    border:1px solid var(--borde-suave);
    margin-bottom:6px;
}

.devolucion-resumen strong{
    font-size:1.15rem;
}

.salida-modal-acciones{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.salida-modal-acciones .btn-principal,
.salida-modal-acciones .btn-secundario{
    flex:1 1 auto;
}

.cobro-total-linea{
    font-size:1.05rem;
    margin-bottom:16px;
}

.cobro-total-linea strong{
    color:var(--theme-primary, var(--azul-primario));
    font-size:1.3rem;
}

.cobro-metodos{
    display:flex;
    gap:8px;
    margin-bottom:18px;
}

.cobro-metodo-btn{
    flex:1 1 0;
    padding:12px 8px;
    border-radius:12px;
    border:2px solid var(--theme-border, var(--borde-suave));
    background:var(--theme-panel, var(--blanco-transparente));
    color:var(--theme-text, inherit);
    font-weight:600;
    font-size:.95rem;
    cursor:pointer;
    transition:background .18s ease, border-color .18s ease, color .18s ease;
}

.cobro-metodo-btn:hover{
    border-color:var(--theme-primary, var(--azul-primario));
}

.cobro-metodo-btn.activo{
    background:linear-gradient(135deg, var(--theme-primary, var(--azul-primario)), var(--theme-primary-2, var(--azul-primario)));
    border-color:var(--theme-primary, var(--azul-primario));
    color:#fff;
}

.cobro-seccion label{
    margin-top:12px;
}

.cobro-cambio-linea,
.cobro-nota{
    margin-top:12px;
    color:var(--theme-muted, var(--texto-muted));
}

.cobro-cambio-linea strong,
.cobro-nota strong{
    color:var(--theme-text, inherit);
    font-size:1.1rem;
}

.cobro-error{
    margin-top:14px;
    margin-bottom:0;
}

@media (max-width:480px){
    .cobro-metodo-btn{
        flex:1 1 40%;
    }
}

@media (max-width:768px){
    .estado-turno-grid{
        grid-template-columns:1fr;
    }

    .reloj-turno  {        
        bottom:12px;
        flex-direction:column;
        text-align:center;
        padding:12px 14px;
    }

    .reloj-turno strong{
        font-size:20px;
    }
}

.jornadas-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.22), transparent 35%),
        linear-gradient(135deg, #07172f 0%, #0d2445 45%, #102b52 100%);
    color: #e5edf8;
}

.jornadas-contenedor {
    width: min(1320px, calc(100% - 32px));
    margin: 0 auto;
    padding: 30px 0 50px;
}

.jornadas-encabezado {
    text-align: center;
    margin-bottom: 20px;
}

.jornadas-encabezado h1 {
    margin: 0;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    color: #f8fafc;
}

.jornadas-encabezado p {
    margin: 8px auto 0;
    color: #b6c6df;
    font-size: 15px;
}

.jornadas-panel-principal {
    background: rgba(15, 35, 66, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.20);
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(10px);
    padding: 18px;
    margin-bottom: 14px;
}

.jornadas-barra-superior {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 14px;
}

.jornadas-semana {
    font-size: 18px;
}

.jornadas-semana strong {
    font-size: 22px;
    color: #ffffff;
}

.jornadas-semana span {
    margin-left: 8px;
    color: #e2e8f0;
}

.jornadas-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.jornadas-btn-secundario,
.jornadas-btn-primario {
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 8px;
    padding: 11px 18px;
    font-weight: 700;
    cursor: pointer;
    transition: 0.2s ease;
}

.jornadas-btn-secundario {
    background: rgba(30, 58, 99, 0.9);
    color: #dbeafe;
}

.jornadas-btn-secundario:hover {
    background: rgba(51, 85, 138, 0.95);
}

.jornadas-btn-primario {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
}

.jornadas-btn-primario:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.35);
}

.jornadas-resumen-alertas {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 18px;
}

.jornadas-tarjetas-resumen {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
}

.jornadas-card-resumen {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 15px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.jornadas-card-resumen p {
    margin: 0;
    color: #cbd5e1;
    font-size: 13px;
}

.jornadas-card-resumen strong {
    font-size: 26px;
    color: #f8fafc;
}

.jornadas-card-resumen.azul {
    background: rgba(37, 99, 235, 0.16);
}

.jornadas-card-resumen.verde {
    background: rgba(34, 197, 94, 0.13);
}

.jornadas-card-resumen.naranja {
    background: rgba(249, 115, 22, 0.13);
}

.jornadas-card-resumen.morado {
    background: rgba(168, 85, 247, 0.13);
}

.jornadas-icono {
    font-size: 30px;
}

.jornadas-alertas {
    padding: 14px 18px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
}

.jornadas-alertas h3 {
    margin: 0 0 8px;
    color: #fbbf24;
}

.jornadas-alertas ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.jornadas-alertas li {
    margin: 6px 0;
    color: #e2e8f0;
    font-size: 14px;
}

.punto {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 8px;
}

.punto.rojo {
    background: #ef4444;
}

.punto.amarillo {
    background: #facc15;
}

.punto.azul {
    background: #60a5fa;
}

.punto.naranja {
    background: #fb923c;
}

@media (max-width: 1100px) {
    .jornadas-resumen-alertas {
        grid-template-columns: 1fr;
    }

    .jornadas-tarjetas-resumen {
        grid-template-columns: repeat(2, 1fr);
    }

    .jornadas-barra-superior {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .jornadas-contenedor {
        width: min(100% - 20px, 100%);
        padding-top: 20px;
    }

    .jornadas-acciones {
        width: 100%;
    }

    .jornadas-btn-secundario,
    .jornadas-btn-primario {
        width: 100%;
    }

    .jornadas-tarjetas-resumen {
        grid-template-columns: 1fr;
    }
}


.jornadas-card {
    background: rgba(15, 35, 66, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.20);
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(10px);
    padding: 18px;
    margin-bottom: 14px;
}

.jornadas-card-encabezado {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.jornadas-card-encabezado h2 {
    margin: 0;
    font-size: 20px;
    color: #f8fafc;
}

.jornadas-card-encabezado p {
    margin: 6px 0 0;
    color: #b6c6df;
    font-size: 14px;
}

.jornadas-form-acciones {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.jornadas-btn-form {
    min-width: 220px;
    min-height: 48px;
}

.jornadas-acciones a.jornadas-btn-secundario,
.jornadas-acciones a.jornadas-btn-primario {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.punto.verde {
    background: #22c55e;
}

@media (max-width: 650px) {
    .jornadas-form-acciones {
        justify-content: stretch;
    }

    .jornadas-btn-form {
        width: 100%;
    }
}



.jornadas-tabla-semanal {
    width: 100%;
    table-layout: auto;
}

.jornadas-tabla-semanal th,
.jornadas-tabla-semanal td {
    padding: 8px 5px;
    font-size: 11px;
    line-height: 1.3;
}

.jornadas-tabla-semanal thead th {
    padding: 10px 5px;
    font-size: 10px;
    font-weight: bold;
}

.jornadas-tabla-semanal select {
    font-size: 10px;
    padding: 5px 3px;
    height: 28px;
    width: 100%;
}

.jornadas-tabla-semanal .jornadas-select-rol,
.jornadas-tabla-semanal .jornadas-select-turno {
    padding: 5px 22px 5px 10px;
}

.jornadas-tabla-semanal .jornadas-select-turno {
    min-width: 96px;
}

.jornadas-tabla-semanal .jornadas-select-rol {
    min-width: 100px;
}

.jornadas-tabla-semanal .jornadas-colaborador {
    flex-direction: column;
    gap: 2px;
    align-items: flex-start;
}

.jornadas-tabla-semanal .jornadas-avatar {
    width: 24px;
    height: 24px;
    min-width: 24px;
    font-size: 10px;
    margin-bottom: 2px;
}

.jornadas-tabla-semanal .jornadas-colaborador strong {
    font-size: 10px;
}

.jornadas-tabla-semanal .jornadas-colaborador small {
    font-size: 8px;
    color: #9fb3d1;
}

.jornadas-colaborador {
    display: flex;
    align-items: center;
    gap: 8px;
}

.jornadas-colaborador strong {
    display: block;
    color: #f8fafc;
    font-size: 13px;
    font-weight: 800;
}

.jornadas-colaborador small {
    display: block;
    color: #9fb3d1;
    font-size: 11px;
    margin-top: 1px;
}

.jornadas-avatar {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.25);
    border: 1px solid rgba(96, 165, 250, 0.45);
    color: #bfdbfe;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 12px;
}

.jornadas-select-turno {
    width: 100%;
    min-width: 90px;
    min-height: 32px;
    margin: 0;
    padding: 5px 6px;
    border-radius: 6px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    background-color: rgba(15, 23, 42, 0.45);
    color: #f8fafc;
    font-weight: 600;
    font-size: 11px;
}

.jornadas-select-turno:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.12);
}

@media (max-width: 1200px) {
    .jornadas-select-turno {
        min-width: 85px;
        min-height: 30px;
        padding: 4px 5px;
        font-size: 10px;
    }
}

@media (max-width: 800px) {
    .jornadas-select-turno {
        min-width: 75px;
        min-height: 28px;
        padding: 3px 4px;
        font-size: 9px;
    }
}


.jornadas-rol-form {
    display: block;
}

.jornadas-rol-form .jornadas-form-acciones {
    margin-top: 16px;
}


.jornadas-leyenda-turnos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.jornadas-leyenda-item {
    padding: 14px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.35);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.jornadas-leyenda-item strong {
    display: block;
    color: #f8fafc;
    margin-bottom: 6px;
    text-transform: capitalize;
}

.jornadas-leyenda-item span {
    display: block;
    color: #bfdbfe;
    font-weight: 800;
    margin-bottom: 5px;
}

.jornadas-leyenda-item small,
.jornadas-leyenda-item em {
    display: block;
    color: #b6c6df;
    font-size: 13px;
    font-style: normal;
}

@media (max-width: 900px) {
    .jornadas-leyenda-turnos {
        grid-template-columns: 1fr;
    }
}


.jornadas-config-turnos {
    margin: 4px 0 18px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.28);
    overflow: hidden;
}

.jornadas-config-summary {
    cursor: pointer;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    list-style: none;
    user-select: none;
}

.jornadas-config-summary::-webkit-details-marker {
    display: none;
}

.jornadas-config-summary::before {
    content: "▸";
    position: absolute;
    right: 18px;
    color: #93c5fd;
    transition: transform 0.2s ease;
}

.jornadas-config-summary {
    position: relative;
}

.jornadas-config-turnos[open] .jornadas-config-summary::before {
    transform: rotate(90deg);
}

.jornadas-config-summary-titulo {
    font-weight: 800;
    color: #f8fafc;
}

.jornadas-config-summary-ayuda {
    font-size: 13px;
    color: #b6c6df;
}

.jornadas-config-form {
    padding: 0 16px 16px;
}

.jornadas-config-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.jornadas-config-turno {
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    padding: 12px 14px 14px;
    background: rgba(15, 23, 42, 0.35);
    margin: 0;
}

.jornadas-config-turno legend {
    font-weight: 800;
    color: #bfdbfe;
    padding: 0 6px;
}

.jornadas-config-campo {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 10px;
}

.jornadas-config-campo span {
    font-size: 13px;
    color: #b6c6df;
}

.jornadas-config-campo input {
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    background: rgba(15, 23, 42, 0.55);
    color: #f8fafc;
    font-size: 14px;
}

.jornadas-config-campo input:focus {
    outline: none;
    border-color: #3b82f6;
}

.jornadas-config-nota {
    font-size: 13px;
    color: #b6c6df;
    margin: 12px 0 0;
}

@media (max-width: 900px) {
    .jornadas-config-grid {
        grid-template-columns: 1fr;
    }
}


.jornada-hoy-card {
    margin-bottom: 22px;
}

.jornada-hoy-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.jornada-hoy-header h2 {
    margin-bottom: 6px;
}

.jornada-hoy-header p {
    color: var(--texto-muted);
    margin: 0;
}

.jornada-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.18);
    border: 1px solid rgba(59, 130, 246, 0.35);
    color: #bfdbfe;
    font-weight: 800;
}

.jornada-aviso {
    padding: 18px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.35);
    border: 1px dashed rgba(148, 163, 184, 0.25);
    text-align: center;
}

.jornada-aviso strong {
    display: block;
    color: #f8fafc;
    margin-bottom: 6px;
}

.jornada-aviso p {
    margin: 0;
    color: var(--texto-muted);
}

.jornada-entrada-form {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}

.jornada-entrada-form .btn-principal {
    min-width: 220px;
}

@media (max-width: 700px) {
    .jornada-hoy-header {
        flex-direction: column;
    }

    .jornada-badge,
    .jornada-entrada-form .btn-principal {
        width: 100%;
    }

    .jornada-entrada-form {
        justify-content: stretch;
    }
}

.jornadas-turnos-hoy-lista {
    display: grid;
    gap: 10px;
}

.jornadas-turno-hoy-item {
    display: grid;
    grid-template-columns: 1.3fr 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 13px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.35);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.jornadas-turno-hoy-empleado {
    display: flex;
    align-items: center;
    gap: 10px;
}

.jornadas-turno-hoy-empleado strong {
    display: block;
    color: #f8fafc;
    font-size: 14px;
}

.jornadas-turno-hoy-empleado small {
    display: block;
    color: #9fb3d1;
    font-size: 12px;
    margin-top: 2px;
}

.jornadas-turno-hoy-dato span {
    display: block;
    color: #9fb3d1;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 3px;
}

.jornadas-turno-hoy-dato strong {
    color: #f8fafc;
    font-size: 14px;
}

.jornadas-estado-hoy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 145px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.jornadas-estado-hoy.activo {
    color: #86efac;
    background: rgba(34, 197, 94, 0.15);
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.jornadas-estado-hoy.retardo {
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.35);
}

.jornadas-estado-hoy.pendiente {
    color: #bfdbfe;
    background: rgba(59, 130, 246, 0.13);
    border: 1px solid rgba(96, 165, 250, 0.28);
}

.jornadas-estado-hoy.descanso {
    color: #d8b4fe;
    background: rgba(168, 85, 247, 0.15);
    border: 1px solid rgba(168, 85, 247, 0.35);
}

.jornadas-estado-hoy.ausente {
    color: #fcd34d;
    background: rgba(245, 158, 11, 0.14);
    border: 1px solid rgba(245, 158, 11, 0.35);
}

@media (max-width: 760px) {
    .jornadas-turno-hoy-item {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .jornadas-estado-hoy {
        width: 100%;
    }
}

.jornadas-detalle-turno {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.jornadas-detalle-item {
    padding: 14px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.35);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.jornadas-detalle-item span {
    display: block;
    color: #9fb3d1;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.jornadas-detalle-item strong {
    display: block;
    color: #f8fafc;
    font-size: 15px;
}

@media (max-width: 900px) {
    .jornadas-detalle-turno {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {
    .jornadas-detalle-turno {
        grid-template-columns: 1fr;
    }
}

.jornadas-tabla-cortes {
    width: 100%;
}

.jornadas-diferencia {
    font-weight: 900;
}

.jornadas-diferencia.exacto {
    color: #86efac;
}

.jornadas-diferencia.sobrante {
    color: #22c55e;
}

.jornadas-diferencia.faltante {
    color: #f87171;
}

.jornadas-estado-corte {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 105px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.jornadas-estado-corte.exacto {
    color: #86efac;
    background: rgba(34, 197, 94, 0.15);
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.jornadas-estado-corte.sobrante {
    color: #bbf7d0;
    background: rgba(22, 163, 74, 0.18);
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.jornadas-estado-corte.faltante {
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.35);
}

.jornadas-grid-doble {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-items: start;
}

.jornadas-grid-doble .jornadas-card {
    height: 100%;
}

@media (max-width: 1000px) {
    .jornadas-grid-doble {
        grid-template-columns: 1fr;
    }
}

.jornadas-tabla-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
}

.jornadas-vacio {
    padding: 18px;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.35);
    border: 1px dashed rgba(148, 163, 184, 0.28);
    text-align: center;
}

.jornadas-vacio strong {
    display: block;
    color: #f8fafc;
    margin-bottom: 6px;
}

.jornadas-vacio p {
    margin: 0;
    color: #9fb3d1;
}

.jornadas-grid-doble {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.jornadas-grupo-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 8px 4px 10px;
    margin: 36px 0 8px;
    border-bottom: 2px solid var(--theme-border);
}

.jornadas-grupo-icono {
    font-size: 1.4rem;
    line-height: 1;
    flex-shrink: 0;
}

.jornadas-grupo-header h2 {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--theme-primary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.jornadas-grupo-header p {
    font-size: 0.75rem;
    color: var(--theme-muted);
    margin: 2px 0 0;
}

.jornadas-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.jornadas-kpi-item {
    padding: 14px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.35);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.jornadas-kpi-item span {
    display: block;
    color: #9fb3d1;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
}

.jornadas-kpi-item strong {
    color: #f8fafc;
    font-size: 22px;
}

.jornadas-chip-live {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    font-weight: 800;
    color: #86efac;
    background: rgba(34, 197, 94, 0.15);
    border: 1px solid rgba(34, 197, 94, 0.35);
}

@media (max-width: 900px) {
    .jornadas-grid-doble,
    .jornadas-kpi-grid {
        grid-template-columns: 1fr;
    }
}



.jornadas-tarjetas-resumen {
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
}

.jornadas-card-resumen.cian {
    background: rgba(6, 182, 212, 0.14);
}

.jornadas-card-resumen.rojo {
    background: rgba(239, 68, 68, 0.16);
}

.jornadas-card-resumen-extra {
    display: block;
    margin-top: 3px;
    color: #9fb3d1;
    font-size: 11px;
    font-weight: 700;
}

.jornadas-heatmap-wrap {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.jornadas-heatmap-titulo {
    margin-bottom: 12px;
}

.jornadas-heatmap-titulo strong {
    display: block;
    color: #f8fafc;
    font-size: 15px;
}

.jornadas-heatmap-titulo span {
    display: block;
    margin-top: 3px;
    color: #9fb3d1;
    font-size: 12.5px;
}

.jornadas-heatmap {
    width: 100%;
    border-collapse: separate;
    border-spacing: 6px;
    min-width: 640px;
}

.jornadas-heatmap th {
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    padding: 4px;
}

.jornadas-heatmap tbody th {
    text-align: left;
    color: #e2e8f0;
}

.jornadas-heatmap-celda {
    text-align: center;
    font-weight: 800;
    color: #f8fafc;
    border-radius: 9px;
    padding: 10px 6px;
    min-width: 42px;
    transition: transform 0.12s ease;
}

.jornadas-heatmap-celda:hover {
    transform: translateY(-2px);
}

.jornadas-heatmap-celda.nivel-cero {
    background: rgba(239, 68, 68, 0.22);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.45);
}

.jornadas-heatmap-celda.nivel-bajo {
    background: rgba(56, 189, 248, 0.18);
    border: 1px solid rgba(56, 189, 248, 0.30);
}

.jornadas-heatmap-celda.nivel-medio {
    background: rgba(34, 197, 94, 0.24);
    border: 1px solid rgba(34, 197, 94, 0.40);
}

.jornadas-heatmap-celda.nivel-alto {
    background: rgba(34, 197, 94, 0.45);
    border: 1px solid rgba(34, 197, 94, 0.65);
}

.jornadas-heatmap-total {
    text-align: center;
    font-weight: 800;
    color: #bfdbfe;
    background: rgba(37, 99, 235, 0.18);
    border-radius: 9px;
}

.jornadas-carga-leyenda {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.jornadas-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.jornadas-pill.ok {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.jornadas-pill.riesgo {
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.40);
}

.jornadas-pill.alto {
    background: rgba(249, 115, 22, 0.16);
    color: #fdba74;
    border: 1px solid rgba(249, 115, 22, 0.40);
}

.jornadas-pill.vacio {
    background: rgba(148, 163, 184, 0.16);
    color: #cbd5e1;
    border: 1px solid rgba(148, 163, 184, 0.30);
}

.jornadas-tabla-carga {
    width: 100%;
}

.jornadas-tarifa-input {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    border-radius: 9px;
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid rgba(148, 163, 184, 0.25);
    max-width: 130px;
}

.jornadas-tarifa-input span {
    color: #9fb3d1;
    font-weight: 800;
}

.jornadas-tarifa-input input {
    border: none;
    background: transparent;
    color: #f8fafc;
    font-weight: 700;
    font-size: 14px;
    width: 100%;
    outline: none;
}

.jornadas-costo-celda {
    color: #86efac;
    font-size: 14px;
}

.jornadas-tabla-total td {
    background: rgba(37, 99, 235, 0.14);
    font-weight: 800;
    color: #f8fafc;
}

.jornadas-tabla-total strong {
    color: #bfdbfe;
}

.jornadas-rol-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.jornadas-rol-buscador {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid rgba(148, 163, 184, 0.22);
    min-width: 240px;
    flex: 1 1 240px;
    max-width: 340px;
}

.jornadas-rol-buscador input {
    border: none;
    background: transparent;
    color: #f8fafc;
    font-size: 14px;
    width: 100%;
    outline: none;
}

.jornadas-rol-rapido {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.jornadas-rol-rapido > span {
    color: #9fb3d1;
    font-size: 12px;
    font-weight: 800;
    margin-right: 2px;
}

.jornadas-btn-chip {
    padding: 7px 13px;
    border-radius: 999px;
    border: 1px solid rgba(96, 165, 250, 0.65);
    background: rgba(37, 99, 235, 0.30);
    color: #bfdbfe;
    font-size: 12.5px;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

.jornadas-btn-chip:hover {
    background: rgba(37, 99, 235, 0.50);
    border-color: rgba(96, 165, 250, 0.90);
    color: #ffffff;
    transform: translateY(-1px);
}

.jornadas-btn-chip-limpiar {
    border-color: rgba(239, 68, 68, 0.90) !important;
    background: rgba(239, 68, 68, 0.45) !important;
    color: #fee2e2 !important;
    font-weight: 900 !important;
    box-shadow: 0 2px 6px rgba(239, 68, 68, 0.35) !important;
}

.jornadas-btn-chip-limpiar:hover {
    background: #ef4444 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.50) !important;
}

.jornadas-btn-chip--manana {
    background: rgba(245, 158, 11, 0.45) !important;
    border-color: rgba(245, 158, 11, 0.90) !important;
    color: #fef3c7 !important;
    font-weight: 900 !important;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.35) !important;
}
.jornadas-btn-chip--manana:hover {
    background: #f59e0b !important;
    border-color: #d97706 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.50) !important;
}

.jornadas-btn-chip--tarde {
    background: rgba(249, 115, 22, 0.45) !important;
    border-color: rgba(249, 115, 22, 0.90) !important;
    color: #ffedd5 !important;
    font-weight: 900 !important;
    box-shadow: 0 2px 6px rgba(249, 115, 22, 0.35) !important;
}
.jornadas-btn-chip--tarde:hover {
    background: #f97316 !important;
    border-color: #ea580c !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.50) !important;
}

.jornadas-btn-chip--noche {
    background: rgba(139, 92, 246, 0.50) !important;
    border-color: rgba(139, 92, 246, 0.90) !important;
    color: #ede9fe !important;
    font-weight: 900 !important;
    box-shadow: 0 2px 6px rgba(139, 92, 246, 0.40) !important;
}
.jornadas-btn-chip--noche:hover {
    background: #8b5cf6 !important;
    border-color: #7c3aed !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.55) !important;
}

.jornadas-fila-resumen {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 65px;
    font-size: 10px;
}

.jornadas-fila-dias {
    font-weight: 800;
    color: #f8fafc;
    font-size: 10px;
}

.jornadas-fila-horas {
    font-size: 9px;
    font-weight: 700;
    color: #93c5fd;
}

.jornadas-fila-resumen.alerta-descanso .jornadas-fila-dias {
    color: #fca5a5;
}

.jornadas-fila-resumen.alerta-alto .jornadas-fila-dias {
    color: #fdba74;
}

@media (max-width: 768px) {
    .jornadas-rol-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .jornadas-rol-buscador {
        max-width: none;
    }
}


.registro-usuario-page .contenedor{
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 22px 60px;
}

.registro-usuario-header{
    text-align: center;
    margin-bottom: 28px;
}

.registro-usuario-header .titulo{
    margin-bottom: 10px;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 800;
    color: #ffffff;
}

.registro-usuario-header p{
    max-width: 760px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.6;
    color: rgba(255,255,255,0.78);
}

.registro-usuario-card{
    display: grid;
    grid-template-columns: 1.8fr .95fr;
    gap: 26px;
    align-items: start;
}

.registro-usuario-formulario,
.registro-roles-info{
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.22);
    backdrop-filter: blur(10px);
}

.registro-usuario-formulario h2,
.registro-roles-info h2{
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: 800;
    color: #ffffff;
}

.registro-usuario-formulario form{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.registro-usuario-formulario label{
    margin-bottom: 6px;
    font-size: 15px;
    font-weight: 700;
    color: rgba(255,255,255,0.86);
}

.registro-usuario-formulario input,
.registro-usuario-formulario select{
    width: 100%;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.06);
    color: #ffffff;
    font-size: 16px;
    outline: none;
    transition: all .20s ease;
}

.registro-usuario-formulario input::placeholder{
    color: rgba(255,255,255,0.36);
}

.registro-usuario-formulario input:focus,
.registro-usuario-formulario select:focus{
    border-color: rgba(59,130,246,0.80);
    box-shadow: 0 0 0 4px rgba(59,130,246,0.15);
    background: rgba(255,255,255,0.08);
}

.registro-usuario-formulario select option{
    color: #111827;
}

.registro-usuario-acciones{
    display: flex;
    gap: 14px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.registro-usuario-acciones .btn-principal,
.registro-usuario-acciones .btn-secundario{
    min-width: 180px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    border: none;
    cursor: pointer;
    transition: all .20s ease;
    padding: 0 18px;
}

.registro-usuario-acciones .btn-principal{
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(59,130,246,0.28);
}

.registro-usuario-acciones .btn-principal:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(59,130,246,0.32);
}

.registro-usuario-acciones .btn-secundario{
    background: rgba(255,255,255,0.08);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.12);
}

.registro-usuario-acciones .btn-secundario:hover{
    background: rgba(255,255,255,0.12);
    transform: translateY(-1px);
}

.registro-usuario-page .alerta{
    max-width: 1200px;
    margin: 0 auto 22px;
    border-radius: 16px;
    padding: 16px 18px;
    font-weight: 700;
}

.registro-usuario-page .alerta.exito{
    background: rgba(34,197,94,0.12);
    border: 1px solid rgba(34,197,94,0.25);
    color: #dcfce7;
}

.registro-usuario-page .alerta.error{
    background: rgba(239,68,68,0.12);
    border: 1px solid rgba(239,68,68,0.25);
    color: #fee2e2;
}

@media (max-width: 980px){
    .registro-usuario-card{
        grid-template-columns: 1fr;
    }

    .registro-roles-info{
        order: 2;
    }

    .registro-usuario-formulario{
        order: 1;
    }
}

@media (max-width: 640px){
    .registro-usuario-page .contenedor{
        padding: 26px 14px 40px;
    }

    .registro-usuario-formulario,
    .registro-roles-info{
        padding: 20px;
        border-radius: 18px;
    }

    .registro-usuario-acciones{
        flex-direction: column;
    }

    .registro-usuario-acciones .btn-principal,
    .registro-usuario-acciones .btn-secundario{
        width: 100%;
    }
}


.form-crear-rol{
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.form-crear-rol label{
    font-weight: 700;
    color: rgba(255,255,255,0.86);
}

.form-crear-rol input{
    width: 100%;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.06);
    color: #ffffff;
    font-size: 16px;
    outline: none;
}

.form-crear-rol input::placeholder{
    color: rgba(255,255,255,0.36);
}

.form-crear-rol input:focus{
    border-color: rgba(59,130,246,0.80);
    box-shadow: 0 0 0 4px rgba(59,130,246,0.15);
}

.form-crear-rol .btn-principal{
    height: 52px;
    border-radius: 14px;
    font-weight: 800;
}

.btn-eliminar-rol{
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(239,68,68,0.16);
    color: #fecaca;
    border: 1px solid rgba(239,68,68,0.30);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.btn-eliminar-rol:hover{
    background: rgba(239,68,68,0.26);
}

.crear-rol-box{
    margin-bottom: 22px;
}

.roles-scroll-box{
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.10);
}

.roles-scroll-box h2{
    margin-bottom: 16px;
}

.roles-scroll-lista{
    max-height: 280px;
    overflow-y: auto;
    padding-right: 8px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.roles-scroll-lista::-webkit-scrollbar{
    width: 8px;
}

.roles-scroll-lista::-webkit-scrollbar-track{
    background: rgba(255,255,255,0.06);
    border-radius: 999px;
}

.roles-scroll-lista::-webkit-scrollbar-thumb{
    background: rgba(59,130,246,0.55);
    border-radius: 999px;
}

.roles-scroll-lista::-webkit-scrollbar-thumb:hover{
    background: rgba(59,130,246,0.80);
}

.rol-scroll-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
}

.rol-scroll-item span{
    color: #fff;
    font-weight: 700;
}

.rol-scroll-item .btn-eliminar-rol{
    flex-shrink: 0;
}

.registro-usuario-card{
    align-items: stretch;
}

.registro-usuario-formulario,
.registro-roles-info{
    height: 100%;
}

.registro-roles-info{
    display: flex;
    flex-direction: column;
}

.roles-scroll-box{
    flex: 1;
    min-height: 0;
}

.roles-scroll-lista{
    max-height: 310px;
}

.jornadas-select-rol{
    width: 100%;
    min-width: 130px;
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid rgba(59,130,246,0.28);
    background: rgba(59,130,246,0.10);
    color: #fff;
    font-weight: 600;
    font-size: 11px;
    outline: none;
}

.jornadas-select-rol:focus{
    border-color: rgba(59,130,246,0.85);
    box-shadow: 0 0 0 3px rgba(59,130,246,0.18);
}

.jornadas-select-rol option{
    color: #111827;
}

.asistencia-page{
    min-height:100vh;
    background:linear-gradient(135deg, #0f172a, #1e3a5f);
    color:#fff;
}

.asistencia-contenedor{
    width:min(1180px, calc(100% - 32px));
    margin:0 auto;
    padding:60px 0;
}

.asistencia-header{
    text-align:center;
    margin-bottom:34px;
}

.asistencia-header h1{
    font-size:clamp(34px, 5vw, 54px);
    margin-bottom:12px;
    font-weight:800;
}

.asistencia-header p{
    color:rgba(255,255,255,.76);
    font-size:18px;
}

.asistencia-layout{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:28px;
    align-items:start;
}

.asistencia-card,
.asistencia-info-card{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    box-shadow:0 18px 45px rgba(0,0,0,.25);
    backdrop-filter:blur(12px);
}

.asistencia-card{
    padding:34px;
}

.asistencia-icono{
    width:88px;
    height:88px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 24px;
    border-radius:50%;
    background:rgba(59,130,246,.18);
    font-size:42px;
}

.asistencia-card form{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.asistencia-card label{
    font-weight:800;
    color:rgba(255,255,255,.88);
}

.asistencia-card input{
    width:100%;
    padding:16px 18px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:16px;
    outline:none;
}

.asistencia-card input::placeholder{
    color:rgba(255,255,255,.38);
}

.asistencia-card input:focus{
    border-color:rgba(59,130,246,.85);
    box-shadow:0 0 0 4px rgba(59,130,246,.16);
}

.asistencia-btn{
    margin-top:10px;
    height:58px;
    border-radius:16px;
    font-size:17px;
    font-weight:800;
}

.asistencia-separador-registro{
    margin-top:18px;
    text-align:center;
    font-weight:700;
    opacity:.85;
}

.asistencia-btn-volver{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:16px;
    height:52px;
    border-radius:16px;
    font-size:16px;
    font-weight:800;
    text-decoration:none;
    background:transparent;
    color:var(--theme-primary,var(--azul-primario));
    border:2px solid var(--theme-border,var(--borde-suave));
    transition:background .2s ease,border-color .2s ease;
}

.asistencia-btn-volver:hover{
    background:var(--theme-panel-2,var(--blanco-transparente));
    border-color:var(--theme-primary,var(--azul-primario));
}

.asistencia-info{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.asistencia-info-card{
    padding:24px;
}

.asistencia-info-card h2{
    margin-bottom:10px;
    color:#fff;
}

.asistencia-info-card p{
    color:rgba(255,255,255,.74);
    line-height:1.6;
    margin-bottom:8px;
}

.asistencia-info-card.exito{
    border-color:rgba(34,197,94,.25);
    background:rgba(34,197,94,.10);
}

@media (max-width:900px){
    .asistencia-layout{
        grid-template-columns:1fr;
    }
}




body.ventas-page{
    width:100%;
    max-width:none;
}


.ventas-page .ventas-acciones-turno{
    width:100%;
    max-width:760px;
    margin:64px auto 110px;
    display:grid;
    grid-template-columns:repeat(3, minmax(170px, 1fr));
    gap:14px;
    align-items:center;
}

.ventas-page .ventas-acciones-turno.ventas-acciones-admin{
    max-width:540px;
    grid-template-columns:repeat(2, minmax(180px, 1fr));
}

.ventas-page .ventas-btn-turno{
    min-height:52px;
    padding:0 18px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    text-decoration:none;
    font-size:15px;
    font-weight:800;
    letter-spacing:.2px;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 30px rgba(0,0,0,.22);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ventas-page .ventas-btn-turno:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 36px rgba(0,0,0,.28);
    text-decoration:none;
}

.ventas-page .ventas-btn-corte{
    background:linear-gradient(135deg,#f59e0b,#fbbf24);
    color:#111827;
    border-color:rgba(251,191,36,.45);
}

.ventas-page .ventas-btn-corte:hover{
    background:linear-gradient(135deg,#d97706,#f59e0b);
    color:#111827;
}

.ventas-page .ventas-btn-salida{
    background:rgba(59,130,246,.16);
    color:#eff6ff;
    border-color:rgba(59,130,246,.38);
}

.ventas-page .ventas-btn-salida:hover{
    background:rgba(59,130,246,.26);
    color:#fff;
}

.ventas-page .ventas-btn-login{
    background:rgba(239,68,68,.14);
    color:#fecaca;
    border-color:rgba(239,68,68,.35);
}

.ventas-page .ventas-btn-login:hover{
    background:rgba(239,68,68,.24);
    color:#fff;
}

@media (max-width:768px){
    .ventas-page .ventas-acciones-turno,
    .ventas-page .ventas-acciones-turno.ventas-acciones-admin{
        grid-template-columns:1fr;
        max-width:420px;
        margin:52px auto 115px;
    }

    .ventas-page .ventas-btn-turno{
        width:100%;
    }
}



@media (max-width:900px){
    .asistencia-page .asistencia-layout{
        grid-template-columns:1fr;
    }

    .asistencia-page .asistencia-card{
        justify-content:flex-start;
    }

    .asistencia-page .asistencia-rol-item{
        align-items:flex-start;
        flex-direction:column;
    }

    .asistencia-page .asistencia-rol-horario{
        width:100%;
        text-align:center;
    }
}




.asistencia-page .asistencia-contenedor{
    width:min(1260px, calc(100% - 32px));
    margin:0 auto;
    padding:34px 0 60px;
}

.asistencia-page .asistencia-header{
    text-align:center;
    margin-bottom:30px;
}

.asistencia-page .asistencia-header h1{
    margin:0 0 12px;
    font-size:clamp(34px, 5vw, 52px);
    line-height:1.08;
    font-weight:900;
}

.asistencia-page .asistencia-header p{
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:18px;
}

.asistencia-page .asistencia-layout{
    max-width:1260px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:stretch;
}

.asistencia-page .asistencia-card,
.asistencia-page .asistencia-info-solo-roles{
    width:100%;
    height:100%;
}

.asistencia-page .asistencia-card{
    min-height:560px;
    padding:34px 34px 30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.asistencia-page .asistencia-info-solo-roles{
    display:flex;
}

.asistencia-page .asistencia-roles-card-principal{
    width:100%;
    min-height:560px;
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.asistencia-page .asistencia-roles-card-principal h2{
    margin:0 0 12px;
    font-size:28px;
    line-height:1.2;
}

.asistencia-page .asistencia-empleado-nombre{
    margin:0 0 18px;
    color:rgba(255,255,255,.78);
}

.asistencia-page .asistencia-texto-ayuda{
    color:rgba(255,255,255,.72);
    line-height:1.6;
}

.asistencia-page .asistencia-lista-roles{
    display:grid;
    gap:12px;
    margin-top:18px;
    max-height:395px;
    overflow-y:auto;
    padding-right:6px;
}

.asistencia-page .asistencia-lista-roles::-webkit-scrollbar{
    width:6px;
}

.asistencia-page .asistencia-lista-roles::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.18);
    border-radius:999px;
}

.asistencia-page .asistencia-rol-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:15px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.11);
}

.asistencia-page .asistencia-rol-item strong{
    display:block;
    margin-bottom:4px;
    color:#fff;
    font-size:15px;
}

.asistencia-page .asistencia-rol-item span{
    display:block;
    color:rgba(255,255,255,.70);
    font-size:14px;
}

.asistencia-page .asistencia-rol-horario{
    flex-shrink:0;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(59,130,246,.22);
    color:#dbeafe;
    font-size:13px;
    font-weight:800;
}

.asistencia-page .asistencia-rol-item.descanso{
    border-color:rgba(148,163,184,.25);
    background:rgba(148,163,184,.10);
}

.asistencia-page .asistencia-rol-item.descanso .asistencia-rol-horario{
    background:rgba(148,163,184,.20);
    color:#e2e8f0;
}

@media (max-width:900px){
    .asistencia-page .asistencia-contenedor{
        width:min(680px, calc(100% - 28px));
        padding:26px 0 42px;
    }

    .asistencia-page .asistencia-layout{
        grid-template-columns:1fr;
    }

    .asistencia-page .asistencia-card,
    .asistencia-page .asistencia-roles-card-principal{
        min-height:auto;
    }

    .asistencia-page .asistencia-lista-roles{
        max-height:none;
        overflow-y:visible;
        padding-right:0;
    }

    .asistencia-page .asistencia-rol-item{
        align-items:flex-start;
        flex-direction:column;
    }

    .asistencia-page .asistencia-rol-horario{
        width:100%;
        text-align:center;
    }
}





@media (max-width:900px){
    .asistencia-page .asistencia-layout{
        grid-template-columns:1fr;
        max-width:680px;
    }

    .asistencia-page .asistencia-roles-card-principal{
        min-height:auto;
    }

    .asistencia-page .asistencia-lista-roles{
        max-height:none;
        overflow-y:visible;
        padding-right:0;
    }

    .asistencia-page .asistencia-rol-item{
        align-items:flex-start;
        flex-direction:column;
    }

    .asistencia-page .asistencia-rol-horario{
        width:100%;
        text-align:center;
    }
}


.acceso-sistema-page{
    min-height:100vh;
}

.acceso-sistema-contenedor{
    width:min(520px, calc(100% - 32px));
    margin:0 auto;
    padding:45px 0 70px;
}

.acceso-sistema-card{
    padding:34px;
    border-radius:24px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 24px 55px rgba(0,0,0,.24);
    text-align:center;
}

.acceso-sistema-icono{
    width:76px;
    height:76px;
    margin:0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:24px;
    background:rgba(59,130,246,.18);
    font-size:34px;
}

.acceso-sistema-card h1{
    margin:0 0 10px;
    font-size:34px;
    line-height:1.1;
}

.acceso-sistema-descripcion{
    margin:0 0 24px;
    color:rgba(255,255,255,.72);
    line-height:1.6;
}

.acceso-sistema-card form{
    text-align:left;
    margin-top:20px;
}

.acceso-sistema-btn{
    width:100%;
    margin-top:14px;
    min-height:52px;
    border-radius:14px;
}

.acceso-sistema-volver{
    width:100%;
    min-height:48px;
    margin-top:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    text-decoration:none;
    font-weight:800;
    transition:.25s ease;
}

.acceso-sistema-volver:hover{
    background:rgba(255,255,255,.14);
    transform:translateY(-2px);
}

.acceso-sistema-nota{
    margin:18px 0 0;
    color:rgba(255,255,255,.60);
    font-size:14px;
    line-height:1.5;
}

body{
    background:
        radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 34%),
        radial-gradient(circle at top left, rgba(14,165,233,.10), transparent 28%),
        linear-gradient(135deg,#06111f,#10243d 48%,#172b46);
}

.dashboard-ejecutivo{
    width:94%;
    max-width:1500px;
    margin:20px auto 50px;
    padding:28px;
    border-radius:28px;
    background:linear-gradient(145deg,rgba(7,18,35,.72),rgba(15,35,60,.66));
    border:1px solid rgba(148,163,184,.18);
    box-shadow:0 30px 90px rgba(0,0,0,.35);
}

.dashboard-ejecutivo-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:22px;
    margin-bottom:24px;
}

.dashboard-ejecutivo-header h1{
    margin:0;
    font-size:38px;
    line-height:1.05;
    letter-spacing:-1px;
    color:#fff;
}

.dashboard-ejecutivo-header p{
    margin:10px 0 0;
    color:#cbd5e1;
    font-size:17px;
}

.dashboard-ejecutivo-acciones{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    flex-wrap:wrap;
}

.dashboard-actualizado{
    color:#cbd5e1;
    font-size:14px;
    white-space:nowrap;
}

.dashboard-actualizado::after{
    content:"";
    display:inline-block;
    width:7px;
    height:7px;
    margin-left:8px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 12px rgba(34,197,94,.8);
}

.dashboard-btn-mini{
    width:42px;
    height:42px;
    padding:0;
    border-radius:14px;
    background:rgba(15,23,42,.55);
    border:1px solid rgba(148,163,184,.18);
    color:#dbeafe;
    font-size:20px;
}

.dashboard-fecha{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    border-radius:14px;
    background:rgba(15,23,42,.55);
    border:1px solid rgba(148,163,184,.18);
    color:#e2e8f0;
    font-weight:700;
}

.dashboard-alerta-stock{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 22px;
    padding:16px 18px;
    border-radius:18px;
    background:rgba(239,68,68,.12);
    border:1px solid rgba(248,113,113,.35);
    color:#fecaca;
    text-align:center;
}

.dashboard-alerta-stock a{
    color:#fff;
    background:#dc2626;
    padding:9px 14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:900;
}

.dashboard-layout-principal{
    display:grid;
    grid-template-columns:minmax(0,1fr) 430px;
    gap:22px;
    align-items:start;
}

.dashboard-columna-principal{
    min-width:0;
    display:grid;
    gap:22px;
}

.dashboard-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.dashboard-kpi{
    min-height:128px;
    display:flex;
    align-items:center;
    gap:18px;
    padding:20px;
    border-radius:18px;
    background:linear-gradient(145deg,rgba(15,35,60,.74),rgba(10,24,44,.78));
    border:1px solid rgba(148,163,184,.16);
    box-shadow:0 18px 40px rgba(0,0,0,.18);
    transition:.25s ease;
}

.dashboard-kpi:hover{
    transform:translateY(-3px);
    border-color:rgba(59,130,246,.36);
    box-shadow:0 24px 55px rgba(0,0,0,.28);
}

.dashboard-kpi-ancha{
    grid-column:span 2;
}

.dashboard-kpi-icono{
    width:64px;
    height:64px;
    min-width:64px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.dashboard-kpi-icono.azul,
.dashboard-respuesta-icono.azul{
    background:linear-gradient(135deg,rgba(37,99,235,.32),rgba(59,130,246,.14));
    color:#60a5fa;
}

.dashboard-kpi-icono.verde,
.dashboard-respuesta-icono.verde{
    background:linear-gradient(135deg,rgba(34,197,94,.28),rgba(22,163,74,.12));
    color:#4ade80;
}

.dashboard-kpi-icono.morado,
.dashboard-respuesta-icono.morado{
    background:linear-gradient(135deg,rgba(147,51,234,.32),rgba(168,85,247,.13));
    color:#c084fc;
}

.dashboard-kpi-icono.naranja,
.dashboard-respuesta-icono.naranja{
    background:linear-gradient(135deg,rgba(245,158,11,.28),rgba(249,115,22,.12));
    color:#f59e0b;
}

.dashboard-respuesta-icono.rojo{
    background:linear-gradient(135deg,rgba(239,68,68,.28),rgba(220,38,38,.12));
    color:#f87171;
}

.dashboard-kpi span{
    display:block;
    margin-bottom:7px;
    color:#cbd5e1;
    font-size:15px;
}

.dashboard-kpi strong{
    display:block;
    color:#fff;
    font-size:28px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:-.4px;
}

.dashboard-kpi small{
    display:block;
    margin-top:8px;
    color:#94a3b8;
    font-size:13px;
}

.dashboard-chart-card{
    min-height:440px;
    padding:24px;
    border-radius:22px;
    background:linear-gradient(145deg,rgba(15,35,60,.72),rgba(8,19,36,.82));
    border:1px solid rgba(148,163,184,.16);
    box-shadow:0 22px 55px rgba(0,0,0,.2);
}

body[data-visual-theme="claro"] .dashboard-chart-card,
body[data-visual-theme="menta"] .dashboard-chart-card,
body[data-visual-theme="lavanda"] .dashboard-chart-card,
body[data-visual-theme="cielo"] .dashboard-chart-card,
body[data-visual-theme="arena"] .dashboard-chart-card,
body[data-visual-theme="salvia"] .dashboard-chart-card{
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    box-shadow:0 18px 34px rgba(15,23,42,.08) !important;
}

.dashboard-chart-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:20px;
}

.dashboard-chart-header h2{
    margin:0;
    color:var(--theme-text,#fff);
    font-size:24px;
}

.dashboard-chart-header p{
    margin:6px 0 0;
    color:var(--theme-muted,#94a3b8);
    font-size:14px;
}

.dashboard-chart-header span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 14px;
    border-radius:13px;
    background:rgba(15,23,42,.55);
    border:1px solid rgba(148,163,184,.18);
    color:var(--theme-text,#e2e8f0);
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
}

body[data-visual-theme="claro"] .dashboard-chart-header span,
body[data-visual-theme="menta"] .dashboard-chart-header span,
body[data-visual-theme="lavanda"] .dashboard-chart-header span,
body[data-visual-theme="cielo"] .dashboard-chart-header span,
body[data-visual-theme="arena"] .dashboard-chart-header span,
body[data-visual-theme="salvia"] .dashboard-chart-header span{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

#graficaVentas{
    width:100% !important;
    height:340px !important;
}

.dashboard-asistente-panel{
    position:sticky;
    top:95px;
    display:flex;
    flex-direction:column;
    gap:18px;
    padding:22px;
    border-radius:24px;
    background:linear-gradient(145deg,rgba(8,21,40,.88),rgba(16,35,60,.84));
    border:1px solid rgba(148,163,184,.18);
    box-shadow:0 26px 70px rgba(0,0,0,.35);
    overflow:hidden;
}

.dashboard-asistente-seccion h3,
.dashboard-respuesta-header h3{
    margin:0;
    font-size:16px;
    color:var(--theme-text,#f8fafc);
}

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

.dashboard-asistente-botones button{
    width:100%;
    min-height:46px;
    justify-content:flex-start;
    gap:8px;
    padding:10px 12px;
    border-radius:13px;
    background:rgba(30,58,95,.45);
    border:1px solid rgba(148,163,184,.16);
    color:var(--theme-text,#e5edff);
    font-size:13px;
    font-weight:850;
    text-align:left;
    box-shadow:none;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-botones button{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

.dashboard-asistente-botones button:hover{
    transform:translateY(-2px);
    background:rgba(37,99,235,.22);
    border-color:rgba(96,165,250,.35);
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-botones button:hover{
    background:var(--theme-panel) !important;
    border-color:var(--theme-primary) !important;
}

.dashboard-asistente-botones button.activo{
    background:linear-gradient(135deg,rgba(37,99,235,.9),rgba(59,130,246,.65));
    border-color:rgba(147,197,253,.55);
    box-shadow:0 12px 30px rgba(37,99,235,.28);
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-botones button.activo{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    border-color:var(--theme-primary) !important;
    box-shadow:0 8px 20px rgba(0,0,0,.15) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

.dashboard-respuesta-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding-top:14px;
    border-top:1px solid rgba(148,163,184,.14);
}

.dashboard-respuesta-header span{
    color:#94a3b8;
    font-size:13px;
    white-space:nowrap;
}

.dashboard-respuesta-card{
    display:flex;
    gap:15px;
    padding:18px;
    border-radius:20px;
    background:linear-gradient(145deg,rgba(15,35,60,.8),rgba(10,24,44,.72));
    border:1px solid rgba(148,163,184,.16);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-card{
    background:linear-gradient(145deg,var(--theme-panel-2),var(--theme-panel)) !important;
    border-color:var(--theme-border) !important;
}

.dashboard-respuesta-icono{
    width:56px;
    height:56px;
    min-width:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    font-size:28px;
}

.dashboard-respuesta-contenido{
    flex:1;
    min-width:0;
}

.dashboard-respuesta-contenido h4{
    margin:0 0 7px;
    color:var(--theme-text,#fff);
    font-size:19px;
}

.dashboard-respuesta-contenido p{
    margin:0;
    color:#cbd5e1;
    line-height:1.45;
    font-size:14px;
}

.dashboard-respuesta-metricas{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:15px;
}

.dashboard-respuesta-metricas div{
    padding:10px;
    border-radius:14px;
    background:rgba(15,23,42,.42);
    border:1px solid rgba(148,163,184,.10);
}

.dashboard-respuesta-metricas span{
    display:block;
    color:#94a3b8;
    font-size:12px;
    margin-bottom:5px;
}

.dashboard-respuesta-metricas strong{
    display:block;
    color:#fff;
    font-size:16px;
    overflow-wrap:anywhere;
}

.dashboard-asistente-historial{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
}

.dashboard-asistente-historial span{
    font-size:11px;
    font-weight:700;
    color:#64748b;
    white-space:nowrap;
    letter-spacing:.3px;
}

.dashboard-asistente-historial button{
    min-height:26px;
    padding:3px 10px;
    border-radius:20px;
    background:rgba(30,58,95,.35);
    border:1px solid rgba(148,163,184,.18);
    color:#94a3b8;
    font-size:11px;
    font-weight:700;
    box-shadow:none;
}

.dashboard-asistente-historial button:hover{
    background:rgba(37,99,235,.22);
    border-color:rgba(96,165,250,.35);
    color:#e2e8f0;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-historial button{
    background:var(--theme-bg-soft) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-muted) !important;
    -webkit-text-fill-color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-historial button:hover{
    background:var(--theme-panel) !important;
    border-color:var(--theme-primary) !important;
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-historial span{
    color:var(--theme-muted) !important;
}

.dashboard-asistente-input{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 8px 8px 15px;
    border-radius:17px;
    background:rgba(15,23,42,.54);
    border:1px solid rgba(148,163,184,.16);
}

.dashboard-asistente-input span{
    color:#cbd5e1;
    font-size:14px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.dashboard-asistente-input button{
    width:40px;
    min-width:40px;
    height:40px;
    padding:0;
    border-radius:14px;
    background:linear-gradient(135deg,#2563eb,#3b82f6);
    color:#fff;
}

.dashboard-asistente-acciones{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
}

.dashboard-asistente-acciones button{
    min-height:43px;
    padding:8px 10px;
    border-radius:14px;
    background:rgba(30,58,95,.42);
    border:1px solid rgba(148,163,184,.16);
    color:#e5edff;
    font-size:12px;
    font-weight:850;
    box-shadow:none;
}

.dashboard-asistente-acciones button:hover{
    background:rgba(37,99,235,.22);
    border-color:rgba(96,165,250,.35);
}

@media (max-width:1250px){
    .dashboard-layout-principal{
        grid-template-columns:1fr;
    }

    .dashboard-asistente-panel{
        position:relative;
        top:auto;
    }

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

@media (max-width:768px){
    body{
        padding-top:78px;
    }

    .dashboard-ejecutivo{
        width:94%;
        padding:18px;
        margin:12px auto 35px;
        border-radius:22px;
    }

    .dashboard-ejecutivo-header{
        flex-direction:column;
        align-items:stretch;
    }

    .dashboard-ejecutivo-header h1{
        font-size:30px;
    }

    .dashboard-ejecutivo-header p{
        font-size:15px;
    }

    .dashboard-ejecutivo-acciones{
        justify-content:flex-start;
    }

    .dashboard-kpis{
        grid-template-columns:1fr;
    }

    .dashboard-kpi,
    .dashboard-kpi-ancha{
        grid-column:auto;
    }

    .dashboard-kpi{
        min-height:auto;
        padding:18px;
    }

    .dashboard-chart-card{
        min-height:360px;
        padding:18px;
    }

    .dashboard-chart-header{
        flex-direction:column;
    }

    #graficaVentas{
        height:280px !important;
    }

    .dashboard-asistente-panel{
        padding:18px;
        border-radius:22px;
    }

    .dashboard-asistente-botones{
        grid-template-columns:1fr;
    }

    .dashboard-respuesta-card{
        flex-direction:column;
    }

    .dashboard-respuesta-metricas{
        grid-template-columns:1fr;
    }

    .dashboard-asistente-acciones{
        grid-template-columns:1fr;
    }

    .dashboard-asistente-acciones button,
    .dashboard-asistente-botones button{
        width:100%;
    }
}


.dashboard-ejecutivo{
    width:92%;
    max-width:1440px;
    margin:18px auto 42px;
    padding:34px;
}

.dashboard-ejecutivo-header{
    padding-left:42px;
    margin-bottom:28px;
}

.dashboard-ejecutivo-header h1{
    font-size:36px;
    max-width:760px;
}

.dashboard-ejecutivo-header p{
    font-size:16px;
}

.dashboard-layout-principal{
    grid-template-columns:minmax(0,1fr) 410px;
    gap:24px;
}

.dashboard-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.dashboard-kpi{
    min-height:122px;
    padding:18px;
    border-radius:18px;
}

.dashboard-kpi-ancha{
    grid-column:span 1;
}

.dashboard-kpi-icono{
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:20px;
    font-size:27px;
}

.dashboard-kpi span{
    font-size:15px;
}

.dashboard-kpi strong{
    font-size:27px;
}

.dashboard-kpi small{
    font-size:13px;
    line-height:1.35;
}

.dashboard-alerta-stock{
    width:100%;
    min-height:62px;
    margin:0 0 24px;
    padding:14px 18px;
    border-radius:18px;
}

.dashboard-alerta-stock a{
    padding:10px 16px;
    border-radius:12px;
}

.dashboard-chart-card{
    min-height:390px;
    padding:24px 24px 18px;
}

.dashboard-chart-header{
    margin-bottom:10px;
}

#graficaVentas{
    height:295px !important;
}

.dashboard-asistente-panel{
    top:86px;
    padding:20px;
    gap:16px;
    border-radius:22px;
    max-height:calc(100vh - 115px);
    overflow-y:auto;
    scrollbar-width:thin;
}

.dashboard-asistente-panel::-webkit-scrollbar{
    width:7px;
}

.dashboard-asistente-panel::-webkit-scrollbar-thumb{
    background:rgba(148,163,184,.28);
    border-radius:999px;
}

.dashboard-asistente-botones{
    gap:10px;
}

.dashboard-asistente-botones button{
    min-height:44px;
    padding:9px 12px;
    font-size:12.5px;
    border-radius:13px;
}

.dashboard-respuesta-card{
    padding:16px;
    border-radius:18px;
}

.dashboard-respuesta-icono{
    width:52px;
    height:52px;
    min-width:52px;
    font-size:25px;
}

.dashboard-respuesta-contenido h4{
    font-size:18px;
}

.dashboard-respuesta-contenido p{
    font-size:13.5px;
}

.dashboard-respuesta-metricas{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:13px;
}

.dashboard-respuesta-metricas div{
    padding:9px;
}

.dashboard-asistente-input{
    min-height:50px;
}

.dashboard-asistente-acciones{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.dashboard-asistente-acciones button{
    min-height:42px;
    font-size:12px;
    line-height:1.2;
}

@media (min-width:1251px){
    .dashboard-kpis .dashboard-kpi:nth-child(7){
        grid-column:span 2;
    }
}

@media (max-width:1350px){
    .dashboard-ejecutivo{
        width:94%;
        padding:28px;
    }

    .dashboard-layout-principal{
        grid-template-columns:minmax(0,1fr) 390px;
    }

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

    .dashboard-kpis .dashboard-kpi:nth-child(7){
        grid-column:span 2;
    }
}

@media (max-width:1100px){
    .dashboard-layout-principal{
        grid-template-columns:1fr;
    }

    .dashboard-asistente-panel{
        position:relative;
        top:auto;
        max-height:none;
    }

    .dashboard-ejecutivo-header{
        padding-left:0;
    }
}

@media (max-width:768px){
    .dashboard-ejecutivo{
        width:94%;
        padding:18px;
    }

    .dashboard-ejecutivo-header{
        padding-left:0;
    }

    .dashboard-ejecutivo-header h1{
        font-size:29px;
    }

    .dashboard-kpis{
        grid-template-columns:1fr;
    }

    .dashboard-kpis .dashboard-kpi:nth-child(7){
        grid-column:auto;
    }

    .dashboard-asistente-botones{
        grid-template-columns:1fr;
    }

    .dashboard-respuesta-metricas{
        grid-template-columns:1fr;
    }

    .dashboard-asistente-acciones{
        grid-template-columns:1fr;
    }
}

.dashboard-ejecutivo{
    width: 96%;
    max-width: 1700px;
    margin: 18px auto 40px;
    padding: 24px 22px 30px;
}

.dashboard-layout-principal{
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) 400px;
    gap: 18px;
    align-items: start;
}

.dashboard-columna-principal{
    min-width: 0;
}

.dashboard-kpis{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.dashboard-kpi{
    min-height: 126px;
    padding: 20px 20px;
    border-radius: 22px;
}

.dashboard-kpis .dashboard-kpi:nth-child(7){
    grid-column: 1 / -1;
}

.dashboard-chart-card{
    width: 100%;
    min-height: 420px;
    padding: 28px 28px 18px;
    border-radius: 24px;
}

.dashboard-chart-header{
    margin-bottom: 12px;
}

#graficaVentas{
    height: 310px !important;
}

.dashboard-asistente-panel{
    width: 100%;
    max-width: 400px;
    padding: 18px;
    gap: 14px;
    border-radius: 24px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}

.dashboard-asistente-botones{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-asistente-botones button{
    min-height: 46px;
    padding: 10px 12px;
    border-radius: 14px;
    font-size: 12.5px;
    line-height: 1.2;
    text-align: left;
}

.dashboard-respuesta-card{
    padding: 16px 14px;
    border-radius: 20px;
}

.dashboard-respuesta-icono{
    width: 54px;
    height: 54px;
    min-width: 54px;
    font-size: 24px;
}

.dashboard-respuesta-contenido{
    min-width: 0;
}

.dashboard-respuesta-contenido h4{
    font-size: 17px;
    line-height: 1.2;
}

.dashboard-respuesta-contenido p{
    font-size: 13px;
    line-height: 1.45;
}

.dashboard-respuesta-metricas{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.dashboard-respuesta-metricas div{
    min-width: 0;
    padding: 10px 10px;
    border-radius: 16px;
}

.dashboard-respuesta-metricas span{
    display: block;
    font-size: 12px;
    line-height: 1.2;
    word-break: break-word;
}

.dashboard-respuesta-metricas strong{
    display: block;
    margin-top: 6px;
    font-size: 16px;
    line-height: 1.2;
    word-break: break-word;
}

.dashboard-asistente-input{
    min-height: 52px;
    border-radius: 16px;
}

.dashboard-asistente-acciones{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-asistente-acciones button{
    min-height: 44px;
    padding: 10px 8px;
    border-radius: 14px;
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
}

@media (max-width: 1450px){
    .dashboard-layout-principal{
        grid-template-columns: minmax(0, 1.65fr) 380px;
    }

    .dashboard-asistente-panel{
        max-width: 380px;
    }
}

@media (max-width: 1200px){
    .dashboard-layout-principal{
        grid-template-columns: 1fr;
    }

    .dashboard-asistente-panel{
        max-width: 100%;
        max-height: none;
    }
}

@media (max-width: 768px){
    .dashboard-ejecutivo{
        width: 94%;
        padding: 18px 14px 24px;
    }

    .dashboard-kpis{
        grid-template-columns: 1fr;
    }

    .dashboard-kpis .dashboard-kpi:nth-child(7){
        grid-column: auto;
    }

    .dashboard-asistente-botones{
        grid-template-columns: 1fr;
    }

    .dashboard-respuesta-metricas{
        grid-template-columns: 1fr;
    }

    .dashboard-asistente-acciones{
        grid-template-columns: 1fr;
    }

    #graficaVentas{
        height: 260px !important;
    }
}


.dashboard-layout-principal{
    display:grid;
    grid-template-columns:minmax(0,1fr) 430px;
    gap:24px;
    align-items:start;
}

.dashboard-columna-principal{
    min-width:0;
}

.dashboard-asistente-panel{
    position:sticky;
    top:92px;
    align-self:start;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    padding:24px;
    border-radius:26px;
}

.dashboard-asistente-panel::-webkit-scrollbar{
    display:none;
}

.dashboard-asistente-seccion{
    margin-top:4px;
}

.dashboard-asistente-botones{
    gap:12px;
}

.dashboard-asistente-botones button{
    min-height:50px;
    padding:12px 14px;
    border-radius:16px;
    font-size:13px;
}

.dashboard-respuesta-header{
    margin-top:2px;
}

.dashboard-respuesta-card{
    padding:18px;
    border-radius:22px;
    gap:16px;
}

.dashboard-respuesta-contenido h4{
    font-size:18px;
    line-height:1.2;
}

.dashboard-respuesta-contenido p{
    font-size:14px;
    line-height:1.5;
}

.dashboard-respuesta-metricas{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.dashboard-respuesta-metricas div{
    padding:12px 10px;
    border-radius:16px;
    min-width:0;
}

.dashboard-respuesta-metricas span{
    font-size:12px;
    line-height:1.2;
}

.dashboard-respuesta-metricas strong{
    font-size:15px;
    line-height:1.25;
    overflow-wrap:anywhere;
}

.dashboard-asistente-input{
    min-height:54px;
    border-radius:18px;
}

.dashboard-asistente-input button{
    width:46px;
    min-width:46px;
    height:46px;
    border-radius:16px;
}

.dashboard-asistente-acciones{
    gap:10px;
}

.dashboard-asistente-acciones button{
    min-height:46px;
    border-radius:16px;
    font-size:12px;
    line-height:1.2;
    padding:10px 8px;
}

@media (min-width:1400px){
    .dashboard-layout-principal{
        grid-template-columns:minmax(0,1fr) 450px;
    }
}

@media (max-width:1250px){
    .dashboard-layout-principal{
        grid-template-columns:1fr;
    }

    .dashboard-asistente-panel{
        position:relative;
        top:auto;
        max-height:none !important;
        overflow:visible !important;
    }
}

@media (max-width:768px){
    .dashboard-asistente-panel{
        padding:18px;
        border-radius:22px;
    }

    .dashboard-asistente-botones{
        grid-template-columns:1fr;
    }

    .dashboard-respuesta-card{
        flex-direction:column;
    }

    .dashboard-respuesta-metricas{
        grid-template-columns:1fr;
    }

    .dashboard-asistente-acciones{
        grid-template-columns:1fr;
    }
}

.dashboard-respuesta-card{
    display:flex;
    flex-direction:column;
    gap:18px;
    padding:22px;
    border-radius:24px;
}

.dashboard-respuesta-icono{
    width:68px;
    height:68px;
    min-width:68px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
}

.dashboard-respuesta-contenido{
    flex:1;
    min-width:0;
}

.dashboard-respuesta-contenido h4{
    font-size:20px;
    line-height:1.2;
    margin-bottom:8px;
}

.dashboard-respuesta-contenido p{
    font-size:16px;
    line-height:1.5;
    margin:0;
    color:#bfd0ea;
}

.dashboard-respuesta-metricas{
    display:grid;
    grid-template-columns:repeat(3, minmax(110px, 1fr));
    gap:14px;
    margin-top:4px;
}

.dashboard-respuesta-metricas div{
    background:rgba(8, 20, 44, 0.55);
    border:1px solid rgba(255, 255, 255, 0.08);
    border-radius:18px;
    padding:14px 16px;
    min-height:92px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
}

.dashboard-respuesta-metricas span{
    font-size:13px;
    color:#95a9cb;
    margin-bottom:8px;
    display:block;
    line-height:1.2;
}

.dashboard-respuesta-metricas strong{
    font-size:16px;
    color:#ffffff;
    line-height:1.2;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
}

@media (max-width: 1350px){
    .dashboard-respuesta-metricas{
        grid-template-columns:repeat(2, minmax(120px, 1fr));
    }
}

@media (max-width: 768px){
    .dashboard-respuesta-card{
        padding:18px;
        gap:16px;
    }

    .dashboard-respuesta-icono{
        width:58px;
        height:58px;
        min-width:58px;
        border-radius:18px;
        font-size:24px;
    }

    .dashboard-respuesta-contenido h4{
        font-size:18px;
    }

    .dashboard-respuesta-contenido p{
        font-size:15px;
    }

    .dashboard-respuesta-metricas{
        grid-template-columns:1fr;
        gap:12px;
    }

    .dashboard-respuesta-metricas div{
        min-height:auto;
        padding:14px;
    }
}

.dashboard-respuesta-card{
    width:100%;
    max-width:100%;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:16px;
    padding:20px;
    border-radius:24px;
}

.dashboard-respuesta-icono{
    width:62px;
    height:62px;
    min-width:62px;
    border-radius:20px;
    font-size:26px;
}

.dashboard-respuesta-contenido{
    width:100%;
    max-width:100%;
    min-width:0;
}

.dashboard-respuesta-contenido h4{
    font-size:20px;
    line-height:1.2;
    margin:0 0 8px;
}

.dashboard-respuesta-contenido p{
    font-size:15px;
    line-height:1.45;
    margin:0;
}

.dashboard-respuesta-metricas{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:16px;
}

.dashboard-respuesta-metricas div{
    min-width:0;
    width:100%;
    padding:13px 10px;
    border-radius:16px;
}

.dashboard-respuesta-metricas span{
    font-size:12px;
    line-height:1.2;
    margin-bottom:8px;
}

.dashboard-respuesta-metricas strong{
    display:block;
    max-width:100%;
    font-size:15px;
    line-height:1.2;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}

@media (max-width:1400px){
    .dashboard-respuesta-metricas{
        grid-template-columns:1fr;
    }

    .dashboard-respuesta-metricas div{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        min-height:54px;
    }

    .dashboard-respuesta-metricas span{
        margin:0;
    }

    .dashboard-respuesta-metricas strong{
        text-align:right;
        white-space:nowrap;
    }
}

body:has(.dashboard-ejecutivo){
    padding-top:70px;
}

.dashboard-ejecutivo{
    width:min(96%, 1600px);
    max-width:1600px;
    margin:18px auto 42px;
    padding:26px 28px 34px;
}

.dashboard-ejecutivo-header{
    padding-left:46px;
    margin-bottom:26px;
}

.dashboard-layout-principal{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 440px !important;
    gap:26px !important;
    align-items:start !important;
}

.dashboard-columna-principal{
    min-width:0 !important;
    width:100% !important;
}

.dashboard-kpis{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:18px !important;
}

.dashboard-kpi{
    min-height:126px;
    padding:20px;
    border-radius:22px;
}

.dashboard-kpi-ancha{
    grid-column:auto !important;
}

.dashboard-kpis .dashboard-kpi:nth-child(7){
    grid-column:1 / -1 !important;
}

.dashboard-chart-card{
    width:100% !important;
    min-height:420px;
    padding:26px 28px 20px;
    border-radius:24px;
}

#graficaVentas{
    height:310px !important;
}

.dashboard-asistente-panel{
    position:sticky !important;
    top:88px !important;
    align-self:start !important;
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    padding:22px !important;
    border-radius:26px !important;
}

.dashboard-asistente-seccion{
    margin-top:0;
}

.dashboard-asistente-seccion h3{
    margin-bottom:12px;
}

.dashboard-asistente-botones{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:11px !important;
}

.dashboard-asistente-botones button{
    min-height:48px !important;
    width:100% !important;
    padding:11px 13px !important;
    border-radius:16px !important;
    font-size:12.5px !important;
    line-height:1.2 !important;
    white-space:normal !important;
}

.dashboard-respuesta-header{
    margin-top:2px;
    padding-top:14px;
}

.dashboard-respuesta-card{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    display:grid !important;
    grid-template-columns:56px minmax(0, 1fr) !important;
    gap:15px !important;
    align-items:start !important;
    padding:18px !important;
    border-radius:22px !important;
}

.dashboard-respuesta-icono{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    border-radius:18px !important;
    font-size:24px !important;
}

.dashboard-respuesta-contenido{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
}

.dashboard-respuesta-contenido h4{
    font-size:18px !important;
    line-height:1.2 !important;
    margin:0 0 7px !important;
}

.dashboard-respuesta-contenido p{
    font-size:13.5px !important;
    line-height:1.45 !important;
    margin:0 !important;
}

.dashboard-respuesta-metricas{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:9px !important;
    margin-top:14px !important;
}

.dashboard-respuesta-metricas div{
    min-width:0 !important;
    width:100% !important;
    min-height:72px !important;
    padding:10px 9px !important;
    border-radius:16px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
}

.dashboard-respuesta-metricas span{
    font-size:11.5px !important;
    line-height:1.2 !important;
    margin:0 0 7px !important;
    color:#94a3b8 !important;
}

.dashboard-respuesta-metricas strong{
    display:block !important;
    max-width:100% !important;
    font-size:14px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
}

.dashboard-asistente-input{
    min-height:52px !important;
    border-radius:18px !important;
}

.dashboard-asistente-input button{
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    border-radius:16px !important;
}

.dashboard-asistente-acciones{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
}

.dashboard-asistente-acciones button{
    min-height:45px !important;
    width:100% !important;
    padding:9px 7px !important;
    border-radius:15px !important;
    font-size:11.5px !important;
    line-height:1.15 !important;
    white-space:normal !important;
}

@media (min-width:1700px){
    .dashboard-layout-principal{
        grid-template-columns:minmax(0, 1fr) 460px !important;
    }
}

@media (max-width:1450px){
    .dashboard-ejecutivo{
        width:96%;
        padding:24px 22px 30px;
    }

    .dashboard-layout-principal{
        grid-template-columns:minmax(0, 1fr) 410px !important;
        gap:22px !important;
    }

    .dashboard-respuesta-card{
        grid-template-columns:1fr !important;
    }

    .dashboard-respuesta-metricas{
        grid-template-columns:1fr !important;
    }

    .dashboard-respuesta-metricas div{
        min-height:52px !important;
        flex-direction:row !important;
        justify-content:space-between !important;
        align-items:center !important;
        gap:12px !important;
    }

    .dashboard-respuesta-metricas span{
        margin:0 !important;
    }

    .dashboard-respuesta-metricas strong{
        text-align:right !important;
    }
}

@media (max-width:1250px){
    .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    .dashboard-asistente-panel{
        position:relative !important;
        top:auto !important;
    }

    .dashboard-ejecutivo-header{
        padding-left:0;
    }
}

@media (max-width:900px){
    .dashboard-kpis{
        grid-template-columns:1fr !important;
    }

    .dashboard-kpis .dashboard-kpi:nth-child(7){
        grid-column:auto !important;
    }
}


.jornadas-tabla {
    width: 100%;
    border-collapse: collapse;
}

.jornadas-tabla th,
.jornadas-tabla td {
    padding: 8px 8px;
    text-align: center;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    color: #e2e8f0;
    font-size: 12px;
    vertical-align: middle;
}

.jornadas-tabla thead th {
    background: rgba(15, 23, 42, 0.65);
    color: #bfdbfe;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 11px 8px;
    white-space: nowrap;
    border-bottom: 2px solid rgba(96, 165, 250, 0.3);
}

.jornadas-tabla tbody tr:hover {
    background: rgba(37, 99, 235, 0.07);
}

body.jornadas-page .jornadas-turno-hoy-item-rostro {
    grid-template-columns: 1.4fr 1fr 1fr auto auto;
}

@media (max-width: 1060px) {
    body.jornadas-page .jornadas-turno-hoy-item-rostro {
        grid-template-columns: 1fr 1fr auto auto;
    }
}

@media (max-width: 760px) {
    body.jornadas-page .jornadas-turno-hoy-item-rostro {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1200px) {
    .jornadas-tabla th,
    .jornadas-tabla td {
        padding: 10px 8px;
        font-size: 13px;
    }

    .jornadas-select-turno {
        min-width: 95px;
        font-size: 12px;
        padding: 7px 8px;
        min-height: 36px;
    }
}

@media (max-width: 1000px) {
    .jornadas-tabla th,
    .jornadas-tabla td {
        padding: 9px 6px;
        font-size: 12px;
    }

    .jornadas-select-turno {
        min-width: 85px;
        font-size: 11px;
        padding: 6px 6px;
        min-height: 34px;
    }

    .jornadas-colaborador strong {
        font-size: 13px;
    }

    .jornadas-colaborador small {
        font-size: 11px;
    }
}

@media (max-width: 1024px) {
    .jornadas-tabla-scroll {
        margin: 0 -14px;
        padding: 0 14px;
    }

    .jornadas-tabla thead tr {
        display: none;
    }

    .jornadas-tabla,
    .jornadas-tabla tbody,
    .jornadas-tabla tr {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
    }

    .jornadas-tabla tbody tr {
        border-radius: 12px;
        background: rgba(15, 23, 42, 0.40);
        border: 1px solid rgba(148, 163, 184, 0.18);
        padding: 6px 0;
        margin-bottom: 10px;
    }

    .jornadas-tabla-total tr {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        padding: 10px 14px;
        background: rgba(37, 99, 235, 0.14);
        border-radius: 10px;
        margin-bottom: 0;
    }

    .jornadas-tabla td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        border-bottom: 1px solid rgba(148, 163, 184, 0.09);
        padding: 9px 14px;
        font-size: 13px;
    }

    .jornadas-tabla td:last-child {
        border-bottom: none;
    }

    .jornadas-tabla td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        color: #9fb3d1;
        font-weight: 800;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .jornadas-tabla td .jornadas-colaborador {
        margin-left: auto;
        text-align: right;
    }

    .jornadas-tabla td .jornadas-colaborador .jornadas-colaborador {
        margin-left: 0;
        text-align: left;
    }

    .jornadas-tabla-total td::before {
        display: none;
    }

    .jornadas-tabla-total td {
        justify-content: flex-start;
        gap: 6px;
        border-bottom: none;
    }

    .jornadas-tabla-total td[colspan] {
        font-weight: 800;
        color: #bfdbfe;
    }

    .jornadas-tarifa-input {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .jornadas-panel-principal {
        padding: 12px;
        border-radius: 10px;
    }

    .jornadas-card {
        padding: 14px;
        border-radius: 10px;
    }

    .jornadas-acciones .jornadas-btn-secundario,
    .jornadas-acciones .jornadas-btn-primario {
        flex: 1 1 140px;
        min-width: 140px;
        width: auto;
        text-align: center;
    }
}

@media (max-width: 600px) {
    .jornadas-rol-rapido {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }

    .jornadas-rol-rapido > span {
        margin-right: 0;
        margin-bottom: 2px;
    }

    .jornadas-btn-chip {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .jornadas-contenedor {
        padding-top: 10px;
        padding-bottom: 32px;
    }

    .jornadas-encabezado h1 {
        font-size: clamp(20px, 6vw, 28px);
    }

    .jornadas-card-resumen {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .jornadas-card-resumen strong {
        font-size: 22px;
    }

    .jornadas-estado-hoy {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .jornadas-estado-corte {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .jornadas-grupo-header {
        margin: 24px 0 6px;
    }

    .jornadas-kpi-item strong {
        font-size: 18px;
    }

    .jornadas-card-resumen-extra {
        font-size: 10px;
    }
}


@media (max-width: 1024px) {

    .jornadas-tabla-scroll { overflow-x: hidden !important; }

    .jornadas-tabla-semanal,
    .jornadas-tabla-semanal tbody,
    .jornadas-tabla-semanal tr,
    .jornadas-tabla-semanal td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .jornadas-tabla-semanal thead { display: none !important; }
    .jornadas-tabla-semanal tr {
        margin-bottom: 14px !important;
        padding: 14px !important;
        background: var(--theme-panel, rgba(15,23,42,.55)) !important;
        border: 1px solid var(--theme-border, rgba(148,163,184,.2)) !important;
        border-radius: 14px !important;
    }
    .jornadas-tabla-semanal td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid var(--theme-border, rgba(148,163,184,.14)) !important;
        text-align: right !important;
    }
    .jornadas-tabla-semanal td:last-child { border-bottom: none !important; }
    .jornadas-tabla-semanal td::before {
        content: attr(data-label) !important;
        display: block !important;
        flex: 0 0 38% !important;
        text-align: left !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        color: var(--theme-muted, #93c5fd) !important;
    }
    .jornadas-tabla-semanal td .jornadas-select-rol,
    .jornadas-tabla-semanal td .jornadas-select-turno {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: 62% !important;
    }
    .jornadas-tabla-semanal td[data-label="Colaborador"] .jornadas-colaborador {
        flex-direction: row !important;
        align-items: center !important;
        margin-left: auto !important;
        text-align: left !important;
    }

    .jornadas-heatmap {
        min-width: 0 !important;
        width: 100% !important;
        table-layout: fixed !important;
        border-spacing: 2px !important;
    }
    .jornadas-heatmap th,
    .jornadas-heatmap tbody th {
        font-size: 9px !important;
        padding: 2px 0 !important;
        white-space: nowrap !important;
    }
    .jornadas-heatmap thead th:first-child,
    .jornadas-heatmap tbody th {
        width: 16% !important;
        text-align: left !important;
    }
    .jornadas-heatmap-celda,
    .jornadas-heatmap-total {
        min-width: 0 !important;
        padding: 8px 1px !important;
        font-size: 12px !important;
    }

    .jornadas-tabla:not(.jornadas-tabla-semanal) tfoot { display: block; }

    .jornadas-tabla-carga  { min-width: 0 !important; }
    .jornadas-tabla-cortes { min-width: 0 !important; }

    .jornadas-tabla:not(.jornadas-tabla-semanal) td .jornadas-colaborador {
        margin-left: auto;
        flex-direction: row-reverse;
        text-align: right;
    }
    .jornadas-tabla:not(.jornadas-tabla-semanal) td .jornadas-colaborador strong,
    .jornadas-tabla:not(.jornadas-tabla-semanal) td .jornadas-colaborador small {
        text-align: right;
    }

    .jornadas-tabla:not(.jornadas-tabla-semanal) td .jornadas-estado-corte,
    .jornadas-tabla:not(.jornadas-tabla-semanal) td .jornadas-pill {
        min-width: 0;
        margin-left: auto;
    }
    .jornadas-tabla:not(.jornadas-tabla-semanal) td .jornadas-diferencia {
        margin-left: auto;
        font-size: 14px;
    }

    .jornadas-tabla:not(.jornadas-tabla-semanal) td .jornadas-tarifa-input {
        max-width: none;
        flex: 1;
        min-width: 0;
    }

    .jornadas-tabla:not(.jornadas-tabla-semanal) td:empty { display: none; }

    .jornadas-card-encabezado {
        flex-direction: column;
        gap: 10px;
    }
    .jornadas-carga-leyenda {
        width: 100%;
    }
}

@media (min-width: 761px) and (max-width: 900px) {
    .jornadas-card-encabezado {
        flex-wrap: wrap;
    }
    .jornadas-carga-leyenda {
        width: 100%;
    }
}


@media (max-width:768px){
    .dashboard-ejecutivo{
        width:94%;
        padding:18px 14px 24px;
    }

    .dashboard-ejecutivo-header h1{
        font-size:28px;
    }

    .dashboard-asistente-botones{
        grid-template-columns:1fr !important;
    }

    .dashboard-asistente-acciones{
        grid-template-columns:1fr !important;
    }

    #graficaVentas{
        height:260px !important;
    }
}

.dashboard-respuesta-header{
    display:block !important;
    padding-top:16px !important;
}

.dashboard-respuesta-header h3{
    margin:0 !important;
}

.dashboard-respuesta-card{
    margin-top:0 !important;
}

.dashboard-asistente-acciones{
    margin-top:4px !important;
}

.dashboard-asistente-logo{
    width:76px;
    height:76px;
    min-width:76px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#020617;
    border:1px solid rgba(59,130,246,.35);
    overflow:hidden;
    padding:8px;
    box-shadow:0 0 22px rgba(37,99,235,.28);
}

.dashboard-asistente-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    filter:none;
}

body[data-visual-theme="claro"] .dashboard-asistente-logo img,
body[data-visual-theme="menta"] .dashboard-asistente-logo img,
body[data-visual-theme="lavanda"] .dashboard-asistente-logo img,
body[data-visual-theme="cielo"] .dashboard-asistente-logo img,
body[data-visual-theme="arena"] .dashboard-asistente-logo img,
body[data-visual-theme="salvia"] .dashboard-asistente-logo img{
    filter:brightness(0.8) saturate(1.1);
}

.login-logo-marca{
    width:240px;
    height:170px;
    margin:0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.login-logo-marca img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    filter:drop-shadow(0 0 28px rgba(37,99,235,.42));
}

body[data-visual-theme="claro"] .login-logo-marca img,
body[data-visual-theme="menta"] .login-logo-marca img,
body[data-visual-theme="lavanda"] .login-logo-marca img{
    filter:drop-shadow(0 0 28px rgba(37,99,235,.25)) brightness(0.95);
}

body[data-visual-theme="cielo"] .login-logo-marca img{
    filter:drop-shadow(0 0 28px rgba(47,111,136,.35));
}

body[data-visual-theme="arena"] .login-logo-marca img{
    filter:drop-shadow(0 0 28px rgba(138,106,63,.35));
}

body[data-visual-theme="salvia"] .login-logo-marca img{
    filter:drop-shadow(0 0 28px rgba(63,111,88,.35));
}

.login-card h2{
    margin-top:0;
    margin-bottom:26px;
    color:#3b82f6;
    font-size:17px;
    letter-spacing:1.6px;
    line-height:1.45;
}

.login-marquee{
    position:fixed;
    top:35px;
    left:0;
    width:100%;
    overflow:hidden;
    z-index:0;
    pointer-events:none;
    opacity:.18;
}

.login-marquee-line{
    width:100%;
    white-space:nowrap;
}

.login-marquee-line span{
    display:inline-block;
    padding-left:100%;
    font-size:54px;
    font-weight:900;
    letter-spacing:6px;
    color:rgba(255,255,255,.22);
    text-transform:uppercase;
    animation:blacknieb-marquee 22s linear infinite;
}

@keyframes blacknieb-marquee{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-100%);
    }
}

.login-card{
    position:relative;
    z-index:2;
    width:430px;
    max-width:94%;
    padding:42px 38px;
    border-radius:24px;
    background:linear-gradient(145deg,rgba(15,35,60,.78),rgba(22,38,61,.82));
    border:1px solid rgba(148,163,184,.18);
    box-shadow:
        0 30px 80px rgba(0,0,0,.38),
        0 0 70px rgba(37,99,235,.10);
}

.login-card::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:24px;
    background:linear-gradient(135deg,rgba(59,130,246,.35),transparent 35%,rgba(14,165,233,.18));
    z-index:-1;
    opacity:.45;
}

.login-card h2{
    margin-top:0;
    margin-bottom:26px;
    color:#3b82f6;
    font-size:17px;
    letter-spacing:2px;
    line-height:1.45;
    text-align:center;
}

.login-card input{
    height:50px;
    border-radius:12px;
    background:rgba(15,23,42,.68);
}

.login-card button[type="submit"]{
    min-width:150px;
    height:48px;
    border-radius:13px;
    margin-top:6px;
}

.login-card .footer{
    margin-top:24px;
    color:#94a3b8;
}

body.login-protector-activo{
    padding-top:0;
    overflow:hidden;
    background:#07111d;
}

body.login-protector-activo .login-card{
    pointer-events:none;
    user-select:none;
}

body.login-protector-activo .login-marquee{
    opacity:0;
}

.login-protector{
    position:fixed;
    inset:0;
    z-index:30;
    padding:clamp(16px,2vw,28px);
    color:#f8fafc;
    background:
        linear-gradient(135deg,#06111d 0%,#102532 48%,#1c2f2c 100%),
        repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 64px);
    overflow:hidden;
    opacity:1;
    visibility:visible;
    transform:scale(1);
    transition:opacity .28s ease,visibility .28s ease,transform .28s ease;
}

.login-protector::before{
    content:"";
    position:absolute;
    inset:0;
    background:url("../imagenes/blacknieb-logo-completo.png?v=4") center 44% / min(58vw,720px) auto no-repeat;
    opacity:.035;
    pointer-events:none;
}

.login-protector::after{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
    background-size:52px 52px;
    opacity:.08;
    pointer-events:none;
}

body.login-protector-visible-login .login-protector{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:scale(1.01);
}

.protector-shell{
    position:relative;
    z-index:1;
    width:min(100%,1480px);
    height:100%;
    margin:0 auto;
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr);
    gap:16px;
}

.protector-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 18px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:8px;
    background:rgba(6,17,29,.64);
    box-shadow:0 18px 50px rgba(0,0,0,.26);
    backdrop-filter:blur(14px);
}

.protector-brand{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
}

.protector-brand img{
    width:74px;
    height:74px;
    min-width:74px;
    object-fit:contain;
    border-radius:8px;
    background:#020617;
    border:1px solid rgba(45,212,191,.22);
    padding:7px;
    box-shadow:0 0 28px rgba(45,212,191,.14);
}

.protector-brand span,
.protector-panel-heading span,
.protector-fecha span,
.protector-metricas span{
    display:block;
    margin-bottom:4px;
    color:#a7f3d0;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0;
}

.protector-brand h1{
    margin:0;
    color:#fff;
    font-size:clamp(30px,3.4vw,48px);
    line-height:1;
    letter-spacing:0;
}

.protector-fecha{
    min-width:220px;
    padding:12px 14px;
    border-radius:8px;
    background:rgba(15,23,42,.62);
    border:1px solid rgba(245,158,11,.25);
    text-align:right;
}

.protector-fecha strong{
    display:block;
    color:#fde68a;
    font-size:22px;
    line-height:1.15;
}

.protector-cerrar{
    align-self:flex-start;
    padding:9px 16px;
    border-radius:8px;
    border:1px solid rgba(148,163,184,.28);
    background:rgba(15,23,42,.62);
    color:#e2e8f0;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
    transition:border-color .2s ease,background .2s ease;
}

.protector-cerrar:hover{
    border-color:rgba(248,113,113,.5);
    background:rgba(127,29,29,.32);
    color:#fecaca;
}

.protector-metricas{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.protector-metricas div{
    min-height:82px;
    padding:14px 16px;
    border-radius:8px;
    background:rgba(8,24,35,.72);
    border:1px solid rgba(148,163,184,.16);
    box-shadow:0 14px 34px rgba(0,0,0,.18);
}

.protector-metricas strong{
    display:block;
    color:#fff;
    font-size:34px;
    line-height:1;
}

.protector-grid{
    display:grid;
    grid-template-columns:minmax(320px,.78fr) minmax(620px,1.42fr);
    gap:18px;
    min-height:0;
}

.protector-panel{
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:16px;
    border-radius:8px;
    background:rgba(6,17,29,.76);
    border:1px solid rgba(148,163,184,.18);
    box-shadow:0 22px 60px rgba(0,0,0,.3);
    backdrop-filter:blur(15px);
}

.protector-panel-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

.protector-panel-heading h2{
    margin:0;
    color:#fff;
    font-size:22px;
    line-height:1.1;
    letter-spacing:0;
}

.protector-panel-heading strong{
    padding:8px 10px;
    border-radius:8px;
    color:#bae6fd;
    background:rgba(14,165,233,.12);
    border:1px solid rgba(125,211,252,.2);
    white-space:nowrap;
}

.protector-asistencia-alerta{
    margin:-2px 0 12px;
    padding:10px 12px;
    border-radius:8px;
    font-size:13px;
    font-weight:800;
    line-height:1.35;
}

.protector-asistencia-exito{
    color:#bbf7d0;
    background:rgba(22,163,74,.14);
    border:1px solid rgba(74,222,128,.28);
}

.protector-asistencia-error{
    color:#fecdd3;
    background:rgba(225,29,72,.14);
    border:1px solid rgba(251,113,133,.28);
}

.protector-asistencia-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    align-items:end;
    gap:8px;
    margin-bottom:14px;
    padding:12px;
    border-radius:8px;
    background:rgba(15,23,42,.56);
    border:1px solid rgba(125,211,252,.16);
}

.protector-asistencia-form label{
    min-width:0;
    display:grid;
    gap:6px;
}

.protector-asistencia-form label span{
    color:#a7f3d0;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:0;
}

.protector-asistencia-form input{
    width:100%;
    height:40px;
    min-width:0;
    padding:0 11px;
    border-radius:8px;
    color:#f8fafc;
    background:rgba(2,6,23,.72);
    border:1px solid rgba(148,163,184,.22);
    outline:none;
}

.protector-asistencia-form input::placeholder{
    color:#64748b;
}

.protector-asistencia-form input:focus{
    border-color:rgba(56,189,248,.78);
    box-shadow:0 0 0 3px rgba(56,189,248,.14);
}

.protector-asistencia-form button{
    height:40px;
    padding:0 14px;
    border:0;
    border-radius:8px;
    color:#00111d;
    background:linear-gradient(135deg,#67e8f9,#38bdf8);
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}

.protector-asistencia-form button:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(56,189,248,.18);
}

.protector-empleados-lista{
    display:grid;
    gap:10px;
    min-height:0;
    overflow:auto;
    padding-right:4px;
    -webkit-overflow-scrolling:touch;
}

.protector-empleados-lista::-webkit-scrollbar,
.protector-roles-scroll::-webkit-scrollbar{
    width:8px;
    height:8px;
}

.protector-empleados-lista::-webkit-scrollbar-thumb,
.protector-roles-scroll::-webkit-scrollbar-thumb{
    background:rgba(148,163,184,.28);
    border-radius:999px;
}

.protector-empleado{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-height:72px;
    padding:12px;
    border-radius:8px;
    background:rgba(15,23,42,.66);
    border:1px solid rgba(148,163,184,.12);
}

.protector-avatar{
    width:44px;
    height:44px;
    min-width:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    color:#ecfeff;
    font-size:18px;
    font-weight:900;
    background:linear-gradient(135deg,#0f766e,#2563eb);
    box-shadow:0 10px 22px rgba(15,118,110,.24);
}

.protector-empleado-info{
    min-width:0;
}

.protector-empleado-info strong,
.protector-roles-tabla td:first-child strong{
    display:block;
    color:#fff;
    font-size:15px;
    line-height:1.2;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.protector-empleado-info span,
.protector-roles-tabla td:first-child span{
    display:block;
    margin-top:3px;
    color:#94a3b8;
    font-size:12px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.protector-estado{
    justify-self:end;
    padding:7px 9px;
    border-radius:999px;
    color:#e2e8f0;
    background:rgba(148,163,184,.12);
    border:1px solid rgba(148,163,184,.2);
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

.protector-estado-activo,
.protector-estado-ok{
    color:#bbf7d0;
    background:rgba(34,197,94,.12);
    border-color:rgba(74,222,128,.28);
}

.protector-estado-pendiente{
    color:#fde68a;
    background:rgba(245,158,11,.12);
    border-color:rgba(251,191,36,.28);
}

.protector-estado-alerta{
    color:#fed7aa;
    background:rgba(249,115,22,.12);
    border-color:rgba(251,146,60,.28);
}

.protector-estado-ausente{
    color:#fecdd3;
    background:rgba(225,29,72,.12);
    border-color:rgba(251,113,133,.28);
}

.protector-roles-scroll{
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}

.protector-roles-tabla{
    width:100%;
    min-width:840px;
    table-layout:fixed;
    border-collapse:separate;
    border-spacing:0 8px;
}

.protector-roles-tabla th{
    position:sticky;
    top:0;
    z-index:2;
    padding:10px 8px;
    color:#a7f3d0;
    background:#081824;
    border-bottom:1px solid rgba(148,163,184,.14);
    font-size:11px;
    line-height:1;
    text-align:center;
    text-transform:uppercase;
    letter-spacing:0;
}

.protector-roles-tabla th:first-child{
    width:180px;
    text-align:left;
}

.protector-roles-tabla td{
    padding:8px;
    vertical-align:middle;
    background:rgba(15,23,42,.56);
    border-top:1px solid rgba(148,163,184,.1);
    border-bottom:1px solid rgba(148,163,184,.1);
}

.protector-roles-tabla td:first-child{
    border-left:1px solid rgba(148,163,184,.1);
    border-radius:8px 0 0 8px;
}

.protector-roles-tabla td:last-child{
    border-right:1px solid rgba(148,163,184,.1);
    border-radius:0 8px 8px 0;
}

.protector-turno{
    min-height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:7px 6px;
    border-radius:8px;
    color:#f8fafc;
    background:rgba(148,163,184,.1);
    border:1px solid rgba(148,163,184,.16);
    font-size:12px;
    font-weight:900;
    line-height:1.1;
    text-align:center;
    white-space:normal;
}

.protector-turno small{
    display:block;
    color:rgba(255,255,255,.78);
    font-size:10px;
    font-weight:800;
    line-height:1.1;
}

.protector-turno-manana{
    background:linear-gradient(135deg,rgba(13,148,136,.82),rgba(6,95,70,.76));
    border-color:rgba(45,212,191,.36);
}

.protector-turno-tarde{
    background:linear-gradient(135deg,rgba(217,119,6,.82),rgba(146,64,14,.76));
    border-color:rgba(251,191,36,.36);
}

.protector-turno-noche{
    background:linear-gradient(135deg,rgba(37,99,235,.78),rgba(15,23,42,.84));
    border-color:rgba(96,165,250,.34);
}

.protector-turno-descanso{
    color:#d1fae5;
    background:rgba(15,118,110,.18);
    border-color:rgba(52,211,153,.28);
}

.protector-turno-sin-asignar{
    color:#94a3b8;
    background:rgba(148,163,184,.08);
    border-style:dashed;
}

.protector-vacio{
    min-height:140px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:22px;
    border-radius:8px;
    color:#94a3b8;
    background:rgba(15,23,42,.52);
    border:1px dashed rgba(148,163,184,.24);
    text-align:center;
}

.protector-vacio strong{
    color:#e2e8f0;
    font-size:16px;
}

.protector-vacio-tabla{
    min-height:120px;
}

@media (max-width:1180px){
    body.login-protector-activo{
        overflow:auto;
    }

    .login-protector{
        overflow:auto;
    }

    .protector-shell{
        height:auto;
        min-height:100%;
    }

    .protector-grid{
        grid-template-columns:1fr;
    }

    .protector-empleados-lista{
        max-height:310px;
    }
}

@media (max-width:760px){
    .login-protector{
        padding:12px;
    }

    .protector-shell{
        gap:12px;
    }

    .protector-header{
        align-items:stretch;
        flex-direction:column;
        padding:14px;
    }

    .protector-brand{
        gap:12px;
    }

    .protector-brand img{
        width:58px;
        height:58px;
        min-width:58px;
    }

    .protector-brand h1{
        font-size:28px;
        line-height:1.05;
    }

    .protector-fecha{
        min-width:0;
        text-align:left;
    }

    .protector-fecha strong{
        font-size:18px;
    }

    .protector-metricas{
        gap:8px;
    }

    .protector-metricas div{
        min-height:72px;
        padding:12px;
    }

    .protector-metricas strong{
        font-size:28px;
    }

    .protector-panel{
        padding:12px;
    }

    .protector-panel-heading{
        align-items:flex-start;
    }

    .protector-panel-heading h2{
        font-size:19px;
    }

    .protector-asistencia-form{
        grid-template-columns:1fr;
    }

    .protector-asistencia-form button{
        width:100%;
    }

    .protector-empleado{
        grid-template-columns:40px minmax(0,1fr);
        min-height:82px;
    }

    .protector-avatar{
        width:40px;
        height:40px;
        min-width:40px;
    }

    .protector-estado{
        grid-column:2;
        justify-self:start;
    }
}

@media (max-width:520px){
    .protector-metricas{
        grid-template-columns:1fr;
    }

    .protector-roles-tabla{
        min-width:780px;
    }
}

@media (min-width:1021px){
    .menu{
        width:250px !important;
        padding:16px 12px !important;
        gap:12px !important;
        overflow:hidden !important;
    }

    body:has(.menu){
        padding-left:260px !important;
    }

    .menu-enlaces{
        gap:7px !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        padding-right:2px !important;
        scrollbar-width:thin;
        scrollbar-color:rgba(148,163,184,.38) transparent;
    }

    .menu-enlaces::-webkit-scrollbar{
        width:7px;
        height:0;
    }

    .menu-enlaces::-webkit-scrollbar-track{
        background:transparent;
    }

    .menu-enlaces::-webkit-scrollbar-thumb{
        background:rgba(148,163,184,.32);
        border-radius:999px;
    }

    .menu-marca{
        min-height:66px !important;
        padding:4px 5px 10px !important;
        gap:10px !important;
    }

    .menu-marca img{
        width:58px !important;
        height:58px !important;
        min-width:58px !important;
        border-radius:14px !important;
    }

    .menu-enlaces a{
        min-height:40px !important;
        padding:10px 12px !important;
        border-radius:11px !important;
        transform:none !important;
    }

    .menu-temas{
        margin-top:5px !important;
        padding:10px !important;
        border-radius:12px !important;
    }

    .menu-temas div{
        gap:6px !important;
    }

    .menu-temas button{
        min-height:31px !important;
        border-radius:9px !important;
    }

    .logout-form{
        padding-top:8px !important;
    }

    .btn-logout{
        min-height:42px !important;
        border-radius:11px !important;
    }
}

.dashboard-pro-body .dashboard-ejecutivo{
    max-width:1440px !important;
    padding:22px 22px 28px !important;
}

.dashboard-pro-body .dashboard-layout-principal{
    grid-template-columns:minmax(0,1fr) 405px !important;
}

.dashboard-pro-body .dashboard-pro-kpis{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
}

.dashboard-pro-body .dashboard-pro-kpi{
    min-height:86px !important;
    padding:12px !important;
}

.dashboard-pro-body .dashboard-pro-kpi-icon{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:11px !important;
}

.dashboard-tabla-compacta{
    width:100%;
    min-width:0 !important;
    border-collapse:separate;
    border-spacing:0 8px;
}

.dashboard-tabla-compacta tr{
    background:rgba(15,35,60,.5);
}

body[data-visual-theme="claro"] .dashboard-tabla-compacta tr,
body[data-visual-theme="menta"] .dashboard-tabla-compacta tr,
body[data-visual-theme="lavanda"] .dashboard-tabla-compacta tr{
    background:rgba(255,255,255,.62);
}

.dashboard-tabla-compacta td{
    padding:10px 9px;
    border-top:1px solid rgba(148,163,184,.13);
    border-bottom:1px solid rgba(148,163,184,.13);
    color:var(--theme-text,#f8fafc);
    vertical-align:middle;
    white-space:normal !important;
}

.dashboard-tabla-compacta td:first-child{
    border-left:1px solid rgba(148,163,184,.13);
    border-radius:12px 0 0 12px;
    width:42%;
}

.dashboard-tabla-compacta td:last-child{
    border-right:1px solid rgba(148,163,184,.13);
    border-radius:0 12px 12px 0;
}

.dashboard-tabla-dato{
    text-align:right;
    white-space:nowrap;
}

.dashboard-pro-body .menu-overlay{
    display:block !important;
}

@media (min-width:1021px){
    .dashboard-pro-body .menu-overlay{
        display:none !important;
    }
}

.dashboard-tabla-dato span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:150px;
    min-height:28px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(15,23,42,.54);
    color:var(--theme-text,#f8fafc) !important;
    font-size:11.5px;
    overflow:hidden;
    text-overflow:ellipsis;
}

body[data-visual-theme="claro"] .dashboard-tabla-dato span,
body[data-visual-theme="menta"] .dashboard-tabla-dato span,
body[data-visual-theme="lavanda"] .dashboard-tabla-dato span{
    background:var(--theme-bg-soft);
    border:1px solid var(--theme-border);
}

.dashboard-pro-body .dashboard-inteligente-fila-principal strong{
    white-space:normal !important;
}

.dashboard-pro-body .dashboard-inteligente-fila-principal small{
    display:block;
    margin-top:4px;
    line-height:1.25;
}

.dashboard-pro-body .dashboard-inteligente-card{
    overflow:hidden;
}

.dashboard-pro-body .dashboard-asistente-panel{
    top:14px !important;
}

.dashboard-pro-body .dashboard-asistente-botones{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.dashboard-pro-body .dashboard-asistente-botones button{
    white-space:normal !important;
    line-height:1.15 !important;
}

.dashboard-pro-body .dashboard-respuesta-metricas{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.dashboard-pro-body .dashboard-respuesta-metricas div{
    min-height:66px !important;
}

@media (max-width:1280px){
    .dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    .dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }
}

@media (max-width:760px){
    .dashboard-tabla-compacta,
    .dashboard-tabla-compacta tbody,
    .dashboard-tabla-compacta tr,
    .dashboard-tabla-compacta td{
        display:block;
        width:100%;
    }

    .dashboard-tabla-compacta tr{
        border-radius:12px;
        overflow:hidden;
    }

    .dashboard-tabla-compacta td{
        border-left:1px solid rgba(148,163,184,.13);
        border-right:1px solid rgba(148,163,184,.13);
        border-radius:0 !important;
        text-align:left;
    }

    .dashboard-tabla-dato{
        text-align:left;
    }

    .dashboard-tabla-dato span{
        max-width:100%;
    }
}

.dashboard-asistente-input input{
    width:100% !important;
    min-width:0 !important;
    height:38px !important;
    margin:0 !important;
    padding:8px 4px !important;
    border:0 !important;
    background:transparent !important;
    color:var(--theme-text,#f8fafc) !important;
    box-shadow:none !important;
    font-size:13px !important;
}

.dashboard-asistente-input input::placeholder{
    color:var(--theme-muted,#94a3b8) !important;
}

.dashboard-respuesta-items{
    grid-column:1 / -1;
    display:grid;
    gap:8px;
    margin-top:12px;
}

.dashboard-respuesta-item{
    min-width:0;
    padding:10px 11px;
    border-radius:10px;
    background:rgba(15,23,42,.42);
    border:1px solid rgba(148,163,184,.15);
}

.dashboard-respuesta-item-accion{
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, transform .15s ease;
}

.dashboard-respuesta-item-accion:hover,
.dashboard-respuesta-item-accion:focus-visible{
    background:rgba(59,130,246,.16);
    border-color:var(--theme-primary,#3b82f6);
    outline:none;
    transform:translateY(-1px);
}

.dashboard-respuesta-item-accion:active{
    transform:translateY(0);
}

.dashboard-respuesta-item-accion small{
    color:var(--theme-primary,#60a5fa);
    font-weight:700;
}

.dashboard-respuesta-item strong,
.dashboard-respuesta-item span,
.dashboard-respuesta-item p,
.dashboard-respuesta-item small{
    display:block;
    max-width:100%;
    margin:0;
    overflow-wrap:anywhere;
}

.dashboard-respuesta-item strong{
    color:var(--theme-text,#f8fafc);
    font-size:13px;
    line-height:1.25;
}

.dashboard-respuesta-item span{
    margin-top:3px;
    color:#93c5fd;
    font-size:12px;
    font-weight:800;
}

.dashboard-respuesta-item p{
    margin-top:5px;
    color:var(--theme-text,#f8fafc);
    font-size:12.5px;
    line-height:1.35;
}

.dashboard-respuesta-item small{
    margin-top:5px;
    color:var(--theme-muted,#94a3b8);
    font-size:11.5px;
    line-height:1.3;
}

.dashboard-respuesta-grafica{
    margin:8px 0 6px;
    width:100%;
}

.dashboard-respuesta-grafica .grafica-svg{
    width:100%;
    height:62px;
    display:block;
    overflow:visible;
}

.dashboard-respuesta-grafica .g-bar{
    fill:rgba(96,165,250,.32);
    transition:fill .2s;
}

.dashboard-respuesta-grafica .g-bar-hoy{
    fill:rgba(96,165,250,.78);
}

.dashboard-respuesta-grafica .g-label{
    font-size:8px;
    fill:#94a3b8;
    font-family:inherit;
}

.dashboard-respuesta-grafica .g-label-hoy{
    fill:#e2e8f0;
    font-weight:700;
}

.dashboard-respuesta-footer{
    margin-top:10px;
    display:flex;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:wrap;
}

.dashboard-btn-copiar-wa{
    font-size:11px;
    font-weight:700;
    padding:5px 11px;
    border-radius:8px;
    background:rgba(37,211,102,.22);
    border:1px solid rgba(37,211,102,.48);
    color:#25d366;
    cursor:pointer;
    transition:background .18s,opacity .15s;
    white-space:nowrap;
}

.dashboard-btn-copiar-wa:hover{
    background:rgba(37,211,102,.32);
}

.dashboard-btn-copiar-wa.copiado{
    background:rgba(37,211,102,.38);
    color:#fff;
}

.dashboard-btn-correo{
    font-size:11px;
    font-weight:700;
    padding:5px 11px;
    border-radius:8px;
    background:rgba(96,165,250,.22);
    border:1px solid rgba(96,165,250,.48);
    color:#60a5fa;
    cursor:pointer;
    transition:background .18s,opacity .15s;
    white-space:nowrap;
}

.dashboard-btn-correo:hover{
    background:rgba(96,165,250,.32);
}

.dashboard-correo-panel{
    margin-top:8px;
    padding:10px 12px;
    border-radius:10px;
    background:rgba(15,30,50,.55);
    border:1px solid rgba(96,165,250,.18);
}

.dashboard-correo-label{
    display:block;
    font-size:11px;
    color:#94a3b8;
    margin-bottom:6px;
}

.dashboard-correo-row{
    display:flex;
    gap:6px;
    align-items:center;
}

.dashboard-correo-input{
    flex:1;
    min-width:0;
    height:32px;
    padding:0 10px;
    border-radius:8px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(96,165,250,.25);
    color:#e2e8f0;
    font-size:12px;
    outline:none;
}

.dashboard-correo-input:focus{
    border-color:rgba(96,165,250,.55);
    background:rgba(255,255,255,.10);
}

.dashboard-btn-enviar-correo{
    height:32px;
    padding:0 14px;
    border-radius:8px;
    background:rgba(96,165,250,.22);
    border:1px solid rgba(96,165,250,.35);
    color:#e2e8f0;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
    transition:background .18s;
}

.dashboard-btn-enviar-correo:hover{
    background:rgba(96,165,250,.35);
}

.dashboard-respuesta-acciones-extra{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:10px;
}

.dashboard-respuesta-acciones-extra button{
    min-height:38px;
    padding:8px 9px;
    border-radius:10px;
    background:rgba(37,99,235,.18);
    border:1px solid rgba(96,165,250,.25);
    color:var(--theme-text,#f8fafc);
    font-size:12px;
    font-weight:850;
    line-height:1.15;
    white-space:normal;
    transition:background .18s,border-color .18s,opacity .15s;
}

.dashboard-respuesta-acciones-extra button:hover{
    opacity:.82;
}

.dashboard-respuesta-acciones-extra button.btn-peligro{
    background:rgba(239,68,68,.18);
    border-color:rgba(248,113,113,.28);
    color:#fca5a5;
}

.dashboard-respuesta-acciones-extra button.btn-secundario{
    background:rgba(148,163,184,.12);
    border-color:rgba(148,163,184,.22);
    color:var(--theme-muted,#94a3b8);
}

.dashboard-respuesta-acciones-extra button.btn-exitoso{
    background:rgba(34,197,94,.16);
    border-color:rgba(34,197,94,.28);
    color:#86efac;
}

body[data-visual-theme="claro"] .dashboard-respuesta-item,
body[data-visual-theme="menta"] .dashboard-respuesta-item,
body[data-visual-theme="lavanda"] .dashboard-respuesta-item,
body[data-visual-theme="cielo"] .dashboard-respuesta-item,
body[data-visual-theme="arena"] .dashboard-respuesta-item,
body[data-visual-theme="salvia"] .dashboard-respuesta-item {
    background: var(--theme-panel, #ffffff) !important;
    border-color: var(--theme-border) !important;
}
body[data-visual-theme="claro"] .dashboard-respuesta-item strong,
body[data-visual-theme="menta"] .dashboard-respuesta-item strong,
body[data-visual-theme="lavanda"] .dashboard-respuesta-item strong,
body[data-visual-theme="cielo"] .dashboard-respuesta-item strong,
body[data-visual-theme="arena"] .dashboard-respuesta-item strong,
body[data-visual-theme="salvia"] .dashboard-respuesta-item strong {
    color: var(--theme-text) !important;
}
body[data-visual-theme="claro"] .dashboard-respuesta-item span,
body[data-visual-theme="menta"] .dashboard-respuesta-item span,
body[data-visual-theme="lavanda"] .dashboard-respuesta-item span,
body[data-visual-theme="cielo"] .dashboard-respuesta-item span,
body[data-visual-theme="arena"] .dashboard-respuesta-item span,
body[data-visual-theme="salvia"] .dashboard-respuesta-item span {
    color: var(--theme-primary) !important;
}
body[data-visual-theme="claro"] .dashboard-respuesta-item small,
body[data-visual-theme="menta"] .dashboard-respuesta-item small,
body[data-visual-theme="lavanda"] .dashboard-respuesta-item small,
body[data-visual-theme="cielo"] .dashboard-respuesta-item small,
body[data-visual-theme="arena"] .dashboard-respuesta-item small,
body[data-visual-theme="salvia"] .dashboard-respuesta-item small {
    color: var(--theme-muted) !important;
}

@media (max-width:760px){
    .dashboard-respuesta-acciones-extra{
        grid-template-columns:1fr;
    }
}

.dashboard-pro-body{
    min-height:100vh;
    padding-top:0 !important;
    padding-left:0 !important;
    background:
        radial-gradient(circle at 76% 12%, rgba(37,99,235,.22), transparent 28%),
        radial-gradient(circle at 18% 4%, rgba(20,184,166,.14), transparent 22%),
        linear-gradient(135deg,#020817 0%,#06172b 45%,#071426 100%) !important;
    color:#e5edf8;
}

.dashboard-pro-body .menu,
.dashboard-pro-body .menu-overlay{
    display:none !important;
}

.dashboard-pro-body .dashboard-ejecutivo{
    width:100% !important;
    max-width:none !important;
    min-height:100vh;
    margin:0 !important;
    padding:20px 24px 24px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:block !important;
}

.dashboard-pro-body .dashboard-ejecutivo-header{
    margin:0 0 16px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:18px !important;
    padding:0 !important;
}

.dashboard-pro-body .dashboard-ejecutivo-header h1{
    margin:0 !important;
    color:#fff !important;
    font-size:34px !important;
    line-height:1.05 !important;
    letter-spacing:0 !important;
}

.dashboard-pro-body .dashboard-ejecutivo-header p{
    margin:6px 0 0 !important;
    color:#94a3b8 !important;
    font-size:14px !important;
}

.dashboard-pro-body .dashboard-ejecutivo-acciones{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:12px !important;
}

.dashboard-pro-body .dashboard-actualizado{
    color:#cbd5e1 !important;
    font-size:13px !important;
}

.dashboard-pro-body .dashboard-btn-mini,
.dashboard-pro-body .dashboard-fecha{
    min-height:40px !important;
    width:auto !important;
    padding:0 14px !important;
    border-radius:11px !important;
    color:#e2e8f0 !important;
    background:rgba(15,35,60,.72) !important;
    border:1px solid rgba(148,163,184,.2) !important;
    font-size:12px !important;
    font-weight:900 !important;
}

.dashboard-pro-body .ayuda-boton{
    min-height:40px !important;
    height:40px !important;
    align-self:center !important;
    padding:0 14px 0 8px !important;
    border-radius:11px !important;
    background:rgba(15,35,60,.72) !important;
    border:1px solid rgba(148,163,184,.2) !important;
    color:#e2e8f0 !important;
    font-size:12px !important;
    font-weight:900 !important;
}

.dashboard-pro-body .ayuda-boton:hover{
    background:rgba(37,99,235,.45) !important;
    border-color:rgba(96,165,250,.6) !important;
    color:#fff !important;
    transform:translateY(-1px);
}

.dashboard-pro-body .ayuda-boton .ayuda-boton-icono{
    width:auto !important;
    height:auto !important;
    background:transparent !important;
    color:inherit !important;
    border:none !important;
    border-radius:0 !important;
    font-weight:900 !important;
}

.dashboard-pro-body .ayuda-boton:hover .ayuda-boton-icono{
    background:transparent !important;
    color:#fff !important;
    border-color:transparent !important;
}

.dashboard-pro-body .ayuda-boton:hover .ayuda-boton-icono{
    background:#fff !important;
    color:#2563eb !important;
    border-color:transparent !important;
}

.dashboard-pro-body #dashboardActualizarBtn{
    font-size:0 !important;
}

.dashboard-pro-body #dashboardActualizarBtn::before{
    content:"Actualizar";
    font-size:12px;
}

.dashboard-pro-body .dashboard-alerta-stock{
    display:none !important;
}

.dashboard-pro-body .dashboard-chart-header span{
    font-size:0 !important;
}

.dashboard-pro-body .dashboard-chart-header span::before{
    content:"Esta semana";
    font-size:12px;
}

.dashboard-pro-kpis{
    display:grid;
    grid-template-columns:repeat(8, minmax(0, 1fr));
    gap:11px;
    margin-bottom:14px;
}

.dashboard-pro-kpi{
    min-width:0;
    min-height:96px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px;
    border-radius:13px;
    background:linear-gradient(145deg,rgba(11,35,65,.88),rgba(8,25,48,.92));
    border:1px solid rgba(96,165,250,.22);
    box-shadow:0 16px 34px rgba(0,0,0,.22);
}

.dashboard-pro-kpi-link{
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.dashboard-pro-kpi-link:hover,
.dashboard-pro-kpi-link:focus-visible{
    transform:translateY(-3px);
    border-color:rgba(96,165,250,.6);
    box-shadow:0 20px 40px rgba(0,0,0,.32);
    outline:none;
}

.dashboard-pro-kpi-salud{
    border-color:rgba(59,130,246,.72);
    background:linear-gradient(145deg,rgba(15,45,77,.95),rgba(11,33,61,.92));
}

.dashboard-pro-kpi.salud-atencion{
    border-color:rgba(245,158,11,.55);
}

.dashboard-pro-kpi.salud-riesgo{
    border-color:rgba(239,68,68,.6);
}

.dashboard-pro-kpi-icon{
    width:42px;
    height:42px;
    min-width:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    color:#fff;
    font-size:12px;
    font-weight:950;
    border:1px solid rgba(255,255,255,.08);
}

.dashboard-pro-kpi-icon.azul{background:linear-gradient(135deg,#1d4ed8,#0f3c87);}
.dashboard-pro-kpi-icon.verde{background:linear-gradient(135deg,#16a34a,#14532d);}
.dashboard-pro-kpi-icon.naranja{background:linear-gradient(135deg,#d97706,#78350f);}
.dashboard-pro-kpi-icon.rojo{background:linear-gradient(135deg,#dc2626,#7f1d1d);}
.dashboard-pro-kpi-icon.morado{background:linear-gradient(135deg,#7c3aed,#4c1d95);}
.dashboard-pro-kpi-icon.cyan{background:linear-gradient(135deg,#0891b2,#155e75);}

.dashboard-pro-kpi span{
    display:block;
    margin-bottom:5px;
    color:#cbd5e1;
    font-size:11.5px;
    font-weight:850;
}

.dashboard-pro-kpi strong{
    display:block;
    max-width:100%;
    color:#fff;
    font-size:20px;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.dashboard-pro-kpi small{
    display:block;
    margin-top:5px;
    color:#94a3b8;
    font-size:11px;
    line-height:1.25;
}

.dashboard-pro-kpi-dinero{
    grid-column:1 / -1;
}

.dashboard-pro-kpi-dinero > div:not(.dashboard-pro-kpi-icon){
    flex:1;
    min-width:0;
    text-align:center;
}

.dashboard-dinero-toggle{
    cursor:pointer;
    font-family:inherit;
    padding:0;
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.dashboard-dinero-toggle:hover{
    transform:scale(1.06);
    filter:brightness(1.08);
}

.dashboard-dinero-toggle:active{
    transform:scale(.96);
}

.dashboard-dinero-toggle:focus-visible{
    outline:2px solid color-mix(in srgb, currentColor 60%, transparent);
    outline-offset:2px;
}

.dashboard-pro-kpi-dinero strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    max-width:100%;
    margin-top:2px;
    padding:7px 26px;
    border-radius:999px;
    letter-spacing:.5px;
    white-space:nowrap;
    overflow:visible;
    text-overflow:clip;
    background:color-mix(in srgb, currentColor 9%, transparent);
    border:1px solid color-mix(in srgb, currentColor 32%, transparent);
    box-shadow:inset 0 1px 0 color-mix(in srgb, currentColor 14%, transparent), 0 8px 18px rgba(0,0,0,.16);
}

.dashboard-pro-kpi-dinero strong.dinero-oculto{
    letter-spacing:3px;
    color:color-mix(in srgb, currentColor 55%, transparent);
}

.dashboard-pro-body .dashboard-layout-principal{
    display:block !important;
    margin-bottom:14px !important;
}

.dashboard-pro-body .dashboard-columna-principal{
    display:block !important;
}

.dashboard-pro-body .dashboard-columna-principal > .dashboard-kpis,
.dashboard-pro-body .dashboard-asistente-panel,
.dashboard-pro-body .dashboard-inteligente-header,
.dashboard-pro-body .dashboard-inteligente-kpis{
    display:none !important;
}

.dashboard-pro-body .dashboard-chart-card,
.dashboard-pro-body .dashboard-inteligente-card{
    border-radius:14px !important;
    background:linear-gradient(145deg,rgba(9,33,61,.9),rgba(7,25,48,.94)) !important;
    border:1px solid rgba(96,165,250,.2) !important;
    box-shadow:0 18px 38px rgba(0,0,0,.22) !important;
}

.dashboard-pro-body .dashboard-chart-card{
    min-height:480px !important;
    margin:0 !important;
    padding:20px !important;
}

.dashboard-pro-body .dashboard-chart-header{
    margin-bottom:12px !important;
}

.dashboard-pro-body .dashboard-chart-header h2,
.dashboard-pro-body .dashboard-inteligente-card h3{
    color:#f8fafc !important;
    font-size:16px !important;
    line-height:1.25 !important;
}

.dashboard-pro-body .dashboard-chart-header p,
.dashboard-pro-body .dashboard-chart-header span{
    color:#94a3b8 !important;
    font-size:12px !important;
}

.dashboard-pro-body #graficaVentas{
    height:380px !important;
}

.dashboard-pro-body .dashboard-inteligente{
    margin-top:0 !important;
}

.dashboard-pro-body .dashboard-inteligente-card{
    padding:16px !important;
}

.dashboard-pro-body .dashboard-inteligente-lista li,
.dashboard-pro-body .dashboard-inteligente-fila,
.dashboard-pro-body .dashboard-inteligente-semaforo-item{
    border-radius:11px !important;
    background:rgba(10,30,58,.8) !important;
    border:1px solid rgba(148,163,184,.14) !important;
}

.dashboard-pro-body .dashboard-inteligente-fila{
    grid-template-columns:1fr !important;
    gap:9px !important;
}

@media (max-width:1500px){
    .dashboard-pro-kpis{
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }
}

@media (max-width:1180px){
    .dashboard-pro-body .dashboard-ejecutivo{
        padding:18px !important;
    }

    .dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

}

@media (max-width:760px){
    .dashboard-pro-body .dashboard-ejecutivo-header{
        flex-direction:column;
    }

    .dashboard-pro-kpis,
    .dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }

    .dashboard-pro-kpi-dinero{
        grid-column:auto;
    }

    .dashboard-pro-kpi-dinero > div{
        text-align:left;
    }

    .dashboard-pro-body .dashboard-inteligente-card,
    .dashboard-pro-body .dashboard-inteligente-card:nth-child(1),
    .dashboard-pro-body .dashboard-inteligente-card:nth-child(3),
    .dashboard-pro-body .dashboard-inteligente-card-ancha{
        grid-column:auto !important;
    }

}

.dashboard-inteligente{
    margin-top:26px;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.dashboard-inteligente-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px;
    border-radius:24px;
    background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(30,41,59,.88));
    border:1px solid rgba(148,163,184,.18);
    box-shadow:0 18px 48px rgba(2,6,23,.28);
}

body[data-visual-theme="claro"] .dashboard-inteligente-header,
body[data-visual-theme="menta"] .dashboard-inteligente-header,
body[data-visual-theme="lavanda"] .dashboard-inteligente-header,
body[data-visual-theme="cielo"] .dashboard-inteligente-header,
body[data-visual-theme="arena"] .dashboard-inteligente-header,
body[data-visual-theme="salvia"] .dashboard-inteligente-header{
    background:linear-gradient(135deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    box-shadow:0 12px 24px rgba(15,23,42,.08) !important;
}

.dashboard-inteligente-header h2{
    margin:0 0 6px;
    color:var(--theme-text,#f8fafc);
    font-size:22px;
    line-height:1.18;
}

.dashboard-inteligente-header p{
    margin:0;
    color:var(--theme-muted,#94a3b8);
    font-size:13.5px;
    line-height:1.45;
}

.dashboard-inteligente-header span{
    min-width:max-content;
    padding:9px 12px;
    border-radius:999px;
    color:var(--theme-text,#bfdbfe);
    background:rgba(37,99,235,.14);
    border:1px solid rgba(96,165,250,.25);
    font-size:12.5px;
    font-weight:800;
}

body[data-visual-theme="claro"] .dashboard-inteligente-header span,
body[data-visual-theme="menta"] .dashboard-inteligente-header span,
body[data-visual-theme="lavanda"] .dashboard-inteligente-header span,
body[data-visual-theme="cielo"] .dashboard-inteligente-header span,
body[data-visual-theme="arena"] .dashboard-inteligente-header span,
body[data-visual-theme="salvia"] .dashboard-inteligente-header span{
    background:rgba(255,255,255,.15) !important;
    border-color:var(--theme-primary) !important;
    color:var(--theme-text) !important;
}

.dashboard-inteligente-kpis{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:14px;
}

.dashboard-inteligente-kpi{
    min-width:0;
    min-height:118px;
    padding:18px;
    border-radius:22px;
    background:rgba(15,23,42,.88);
    border:1px solid rgba(148,163,184,.16);
    box-shadow:0 16px 38px rgba(2,6,23,.24);
}

body[data-visual-theme="claro"] .dashboard-inteligente-kpi,
body[data-visual-theme="menta"] .dashboard-inteligente-kpi,
body[data-visual-theme="lavanda"] .dashboard-inteligente-kpi,
body[data-visual-theme="cielo"] .dashboard-inteligente-kpi,
body[data-visual-theme="arena"] .dashboard-inteligente-kpi,
body[data-visual-theme="salvia"] .dashboard-inteligente-kpi{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    box-shadow:0 8px 16px rgba(15,23,42,.08) !important;
}

.dashboard-inteligente-kpi span{
    display:block;
    margin-bottom:10px;
    color:var(--theme-muted,#94a3b8);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.4px;
}

.dashboard-inteligente-kpi strong{
    display:block;
    color:var(--theme-text,#f8fafc);
    font-size:24px;
    line-height:1.12;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.dashboard-inteligente-kpi small{
    display:block;
    margin-top:9px;
    color:var(--theme-muted,#64748b);
    font-size:12px;
    line-height:1.3;
}

.dashboard-inteligente-kpi.destacado{
    border-color:rgba(34,197,94,.32);
    background:linear-gradient(145deg,rgba(20,83,45,.36),rgba(15,23,42,.92));
}

.dashboard-inteligente-kpi.alerta{
    border-color:rgba(245,158,11,.32);
}

.dashboard-inteligente-kpi.riesgo{
    border-color:rgba(239,68,68,.34);
}

.dashboard-inteligente-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}

.dashboard-inteligente-card{
    min-width:0;
    padding:20px;
    border-radius:22px;
    background:rgba(15,23,42,.9);
    border:1px solid rgba(148,163,184,.16);
    box-shadow:0 16px 38px rgba(2,6,23,.24);
}

body[data-visual-theme="claro"] .dashboard-inteligente-card,
body[data-visual-theme="menta"] .dashboard-inteligente-card,
body[data-visual-theme="lavanda"] .dashboard-inteligente-card,
body[data-visual-theme="cielo"] .dashboard-inteligente-card,
body[data-visual-theme="arena"] .dashboard-inteligente-card,
body[data-visual-theme="salvia"] .dashboard-inteligente-card{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
    box-shadow:0 8px 16px rgba(15,23,42,.08) !important;
}

.dashboard-inteligente-card-ancha{
    grid-column:1 / -1;
}

.dashboard-inteligente-card h3{
    margin:0 0 15px;
    color:var(--theme-text,#f8fafc);
    font-size:17px;
    line-height:1.25;
}

.dashboard-inteligente-lista{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}

.dashboard-inteligente-lista li{
    padding:12px 14px;
    border-radius:16px;
    color:var(--theme-text,#dbeafe);
    background:rgba(37,99,235,.11);
    border:1px solid rgba(96,165,250,.18);
    font-size:13px;
    line-height:1.4;
}

body[data-visual-theme="claro"] .dashboard-inteligente-lista li,
body[data-visual-theme="menta"] .dashboard-inteligente-lista li,
body[data-visual-theme="lavanda"] .dashboard-inteligente-lista li,
body[data-visual-theme="cielo"] .dashboard-inteligente-lista li,
body[data-visual-theme="arena"] .dashboard-inteligente-lista li,
body[data-visual-theme="salvia"] .dashboard-inteligente-lista li{
    background:rgba(255,255,255,.15) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

.dashboard-inteligente-semaforo{
    display:grid;
    gap:10px;
}

.dashboard-inteligente-semaforo-item{
    display:grid;
    grid-template-columns:14px minmax(0, 1fr);
    gap:11px;
    align-items:start;
    padding:11px 12px;
    border-radius:16px;
    background:rgba(30,41,59,.58);
    border:1px solid rgba(148,163,184,.13);
}

.dashboard-semaforo-dot{
    width:11px;
    height:11px;
    margin-top:4px;
    border-radius:999px;
    background:#f59e0b;
    box-shadow:0 0 0 5px rgba(245,158,11,.12);
}

.dashboard-semaforo-dot.bien{
    background:#22c55e;
    box-shadow:0 0 0 5px rgba(34,197,94,.13);
}

.dashboard-semaforo-dot.atencion{
    background:#f59e0b;
    box-shadow:0 0 0 5px rgba(245,158,11,.13);
}

.dashboard-semaforo-dot.riesgo{
    background:#ef4444;
    box-shadow:0 0 0 5px rgba(239,68,68,.13);
}

.dashboard-inteligente-semaforo-item strong{
    display:block;
    color:#f8fafc;
    font-size:13.5px;
    line-height:1.2;
}

.dashboard-inteligente-semaforo-item p{
    margin:4px 0 0;
    color:#94a3b8;
    font-size:12.5px;
    line-height:1.35;
}

.dashboard-inteligente-reporte{
    margin:0;
    padding:14px 15px;
    border-radius:16px;
    color:#dbeafe;
    background:rgba(14,165,233,.1);
    border:1px solid rgba(56,189,248,.16);
    font-size:13.5px;
    line-height:1.55;
}

.dashboard-inteligente-tabla{
    display:grid;
    gap:10px;
}

.dashboard-inteligente-fila{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(170px, auto);
    gap:12px;
    align-items:center;
    padding:12px;
    border-radius:16px;
    background:rgba(30,41,59,.58);
    border:1px solid rgba(148,163,184,.13);
}

.dashboard-inteligente-fila-principal{
    min-width:0;
}

.dashboard-inteligente-fila-principal strong{
    display:block;
    color:#f8fafc;
    font-size:13.5px;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.dashboard-inteligente-fila-principal small{
    display:block;
    margin-top:5px;
    color:#94a3b8;
    font-size:12px;
    line-height:1.3;
}

.dashboard-inteligente-vacio{
    padding:13px 14px;
    border-radius:16px;
    color:#94a3b8;
    background:rgba(30,41,59,.58);
    border:1px dashed rgba(148,163,184,.22);
    font-size:13px;
    line-height:1.4;
}

.dashboard-simulador{
    display:grid;
    grid-template-columns:minmax(160px, 1fr) minmax(180px, 2fr) 70px;
    gap:14px;
    align-items:center;
}

.dashboard-simulador label{
    color:#cbd5e1;
    font-size:13px;
    font-weight:800;
}

.dashboard-simulador input[type="range"]{
    width:100%;
    accent-color:#22c55e;
}

.dashboard-simulador strong{
    color:#f8fafc;
    font-size:18px;
    text-align:right;
}

.dashboard-simulador p{
    grid-column:1 / -1;
    margin:0;
    padding:12px 14px;
    border-radius:16px;
    color:#bbf7d0;
    background:rgba(22,101,52,.16);
    border:1px solid rgba(34,197,94,.2);
    font-size:13px;
    line-height:1.45;
}

.dashboard-sim-integrado{
    margin-top:18px;
    padding:16px 20px;
    background:rgba(255,255,255,.04);
    border-radius:10px;
    border:1px solid rgba(168,85,247,.22);
}

.dashboard-sim-header{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    flex-wrap:wrap;
}

.dashboard-sim-indicator{
    width:18px;
    height:3px;
    background:#a855f7;
    border-radius:2px;
    flex-shrink:0;
    display:inline-block;
}

.dashboard-sim-header strong{
    font-size:13px;
    color:#dbeafe;
    font-weight:700;
}

.dashboard-sim-subtitulo{
    margin-left:auto;
    font-size:11px;
    color:#64748b;
    font-style:italic;
}

.dashboard-sim-controles{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}

.dashboard-sim-controles input[type=range]{
    flex:1;
    accent-color:#a855f7;
    cursor:pointer;
    height:4px;
}

.dashboard-sim-etiqueta-min,
.dashboard-sim-etiqueta-max{
    font-size:11px;
    color:#64748b;
    font-weight:600;
    flex-shrink:0;
    min-width:28px;
}

.dashboard-sim-badge{
    font-size:17px;
    font-weight:700;
    color:#94a3b8;
    min-width:46px;
    text-align:right;
    flex-shrink:0;
    transition:color .2s;
}

.dashboard-sim-kpis{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:13px;
    padding:12px 14px;
    background:rgba(255,255,255,.04);
    border-radius:8px;
    border:1px solid rgba(148,163,184,.1);
}

.dashboard-sim-kpis[hidden],
.dashboard-producto-limpiar[hidden],
.dashboard-sim-integrado[hidden],
.dashboard-producto-vacio[hidden],
#graficaProducto[hidden]{
    display:none !important;
}

.dashboard-sim-kpis>div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.dashboard-sim-kpis>div span{
    font-size:10px;
    color:#64748b;
    text-transform:uppercase;
    letter-spacing:.4px;
}

.dashboard-sim-kpis>div strong{
    font-size:14px;
    color:#f8fafc;
    font-weight:600;
}

.dashboard-sim-analisis{
    font-size:12.5px;
    line-height:1.65;
    border-radius:8px;
    padding:10px 14px;
    border:1px solid rgba(148,163,184,.15);
    background:rgba(148,163,184,.06);
    color:#94a3b8;
    transition:background .3s,border-color .3s,color .3s;
}

.dashboard-sim-analisis.positivo{
    background:rgba(34,197,94,.09);
    border-color:rgba(34,197,94,.28);
    color:#86efac;
}

.dashboard-sim-analisis.negativo{
    background:rgba(239,68,68,.09);
    border-color:rgba(239,68,68,.22);
    color:#fca5a5;
}

#dashboardChartCard{
    position:relative;
}

.dashboard-chart-viewport{
    overflow:hidden;
    width:100%;
}

.dashboard-chart-track{
    display:flex;
    width:200%;
    transition:transform .38s cubic-bezier(.4,0,.2,1);
}

.dashboard-chart-slide{
    width:50%;
    flex:0 0 50%;
    box-sizing:border-box;
}

.dashboard-chart-flecha{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:6;
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(148,163,184,.28);
    background:rgba(15,23,42,.72);
    color:#e2e8f0;
    font-size:22px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,0,0,.28);
    transition:background .2s,border-color .2s,color .2s,opacity .2s,transform .2s;
}

.dashboard-chart-flecha:hover{
    background:#a855f7;
    border-color:#a855f7;
    color:#fff;
}

.dashboard-chart-flecha.izquierda{
    left:-6px;
}

.dashboard-chart-flecha.derecha{
    right:-6px;
}

.dashboard-chart-flecha.oculta{
    opacity:0;
    pointer-events:none;
    transform:translateY(-50%) scale(.8);
}

body[data-visual-theme="claro"] .dashboard-chart-flecha,
body[data-visual-theme="menta"] .dashboard-chart-flecha,
body[data-visual-theme="lavanda"] .dashboard-chart-flecha,
body[data-visual-theme="cielo"] .dashboard-chart-flecha,
body[data-visual-theme="arena"] .dashboard-chart-flecha,
body[data-visual-theme="salvia"] .dashboard-chart-flecha{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme="claro"] .dashboard-chart-flecha:hover,
body[data-visual-theme="menta"] .dashboard-chart-flecha:hover,
body[data-visual-theme="lavanda"] .dashboard-chart-flecha:hover,
body[data-visual-theme="cielo"] .dashboard-chart-flecha:hover,
body[data-visual-theme="arena"] .dashboard-chart-flecha:hover,
body[data-visual-theme="salvia"] .dashboard-chart-flecha:hover{
    background:#a855f7 !important;
    border-color:#a855f7 !important;
    color:#fff !important;
}

.dashboard-chart-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:14px;
}

.dashboard-chart-dot{
    width:9px;
    height:9px;
    padding:0;
    border-radius:50%;
    border:none;
    cursor:pointer;
    background:rgba(148,163,184,.35);
    transition:background .2s,width .2s;
}

.dashboard-chart-dot.activo{
    width:22px;
    border-radius:5px;
    background:#a855f7;
}

.dashboard-producto-buscador{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
}

.dashboard-producto-buscador input{
    flex:1;
    min-width:0;
    padding:11px 40px 11px 14px;
    border-radius:11px;
    border:1px solid rgba(148,163,184,.28);
    background:rgba(15,23,42,.5);
    color:var(--theme-text,#e2e8f0);
    font-size:14px;
    outline:none;
    transition:border-color .2s,box-shadow .2s;
}

.dashboard-producto-buscador input:focus{
    border-color:#a855f7;
    box-shadow:0 0 0 3px rgba(168,85,247,.18);
}

.dashboard-producto-buscador input::placeholder{
    color:var(--theme-muted,#64748b);
}

body[data-visual-theme="claro"] .dashboard-producto-buscador input,
body[data-visual-theme="menta"] .dashboard-producto-buscador input,
body[data-visual-theme="lavanda"] .dashboard-producto-buscador input,
body[data-visual-theme="cielo"] .dashboard-producto-buscador input,
body[data-visual-theme="arena"] .dashboard-producto-buscador input,
body[data-visual-theme="salvia"] .dashboard-producto-buscador input{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

.dashboard-producto-limpiar{
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    width:26px;
    height:26px;
    border-radius:50%;
    border:none;
    background:rgba(148,163,184,.2);
    color:var(--theme-text,#e2e8f0);
    font-size:13px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s,color .2s;
}

.dashboard-producto-limpiar:hover{
    background:#ef4444;
    color:#fff;
}

.dashboard-producto-grafica-wrap{
    position:relative;
    margin-bottom:8px;
}

.dashboard-producto-vacio{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:2;
    width:max-content;
    max-width:min(480px,86%);
    padding:14px 22px;
    text-align:center;
    font-size:13px;
    line-height:1.6;
    color:var(--theme-muted,#94a3b8);
    background:var(--theme-panel-2,rgba(15,23,42,.9));
    border:1px dashed rgba(148,163,184,.35);
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.18);
    pointer-events:none;
}

#graficaProducto{
    width:100% !important;
    height:340px !important;
}

@media (max-width:700px){
    .dashboard-sim-kpis{
        grid-template-columns:repeat(2,1fr);
    }
    .dashboard-sim-subtitulo{
        display:none;
    }
    .dashboard-chart-flecha{
        display:none;
    }
    .dashboard-chart-dots{
        gap:16px;
        margin-top:16px;
    }
    .dashboard-chart-dot{
        position:relative;
    }
    .dashboard-chart-dot::after{
        content:"";
        position:absolute;
        top:-14px;
        bottom:-14px;
        left:-6px;
        right:-6px;
    }
    #graficaProducto{
        height:280px !important;
    }
}

@media (max-width:1300px){
    .dashboard-inteligente-kpis{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}

@media (max-width:900px){
    .dashboard-inteligente-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .dashboard-inteligente-kpis,
    .dashboard-inteligente-grid{
        grid-template-columns:1fr;
    }

    .dashboard-inteligente-card-ancha{
        grid-column:auto;
    }

    .dashboard-inteligente-fila{
        grid-template-columns:1fr;
    }

    .dashboard-simulador{
        grid-template-columns:1fr;
    }

    .dashboard-simulador strong{
        text-align:left;
    }

    .dashboard-simulador p{
        grid-column:auto;
    }
}

@media (max-width:640px){
    .dashboard-inteligente-header,
    .dashboard-inteligente-card,
    .dashboard-inteligente-kpi{
        border-radius:18px;
        padding:16px;
    }

    .dashboard-inteligente-kpi strong{
        font-size:21px;
    }

}

.dashboard-pro-body .dashboard-ejecutivo{
    display:block !important;
    max-width:1680px !important;
    margin:0 auto !important;
    padding:22px 24px 28px !important;
}

.dashboard-pro-body .dashboard-ejecutivo-header{
    margin-bottom:20px !important;
}

.dashboard-pro-body .dashboard-ejecutivo-header h1{
    font-size:32px !important;
}

.dashboard-pro-body .dashboard-pro-kpis{
    grid-template-columns:repeat(auto-fit, minmax(185px, 1fr)) !important;
    gap:12px !important;
    margin-bottom:16px !important;
}

.dashboard-pro-body .dashboard-pro-kpi{
    min-height:92px;
    align-items:center;
    padding:14px;
}

.dashboard-pro-body .dashboard-pro-kpi strong{
    font-size:19px;
}

.dashboard-pro-body .dashboard-pro-kpi span{
    font-size:11px;
    line-height:1.25;
}

.dashboard-pro-body .dashboard-pro-kpi small{
    min-height:14px;
}

.dashboard-pro-body .dashboard-layout-principal,
.dashboard-pro-body .dashboard-columna-principal,
.dashboard-pro-body .dashboard-inteligente,
.dashboard-pro-body .dashboard-inteligente-grid{
    display:block !important;
}

.dashboard-pro-body .dashboard-chart-card{
    width:100% !important;
    min-height:360px !important;
    margin:0 0 16px !important;
    padding:20px 22px !important;
}

.dashboard-pro-body #graficaVentas{
    height:270px !important;
}

.dashboard-pro-body .dashboard-inteligente-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:16px !important;
    align-items:stretch !important;
}

.dashboard-pro-body .dashboard-inteligente-card:not(.dashboard-inteligente-card-ancha){
    grid-column:auto !important;
    min-height:auto !important;
}

.dashboard-pro-body .dashboard-inteligente-card-ancha{
    grid-column:1 / -1 !important;
    min-height:auto !important;
}

.dashboard-pro-body .dashboard-inteligente-card{
    padding:16px !important;
}

.dashboard-pro-body .dashboard-inteligente-card h3{
    margin-bottom:12px !important;
}

.dashboard-pro-body .dashboard-inteligente-lista{
    gap:9px !important;
}

.dashboard-pro-body .dashboard-inteligente-lista li{
    padding:11px 12px !important;
}

.dashboard-pro-body .dashboard-inteligente-fila{
    padding:11px 12px !important;
}

.dashboard-pro-body .dashboard-inteligente-fila-principal strong{
    font-size:13px !important;
}

@media (min-width:1181px){
    .dashboard-pro-body .dashboard-ejecutivo{
        display:block !important;
        grid-template-columns:none !important;
        gap:0 !important;
    }

    .dashboard-pro-body .dashboard-ejecutivo-header,
    .dashboard-pro-body .dashboard-pro-kpis,
    .dashboard-pro-body .dashboard-layout-principal,
    .dashboard-pro-body .dashboard-columna-principal,
    .dashboard-pro-body .dashboard-inteligente,
    .dashboard-pro-body .dashboard-inteligente-grid,
    .dashboard-pro-body .dashboard-chart-card,
    .dashboard-pro-body .dashboard-inteligente-card:not(.dashboard-inteligente-card-ancha){
        grid-column:auto !important;
    }

    .dashboard-pro-body .dashboard-inteligente-card-ancha{
        grid-column:1 / -1 !important;
    }
}

@media (max-width:1180px){
    .dashboard-pro-body .dashboard-ejecutivo{
        padding:18px !important;
    }
}

@media (max-width:760px){
    .dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }

    .dashboard-pro-body .dashboard-inteligente-card-ancha{
        grid-column:1 / -1 !important;
    }
}

body[data-visual-theme="blackstock"]{
    --theme-bg:#06111f;
    --theme-bg-soft:#0b213d;
    --theme-panel:#0b203a;
    --theme-panel-2:#0f2947;
    --theme-text:#f8fafc;
    --theme-muted:#9fb0c7;
    --theme-border:rgba(96,165,250,.24);
    --theme-primary:#2563eb;
    --theme-primary-2:#38bdf8;
    --theme-success:#22c55e;
    --theme-warning:#f59e0b;
    --theme-danger:#ef4444;
    --bg-oscuro:#06111f;
    --bg-gradiente:radial-gradient(circle at 85% 8%,rgba(37,99,235,.24),transparent 30%),linear-gradient(135deg,#06111f,#0b213d 55%,#071426);
    --azul-primario:#2563eb;
    --azul-hover:#1d4ed8;
    --texto-principal:#f8fafc;
    --texto-muted:#9fb0c7;
    --blanco-transparente:rgba(255,255,255,.055);
    --borde-suave:rgba(148,163,184,.2);
}

body[data-visual-theme="claro"]{
    --theme-bg:#f7f9fc;
    --theme-bg-soft:#eef4fb;
    --theme-panel:#ffffff;
    --theme-panel-2:#f0f6ff;
    --theme-text:#172033;
    --theme-muted:#607086;
    --theme-border:rgba(37,99,235,.18);
    --theme-primary:#2563eb;
    --theme-primary-2:#0891b2;
    --theme-success:#15803d;
    --theme-warning:#b45309;
    --theme-danger:#b91c1c;
    --bg-oscuro:#f7f9fc;
    --bg-gradiente:linear-gradient(135deg,#f7f9fc,#eef4fb 55%,#f8fbff);
    --azul-primario:#2563eb;
    --azul-hover:#1d4ed8;
    --texto-principal:#172033;
    --texto-muted:#607086;
    --blanco-transparente:rgba(255,255,255,.82);
    --borde-suave:rgba(37,99,235,.16);
}

body[data-visual-theme="menta"]{
    --theme-bg:#f4fbf7;
    --theme-bg-soft:#e8f6ee;
    --theme-panel:#ffffff;
    --theme-panel-2:#ecfdf5;
    --theme-text:#163026;
    --theme-muted:#557063;
    --theme-border:rgba(21,128,61,.18);
    --theme-primary:#047857;
    --theme-primary-2:#0f766e;
    --theme-success:#16a34a;
    --theme-warning:#a16207;
    --theme-danger:#be123c;
    --bg-oscuro:#f4fbf7;
    --bg-gradiente:linear-gradient(135deg,#f4fbf7,#e8f6ee 55%,#f8fffb);
    --azul-primario:#047857;
    --azul-hover:#065f46;
    --texto-principal:#163026;
    --texto-muted:#557063;
    --blanco-transparente:rgba(255,255,255,.84);
    --borde-suave:rgba(21,128,61,.16);
}

body[data-visual-theme="lavanda"]{
    --theme-bg:#fbf8ff;
    --theme-bg-soft:#f2ecfb;
    --theme-panel:#ffffff;
    --theme-panel-2:#f5f0ff;
    --theme-text:#251d35;
    --theme-muted:#6d617d;
    --theme-border:rgba(124,58,237,.18);
    --theme-primary:#6d28d9;
    --theme-primary-2:#2563eb;
    --theme-success:#15803d;
    --theme-warning:#a16207;
    --theme-danger:#be123c;
    --bg-oscuro:#fbf8ff;
    --bg-gradiente:linear-gradient(135deg,#fbf8ff,#f2ecfb 55%,#fffafe);
    --azul-primario:#6d28d9;
    --azul-hover:#5b21b6;
    --texto-principal:#251d35;
    --texto-muted:#6d617d;
    --blanco-transparente:rgba(255,255,255,.84);
    --borde-suave:rgba(124,58,237,.16);
}

body:has(.menu){
    background:var(--bg-gradiente);
    background-color:var(--bg-oscuro);
    color:var(--texto-principal);
}

@media (min-width:1021px){
    body:has(.menu){
        padding-top:0;
        padding-left:276px;
    }

    .menu{
        top:0;
        left:0;
        width:260px;
        height:100vh;
        padding:20px 14px;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:18px;
        background:linear-gradient(180deg,rgba(3,12,28,.98),rgba(5,20,39,.98));
        border-right:1px solid rgba(96,165,250,.22);
        box-shadow:18px 0 42px rgba(0,0,0,.24);
        z-index:10000;
    }

    body[data-visual-theme="claro"] .menu,
    body[data-visual-theme="menta"] .menu,
    body[data-visual-theme="lavanda"] .menu{
        background:linear-gradient(180deg,var(--theme-panel),var(--theme-bg-soft));
        border-right:1px solid var(--theme-border);
        box-shadow:16px 0 38px rgba(15,23,42,.08);
    }

    .menu-toggle,
    .menu-overlay{
        display:none !important;
    }

    .menu-marca{
        display:flex;
    }

    .menu-enlaces{
        position:static;
        width:100%;
        max-width:none;
        height:auto;
        min-height:0;
        flex:1;
        padding:0;
        left:auto;
        background:transparent;
        border:0;
        box-shadow:none;
        overflow-y:auto;
        transition:none;
    }
}

.menu-marca{
    align-items:center;
    gap:12px;
    min-height:76px;
    padding:6px 6px 14px;
    color:var(--theme-text,#f8fafc);
    text-decoration:none;
}

.menu-marca img{
    width:70px;
    height:70px;
    min-width:70px;
    object-fit:contain;
    border-radius:16px;
    background:#020617;
    border:1px solid rgba(96,165,250,.24);
}

.menu-marca strong{
    display:block;
    color:var(--theme-text,#f8fafc);
    font-size:16px;
    line-height:1.15;
    letter-spacing:.5px;
}

.menu-marca small{
    display:block;
    margin-top:5px;
    color:var(--theme-muted,#94a3b8);
    font-size:12.5px;
}

.menu-enlaces a{
    min-height:46px;
    display:flex;
    align-items:center;
    padding:12px 14px;
    border-radius:12px;
    background:rgba(15,35,60,.58);
    border:1px solid transparent;
    color:#d8e2f0;
    font-size:13.5px;
    font-weight:800;
}

body[data-visual-theme="claro"] .menu-enlaces a,
body[data-visual-theme="menta"] .menu-enlaces a,
body[data-visual-theme="lavanda"] .menu-enlaces a{
    background:rgba(255,255,255,.76);
    color:var(--theme-text);
    border-color:var(--theme-border);
}

.menu-enlaces a:hover,
.menu-enlaces a.activo{
    color:#fff;
    background:linear-gradient(135deg,var(--theme-primary,#2563eb),var(--theme-primary-2,#38bdf8));
    border-color:rgba(255,255,255,.15);
    transform:translateX(3px);
    box-shadow:0 10px 24px rgba(37,99,235,.24);
}

.menu-temas{
    margin-top:8px;
    padding:12px;
    border-radius:14px;
    background:rgba(15,35,60,.58);
    border:1px solid rgba(148,163,184,.16);
}

body[data-visual-theme="claro"] .menu-temas,
body[data-visual-theme="menta"] .menu-temas,
body[data-visual-theme="lavanda"] .menu-temas{
    background:rgba(255,255,255,.78);
    border-color:var(--theme-border);
}

.menu-temas > span{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:0;
    color:var(--theme-muted,#94a3b8);
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    user-select:none;
    padding:2px 0;
}

.menu-temas > span:hover{
    color:var(--theme-text,#f8fafc);
}

.menu-temas-flecha{
    font-style:normal;
    font-size:11px;
    opacity:.75;
    transition:transform .22s ease;
    pointer-events:none;
}

.menu-temas-toggle[aria-expanded="true"] .menu-temas-flecha{
    transform:rotate(180deg);
}

.menu-temas-opciones{
    overflow:hidden;
    max-height:0;
    transition:max-height .25s ease, margin-top .22s ease;
}

.menu-temas-opciones.abierto{
    max-height:260px;
    margin-top:9px;
}

.menu-temas div{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}

.menu-temas button{
    min-height:34px;
    padding:7px 8px;
    border-radius:10px;
    background:rgba(15,23,42,.72);
    border:1px solid rgba(148,163,184,.18);
    color:#dbeafe;
    font-size:11.5px;
    font-weight:900;
    transform:none;
}

body[data-visual-theme="claro"] .menu-temas button,
body[data-visual-theme="menta"] .menu-temas button,
body[data-visual-theme="lavanda"] .menu-temas button{
    background:var(--theme-bg-soft);
    color:var(--theme-text);
    border-color:var(--theme-border);
}

.menu-temas button.activo{
    background:linear-gradient(135deg,var(--theme-primary,#2563eb),var(--theme-primary-2,#38bdf8));
    color:#fff;
}

.menu-turno{
    margin-top:8px;
    padding:12px;
    border-radius:14px;
    background:rgba(15,35,60,.58);
    border:1px solid rgba(148,163,184,.16);
}

body[data-visual-theme="claro"] .menu-turno,
body[data-visual-theme="menta"] .menu-turno,
body[data-visual-theme="lavanda"] .menu-turno{
    background:rgba(255,255,255,.78);
    border-color:var(--theme-border);
}

.menu-turno-toggle{
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:var(--theme-muted,#94a3b8);
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    user-select:none;
    padding:2px 0;
}

.menu-turno-toggle:hover{
    color:var(--theme-text,#f8fafc);
}

.menu-turno-flecha{
    font-style:normal;
    font-size:11px;
    opacity:.75;
    transition:transform .22s ease;
    pointer-events:none;
}

.menu-turno-toggle[aria-expanded="true"] .menu-turno-flecha{
    transform:rotate(180deg);
}

.menu-turno-panel{
    overflow:hidden;
    max-height:0;
    transition:max-height .25s ease, margin-top .22s ease;
}

.menu-turno-panel.abierto{
    max-height:420px;
    margin-top:10px;
}

.menu-turno-panel .estado-turno-contadores{
    grid-template-columns:1fr;
    gap:9px;
    margin-bottom:0;
}

.menu-turno-panel .contador-vivo{
    padding:10px 12px;
    border-radius:11px;
    background:rgba(15,23,42,.55);
    border:1px solid rgba(148,163,184,.18);
}

body[data-visual-theme="claro"] .menu-turno-panel .contador-vivo,
body[data-visual-theme="menta"] .menu-turno-panel .contador-vivo,
body[data-visual-theme="lavanda"] .menu-turno-panel .contador-vivo{
    background:var(--theme-bg-soft);
    border-color:var(--theme-border);
}

.menu-turno-panel .contador-vivo span{
    font-size:11.5px;
    margin-bottom:4px;
}

.menu-turno-panel .contador-vivo strong{
    font-size:20px;
}

@media (max-width:1020px){
    .menu{
        top:14px;
        left:14px;
        gap:10px;
    }

    .menu-marca{
        display:none;
    }
}

.dashboard-pro-body .menu,
.dashboard-pro-body .menu-overlay{
    display:flex !important;
}

.dashboard-pro-body .menu-overlay{
    display:block !important;
}

.dashboard-pro-body .dashboard-ejecutivo{
    width:100% !important;
    max-width:1500px !important;
    min-height:auto !important;
    margin:0 auto 36px !important;
    padding:24px 24px 30px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.dashboard-pro-body .dashboard-ejecutivo-header{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin-bottom:18px !important;
}

.dashboard-pro-body .dashboard-pro-kpis{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
    gap:12px !important;
    margin-bottom:16px !important;
}

.dashboard-pro-body .dashboard-pro-kpi,
.dashboard-pro-body .dashboard-chart-card,
.dashboard-pro-body .dashboard-asistente-panel,
.dashboard-pro-body .dashboard-inteligente-card{
    background:linear-gradient(145deg,rgba(9,33,61,.92),rgba(7,25,48,.95)) !important;
    border:1px solid rgba(96,165,250,.2) !important;
    box-shadow:0 18px 38px rgba(0,0,0,.22) !important;
}

body[data-visual-theme="claro"] .dashboard-pro-kpi,
body[data-visual-theme="claro"] .dashboard-chart-card,
body[data-visual-theme="claro"] .dashboard-asistente-panel,
body[data-visual-theme="claro"] .dashboard-inteligente-card,
body[data-visual-theme="menta"] .dashboard-pro-kpi,
body[data-visual-theme="menta"] .dashboard-chart-card,
body[data-visual-theme="menta"] .dashboard-asistente-panel,
body[data-visual-theme="menta"] .dashboard-inteligente-card,
body[data-visual-theme="lavanda"] .dashboard-pro-kpi,
body[data-visual-theme="lavanda"] .dashboard-chart-card,
body[data-visual-theme="lavanda"] .dashboard-asistente-panel,
body[data-visual-theme="lavanda"] .dashboard-inteligente-card{
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    box-shadow:0 18px 34px rgba(15,23,42,.08) !important;
}

.dashboard-pro-body .dashboard-layout-principal{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 370px !important;
    gap:16px !important;
    align-items:start !important;
    margin-bottom:16px !important;
}

.dashboard-pro-body .dashboard-columna-principal{
    display:block !important;
}

.dashboard-pro-body .dashboard-columna-principal > .dashboard-kpis,
.dashboard-pro-body .dashboard-inteligente-header,
.dashboard-pro-body .dashboard-inteligente-kpis{
    display:none !important;
}

.dashboard-pro-body .dashboard-asistente-panel{
    display:block !important;
    position:sticky !important;
    top:18px !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:18px !important;
    border-radius:16px !important;
}

.dashboard-pro-body .dashboard-asistente-logo{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    border-radius:16px !important;
}

.dashboard-pro-body .dashboard-asistente-seccion h3,
.dashboard-pro-body .dashboard-respuesta-header h3{
    color:var(--theme-muted,#94a3b8) !important;
}

.dashboard-pro-body .dashboard-asistente-botones{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
}

.dashboard-pro-body .dashboard-asistente-botones button,
.dashboard-pro-body .dashboard-asistente-acciones button{
    min-height:40px !important;
    padding:8px 10px !important;
    border-radius:11px !important;
    background:rgba(37,99,235,.16) !important;
    border:1px solid rgba(96,165,250,.2) !important;
    color:var(--theme-text,#f8fafc) !important;
    font-size:12px !important;
}

.dashboard-pro-body .dashboard-asistente-botones button.activo{
    background:linear-gradient(135deg,var(--theme-primary,#2563eb),var(--theme-primary-2,#38bdf8)) !important;
    color:#fff !important;
}

.dashboard-pro-body .dashboard-respuesta-card{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:14px !important;
    background:rgba(15,35,60,.58) !important;
    border:1px solid rgba(148,163,184,.16) !important;
}

body[data-visual-theme="claro"] .dashboard-respuesta-card,
body[data-visual-theme="menta"] .dashboard-respuesta-card,
body[data-visual-theme="lavanda"] .dashboard-respuesta-card{
    background:rgba(255,255,255,.72) !important;
    border-color:var(--theme-border) !important;
}

.dashboard-pro-body .dashboard-respuesta-icono{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:14px !important;
}

.dashboard-pro-body .dashboard-respuesta-contenido h4,
.dashboard-pro-body .dashboard-respuesta-contenido p,
.dashboard-pro-body .dashboard-respuesta-metricas strong,
.dashboard-pro-body .dashboard-inteligente-card h3,
.dashboard-pro-body .dashboard-inteligente-fila-principal strong,
.dashboard-pro-body .dashboard-inteligente-semaforo-item strong,
.dashboard-pro-body .dashboard-chart-header h2,
.dashboard-pro-body .dashboard-pro-kpi strong{
    color:var(--theme-text,#f8fafc) !important;
}

.dashboard-pro-body .dashboard-respuesta-metricas span,
.dashboard-pro-body .dashboard-inteligente-fila-principal small,
.dashboard-pro-body .dashboard-inteligente-semaforo-item p,
.dashboard-pro-body .dashboard-chart-header p,
.dashboard-pro-body .dashboard-pro-kpi span,
.dashboard-pro-body .dashboard-pro-kpi small{
    color:var(--theme-muted,#94a3b8) !important;
}

.dashboard-pro-body .dashboard-chart-card{
    min-height:360px !important;
    padding:20px !important;
    border-radius:16px !important;
}

.dashboard-pro-body #graficaVentas{
    height:275px !important;
}

.dashboard-pro-body .dashboard-inteligente{
    margin-top:0 !important;
}

.dashboard-pro-body .dashboard-inteligente-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:start !important;
}

.dashboard-pro-body .dashboard-inteligente-card,
.dashboard-pro-body .dashboard-inteligente-card:nth-child(1),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(2),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(3),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(4),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(5),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(6),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(7),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(8),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(9),
.dashboard-pro-body .dashboard-inteligente-card-ancha{
    grid-column:auto !important;
    min-height:auto !important;
}

.dashboard-pro-body .dashboard-inteligente-card{
    padding:16px !important;
    border-radius:16px !important;
}

@media (max-width:1280px){
    .dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    .dashboard-pro-body .dashboard-asistente-panel{
        position:relative !important;
        top:auto !important;
    }

    .dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:760px){
    .dashboard-pro-body .dashboard-ejecutivo{
        padding:16px !important;
    }

    .dashboard-pro-body .dashboard-ejecutivo-header{
        flex-direction:column;
    }

    .dashboard-pro-body .dashboard-inteligente-grid,
    .dashboard-pro-body .dashboard-pro-kpis{
        grid-template-columns:1fr !important;
    }

    .dashboard-pro-body .dashboard-asistente-botones,
    .dashboard-pro-body .dashboard-asistente-acciones{
        grid-template-columns:1fr !important;
    }
}

@media (min-width:1021px){
    body:has(.menu){
        padding-left:260px !important;
        padding-top:0 !important;
    }

    .menu{
        top:0 !important;
        left:0 !important;
        width:250px !important;
        height:100vh !important;
        padding:16px 12px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:12px !important;
        overflow:hidden !important;
    }

    .menu-toggle,
    .menu-overlay{
        display:none !important;
    }

    .menu-enlaces{
        position:static !important;
        width:100% !important;
        max-width:none !important;
        height:auto !important;
        flex:1 !important;
        left:auto !important;
        padding:0 2px 0 0 !important;
        gap:7px !important;
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        scrollbar-width:thin;
        scrollbar-color:rgba(148,163,184,.38) transparent;
    }

    .menu-enlaces::-webkit-scrollbar{
        width:7px;
        height:0;
    }

    .menu-enlaces::-webkit-scrollbar-thumb{
        background:rgba(148,163,184,.32);
        border-radius:999px;
    }

    .menu-marca{
        min-height:66px !important;
        padding:4px 5px 10px !important;
        gap:10px !important;
        display:flex !important;
    }

    .menu-marca img{
        width:58px !important;
        height:58px !important;
        min-width:58px !important;
        border-radius:14px !important;
    }

    .menu-enlaces a{
        min-height:40px !important;
        padding:10px 12px !important;
        border-radius:11px !important;
        transform:none !important;
    }

    .menu-temas{
        margin-top:5px !important;
        padding:10px !important;
        border-radius:12px !important;
    }

    .menu-temas button{
        min-height:31px !important;
        border-radius:9px !important;
    }

    .logout-form{
        padding-top:8px !important;
    }

    .btn-logout{
        min-height:42px !important;
        border-radius:11px !important;
    }
}

.dashboard-pro-body .menu{
    display:flex !important;
}

.dashboard-pro-body .menu-overlay{
    display:none !important;
}

.dashboard-pro-body .dashboard-ejecutivo{
    width:100% !important;
    max-width:1440px !important;
    min-height:auto !important;
    margin:0 auto 36px !important;
    padding:22px 22px 28px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.dashboard-pro-body .dashboard-layout-principal{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 405px !important;
    gap:16px !important;
    align-items:start !important;
}

.dashboard-pro-body .dashboard-pro-kpis{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
}

.dashboard-pro-body .dashboard-pro-kpi{
    min-height:86px !important;
    padding:12px !important;
}

.dashboard-pro-body .dashboard-pro-kpi-icon{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:11px !important;
}

.dashboard-pro-body .dashboard-asistente-panel{
    display:block !important;
    top:14px !important;
}

.dashboard-pro-body .dashboard-asistente-botones{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.dashboard-pro-body .dashboard-asistente-botones button{
    white-space:normal !important;
    line-height:1.15 !important;
}

.dashboard-tabla-compacta{
    width:100%;
    border-collapse:separate;
    border-spacing:0 8px;
}

.dashboard-tabla-compacta tr{
    background:rgba(15,35,60,.5);
}

body[data-visual-theme="claro"] .dashboard-tabla-compacta tr,
body[data-visual-theme="menta"] .dashboard-tabla-compacta tr,
body[data-visual-theme="lavanda"] .dashboard-tabla-compacta tr{
    background:rgba(255,255,255,.62);
}

.dashboard-tabla-compacta td{
    padding:10px 9px;
    border-top:1px solid rgba(148,163,184,.13);
    border-bottom:1px solid rgba(148,163,184,.13);
    color:var(--theme-text,#f8fafc);
    vertical-align:middle;
}

.dashboard-tabla-compacta td:first-child{
    border-left:1px solid rgba(148,163,184,.13);
    border-radius:12px 0 0 12px;
    width:42%;
}

.dashboard-tabla-compacta td:last-child{
    border-right:1px solid rgba(148,163,184,.13);
    border-radius:0 12px 12px 0;
}

.dashboard-tabla-dato{
    text-align:right;
    white-space:nowrap;
}

.dashboard-tabla-dato span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:150px;
    min-height:28px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(15,23,42,.54);
    color:var(--theme-text,#f8fafc) !important;
    font-size:11.5px;
    overflow:hidden;
    text-overflow:ellipsis;
}

body[data-visual-theme="claro"] .dashboard-tabla-dato span,
body[data-visual-theme="menta"] .dashboard-tabla-dato span,
body[data-visual-theme="lavanda"] .dashboard-tabla-dato span{
    background:var(--theme-bg-soft);
    border:1px solid var(--theme-border);
}

.dashboard-pro-body .dashboard-inteligente-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.dashboard-pro-body .dashboard-inteligente-card{
    overflow:hidden;
}

.dashboard-pro-body .dashboard-inteligente-card:nth-child(1),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(2),
.dashboard-pro-body .dashboard-inteligente-card:nth-child(3){
    grid-column:auto !important;
}

@media (max-width:1280px){
    .dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    .dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }
}

@media (max-width:760px){
    .dashboard-tabla-compacta,
    .dashboard-tabla-compacta tbody,
    .dashboard-tabla-compacta tr,
    .dashboard-tabla-compacta td{
        display:block;
        width:100%;
    }

    .dashboard-tabla-compacta tr{
        border-radius:12px;
        overflow:hidden;
    }

    .dashboard-tabla-compacta td{
        border-left:1px solid rgba(148,163,184,.13);
        border-right:1px solid rgba(148,163,184,.13);
        border-radius:0 !important;
        text-align:left;
    }

    .dashboard-tabla-dato{
        text-align:left;
    }

    .dashboard-tabla-dato span{
        max-width:100%;
    }
}























body.asistencia-page{
    padding-top:0 !important;
    min-height:100vh !important;
    background:var(--bg-gradiente) !important;
    background-color:var(--bg-oscuro) !important;
    color:var(--texto-principal) !important;
}

body.asistencia-page .asistencia-header h1,
body.asistencia-page .asistencia-roles-card-principal h2,
body.asistencia-page .asistencia-card label,
body.asistencia-page .asistencia-rol-item strong{
    color:var(--theme-text,var(--texto-principal)) !important;
    text-shadow:none !important;
}

body.asistencia-page .asistencia-header p,
body.asistencia-page .asistencia-empleado-nombre,
body.asistencia-page .asistencia-texto-ayuda,
body.asistencia-page .acceso-sistema-nota,
body.asistencia-page .asistencia-roles-card-principal p,
body.asistencia-page .asistencia-rol-item span{
    color:var(--theme-muted,var(--texto-muted)) !important;
    text-shadow:none !important;
}

body.asistencia-page .asistencia-card,
body.asistencia-page .asistencia-info-card,
body.asistencia-page .asistencia-roles-card-principal{
    background:var(--theme-panel,var(--blanco-transparente)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    box-shadow:0 24px 55px rgba(0,0,0,.18) !important;
}

body.asistencia-page .asistencia-card{
    min-height:560px !important;
    padding:34px !important;
    border-radius:24px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

body.asistencia-page .asistencia-roles-card-principal{
    min-height:560px !important;
    padding:34px !important;
    border-radius:24px !important;
}

body.asistencia-page .asistencia-card input{
    background:var(--theme-panel-2,var(--blanco-transparente)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    box-shadow:none !important;
}

body.asistencia-page .asistencia-card input::placeholder{
    color:var(--theme-muted,var(--texto-muted)) !important;
    opacity:.75 !important;
}

body.asistencia-page .asistencia-card input:focus{
    border-color:var(--theme-primary,var(--azul-primario)) !important;
    box-shadow:0 0 0 4px rgba(59,130,246,.16) !important;
}

body.asistencia-page .asistencia-icono{
    background:var(--theme-panel-2,rgba(59,130,246,.18)) !important;
    color:var(--theme-primary,var(--azul-brillo)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
}

body.asistencia-page .asistencia-btn{
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    color:#ffffff !important;
    border:none !important;
}

body.asistencia-page .asistencia-rol-item{
    background:var(--theme-panel-2,var(--blanco-transparente)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
}

body.asistencia-page .asistencia-rol-horario{
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    color:#ffffff !important;
}

body.asistencia-page .asistencia-rol-item.descanso{
    background:var(--theme-panel-2,var(--blanco-transparente)) !important;
    border-color:var(--theme-border,var(--borde-suave)) !important;
}

body.asistencia-page .asistencia-rol-item.descanso .asistencia-rol-horario{
    background:#64748b !important;
    color:#ffffff !important;
}

body.asistencia-page .menu{
    background:linear-gradient(180deg,rgba(3,12,28,.98),rgba(5,20,39,.98)) !important;
    border-right:1px solid rgba(96,165,250,.22) !important;
}

body[data-visual-theme="claro"].asistencia-page .menu,
body[data-visual-theme="menta"].asistencia-page .menu,
body[data-visual-theme="lavanda"].asistencia-page .menu{
    background:linear-gradient(180deg,var(--theme-panel),var(--theme-bg-soft)) !important;
    border-right:1px solid var(--theme-border) !important;
}

body.asistencia-page .menu-enlaces a{
    background:rgba(15,35,60,.58) !important;
    color:#d8e2f0 !important;
    border:1px solid transparent !important;
}

body[data-visual-theme="claro"].asistencia-page .menu-enlaces a,
body[data-visual-theme="menta"].asistencia-page .menu-enlaces a,
body[data-visual-theme="lavanda"].asistencia-page .menu-enlaces a{
    background:rgba(255,255,255,.76) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body.asistencia-page .menu-enlaces a:hover,
body.asistencia-page .menu-enlaces a.activo,
body.asistencia-page .menu-temas button.activo{
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    color:#ffffff !important;
}

body.asistencia-page .menu-temas{
    background:rgba(15,35,60,.58) !important;
    border:1px solid rgba(148,163,184,.16) !important;
}

body[data-visual-theme="claro"].asistencia-page .menu-temas,
body[data-visual-theme="menta"].asistencia-page .menu-temas,
body[data-visual-theme="lavanda"].asistencia-page .menu-temas{
    background:rgba(255,255,255,.78) !important;
    border-color:var(--theme-border) !important;
}

body.asistencia-page .menu-temas button{
    background:rgba(15,23,42,.72) !important;
    border:1px solid rgba(148,163,184,.18) !important;
    color:#dbeafe !important;
}

body[data-visual-theme="claro"].asistencia-page .menu-temas button,
body[data-visual-theme="menta"].asistencia-page .menu-temas button,
body[data-visual-theme="lavanda"].asistencia-page .menu-temas button{
    background:var(--theme-bg-soft) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

@media (max-width:900px){
    body.asistencia-page .asistencia-layout{
        grid-template-columns:1fr !important;
    }

    body.asistencia-page .asistencia-card,
    body.asistencia-page .asistencia-roles-card-principal{
        min-height:auto !important;
    }
}

body[data-visual-theme="cielo"]{
    --theme-bg:#f3f8fb;
    --theme-bg-soft:#e7f1f7;
    --theme-panel:#ffffff;
    --theme-panel-2:#eef7fb;
    --theme-text:#172b36;
    --theme-muted:#5c7180;
    --theme-border:rgba(56,105,130,.18);
    --theme-primary:#2f6f88;
    --theme-primary-2:#3f8fa8;
    --theme-success:#2f855a;
    --theme-warning:#a16207;
    --theme-danger:#b91c1c;
    --bg-oscuro:#f3f8fb;
    --bg-gradiente:linear-gradient(135deg,#f7fbfd,#e9f4f8 58%,#f4fbfd);
    --azul-primario:#2f6f88;
    --azul-hover:#25586d;
    --texto-principal:#172b36;
    --texto-muted:#5c7180;
    --blanco-transparente:rgba(255,255,255,.84);
    --borde-suave:rgba(56,105,130,.18);
}

body[data-visual-theme="arena"]{
    --theme-bg:#fbf7ef;
    --theme-bg-soft:#f2eadc;
    --theme-panel:#fffdf8;
    --theme-panel-2:#f8f1e5;
    --theme-text:#30291f;
    --theme-muted:#756b5d;
    --theme-border:rgba(145,104,55,.18);
    --theme-primary:#8a6a3f;
    --theme-primary-2:#b07b43;
    --theme-success:#557c55;
    --theme-warning:#a16207;
    --theme-danger:#b91c1c;
    --bg-oscuro:#fbf7ef;
    --bg-gradiente:linear-gradient(135deg,#fffdf8,#f3ecde 58%,#fbf6ec);
    --azul-primario:#8a6a3f;
    --azul-hover:#6f5532;
    --texto-principal:#30291f;
    --texto-muted:#756b5d;
    --blanco-transparente:rgba(255,255,255,.86);
    --borde-suave:rgba(145,104,55,.18);
}

body[data-visual-theme="salvia"]{
    --theme-bg:#f2f7f4;
    --theme-bg-soft:#e3ece7;
    --theme-panel:#fbfdfb;
    --theme-panel-2:#edf5f0;
    --theme-text:#1e3028;
    --theme-muted:#627468;
    --theme-border:rgba(68,112,87,.18);
    --theme-primary:#3f6f58;
    --theme-primary-2:#5d8f75;
    --theme-success:#2f855a;
    --theme-warning:#9a6b20;
    --theme-danger:#b91c1c;
    --bg-oscuro:#f2f7f4;
    --bg-gradiente:linear-gradient(135deg,#f8fbf9,#e7f0eb 58%,#f3f8f5);
    --azul-primario:#3f6f58;
    --azul-hover:#305744;
    --texto-principal:#1e3028;
    --texto-muted:#627468;
    --blanco-transparente:rgba(255,255,255,.84);
    --borde-suave:rgba(68,112,87,.18);
}

body[data-visual-theme="cielo"] h1,
body[data-visual-theme="cielo"] h2,
body[data-visual-theme="cielo"] h3,
body[data-visual-theme="arena"] h1,
body[data-visual-theme="arena"] h2,
body[data-visual-theme="arena"] h3,
body[data-visual-theme="salvia"] h1,
body[data-visual-theme="salvia"] h2,
body[data-visual-theme="salvia"] h3{
    color:var(--theme-text) !important;
    text-shadow:none !important;
}

body[data-visual-theme="cielo"] input,
body[data-visual-theme="cielo"] select,
body[data-visual-theme="arena"] input,
body[data-visual-theme="arena"] select,
body[data-visual-theme="salvia"] input,
body[data-visual-theme="salvia"] select{
    background:var(--theme-panel-2) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme="cielo"] input::placeholder,
body[data-visual-theme="arena"] input::placeholder,
body[data-visual-theme="salvia"] input::placeholder{
    color:var(--theme-muted) !important;
    opacity:.75 !important;
}

body[data-visual-theme="cielo"] .card,
body[data-visual-theme="cielo"] .tarjeta,
body[data-visual-theme="cielo"] .form-container,
body[data-visual-theme="arena"] .card,
body[data-visual-theme="arena"] .tarjeta,
body[data-visual-theme="arena"] .form-container,
body[data-visual-theme="salvia"] .card,
body[data-visual-theme="salvia"] .tarjeta,
body[data-visual-theme="salvia"] .form-container{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:0 20px 45px rgba(15,23,42,.08) !important;
}

body[data-visual-theme="cielo"] .menu,
body[data-visual-theme="arena"] .menu,
body[data-visual-theme="salvia"] .menu{
    background:linear-gradient(180deg,var(--theme-panel),var(--theme-bg-soft)) !important;
    border-right:1px solid var(--theme-border) !important;
    box-shadow:16px 0 38px rgba(15,23,42,.08) !important;
}

body[data-visual-theme="cielo"] .menu-enlaces a,
body[data-visual-theme="arena"] .menu-enlaces a,
body[data-visual-theme="salvia"] .menu-enlaces a{
    background:rgba(255,255,255,.76) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme="cielo"] .menu-temas,
body[data-visual-theme="arena"] .menu-temas,
body[data-visual-theme="salvia"] .menu-temas{
    background:rgba(255,255,255,.78) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme="cielo"] .menu-temas button,
body[data-visual-theme="arena"] .menu-temas button,
body[data-visual-theme="salvia"] .menu-temas button{
    background:var(--theme-bg-soft) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme="cielo"] .menu-enlaces a:hover,
body[data-visual-theme="cielo"] .menu-enlaces a.activo,
body[data-visual-theme="cielo"] .menu-temas button.activo,
body[data-visual-theme="arena"] .menu-enlaces a:hover,
body[data-visual-theme="arena"] .menu-enlaces a.activo,
body[data-visual-theme="arena"] .menu-temas button.activo,
body[data-visual-theme="salvia"] .menu-enlaces a:hover,
body[data-visual-theme="salvia"] .menu-enlaces a.activo,
body[data-visual-theme="salvia"] .menu-temas button.activo{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body[data-visual-theme="cielo"].asistencia-page .asistencia-btn,
body[data-visual-theme="arena"].asistencia-page .asistencia-btn,
body[data-visual-theme="salvia"].asistencia-page .asistencia-btn{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
}

body[data-visual-theme="cielo"].asistencia-page .asistencia-card,
body[data-visual-theme="cielo"].asistencia-page .asistencia-roles-card-principal,
body[data-visual-theme="arena"].asistencia-page .asistencia-card,
body[data-visual-theme="arena"].asistencia-page .asistencia-roles-card-principal,
body[data-visual-theme="salvia"].asistencia-page .asistencia-card,
body[data-visual-theme="salvia"].asistencia-page .asistencia-roles-card-principal{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}


body[data-visual-theme="cielo"].dashboard-pro-body,
body[data-visual-theme="arena"].dashboard-pro-body,
body[data-visual-theme="salvia"].dashboard-pro-body{
    background:var(--bg-gradiente) !important;
    background-color:var(--bg-oscuro) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-ejecutivo,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-ejecutivo,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-ejecutivo{
    background:transparent !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-pro-kpi,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-chart-card,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-panel,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-card,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-pro-kpi,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-chart-card,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-panel,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-card,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-pro-kpi,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-chart-card,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-panel,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-card{
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:0 18px 34px rgba(15,23,42,.08) !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-ejecutivo-header h1,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-chart-header h2,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-pro-kpi strong,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-respuesta-contenido h4,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-card h3,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-fila-principal strong,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-semaforo-item strong,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-ejecutivo-header h1,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-chart-header h2,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-pro-kpi strong,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-respuesta-contenido h4,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-card h3,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-fila-principal strong,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-semaforo-item strong,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-ejecutivo-header h1,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-chart-header h2,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-pro-kpi strong,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-respuesta-contenido h4,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-card h3,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-fila-principal strong,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-semaforo-item strong{
    color:var(--theme-text) !important;
    text-shadow:none !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-ejecutivo-header p,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-chart-header p,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-pro-kpi span,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-pro-kpi small,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-respuesta-contenido p,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-respuesta-metricas span,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-fila-principal small,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-semaforo-item p,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-ejecutivo-header p,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-chart-header p,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-pro-kpi span,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-pro-kpi small,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-respuesta-contenido p,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-respuesta-metricas span,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-fila-principal small,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-semaforo-item p,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-ejecutivo-header p,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-chart-header p,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-pro-kpi span,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-pro-kpi small,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-respuesta-contenido p,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-respuesta-metricas span,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-fila-principal small,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-semaforo-item p{
    color:var(--theme-muted) !important;
    text-shadow:none !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-fila,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-lista li,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-respuesta-card,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-inteligente-semaforo-item,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-fila,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-lista li,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-respuesta-card,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-inteligente-semaforo-item,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-fila,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-lista li,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-respuesta-card,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-inteligente-semaforo-item{
    background:var(--theme-panel-2) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-botones button,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-acciones button,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-botones button,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-acciones button,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-botones button,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-acciones button{
    background:var(--theme-panel-2) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-botones button:hover,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-botones button.activo,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-botones button:hover,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-botones button.activo,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-botones button:hover,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-botones button.activo{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body input,
body[data-visual-theme="arena"].dashboard-pro-body input,
body[data-visual-theme="salvia"].dashboard-pro-body input{
    background:var(--theme-panel) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme="cielo"].dashboard-pro-body input::placeholder,
body[data-visual-theme="arena"].dashboard-pro-body input::placeholder,
body[data-visual-theme="salvia"].dashboard-pro-body input::placeholder{
    color:var(--theme-muted) !important;
    opacity:.75 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]){
    background:var(--bg-gradiente) !important;
    background-color:var(--bg-oscuro) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) h1,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) h2,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) h3,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) h4,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) h5,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) h6{
    color:var(--theme-text) !important;
    text-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) p,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) small,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) label,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) span{
    text-shadow:none;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) input,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) select,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) textarea{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) input::placeholder,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) textarea::placeholder{
    color:var(--theme-muted) !important;
    opacity:.78 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) input:focus,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) select:focus,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) textarea:focus{
    border-color:var(--theme-primary) !important;
    box-shadow:0 0 0 3px color-mix(in srgb, var(--theme-primary) 18%, transparent) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .card,
    .tarjeta,
    .form-container,
    .ventas-card,
    .estado-turno-card,
    .jornada-hoy-card,
    .registro-usuario-card,
    .crear-rol-box,
    .roles-scroll-box,
    .acceso-sistema-card,
    .asistencia-card,
    .asistencia-info-card,
    .asistencia-roles-card-principal,
    .dashboard-pro-kpi,
    .dashboard-chart-card,
    .dashboard-asistente-panel,
    .dashboard-respuesta-card,
    .dashboard-inteligente-card,
    .dashboard-inteligente-fila,
    .dashboard-inteligente-semaforo-item,
    .jornadas-panel-principal,
    .jornadas-card,
    .jornadas-tarjetas-resumen,
    .jornadas-alertas,
    .jornadas-card-resumen,
    .jornadas-leyenda-item,
    .jornadas-turno-hoy-item,
    .jornadas-detalle-item,
    .jornadas-vacio,
    .jornadas-kpi-item
){
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:0 18px 36px rgba(15,23,42,.08) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-card-resumen.azul,
    .jornadas-card-resumen.verde,
    .jornadas-card-resumen.naranja,
    .jornadas-card-resumen.morado
){
    background:linear-gradient(145deg,var(--theme-panel-2),var(--theme-panel)) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-encabezado p,
    .jornadas-card-encabezado p,
    .jornadas-card-resumen p,
    .jornadas-alertas li,
    .jornadas-colaborador small,
    .jornadas-leyenda-item small,
    .jornadas-leyenda-item em,
    .jornadas-turno-hoy-empleado small,
    .jornadas-turno-hoy-dato span,
    .jornadas-detalle-item span,
    .jornadas-vacio p,
    .jornadas-kpi-item span,
    .dashboard-pro-kpi span,
    .dashboard-pro-kpi small
){
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-semana strong,
    .jornadas-semana span,
    .jornadas-card-resumen strong,
    .jornadas-card-encabezado h2,
    .jornadas-colaborador strong,
    .jornadas-leyenda-item strong,
    .jornadas-turno-hoy-empleado strong,
    .jornadas-turno-hoy-dato strong,
    .jornadas-detalle-item strong,
    .jornadas-vacio strong,
    .jornadas-kpi-item strong
){
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-btn-secundario,
    .btn-secundario,
    .dashboard-asistente-botones button,
    .dashboard-asistente-acciones button,
    .acceso-sistema-volver
){
    background:var(--theme-panel-2) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-btn-secundario:hover,
    .btn-secundario:hover,
    .dashboard-asistente-botones button:hover,
    .dashboard-asistente-botones button.activo,
    .dashboard-asistente-acciones button:hover,
    .acceso-sistema-volver:hover
){
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .btn-principal,
    .jornadas-btn-primario,
    .jornadas-btn-form,
    .menu-enlaces a.activo,
    .menu-enlaces a:hover,
    .menu-temas button.activo
){
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
    box-shadow:0 10px 24px color-mix(in srgb, var(--theme-primary) 22%, transparent) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-tabla,
    .tabla-productos-admin,
    .dashboard-tabla-compacta
){
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-tabla th,
    .tabla-productos-admin th,
    .dashboard-tabla-compacta th
){
    background:var(--theme-panel-2) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-tabla td,
    .jornadas-tabla tr,
    .tabla-productos-admin td,
    .tabla-productos-admin tr,
    .dashboard-tabla-compacta td,
    .dashboard-tabla-compacta tr
){
    background:color-mix(in srgb, var(--theme-panel) 84%, var(--theme-bg-soft)) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-avatar,
    .dashboard-pro-kpi-icon,
    .dashboard-respuesta-icono,
    .asistencia-icono,
    .protector-avatar
){
    background:color-mix(in srgb, var(--theme-primary) 18%, var(--theme-panel-2)) !important;
    border:1px solid color-mix(in srgb, var(--theme-primary) 28%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-select-turno,
    .jornadas-select-rol
){
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-alertas h3{
    color:var(--theme-warning,#a16207) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-chip-live{
    background:color-mix(in srgb, var(--theme-success,#2f855a) 14%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-success,#2f855a) 32%, var(--theme-border)) !important;
    color:var(--theme-success,#2f855a) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-estado-hoy.activo,
    .jornadas-estado-corte.exacto,
    .jornadas-estado-corte.sobrante
){
    background:color-mix(in srgb, var(--theme-success,#2f855a) 14%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-success,#2f855a) 32%, var(--theme-border)) !important;
    color:var(--theme-success,#2f855a) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-estado-hoy.retardo,
    .jornadas-estado-corte.faltante
){
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 12%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-danger,#b91c1c) 30%, var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-estado-hoy.pendiente,
    .jornadas-estado-hoy.descanso,
    .jornadas-estado-hoy.ausente
){
    background:color-mix(in srgb, var(--theme-primary) 12%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 28%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-card-resumen-extra,
    .jornadas-heatmap-titulo span,
    .jornadas-rol-rapido > span
){
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-heatmap-titulo strong,
    .jornadas-heatmap th,
    .jornadas-heatmap tbody th,
    .jornadas-fila-dias
){
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-heatmap-total{
    background:color-mix(in srgb, var(--theme-primary) 16%, var(--theme-panel)) !important;
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-fila-horas{
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-rol-buscador{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-rol-buscador input{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip{
    background:color-mix(in srgb, var(--theme-primary) 22%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 70%, transparent) !important;
    color:color-mix(in srgb, var(--theme-primary) 80%, #000) !important;
    font-weight:800 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip:hover{
    background:var(--theme-primary) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip-limpiar{
    background:color-mix(in srgb, var(--theme-danger,#dc2626) 20%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-danger,#dc2626) 70%, transparent) !important;
    color:color-mix(in srgb, var(--theme-danger,#dc2626) 80%, #000) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip-limpiar:hover{
    background:var(--theme-danger,#dc2626) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip.jornadas-btn-chip--manana{
    background: #fde68a !important;
    border: 2px solid #d97706 !important;
    color: #78350f !important;
    box-shadow: 0 1px 4px rgba(217,119,6,0.30) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip.jornadas-btn-chip--manana:hover{
    background: #f59e0b !important;
    border-color: #b45309 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(245,158,11,0.50) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip.jornadas-btn-chip--tarde{
    background: #fed7aa !important;
    border: 2px solid #ea580c !important;
    color: #7c2d12 !important;
    box-shadow: 0 1px 4px rgba(234,88,12,0.30) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip.jornadas-btn-chip--tarde:hover{
    background: #f97316 !important;
    border-color: #c2410c !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(249,115,22,0.50) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip.jornadas-btn-chip--noche{
    background: #ddd6fe !important;
    border: 2px solid #7c3aed !important;
    color: #3b0764 !important;
    box-shadow: 0 1px 4px rgba(124,58,237,0.30) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip.jornadas-btn-chip--noche:hover{
    background: #7c3aed !important;
    border-color: #5b21b6 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(124,58,237,0.50) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip.jornadas-btn-chip-limpiar{
    background: #fecaca !important;
    border: 2px solid #dc2626 !important;
    color: #7f1d1d !important;
    box-shadow: 0 1px 4px rgba(220,38,38,0.30) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-btn-chip.jornadas-btn-chip-limpiar:hover{
    background: #ef4444 !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(239,68,68,0.50) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-pill.ok{
    background:color-mix(in srgb, var(--theme-success,#2f855a) 14%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-success,#2f855a) 32%, var(--theme-border)) !important;
    color:var(--theme-success,#2f855a) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-pill.riesgo{
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 12%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-danger,#b91c1c) 30%, var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-fila-resumen.alerta-descanso .jornadas-fila-dias{
    color:var(--theme-danger,#b91c1c) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-pill.alto{
    background:color-mix(in srgb, var(--theme-warning,#a16207) 14%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-warning,#a16207) 32%, var(--theme-border)) !important;
    color:var(--theme-warning,#a16207) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-pill.vacio{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-fila-resumen.alerta-alto .jornadas-fila-dias{
    color:var(--theme-warning,#a16207) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-heatmap-celda.nivel-cero{
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 16%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-danger,#b91c1c) 35%, var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-tarifa-input{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-tarifa-input input{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-tarifa-input span{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-costo-celda{
    color:var(--theme-success,#2f855a) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .jornadas-tabla-total td,
    .jornadas-tabla-total strong
){
    background:color-mix(in srgb, var(--theme-primary) 12%, var(--theme-panel)) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu{
    background:linear-gradient(180deg,var(--theme-panel),var(--theme-bg-soft)) !important;
    border-right:1px solid var(--theme-border) !important;
    box-shadow:16px 0 38px rgba(15,23,42,.08) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-enlaces a,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-temas,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-temas button{
    background:color-mix(in srgb, var(--theme-panel) 82%, var(--theme-bg-soft)) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-enlaces a:hover,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-enlaces a.activo,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-temas button.activo{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-logout{
    background:linear-gradient(135deg,#dc2626,#ef4444) !important;
    color:#ffffff !important;
}






body[data-visual-theme]:not([data-visual-theme="blackstock"]) select option{
    background:var(--theme-panel) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .registro-usuario-formulario,
    .registro-roles-info,
    .rol-scroll-item,
    .asistencia-info-card,
    .asistencia-roles-card-principal,
    .asistencia-rol-item,
    .acceso-sistema-card,
    .dashboard-ejecutivo,
    .dashboard-kpi
){
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:0 18px 36px rgba(15,23,42,.08) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .registro-usuario-card{
    background:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page :is(
    .crear-rol-box,
    .roles-scroll-box
){
    background:transparent !important;
    box-shadow:none !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .roles-scroll-box{
    border-top-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page :is(
    .registro-usuario-header p,
    #registroUsuarioAutosaveEstado,
    #registroRolAutosaveEstado,
    .roles-scroll-box p
){
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page :is(
    .registro-usuario-formulario label,
    .form-crear-rol label
){
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page :is(
    .rol-scroll-item span
){
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page :is(
    .rol-scroll-item
){
    background:color-mix(in srgb, var(--theme-panel-2) 86%, var(--theme-bg-soft)) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-eliminar-rol{
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 12%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-danger,#b91c1c) 34%, var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-eliminar-rol:hover{
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 20%, var(--theme-panel)) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .roles-scroll-lista::-webkit-scrollbar-track,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .asistencia-lista-roles::-webkit-scrollbar-track{
    background:color-mix(in srgb, var(--theme-border) 44%, transparent) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .roles-scroll-lista::-webkit-scrollbar-thumb,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .asistencia-lista-roles::-webkit-scrollbar-thumb{
    background:color-mix(in srgb, var(--theme-primary) 62%, var(--theme-border)) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).asistencia-page :is(
    .asistencia-header p,
    .asistencia-empleado-nombre,
    .asistencia-texto-ayuda,
    .asistencia-info-card p,
    .asistencia-rol-item span
){
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).asistencia-page :is(
    .asistencia-card label,
    .asistencia-rol-item strong
){
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).asistencia-page .asistencia-rol-horario{
    background:color-mix(in srgb, var(--theme-primary) 13%, var(--theme-panel)) !important;
    border:1px solid color-mix(in srgb, var(--theme-primary) 30%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).asistencia-page .asistencia-rol-item.descanso .asistencia-rol-horario{
    background:color-mix(in srgb, var(--theme-muted) 14%, var(--theme-panel)) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).acceso-sistema-page :is(
    .acceso-sistema-descripcion,
    .acceso-sistema-nota
){
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body :is(
    .dashboard-ejecutivo-header p,
    .dashboard-actualizado
){
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body :is(
    .dashboard-fecha,
    .dashboard-btn-mini
){
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).ventas-page :is(
    .ventas-btn-salida,
    .ventas-btn-login,
    .ventas-btn-turno
),
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .ventas-page :is(
    .ventas-btn-salida,
    .ventas-btn-login,
    .ventas-btn-turno
){
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).ventas-page .ventas-btn-corte,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .ventas-page .ventas-btn-corte{
    background:color-mix(in srgb, var(--theme-warning,#a16207) 16%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-warning,#a16207) 34%, var(--theme-border)) !important;
    color:var(--theme-warning,#a16207) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).ventas-page .ventas-btn-salida,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .ventas-page .ventas-btn-salida{
    background:color-mix(in srgb, var(--theme-primary) 13%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 32%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).ventas-page .ventas-btn-login,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .ventas-page .ventas-btn-login{
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 11%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-danger,#b91c1c) 30%, var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) table{
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) table th{
    background:var(--theme-panel-2) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) table td{
    background:color-mix(in srgb, var(--theme-panel) 86%, var(--theme-bg-soft)) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-diferencia.exacto{
    color:var(--theme-success,#2f855a) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-diferencia.sobrante{
    color:var(--theme-success,#2f855a) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-diferencia.faltante{
    color:var(--theme-danger,#b91c1c) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .alerta.exito,
    .asistencia-info-card.exito
){
    background:color-mix(in srgb, var(--theme-success,#2f855a) 12%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-success,#2f855a) 34%, var(--theme-border)) !important;
    color:var(--theme-success,#2f855a) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .alerta.error{
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 12%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-danger,#b91c1c) 34%, var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .contenedor-tabla,
    .resultados-productos,
    #resultados,
    .cantidad-control,
    .resumen-venta div,
    .dashboard-asistente-input,
    .dashboard-respuesta-metricas div
){
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:0 18px 36px rgba(15,23,42,.08) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .resultados-productos .resultado-item,
    #resultados .resultado-item
){
    background:transparent !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .resultados-productos .resultado-item:hover,
    #resultados .resultado-item:hover
){
    background:color-mix(in srgb, var(--theme-primary) 12%, var(--theme-panel)) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .cantidad-numero,
    .resumen-venta strong,
    .carrito-vacio h2,
    .dashboard-chart-header h2
){
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .resultados-productos .resultado-item small,
    .dashboard-chart-header p
){
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .dashboard-chart-header span,
    .dashboard-respuesta-header span,
    .dashboard-asistente-input span
){
    background:color-mix(in srgb, var(--theme-primary) 10%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 28%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .alerta-ok,
    .exito:not(.alerta)
){
    background:color-mix(in srgb, var(--theme-success,#2f855a) 12%, var(--theme-panel)) !important;
    border:1px solid color-mix(in srgb, var(--theme-success,#2f855a) 34%, var(--theme-border)) !important;
    color:var(--theme-success,#2f855a) !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .alerta-error,
    .error
){
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 12%, var(--theme-panel)) !important;
    border:1px solid color-mix(in srgb, var(--theme-danger,#b91c1c) 34%, var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
    box-shadow:none !important;
}

























   
   

   body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(p, small, label, li, em){
       color:var(--theme-muted) !important;
       text-shadow:none !important;
   }
   
   
   body[data-visual-theme]:not([data-visual-theme="blackstock"]) strong{
       color:var(--theme-text) !important;
       text-shadow:none !important;
   }
   
body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(p, small, em){
    text-shadow:none;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) label{
    text-shadow:none;
}



body[data-visual-theme]:not([data-visual-theme="blackstock"]) .status.ok{
    color:#16a34a !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .status.ok::before{
    background:#16a34a !important;
    box-shadow:0 0 8px #16a34a !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .status.bajo{
    color:#b45309 !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .status.bajo::before{
    background:#f59e0b !important;
    box-shadow:0 0 8px #f59e0b !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .status.critico{
    color:#b91c1c !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .status.critico::before{
    background:#ef4444 !important;
    box-shadow:0 0 8px #ef4444 !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .ventas-header p,
    .descripcion-modulo,
    .texto-ayuda-rol,
    .footer,
    .dashboard-ejecutivo-header p,
    .dashboard-chart-header p,
    .dashboard-asistente-header p,
    .dashboard-asistente-nota,
    .dashboard-asistente-seccion h3,
    .dashboard-respuesta-header span,
    .dashboard-respuesta-contenido p,
    .jornadas-encabezado p,
    .jornadas-card-encabezado p,
    .jornadas-form-grid label,
    .jornadas-alertas li,
    .jornadas-colaborador small,
    .jornadas-leyenda-item small,
    .jornadas-leyenda-item em,
    .jornadas-turno-hoy-empleado small,
    .jornadas-turno-hoy-dato span,
    .jornadas-detalle-item span,
    .jornadas-incidencia-info small,
    .jornadas-incidencia-detalle small,
    .jornadas-vacio p,
    .jornadas-kpi-item span,
    .dashboard-pro-kpi span,
    .dashboard-pro-kpi small,
    .registro-usuario-header p,
    .asistencia-header p,
    .asistencia-empleado-nombre,
    .asistencia-texto-ayuda,
    .asistencia-nota,
    .asistencia-info-card p,
    .asistencia-rol-item span,
    .acceso-sistema-descripcion,
    .acceso-sistema-nota,
    .dashboard-modal-header p,
    .dashboard-modal-item p,
    .dashboard-modal-item small,
    .dashboard-aviso-item p,
    .dashboard-aviso-item small,
    .dashboard-avisos-header p,
    .opsbot-header span,
    .opsbot-msg p,
    .opsbot-item p,
    .opsbot-item small,
    .dashboard-respuesta-metricas span,
    .dashboard-inteligente-fila-principal small,
    .dashboard-inteligente-semaforo-item p,
    .resumen-venta span,
    .carrito-vacio,
    .tarjeta-stat h3
){
    color:var(--theme-muted) !important;
    text-shadow:none !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) :is(
    .dashboard-ejecutivo-header h1,
    .dashboard-chart-header h2,
    .dashboard-pro-kpi strong,
    .dashboard-asistente-header h2,
    .dashboard-respuesta-contenido h4,
    .dashboard-inteligente-card h3,
    .dashboard-inteligente-fila-principal strong,
    .dashboard-inteligente-semaforo-item strong,
    .jornadas-semana strong,
    .jornadas-semana span,
    .jornadas-card-resumen strong,
    .jornadas-card-encabezado h2,
    .jornadas-colaborador strong,
    .jornadas-leyenda-item strong,
    .jornadas-turno-hoy-empleado strong,
    .jornadas-turno-hoy-dato strong,
    .jornadas-detalle-item strong,
    .jornadas-incidencia-info strong,
    .jornadas-incidencia-detalle span,
    .jornadas-vacio strong,
    .jornadas-kpi-item strong,
    .tarjeta-stat .valor,
    .dashboard-modal-item strong,
    .dashboard-modal-header h2,
    .opsbot-msg h4,
    .opsbot-item strong,
    .rol-scroll-item span,
    .rol-registrado-item span,
    .carrito-vacio h2,
    .cantidad-numero,
    .resumen-venta strong,
    .dashboard-respuesta-metricas strong
){
    color:var(--theme-text) !important;
    text-shadow:none !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .tarjeta-stat{
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .footer{
    color:var(--theme-muted) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .contenedor-tabla{
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) table th{
    color:var(--theme-muted) !important;
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) button:not(.menu-temas button):not(.btn-secundario):not(.btn-logout):not(.jornadas-btn-secundario):not(.opsbot-close):not(.dashboard-modal-cerrar):not(.btn-cantidad):not(.voz-boton):not(.voz-panel-cerrar):not([class*="tema"]){
    color:#ffffff !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) a.btn-accion{
    color:#ffffff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-eliminar{
    background:#dc2626 !important;
    color:#ffffff !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-eliminar:hover{
    background:#b91c1c !important;
    color:#ffffff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-logout{
    background:linear-gradient(135deg,#dc2626,#ef4444) !important;
    color:#ffffff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-cantidad{
    background:var(--azul-primario) !important;
    color:#ffffff !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-temas button{
    background:var(--theme-bg-soft) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-temas button.activo{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-secundario{
    background:var(--theme-panel-2) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-secundario:hover{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .login-card{
    background:linear-gradient(145deg,rgba(15,35,60,.9),rgba(22,38,61,.94)) !important;
    border:1px solid rgba(148,163,184,.22) !important;
    color:#f8fafc !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .login-card h2{
    color:#3b82f6 !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .login-card label{
    color:rgba(255,255,255,.86) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .login-card input{
    background:rgba(15,23,42,.68) !important;
    color:#ffffff !important;
    border-color:rgba(255,255,255,.13) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .login-card input::placeholder{
    color:rgba(255,255,255,.38) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-badge{
    background:color-mix(in srgb, var(--theme-primary) 12%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 30%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-chip-live{
    background:color-mix(in srgb, var(--theme-success,#2f855a) 12%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-success,#2f855a) 30%, var(--theme-border)) !important;
    color:var(--theme-success,#2f855a) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .rol-chip{
    background:color-mix(in srgb, var(--theme-primary) 10%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 28%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-aviso-tipo{
    background:color-mix(in srgb, var(--theme-warning,#a16207) 13%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-warning,#a16207) 32%, var(--theme-border)) !important;
    color:var(--theme-warning,#a16207) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-avisos-estado{
    background:color-mix(in srgb, var(--theme-primary) 10%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 28%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .alerta-ok{
    background:color-mix(in srgb, var(--theme-success,#2f855a) 10%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-success,#2f855a) 30%, var(--theme-border)) !important;
    color:var(--theme-success,#2f855a) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .alerta-error{
    background:color-mix(in srgb, var(--theme-danger,#b91c1c) 10%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-danger,#b91c1c) 30%, var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .opsbot-fab{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .opsbot-chip{
    background:color-mix(in srgb, var(--theme-primary) 10%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 28%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .opsbot-close{
    background:var(--theme-panel-2) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .opsbot-action{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .login-protector{
    background:linear-gradient(135deg,#06111d,#102532,#1c2f2c) !important;
    color:#f8fafc !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .protector-shell *:not(.protector-asistencia-form button){
    text-shadow:none;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .protector-panel{
    background:rgba(6,17,29,.88) !important;
    border-color:rgba(96,165,250,.22) !important;
    color:#f8fafc !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .protector-panel h2,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .protector-empleado-info strong,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .protector-brand h1{
    color:#ffffff !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .protector-empleado-info span,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .protector-brand span,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .protector-panel-heading span{
    color:#a7f3d0 !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-marca strong{
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-marca small{
    color:var(--theme-muted) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-input{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-input input{
    background:transparent !important;
    color:var(--theme-text) !important;
    border:0 !important;
    box-shadow:none !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-input input::placeholder{
    color:var(--theme-muted) !important;
    opacity:.7 !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-input button{
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-inteligente-lista li{
    background:color-mix(in srgb, var(--theme-primary) 8%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 22%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-inteligente-reporte{
    background:color-mix(in srgb, var(--theme-primary) 8%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 22%, var(--theme-border)) !important;
    color:var(--theme-primary) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-simulador label{
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-simulador strong{
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-simulador p{
    background:color-mix(in srgb, var(--theme-success,#2f855a) 10%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-success,#2f855a) 28%, var(--theme-border)) !important;
    color:var(--theme-success,#2f855a) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-integrado{
    background:var(--theme-panel-2) !important;
    border-color:color-mix(in srgb,var(--theme-primary) 30%,var(--theme-border)) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-header strong{
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-subtitulo{
    color:var(--theme-muted) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-kpis{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-kpis>div span{
    color:var(--theme-muted) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-kpis>div strong{
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-badge{
    color:var(--theme-muted) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-etiqueta-min,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-etiqueta-max{
    color:var(--theme-muted) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-analisis.neutro{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-muted) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-analisis.positivo{
    background:color-mix(in srgb,var(--theme-success,#15803d) 10%,var(--theme-panel)) !important;
    border-color:color-mix(in srgb,var(--theme-success,#15803d) 30%,var(--theme-border)) !important;
    color:var(--theme-success,#15803d) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-sim-analisis.negativo{
    background:color-mix(in srgb,var(--theme-danger,#b91c1c) 10%,var(--theme-panel)) !important;
    border-color:color-mix(in srgb,var(--theme-danger,#b91c1c) 30%,var(--theme-border)) !important;
    color:var(--theme-danger,#b91c1c) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .resumen-venta .total-final{
    background:color-mix(in srgb, var(--theme-primary) 10%, var(--theme-panel)) !important;
    border-color:color-mix(in srgb, var(--theme-primary) 30%, var(--theme-border)) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .resumen-venta .total-final strong{
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-kpi span{
    color:var(--theme-muted) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-kpi strong{
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-kpi small{
    color:var(--theme-muted) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .ventas-page .ventas-header h1{
    color:var(--theme-text) !important;
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .ventas-page .ventas-header p{
    color:var(--theme-muted) !important;
}


body[data-visual-theme]:not([data-visual-theme="blackstock"]) .no-permitido{
    color:var(--theme-muted) !important;
}



body[data-visual-theme="claro"] th,
body[data-visual-theme="menta"] th,
body[data-visual-theme="lavanda"] th,
body[data-visual-theme="cielo"] th,
body[data-visual-theme="arena"] th,
body[data-visual-theme="salvia"] th{
    color:var(--theme-muted) !important;
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
}


body[data-visual-theme="claro"] td,
body[data-visual-theme="menta"] td,
body[data-visual-theme="lavanda"] td,
body[data-visual-theme="cielo"] td,
body[data-visual-theme="arena"] td,
body[data-visual-theme="salvia"] td{
    color:var(--theme-text) !important;
}




















body.dashboard-pro-body{
    --dash-panel:rgba(15,35,60,.92);
    --dash-panel-2:rgba(30,58,95,.42);
    --dash-soft:rgba(37,99,235,.16);
    --dash-text:var(--theme-text,#f8fafc);
    --dash-muted:var(--theme-muted,#94a3b8);
    --dash-border:rgba(148,163,184,.22);
    --dash-primary:var(--theme-primary,var(--azul-primario));
    --dash-primary-2:var(--theme-primary-2,var(--azul-brillo));
    --dash-shadow:0 18px 34px rgba(0,0,0,.22);
}

body.dashboard-pro-body:is(
[data-visual-theme="claro"],
[data-visual-theme="menta"],
[data-visual-theme="lavanda"],
[data-visual-theme="cielo"],
[data-visual-theme="arena"],
[data-visual-theme="salvia"]
){
    --dash-panel:var(--theme-panel,#ffffff);
    --dash-panel-2:var(--theme-panel-2,#eef4fb);
    --dash-soft:var(--theme-bg-soft,#eef4fb);
    --dash-text:var(--theme-text,#172033);
    --dash-muted:var(--theme-muted,#64748b);
    --dash-border:var(--theme-border,rgba(37,99,235,.16));
    --dash-primary:var(--theme-primary,var(--azul-primario));
    --dash-primary-2:var(--theme-primary-2,var(--azul-brillo));
    --dash-shadow:0 18px 34px rgba(15,23,42,.08);
}

body.dashboard-pro-body .dashboard-pro-kpi,
body.dashboard-pro-body .dashboard-chart-card,
body.dashboard-pro-body .dashboard-asistente-panel,
body.dashboard-pro-body .dashboard-inteligente-card{
    background:linear-gradient(145deg,var(--dash-panel),var(--dash-panel-2)) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
    box-shadow:var(--dash-shadow) !important;
}

body.dashboard-pro-body .dashboard-ejecutivo-header h1,
body.dashboard-pro-body .dashboard-chart-header h2,
body.dashboard-pro-body .dashboard-pro-kpi strong,
body.dashboard-pro-body .dashboard-asistente-header h2,
body.dashboard-pro-body .dashboard-respuesta-contenido h4,
body.dashboard-pro-body .dashboard-respuesta-metricas strong,
body.dashboard-pro-body .dashboard-inteligente-card h3,
body.dashboard-pro-body .dashboard-inteligente-fila-principal strong,
body.dashboard-pro-body .dashboard-inteligente-semaforo-item strong{
    color:var(--dash-text) !important;
    text-shadow:none !important;
}

body.dashboard-pro-body .dashboard-ejecutivo-header p,
body.dashboard-pro-body .dashboard-chart-header p,
body.dashboard-pro-body .dashboard-pro-kpi span,
body.dashboard-pro-body .dashboard-pro-kpi small,
body.dashboard-pro-body .dashboard-asistente-header p,
body.dashboard-pro-body .dashboard-asistente-seccion h3,
body.dashboard-pro-body .dashboard-respuesta-header h3,
body.dashboard-pro-body .dashboard-respuesta-contenido p,
body.dashboard-pro-body .dashboard-respuesta-metricas span,
body.dashboard-pro-body .dashboard-inteligente-fila-principal small,
body.dashboard-pro-body .dashboard-inteligente-semaforo-item p{
    color:var(--dash-muted) !important;
    text-shadow:none !important;
}

body.dashboard-pro-body .dashboard-asistente-panel{
    overflow:visible !important;
}

body.dashboard-pro-body .dashboard-asistente-botones{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button{
    min-height:48px !important;
    height:auto !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    background:var(--dash-soft) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
    font-size:12.5px !important;
    font-weight:850 !important;
    line-height:1.25 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    box-shadow:none !important;
    transform:none !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button *,
body.dashboard-pro-body .dashboard-asistente-acciones button *,
body.dashboard-pro-body .dashboard-asistente-input button *{
    color:inherit !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button:hover,
body.dashboard-pro-body .dashboard-asistente-botones button.activo{
    background:linear-gradient(135deg,var(--dash-primary),var(--dash-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body.dashboard-pro-body .dashboard-respuesta-card{
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) !important;
    gap:14px !important;
    padding:16px !important;
    border-radius:18px !important;
    background:var(--dash-soft) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
    overflow:visible !important;
}

body.dashboard-pro-body .dashboard-respuesta-icono{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    border-radius:16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#ffffff !important;
}

body.dashboard-pro-body .dashboard-respuesta-contenido{
    min-width:0 !important;
    overflow:visible !important;
}

body.dashboard-pro-body .dashboard-respuesta-contenido h4{
    margin:0 0 6px !important;
    font-size:17px !important;
    line-height:1.25 !important;
    overflow-wrap:anywhere !important;
}

body.dashboard-pro-body .dashboard-respuesta-contenido p{
    margin:0 !important;
    font-size:13.5px !important;
    line-height:1.45 !important;
    overflow-wrap:anywhere !important;
}

body.dashboard-pro-body .dashboard-respuesta-metricas{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;
    margin-top:14px !important;
}

body.dashboard-pro-body .dashboard-respuesta-metricas div{
    min-width:0 !important;
    padding:10px !important;
    border-radius:14px !important;
    background:var(--dash-panel) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
    overflow:hidden !important;
}

body.dashboard-pro-body .dashboard-respuesta-metricas span,
body.dashboard-pro-body .dashboard-respuesta-metricas strong{
    display:block !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
}

body.dashboard-pro-body .dashboard-asistente-input{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 50px !important;
    gap:10px !important;
    align-items:center !important;
    min-height:56px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:var(--dash-panel) !important;
    border:1px solid var(--dash-border) !important;
}

body.dashboard-pro-body .dashboard-asistente-input input{
    min-width:0 !important;
    width:100% !important;
    height:42px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:0 !important;
    background:transparent !important;
    color:var(--dash-text) !important;
    box-shadow:none !important;
}

body.dashboard-pro-body .dashboard-asistente-input input::placeholder{
    color:var(--dash-muted) !important;
    opacity:.72 !important;
}

body.dashboard-pro-body .dashboard-asistente-input button{
    width:50px !important;
    min-width:50px !important;
    height:46px !important;
    padding:0 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,var(--dash-primary),var(--dash-primary-2)) !important;
    color:#ffffff !important;
    border:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

body.dashboard-pro-body .dashboard-asistente-acciones{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;
}

body.dashboard-pro-body .dashboard-asistente-acciones button{
    min-height:44px !important;
    height:auto !important;
    padding:9px 8px !important;
    border-radius:14px !important;
    background:var(--dash-soft) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
    font-size:12px !important;
    font-weight:850 !important;
    line-height:1.2 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:center !important;
}

body.dashboard-pro-body .dashboard-asistente-acciones button:hover{
    background:linear-gradient(135deg,var(--dash-primary),var(--dash-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body.dashboard-pro-body .dashboard-inteligente-fila,
body.dashboard-pro-body .dashboard-inteligente-lista li,
body.dashboard-pro-body .dashboard-inteligente-semaforo-item,
body.dashboard-pro-body .dashboard-tabla-compacta tr{
    background:var(--dash-soft) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
}

body.dashboard-pro-body .dashboard-tabla-compacta td{
    color:var(--dash-text) !important;
    border-color:var(--dash-border) !important;
}

body.dashboard-pro-body .dashboard-tabla-dato span,
body.dashboard-pro-body .dashboard-inteligente-fila-metricas span{
    background:var(--dash-panel) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
}

body.dashboard-pro-body:is(
[data-visual-theme="claro"],
[data-visual-theme="menta"],
[data-visual-theme="lavanda"],
[data-visual-theme="cielo"],
[data-visual-theme="arena"],
[data-visual-theme="salvia"]
) .dashboard-asistente-botones button:not(.activo){
    background:var(--dash-soft) !important;
    color:var(--dash-text) !important;
}

body.dashboard-pro-body:is(
[data-visual-theme="claro"],
[data-visual-theme="menta"],
[data-visual-theme="lavanda"],
[data-visual-theme="cielo"],
[data-visual-theme="arena"],
[data-visual-theme="salvia"]
) .dashboard-asistente-botones button:not(.activo) *,
body.dashboard-pro-body:is(
[data-visual-theme="claro"],
[data-visual-theme="menta"],
[data-visual-theme="lavanda"],
[data-visual-theme="cielo"],
[data-visual-theme="arena"],
[data-visual-theme="salvia"]
) .dashboard-asistente-acciones button:not(:hover) *{
    color:var(--dash-text) !important;
}

@media (max-width:1100px){
    body.dashboard-pro-body .dashboard-asistente-panel{
        position:relative !important;
        top:auto !important;
        max-width:100% !important;
    }
}

@media (max-width:768px){
    body.dashboard-pro-body .dashboard-asistente-botones{
        grid-template-columns:1fr !important;
    }

    body.dashboard-pro-body .dashboard-respuesta-card{
        grid-template-columns:1fr !important;
    }

    body.dashboard-pro-body .dashboard-respuesta-icono{
        margin-bottom:2px !important;
    }

    body.dashboard-pro-body .dashboard-respuesta-metricas{
        grid-template-columns:1fr !important;
    }

    body.dashboard-pro-body .dashboard-asistente-acciones{
        grid-template-columns:1fr !important;
    }
}
body[data-visual-theme]:not([data-visual-theme="blackstock"]){
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) input,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) select,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) textarea{
    background:var(--theme-panel-2) !important;
    color:var(--theme-text) !important;
    border:1px solid var(--theme-border) !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) input::placeholder,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) textarea::placeholder{
    color:var(--theme-muted) !important;
    opacity:.74 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) select option{
    background:var(--theme-panel) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) label{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-secundario{
    background:var(--theme-panel-2) !important;
    color:var(--theme-text) !important;
    border:1px solid var(--theme-border) !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .btn-principal,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) button[type="submit"]:not(.btn-eliminar):not(.btn-logout):not(.btn-eliminar-rol){
    background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body.dashboard-pro-body{
    --dash-panel:rgba(15,35,60,.92);
    --dash-panel-2:rgba(30,58,95,.42);
    --dash-soft:rgba(37,99,235,.16);
    --dash-text:#f8fafc;
    --dash-muted:#94a3b8;
    --dash-border:rgba(148,163,184,.22);
    --dash-primary:var(--azul-primario);
    --dash-primary-2:var(--azul-brillo);
    --dash-shadow:0 18px 34px rgba(0,0,0,.22);
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body{
    --dash-panel:var(--theme-panel,#ffffff);
    --dash-panel-2:var(--theme-panel-2,#eef4fb);
    --dash-soft:var(--theme-bg-soft,#eef4fb);
    --dash-text:var(--theme-text,#172033);
    --dash-muted:var(--theme-muted,#64748b);
    --dash-border:var(--theme-border,rgba(37,99,235,.16));
    --dash-primary:var(--theme-primary,var(--azul-primario));
    --dash-primary-2:var(--theme-primary-2,var(--azul-brillo));
    --dash-shadow:0 18px 34px rgba(15,23,42,.08);
    background:var(--bg-gradiente) !important;
    background-color:var(--bg-oscuro) !important;
    color:var(--dash-text) !important;
}

body.dashboard-pro-body .dashboard-ejecutivo,
body.dashboard-pro-body .dashboard-layout-principal,
body.dashboard-pro-body .dashboard-columna-principal,
body.dashboard-pro-body .dashboard-columna-lateral{
    min-width:0 !important;
}

body.dashboard-pro-body .dashboard-layout-principal{
    grid-template-columns:minmax(0,1fr) minmax(350px,405px) !important;
}

body.dashboard-pro-body .dashboard-pro-kpi,
body.dashboard-pro-body .dashboard-chart-card,
body.dashboard-pro-body .dashboard-asistente-panel,
body.dashboard-pro-body .dashboard-inteligente-card,
body.dashboard-pro-body .dashboard-respuesta-card{
    background:linear-gradient(145deg,var(--dash-panel),var(--dash-panel-2)) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
    box-shadow:var(--dash-shadow) !important;
}

body.dashboard-pro-body .dashboard-chart-card canvas{
    max-width:100% !important;
}

body.dashboard-pro-body .dashboard-ejecutivo-header h1,
body.dashboard-pro-body .dashboard-chart-header h2,
body.dashboard-pro-body .dashboard-pro-kpi strong,
body.dashboard-pro-body .dashboard-asistente-header h2,
body.dashboard-pro-body .dashboard-respuesta-contenido h4,
body.dashboard-pro-body .dashboard-respuesta-metricas strong,
body.dashboard-pro-body .dashboard-inteligente-card h3,
body.dashboard-pro-body .dashboard-inteligente-fila-principal strong,
body.dashboard-pro-body .dashboard-inteligente-semaforo-item strong,
body.dashboard-pro-body .dashboard-tabla-compacta td{
    color:var(--dash-text) !important;
    text-shadow:none !important;
}

body.dashboard-pro-body .dashboard-ejecutivo-header p,
body.dashboard-pro-body .dashboard-chart-header p,
body.dashboard-pro-body .dashboard-pro-kpi span,
body.dashboard-pro-body .dashboard-pro-kpi small,
body.dashboard-pro-body .dashboard-asistente-header p,
body.dashboard-pro-body .dashboard-asistente-seccion h3,
body.dashboard-pro-body .dashboard-respuesta-header h3,
body.dashboard-pro-body .dashboard-respuesta-header span,
body.dashboard-pro-body .dashboard-respuesta-contenido p,
body.dashboard-pro-body .dashboard-respuesta-metricas span,
body.dashboard-pro-body .dashboard-inteligente-fila-principal small,
body.dashboard-pro-body .dashboard-inteligente-semaforo-item p{
    color:var(--dash-muted) !important;
    text-shadow:none !important;
}

body.dashboard-pro-body .dashboard-asistente-panel{
    overflow:visible !important;
}

body.dashboard-pro-body .dashboard-asistente-botones{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button,
body.dashboard-pro-body .dashboard-asistente-acciones button{
    min-height:48px !important;
    height:auto !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    background:var(--dash-soft) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
    font-size:12.5px !important;
    font-weight:850 !important;
    line-height:1.25 !important;
    white-space:normal !important;
    overflow:visible !important;
    box-shadow:none !important;
    transform:none !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    text-align:left !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(.active),
body.dashboard-pro-body .dashboard-asistente-acciones button:not(.activo):not(.active){
    background:var(--dash-soft) !important;
    color:var(--dash-text) !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(.active) *,
body.dashboard-pro-body .dashboard-asistente-acciones button:not(.activo):not(.active) *,
body.dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(.active)::before,
body.dashboard-pro-body .dashboard-asistente-acciones button:not(.activo):not(.active)::before{
    color:var(--dash-text) !important;
    fill:currentColor !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button:hover,
body.dashboard-pro-body .dashboard-asistente-botones button.activo,
body.dashboard-pro-body .dashboard-asistente-botones button.active,
body.dashboard-pro-body .dashboard-asistente-acciones button:hover,
body.dashboard-pro-body .dashboard-asistente-acciones button.activo,
body.dashboard-pro-body .dashboard-asistente-acciones button.active{
    background:linear-gradient(135deg,var(--dash-primary),var(--dash-primary-2)) !important;
    color:#ffffff !important;
    border-color:transparent !important;
}

body.dashboard-pro-body .dashboard-asistente-botones button:hover *,
body.dashboard-pro-body .dashboard-asistente-botones button.activo *,
body.dashboard-pro-body .dashboard-asistente-botones button.active *,
body.dashboard-pro-body .dashboard-asistente-acciones button:hover *,
body.dashboard-pro-body .dashboard-asistente-acciones button.activo *,
body.dashboard-pro-body .dashboard-asistente-acciones button.active *{
    color:#ffffff !important;
}

body.dashboard-pro-body .dashboard-asistente-input{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 50px !important;
    gap:10px !important;
    align-items:center !important;
    min-height:56px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:var(--dash-panel) !important;
    border:1px solid var(--dash-border) !important;
}

body.dashboard-pro-body .dashboard-asistente-input input{
    min-width:0 !important;
    width:100% !important;
    height:42px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:0 !important;
    background:transparent !important;
    color:var(--dash-text) !important;
    box-shadow:none !important;
}

body.dashboard-pro-body .dashboard-asistente-input input::placeholder{
    color:var(--dash-muted) !important;
    opacity:.72 !important;
}

body.dashboard-pro-body .dashboard-asistente-input button{
    width:50px !important;
    min-width:50px !important;
    height:46px !important;
    padding:0 !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,var(--dash-primary),var(--dash-primary-2)) !important;
    color:#ffffff !important;
    border:0 !important;
}

body.dashboard-pro-body .dashboard-respuesta-card{
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) !important;
    gap:14px !important;
    padding:16px !important;
    border-radius:18px !important;
    overflow:visible !important;
}

body.dashboard-pro-body .dashboard-respuesta-contenido{
    min-width:0 !important;
    overflow:visible !important;
}

body.dashboard-pro-body .dashboard-respuesta-contenido h4,
body.dashboard-pro-body .dashboard-respuesta-contenido p{
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}

body.dashboard-pro-body .dashboard-respuesta-metricas{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;
    margin-top:14px !important;
}

body.dashboard-pro-body .dashboard-respuesta-metricas div,
body.dashboard-pro-body .dashboard-inteligente-fila,
body.dashboard-pro-body .dashboard-inteligente-lista li,
body.dashboard-pro-body .dashboard-inteligente-semaforo-item,
body.dashboard-pro-body .dashboard-tabla-compacta tr,
body.dashboard-pro-body .dashboard-tabla-dato span,
body.dashboard-pro-body .dashboard-inteligente-fila-metricas span{
    background:var(--dash-soft) !important;
    border:1px solid var(--dash-border) !important;
    color:var(--dash-text) !important;
}

body.dashboard-pro-body .dashboard-respuesta-metricas span,
body.dashboard-pro-body .dashboard-respuesta-metricas strong{
    display:block !important;
    overflow-wrap:anywhere !important;
}

body.historial-page{
    color:var(--theme-text,var(--texto-principal)) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).historial-page .contenedor-tabla{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:0 18px 34px rgba(15,23,42,.08) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).historial-page .historial-resumen article{
    background:color-mix(in srgb,var(--theme-panel) 86%,var(--theme-bg-soft)) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).historial-page .historial-resumen span{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).historial-page .historial-resumen strong{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).historial-page .tabla-historial th{
    color:var(--theme-muted) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).historial-page .tabla-historial td{
    background:color-mix(in srgb,var(--theme-panel) 88%,var(--theme-bg-soft)) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body.historial-page .tabla-historial .btn-accion,
body.historial-page .tabla-historial a.btn-accion{
    min-width:86px !important;
    min-height:42px !important;
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    color:#ffffff !important;
    border:0 !important;
    border-radius:10px !important;
    text-decoration:none !important;
}

body.historial-page .tabla-historial button,
body.historial-page .tabla-historial input[type="submit"],
body.historial-page .tabla-historial .btn-cancelar,
body.historial-page .tabla-historial .btn-eliminar{
    width:auto !important;
    min-width:86px !important;
    min-height:42px !important;
    padding:9px 14px !important;
    background:linear-gradient(135deg,#dc2626,#ef4444) !important;
    color:#ffffff !important;
    border:0 !important;
    border-radius:10px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    box-shadow:none !important;
    opacity:1 !important;
}

body.historial-page .tabla-historial button:disabled,
body.historial-page .tabla-historial input[type="submit"]:disabled{
    background:#cbd5e1 !important;
    color:#64748b !important;
    cursor:not-allowed !important;
}

body.registro-usuario-page{
    color:var(--theme-text,var(--texto-principal)) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .registro-usuario-formulario,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .registro-roles-info,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .roles-registrados-card,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .crear-rol-box{
    background:var(--theme-panel) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
    box-shadow:0 18px 34px rgba(15,23,42,.08) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .registro-usuario-header .titulo,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .registro-usuario-formulario h2,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .registro-roles-info h2,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .roles-registrados-card h2,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .rol-scroll-item span{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .registro-usuario-header p,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .texto-ayuda-rol,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .roles-scroll-box p,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page #registroUsuarioAutosaveEstado,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page #registroRolAutosaveEstado{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .registro-usuario-formulario input,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .registro-usuario-formulario select,
body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .form-crear-rol input{
    background:var(--theme-panel-2) !important;
    color:var(--theme-text) !important;
    border:1px solid var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .rol-scroll-item{
    background:var(--theme-panel-2) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .btn-eliminar-rol{
    background:color-mix(in srgb,#ef4444 12%,var(--theme-panel)) !important;
    border:1px solid color-mix(in srgb,#ef4444 40%,var(--theme-border)) !important;
    color:#b91c1c !important;
    box-shadow:none !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).registro-usuario-page .btn-eliminar-rol:hover{
    background:color-mix(in srgb,#ef4444 20%,var(--theme-panel)) !important;
    color:#991b1b !important;
}

@media (max-width:1450px){
    body.dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    body.dashboard-pro-body .dashboard-asistente-panel{
        position:relative !important;
        top:auto !important;
        width:100% !important;
        max-width:none !important;
    }
}

@media (max-width:900px){
    body.dashboard-pro-body .dashboard-ejecutivo{
        padding:16px 14px 28px !important;
    }

    body.dashboard-pro-body .dashboard-asistente-botones{
        grid-template-columns:1fr !important;
    }

    body.dashboard-pro-body .dashboard-respuesta-card{
        grid-template-columns:1fr !important;
    }

    body.dashboard-pro-body .dashboard-respuesta-metricas{
        grid-template-columns:1fr !important;
    }

    body.historial-page .tabla-historial button,
    body.historial-page .tabla-historial input[type="submit"],
    body.historial-page .tabla-historial .btn-cancelar,
    body.historial-page .tabla-historial .btn-eliminar,
    body.historial-page .tabla-historial .btn-accion,
    body.historial-page .tabla-historial a.btn-accion{
        width:100% !important;
        min-width:0 !important;
    }
}




body[data-visual-theme="claro"].dashboard-pro-body,
body[data-visual-theme="menta"].dashboard-pro-body,
body[data-visual-theme="lavanda"].dashboard-pro-body,
body[data-visual-theme="cielo"].dashboard-pro-body,
body[data-visual-theme="arena"].dashboard-pro-body,
body[data-visual-theme="salvia"].dashboard-pro-body{
    --fix-texto-fuerte:#1f2937;
    --fix-texto-suave:#64748b;
    --fix-panel-suave:#eef4fb;
    --fix-borde:#c7dcff;
    --fix-rojo:#b91c1c;
    --fix-rojo-bg:#fee2e2;
    --fix-rojo-borde:#fca5a5;
}

body[data-visual-theme="claro"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover),
body[data-visual-theme="menta"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover),
body[data-visual-theme="lavanda"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover),
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover),
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover),
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover){
    background:var(--theme-panel-2,var(--fix-panel-suave)) !important;
    border:1px solid var(--theme-border,var(--fix-borde)) !important;
    color:var(--theme-text,var(--fix-texto-fuerte)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--fix-texto-fuerte)) !important;
    opacity:1 !important;
    text-shadow:none !important;
    box-shadow:none !important;
    filter:none !important;
}

body[data-visual-theme="claro"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover) *,
body[data-visual-theme="menta"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover) *,
body[data-visual-theme="lavanda"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover) *,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover) *,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover) *,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-botones button:not(.activo):not(:hover) *{
    color:var(--theme-text,var(--fix-texto-fuerte)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--fix-texto-fuerte)) !important;
    text-shadow:none !important;
    opacity:1 !important;
}

body[data-visual-theme="claro"].dashboard-pro-body .dashboard-asistente-botones button.activo,
body[data-visual-theme="menta"].dashboard-pro-body .dashboard-asistente-botones button.activo,
body[data-visual-theme="lavanda"].dashboard-pro-body .dashboard-asistente-botones button.activo,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-botones button.activo,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-botones button.activo,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-botones button.activo{
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:transparent !important;
}

body[data-visual-theme="claro"].dashboard-pro-body .dashboard-asistente-botones button.activo *,
body[data-visual-theme="menta"].dashboard-pro-body .dashboard-asistente-botones button.activo *,
body[data-visual-theme="lavanda"].dashboard-pro-body .dashboard-asistente-botones button.activo *,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-botones button.activo *,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-botones button.activo *,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-botones button.activo *{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

body[data-visual-theme="claro"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="menta"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="lavanda"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-seccion h3,
body[data-visual-theme="claro"].dashboard-pro-body .dashboard-respuesta-header h3,
body[data-visual-theme="menta"].dashboard-pro-body .dashboard-respuesta-header h3,
body[data-visual-theme="lavanda"].dashboard-pro-body .dashboard-respuesta-header h3,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-respuesta-header h3,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-respuesta-header h3,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-respuesta-header h3{
    color:var(--theme-muted,var(--fix-texto-suave)) !important;
    -webkit-text-fill-color:var(--theme-muted,var(--fix-texto-suave)) !important;
    text-shadow:none !important;
}

body[data-visual-theme="claro"].dashboard-pro-body .dashboard-asistente-input input,
body[data-visual-theme="menta"].dashboard-pro-body .dashboard-asistente-input input,
body[data-visual-theme="lavanda"].dashboard-pro-body .dashboard-asistente-input input,
body[data-visual-theme="cielo"].dashboard-pro-body .dashboard-asistente-input input,
body[data-visual-theme="arena"].dashboard-pro-body .dashboard-asistente-input input,
body[data-visual-theme="salvia"].dashboard-pro-body .dashboard-asistente-input input{
    color:var(--theme-text,var(--fix-texto-fuerte)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--fix-texto-fuerte)) !important;
}

body[data-visual-theme="claro"].registro-usuario-page .btn-eliminar-rol,
body[data-visual-theme="menta"].registro-usuario-page .btn-eliminar-rol,
body[data-visual-theme="lavanda"].registro-usuario-page .btn-eliminar-rol,
body[data-visual-theme="cielo"].registro-usuario-page .btn-eliminar-rol,
body[data-visual-theme="arena"].registro-usuario-page .btn-eliminar-rol,
body[data-visual-theme="salvia"].registro-usuario-page .btn-eliminar-rol,
body[data-visual-theme="claro"].registro-usuario-page .rol-scroll-item a[href*="eliminar"],
body[data-visual-theme="menta"].registro-usuario-page .rol-scroll-item a[href*="eliminar"],
body[data-visual-theme="lavanda"].registro-usuario-page .rol-scroll-item a[href*="eliminar"],
body[data-visual-theme="cielo"].registro-usuario-page .rol-scroll-item a[href*="eliminar"],
body[data-visual-theme="arena"].registro-usuario-page .rol-scroll-item a[href*="eliminar"],
body[data-visual-theme="salvia"].registro-usuario-page .rol-scroll-item a[href*="eliminar"]{
    background:var(--fix-rojo-bg) !important;
    border:1px solid var(--fix-rojo-borde) !important;
    color:var(--fix-rojo) !important;
    -webkit-text-fill-color:var(--fix-rojo) !important;
    opacity:1 !important;
    text-shadow:none !important;
    box-shadow:none !important;
}

body[data-visual-theme="claro"].registro-usuario-page .btn-eliminar-rol *,
body[data-visual-theme="menta"].registro-usuario-page .btn-eliminar-rol *,
body[data-visual-theme="lavanda"].registro-usuario-page .btn-eliminar-rol *,
body[data-visual-theme="cielo"].registro-usuario-page .btn-eliminar-rol *,
body[data-visual-theme="arena"].registro-usuario-page .btn-eliminar-rol *,
body[data-visual-theme="salvia"].registro-usuario-page .btn-eliminar-rol *{
    color:var(--fix-rojo) !important;
    -webkit-text-fill-color:var(--fix-rojo) !important;
}

body[data-visual-theme="claro"].registro-usuario-page .btn-eliminar-rol:hover,
body[data-visual-theme="menta"].registro-usuario-page .btn-eliminar-rol:hover,
body[data-visual-theme="lavanda"].registro-usuario-page .btn-eliminar-rol:hover,
body[data-visual-theme="cielo"].registro-usuario-page .btn-eliminar-rol:hover,
body[data-visual-theme="arena"].registro-usuario-page .btn-eliminar-rol:hover,
body[data-visual-theme="salvia"].registro-usuario-page .btn-eliminar-rol:hover{
    background:#fecaca !important;
    border-color:#f87171 !important;
    color:#7f1d1d !important;
    -webkit-text-fill-color:#7f1d1d !important;
    transform:translateY(-1px) !important;
}

body[data-visual-theme="claro"].registro-usuario-page .rol-scroll-item,
body[data-visual-theme="menta"].registro-usuario-page .rol-scroll-item,
body[data-visual-theme="lavanda"].registro-usuario-page .rol-scroll-item,
body[data-visual-theme="cielo"].registro-usuario-page .rol-scroll-item,
body[data-visual-theme="arena"].registro-usuario-page .rol-scroll-item,
body[data-visual-theme="salvia"].registro-usuario-page .rol-scroll-item{
    background:var(--theme-panel-2,var(--fix-panel-suave)) !important;
    border:1px solid var(--theme-border,var(--fix-borde)) !important;
}

body[data-visual-theme="claro"].registro-usuario-page .rol-scroll-item span,
body[data-visual-theme="menta"].registro-usuario-page .rol-scroll-item span,
body[data-visual-theme="lavanda"].registro-usuario-page .rol-scroll-item span,
body[data-visual-theme="cielo"].registro-usuario-page .rol-scroll-item span,
body[data-visual-theme="arena"].registro-usuario-page .rol-scroll-item span,
body[data-visual-theme="salvia"].registro-usuario-page .rol-scroll-item span{
    color:var(--theme-text,var(--fix-texto-fuerte)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--fix-texto-fuerte)) !important;
}

body[data-visual-theme="claro"].registro-usuario-page .roles-scroll-lista,
body[data-visual-theme="menta"].registro-usuario-page .roles-scroll-lista,
body[data-visual-theme="lavanda"].registro-usuario-page .roles-scroll-lista,
body[data-visual-theme="cielo"].registro-usuario-page .roles-scroll-lista,
body[data-visual-theme="arena"].registro-usuario-page .roles-scroll-lista,
body[data-visual-theme="salvia"].registro-usuario-page .roles-scroll-lista{
    scrollbar-color:var(--theme-primary,var(--azul-primario)) var(--theme-panel-2,var(--fix-panel-suave)) !important;
}

body[data-visual-theme="claro"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb,
body[data-visual-theme="menta"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb,
body[data-visual-theme="lavanda"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb,
body[data-visual-theme="cielo"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb,
body[data-visual-theme="arena"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb,
body[data-visual-theme="salvia"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb{
    background:var(--theme-primary,var(--azul-primario)) !important;
}

body[data-visual-theme="claro"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-track,
body[data-visual-theme="menta"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-track,
body[data-visual-theme="lavanda"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-track,
body[data-visual-theme="cielo"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-track,
body[data-visual-theme="arena"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-track,
body[data-visual-theme="salvia"].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-track{
    background:var(--theme-panel-2,var(--fix-panel-suave)) !important;
}

html[data-visual-theme="claro"] body.registro-usuario-page,
html[data-visual-theme="menta"] body.registro-usuario-page,
html[data-visual-theme="lavanda"] body.registro-usuario-page,
html[data-visual-theme="cielo"] body.registro-usuario-page,
html[data-visual-theme="arena"] body.registro-usuario-page,
html[data-visual-theme="salvia"] body.registro-usuario-page,
body[data-visual-theme="claro"].registro-usuario-page,
body[data-visual-theme="menta"].registro-usuario-page,
body[data-visual-theme="lavanda"].registro-usuario-page,
body[data-visual-theme="cielo"].registro-usuario-page,
body[data-visual-theme="arena"].registro-usuario-page,
body[data-visual-theme="salvia"].registro-usuario-page{
    --rol-card-bg:#f8fbff;
    --rol-card-bg-2:#eef5ff;
    --rol-card-border:#9fc1ff;
    --rol-card-text:#172033;
    --rol-card-shadow:0 10px 22px rgba(37,99,235,.10);
    --rol-danger-bg:#dc2626;
    --rol-danger-bg-hover:#b91c1c;
    --rol-danger-border:#991b1b;
    --rol-danger-text:#ffffff;
}

html[data-visual-theme="menta"] body.registro-usuario-page,
body[data-visual-theme="menta"].registro-usuario-page{
    --rol-card-bg:#f5fffa;
    --rol-card-bg-2:#e7f7ef;
    --rol-card-border:#79c6a2;
    --rol-card-shadow:0 10px 22px rgba(4,120,87,.12);
}

html[data-visual-theme="lavanda"] body.registro-usuario-page,
body[data-visual-theme="lavanda"].registro-usuario-page{
    --rol-card-bg:#fcfaff;
    --rol-card-bg-2:#f1ebff;
    --rol-card-border:#c2a7ff;
    --rol-card-shadow:0 10px 22px rgba(109,40,217,.10);
}

html[data-visual-theme="cielo"] body.registro-usuario-page,
body[data-visual-theme="cielo"].registro-usuario-page{
    --rol-card-bg:#f7fcff;
    --rol-card-bg-2:#e7f4fa;
    --rol-card-border:#89bdd0;
    --rol-card-shadow:0 10px 22px rgba(47,111,136,.12);
}

html[data-visual-theme="arena"] body.registro-usuario-page,
body[data-visual-theme="arena"].registro-usuario-page{
    --rol-card-bg:#fffaf1;
    --rol-card-bg-2:#f5ead7;
    --rol-card-border:#d2ae7d;
    --rol-card-shadow:0 10px 22px rgba(138,106,63,.12);
}

html[data-visual-theme="salvia"] body.registro-usuario-page,
body[data-visual-theme="salvia"].registro-usuario-page{
    --rol-card-bg:#f7fcf8;
    --rol-card-bg-2:#e6f1ea;
    --rol-card-border:#91b99f;
    --rol-card-shadow:0 10px 22px rgba(63,111,88,.12);
}

html[data-visual-theme] body.registro-usuario-page .roles-scroll-box,
body[data-visual-theme].registro-usuario-page .roles-scroll-box{
    border-top:1px solid var(--theme-border,#c7dcff) !important;
}

html[data-visual-theme] body.registro-usuario-page .roles-scroll-box h2,
body[data-visual-theme].registro-usuario-page .roles-scroll-box h2{
    color:var(--theme-text,#172033) !important;
    -webkit-text-fill-color:var(--theme-text,#172033) !important;
    text-shadow:none !important;
}

html[data-visual-theme] body.registro-usuario-page .roles-scroll-lista,
body[data-visual-theme].registro-usuario-page .roles-scroll-lista{
    padding-right:12px !important;
    gap:14px !important;
}

html[data-visual-theme] body.registro-usuario-page .rol-scroll-item,
body[data-visual-theme].registro-usuario-page .rol-scroll-item{
    min-height:64px !important;
    padding:15px 16px !important;
    border-radius:16px !important;
    background:linear-gradient(145deg,var(--rol-card-bg),var(--rol-card-bg-2)) !important;
    border:1.5px solid var(--rol-card-border) !important;
    box-shadow:var(--rol-card-shadow) !important;
    color:var(--rol-card-text) !important;
}

html[data-visual-theme] body.registro-usuario-page .rol-scroll-item span,
html[data-visual-theme] body.registro-usuario-page .rol-scroll-item strong,
html[data-visual-theme] body.registro-usuario-page .rol-scroll-item p,
body[data-visual-theme].registro-usuario-page .rol-scroll-item span,
body[data-visual-theme].registro-usuario-page .rol-scroll-item strong,
body[data-visual-theme].registro-usuario-page .rol-scroll-item p{
    color:var(--rol-card-text) !important;
    -webkit-text-fill-color:var(--rol-card-text) !important;
    font-weight:900 !important;
    opacity:1 !important;
    text-shadow:none !important;
}

html[data-visual-theme] body.registro-usuario-page .rol-scroll-item .btn-eliminar-rol,
html[data-visual-theme] body.registro-usuario-page .rol-scroll-item a[href*="eliminar"],
body[data-visual-theme].registro-usuario-page .rol-scroll-item .btn-eliminar-rol,
body[data-visual-theme].registro-usuario-page .rol-scroll-item a[href*="eliminar"]{
    width:auto !important;
    min-width:92px !important;
    min-height:38px !important;
    padding:9px 13px !important;
    border-radius:11px !important;
    background:linear-gradient(135deg,#ef4444,var(--rol-danger-bg)) !important;
    border:1px solid var(--rol-danger-border) !important;
    color:var(--rol-danger-text) !important;
    -webkit-text-fill-color:var(--rol-danger-text) !important;
    font-weight:900 !important;
    opacity:1 !important;
    text-shadow:none !important;
    box-shadow:0 8px 16px rgba(220,38,38,.20) !important;
}

html[data-visual-theme] body.registro-usuario-page .rol-scroll-item .btn-eliminar-rol:hover,
html[data-visual-theme] body.registro-usuario-page .rol-scroll-item a[href*="eliminar"]:hover,
body[data-visual-theme].registro-usuario-page .rol-scroll-item .btn-eliminar-rol:hover,
body[data-visual-theme].registro-usuario-page .rol-scroll-item a[href*="eliminar"]:hover{
    background:linear-gradient(135deg,#dc2626,var(--rol-danger-bg-hover)) !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    transform:translateY(-1px) !important;
}

html[data-visual-theme] body.registro-usuario-page .roles-scroll-lista::-webkit-scrollbar,
body[data-visual-theme].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar{
    width:10px !important;
}

html[data-visual-theme] body.registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-track,
body[data-visual-theme].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-track{
    background:var(--rol-card-bg-2) !important;
    border-radius:999px !important;
}

html[data-visual-theme] body.registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb,
body[data-visual-theme].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,var(--theme-primary,#2563eb),var(--theme-primary-2,#0891b2)) !important;
    border-radius:999px !important;
    border:2px solid var(--rol-card-bg-2) !important;
}

html[data-visual-theme] body.registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb:hover,
body[data-visual-theme].registro-usuario-page .roles-scroll-lista::-webkit-scrollbar-thumb:hover{
    background:var(--theme-primary,#2563eb) !important;
}

body.dashboard-pro-body .dashboard-inteligente{
    width:100% !important;
    margin-top:22px !important;
    display:block !important;
}

body.dashboard-pro-body .dashboard-inteligente-grid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:start !important;
    grid-auto-flow:row !important;
}

body.dashboard-pro-body .dashboard-inteligente-card,
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(1),
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(2),
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(3),
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(4),
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(5),
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(6),
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(7),
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(8),
body.dashboard-pro-body .dashboard-inteligente-card:nth-child(9){
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:auto !important;
    height:auto !important;
    margin:0 !important;
    align-self:start !important;
}

body.dashboard-pro-body .dashboard-inteligente-card:first-child{
    grid-column:1 / -1 !important;
}

body.dashboard-pro-body .dashboard-inteligente-card-ancha{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-height:auto !important;
}

body.dashboard-pro-body .dashboard-inteligente-card{
    padding:18px !important;
    border-radius:18px !important;
    overflow:hidden !important;
}

body.dashboard-pro-body .dashboard-inteligente-card h3{
    margin:0 0 14px 0 !important;
    line-height:1.25 !important;
}

body.dashboard-pro-body .dashboard-inteligente-lista{
    display:grid !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
}

body.dashboard-pro-body .dashboard-inteligente-lista li,
body.dashboard-pro-body .dashboard-inteligente-fila,
body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:12px 14px !important;
    border-radius:14px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:12px !important;
    align-items:center !important;
}

body.dashboard-pro-body .dashboard-inteligente-fila-principal,
body.dashboard-pro-body .dashboard-inteligente-fila-principal strong,
body.dashboard-pro-body .dashboard-inteligente-fila-principal small{
    min-width:0 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}

body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:8px !important;
    flex-wrap:wrap !important;
    min-width:0 !important;
}

body.dashboard-pro-body .dashboard-inteligente-fila-metricas span{
    width:auto !important;
    max-width:100% !important;
    white-space:nowrap !important;
    font-size:12px !important;
    line-height:1.2 !important;
}

body.dashboard-pro-body .dashboard-chart-card{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
}

@media (min-width:1181px){
    body.dashboard-pro-body .dashboard-ejecutivo{
        display:block !important;
        grid-template-columns:none !important;
    }

    body.dashboard-pro-body .dashboard-layout-principal{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 420px !important;
        gap:18px !important;
        align-items:start !important;
    }

    body.dashboard-pro-body .dashboard-columna-principal{
        display:flex !important;
        flex-direction:column !important;
        gap:18px !important;
        min-width:0 !important;
    }

    body.dashboard-pro-body .dashboard-inteligente{
        display:block !important;
        grid-column:auto !important;
    }

    body.dashboard-pro-body .dashboard-inteligente-grid{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:1180px){
    body.dashboard-pro-body .dashboard-layout-principal{
        display:block !important;
    }

    body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:760px){
    body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }

    body.dashboard-pro-body .dashboard-inteligente-card:first-child,
    body.dashboard-pro-body .dashboard-inteligente-card-ancha{
        grid-column:auto !important;
    }

    body.dashboard-pro-body .dashboard-inteligente-lista li,
    body.dashboard-pro-body .dashboard-inteligente-fila,
    body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
        grid-template-columns:1fr !important;
    }

    body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
        justify-content:flex-start !important;
    }
}


html body.dashboard-pro-body .dashboard-ejecutivo{
    width:calc(100% - 32px) !important;
    max-width:1420px !important;
    margin:0 auto 28px !important;
    padding:18px 0 28px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-ejecutivo-header{
    margin-bottom:16px !important;
}

html body.dashboard-pro-body .dashboard-pro-kpis{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(185px,1fr)) !important;
    gap:12px !important;
    margin-bottom:16px !important;
}

html body.dashboard-pro-body .dashboard-pro-kpi{
    min-height:96px !important;
    height:auto !important;
    padding:14px !important;
    border-radius:16px !important;
}

html body.dashboard-pro-body .dashboard-layout-principal{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:16px !important;
    align-items:start !important;
    margin:0 0 16px 0 !important;
}

html body.dashboard-pro-body .dashboard-columna-principal{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
    width:100% !important;
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-chart-card{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:18px !important;
    border-radius:18px !important;
}

html body.dashboard-pro-body #graficaVentas{
    height:270px !important;
    max-height:270px !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel{
    width:100% !important;
    max-width:390px !important;
    position:sticky !important;
    top:16px !important;
    align-self:start !important;
    margin:0 !important;
    padding:18px !important;
    border-radius:18px !important;
    max-height:calc(100vh - 34px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
}

html body.dashboard-pro-body .dashboard-inteligente{
    width:100% !important;
    display:block !important;
    margin:16px 0 0 0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-grid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:start !important;
    grid-auto-flow:row !important;
    margin:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card,
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(1),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(2),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(3),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(4),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(5),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(6),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(7),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(8),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(9){
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:18px !important;
    border-radius:18px !important;
    align-self:start !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card-ancha,
html body.dashboard-pro-body .dashboard-decisiones,
html body.dashboard-pro-body .dashboard-decisiones-card{
    grid-column:1 / -1 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card h3{
    margin:0 0 14px 0 !important;
    font-size:17px !important;
    line-height:1.25 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-lista{
    display:grid !important;
    gap:9px !important;
    margin:0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-lista li,
html body.dashboard-pro-body .dashboard-inteligente-fila,
html body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:11px 12px !important;
    border-radius:14px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:center !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal{
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal strong{
    display:block !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    overflow-wrap:anywhere !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal small{
    display:block !important;
    margin-top:3px !important;
    font-size:12px !important;
    line-height:1.25 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:7px !important;
    flex-wrap:wrap !important;
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-metricas span,
html body.dashboard-pro-body .dashboard-tabla-dato span{
    width:auto !important;
    min-width:auto !important;
    max-width:150px !important;
    min-height:26px !important;
    padding:5px 8px !important;
    font-size:11.5px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}

@media (max-width:1180px){
    html body.dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-asistente-panel{
        position:relative !important;
        top:auto !important;
        max-width:100% !important;
        max-height:none !important;
        overflow:visible !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:760px){
    html body.dashboard-pro-body .dashboard-ejecutivo{
        width:100% !important;
        padding:14px !important;
    }

    html body.dashboard-pro-body .dashboard-pro-kpis,
    html body.dashboard-pro-body .dashboard-inteligente-grid,
    html body.dashboard-pro-body .dashboard-asistente-botones,
    html body.dashboard-pro-body .dashboard-respuesta-metricas,
    html body.dashboard-pro-body .dashboard-asistente-acciones{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-lista li,
    html body.dashboard-pro-body .dashboard-inteligente-fila,
    html body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
        justify-content:flex-start !important;
    }

    html body.dashboard-pro-body #graficaVentas{
        height:240px !important;
        max-height:240px !important;
    }
}


html body.dashboard-pro-body{
    padding-top:0 !important;
    overflow-x:hidden !important;
    background:var(--bg-gradiente) !important;
    background-color:var(--bg-oscuro) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
}

html body.dashboard-pro-body .dashboard-ejecutivo{
    width:calc(100% - 32px) !important;
    max-width:1440px !important;
    margin:0 auto 28px auto !important;
    padding:22px 0 32px 0 !important;
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-ejecutivo-header,
html body.dashboard-pro-body .dashboard-pro-kpis,
html body.dashboard-pro-body .dashboard-layout-principal,
html body.dashboard-pro-body .dashboard-columna-principal,
html body.dashboard-pro-body .dashboard-chart-card,
html body.dashboard-pro-body .dashboard-asistente-panel,
html body.dashboard-pro-body .dashboard-inteligente,
html body.dashboard-pro-body .dashboard-inteligente-grid,
html body.dashboard-pro-body .dashboard-inteligente-card{
    grid-column:auto !important;
    grid-row:auto !important;
}

html body.dashboard-pro-body .dashboard-ejecutivo-header{
    display:flex !important;
    justify-content:space-between !important;
    align-items:flex-start !important;
    gap:16px !important;
    margin:0 0 16px 0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-ejecutivo-header h1{
    margin:0 0 6px 0 !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    font-size:32px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-ejecutivo-header p{
    margin:0 !important;
    color:var(--theme-muted,var(--texto-muted)) !important;
    font-size:14px !important;
    line-height:1.35 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-pro-kpis{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(185px,1fr)) !important;
    gap:12px !important;
    margin:0 0 16px 0 !important;
}

html body.dashboard-pro-body .dashboard-pro-kpi{
    min-width:0 !important;
    min-height:92px !important;
    height:auto !important;
    padding:14px !important;
    border-radius:16px !important;
    background:linear-gradient(145deg,var(--theme-panel,rgba(15,35,60,.92)),var(--theme-panel-2,rgba(30,58,95,.42))) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    box-shadow:0 14px 28px rgba(15,23,42,.08) !important;
}

html body.dashboard-pro-body .dashboard-pro-kpi strong{
    color:var(--theme-text,var(--texto-principal)) !important;
    font-size:19px !important;
    line-height:1.15 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-pro-kpi span,
html body.dashboard-pro-body .dashboard-pro-kpi small{
    color:var(--theme-muted,var(--texto-muted)) !important;
    line-height:1.25 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-layout-principal{
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(340px,390px) !important;
    gap:16px !important;
    align-items:start !important;
    margin:0 0 16px 0 !important;
}

html body.dashboard-pro-body .dashboard-columna-principal{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
}

html body.dashboard-pro-body .dashboard-chart-card{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:18px !important;
    border-radius:18px !important;
    background:linear-gradient(145deg,var(--theme-panel,rgba(15,35,60,.92)),var(--theme-panel-2,rgba(30,58,95,.42))) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    box-shadow:0 14px 28px rgba(15,23,42,.08) !important;
    overflow:hidden !important;
}

html body.dashboard-pro-body .dashboard-chart-header{
    margin:0 0 10px 0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-chart-header h2{
    margin:0 0 5px 0 !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    font-size:18px !important;
    line-height:1.25 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-chart-header p,
html body.dashboard-pro-body .dashboard-chart-header span{
    color:var(--theme-muted,var(--texto-muted)) !important;
    font-size:13px !important;
    line-height:1.35 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body #graficaVentas{
    width:100% !important;
    height:260px !important;
    max-height:260px !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel{
    width:100% !important;
    max-width:390px !important;
    min-width:0 !important;
    position:sticky !important;
    top:16px !important;
    align-self:start !important;
    margin:0 !important;
    padding:16px !important;
    border-radius:18px !important;
    max-height:calc(100vh - 32px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    background:linear-gradient(145deg,var(--theme-panel,rgba(15,35,60,.92)),var(--theme-panel-2,rgba(30,58,95,.42))) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    box-shadow:0 14px 28px rgba(15,23,42,.08) !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel::-webkit-scrollbar{
    width:7px !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel::-webkit-scrollbar-track{
    background:transparent !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel::-webkit-scrollbar-thumb{
    background:var(--theme-primary,var(--azul-primario)) !important;
    border-radius:999px !important;
}

html body.dashboard-pro-body .dashboard-asistente-header{
    margin:0 0 10px 0 !important;
}

html body.dashboard-pro-body .dashboard-asistente-logo{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:14px !important;
}

html body.dashboard-pro-body .dashboard-asistente-header h2,
html body.dashboard-pro-body .dashboard-asistente-seccion h3,
html body.dashboard-pro-body .dashboard-respuesta-header h3{
    color:var(--theme-muted,var(--texto-muted)) !important;
    -webkit-text-fill-color:var(--theme-muted,var(--texto-muted)) !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-asistente-botones{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:0 !important;
}

html body.dashboard-pro-body .dashboard-asistente-botones button{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    height:auto !important;
    padding:9px 10px !important;
    border-radius:13px !important;
    background:var(--theme-panel-2,rgba(37,99,235,.14)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--texto-principal)) !important;
    font-size:12px !important;
    font-weight:850 !important;
    line-height:1.2 !important;
    text-align:left !important;
    white-space:normal !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    opacity:1 !important;
    text-shadow:none !important;
    box-shadow:none !important;
    transform:none !important;
}

html body.dashboard-pro-body .dashboard-asistente-botones button *,
html body.dashboard-pro-body .dashboard-asistente-acciones button *{
    color:inherit !important;
    -webkit-text-fill-color:inherit !important;
    opacity:1 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-asistente-botones button:hover,
html body.dashboard-pro-body .dashboard-asistente-botones button.activo{
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    border-color:transparent !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

html body.dashboard-pro-body .dashboard-asistente-input{
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 50px !important;
    gap:8px !important;
    align-items:center !important;
    min-height:52px !important;
    margin:8px 0 12px 0 !important;
    padding:7px !important;
    border-radius:16px !important;
    background:var(--theme-panel,#ffffff) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
}

html body.dashboard-pro-body .dashboard-asistente-input input{
    width:100% !important;
    min-width:0 !important;
    height:38px !important;
    margin:0 !important;
    padding:0 10px !important;
    border:0 !important;
    background:transparent !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--texto-principal)) !important;
    box-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-asistente-input input::placeholder{
    color:var(--theme-muted,var(--texto-muted)) !important;
    -webkit-text-fill-color:var(--theme-muted,var(--texto-muted)) !important;
    opacity:.75 !important;
}

html body.dashboard-pro-body .dashboard-asistente-input button{
    width:50px !important;
    min-width:50px !important;
    height:42px !important;
    padding:0 !important;
    border-radius:14px !important;
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border:0 !important;
    box-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-respuesta-card{
    width:100% !important;
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:16px !important;
    background:var(--theme-panel-2,rgba(37,99,235,.12)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
}

html body.dashboard-pro-body .dashboard-respuesta-icono{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:14px !important;
}

html body.dashboard-pro-body .dashboard-respuesta-contenido{
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-respuesta-contenido h4{
    margin:0 0 4px 0 !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    font-size:16px !important;
    line-height:1.25 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-respuesta-contenido p{
    margin:0 !important;
    color:var(--theme-muted,var(--texto-muted)) !important;
    font-size:13px !important;
    line-height:1.35 !important;
}

html body.dashboard-pro-body .dashboard-respuesta-metricas{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:10px !important;
}

html body.dashboard-pro-body .dashboard-respuesta-metricas div{
    min-width:0 !important;
    min-height:58px !important;
    padding:9px !important;
    border-radius:13px !important;
    background:var(--theme-panel,#ffffff) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
}

html body.dashboard-pro-body .dashboard-asistente-acciones{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:8px !important;
}

html body.dashboard-pro-body .dashboard-asistente-acciones button{
    width:100% !important;
    min-height:40px !important;
    height:auto !important;
    padding:8px !important;
    border-radius:13px !important;
    background:var(--theme-panel-2,rgba(37,99,235,.12)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--texto-principal)) !important;
    font-size:11.5px !important;
    font-weight:850 !important;
    white-space:normal !important;
    line-height:1.2 !important;
    opacity:1 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-asistente-acciones button:hover{
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:transparent !important;
}

html body.dashboard-pro-body .dashboard-inteligente{
    width:100% !important;
    display:block !important;
    margin:16px 0 0 0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-header,
html body.dashboard-pro-body .dashboard-inteligente-kpis,
html body.dashboard-pro-body .dashboard-columna-principal > .dashboard-kpis{
    display:none !important;
}

html body.dashboard-pro-body .dashboard-inteligente-grid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:start !important;
    grid-auto-flow:row !important;
    margin:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card,
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(1),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(2),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(3),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(4),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(5),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(6),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(7),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(8),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(9),
html body.dashboard-pro-body .dashboard-inteligente-card-ancha{
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:18px !important;
    border-radius:18px !important;
    align-self:start !important;
    background:linear-gradient(145deg,var(--theme-panel,rgba(15,35,60,.92)),var(--theme-panel-2,rgba(30,58,95,.42))) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    box-shadow:0 14px 28px rgba(15,23,42,.08) !important;
    overflow:hidden !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card-ancha,
html body.dashboard-pro-body .dashboard-decisiones,
html body.dashboard-pro-body .dashboard-decisiones-card{
    grid-column:1 / -1 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card h3{
    margin:0 0 14px 0 !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    font-size:17px !important;
    line-height:1.25 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-inteligente-lista{
    display:grid !important;
    gap:9px !important;
    margin:0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-lista li,
html body.dashboard-pro-body .dashboard-inteligente-fila,
html body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:11px 12px !important;
    border-radius:14px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:center !important;
    background:var(--theme-panel-2,rgba(37,99,235,.12)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal{
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal strong{
    display:block !important;
    margin:0 !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    font-size:13px !important;
    line-height:1.25 !important;
    overflow-wrap:anywhere !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal small{
    display:block !important;
    margin-top:3px !important;
    color:var(--theme-muted,var(--texto-muted)) !important;
    font-size:12px !important;
    line-height:1.25 !important;
    text-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:7px !important;
    flex-wrap:wrap !important;
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-metricas span,
html body.dashboard-pro-body .dashboard-tabla-dato span{
    width:auto !important;
    min-width:auto !important;
    max-width:150px !important;
    min-height:26px !important;
    padding:5px 8px !important;
    font-size:11.5px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    background:var(--theme-panel,#ffffff) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
}

html body.registro-usuario-page .registro-roles-info .crear-rol-box,
html body.registro-usuario-page .registro-roles-info .crear-rol-box > form,
html body.registro-usuario-page .registro-roles-info .form-crear-rol,
html body.registro-usuario-page .registro-roles-info fieldset{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
}

html body.registro-usuario-page .registro-roles-info .crear-rol-box{
    margin-bottom:28px !important;
    padding-bottom:28px !important;
    border-bottom:1px solid var(--theme-border,var(--borde-suave)) !important;
}

html body.registro-usuario-page .registro-roles-info legend{
    display:none !important;
}

html body.registro-usuario-page .registro-roles-info .crear-rol-box h2{
    margin:0 0 22px 0 !important;
    padding:0 !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--texto-principal)) !important;
    font-size:24px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    text-shadow:none !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

html body.registro-usuario-page .registro-roles-info .form-crear-rol{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
}

html body.registro-usuario-page .registro-roles-info .form-crear-rol label{
    margin:0 !important;
    padding:0 !important;
    color:var(--theme-muted,var(--texto-muted)) !important;
    -webkit-text-fill-color:var(--theme-muted,var(--texto-muted)) !important;
    font-weight:850 !important;
    text-shadow:none !important;
}

html body.registro-usuario-page .registro-roles-info .form-crear-rol input{
    width:100% !important;
    height:56px !important;
    margin:0 !important;
    padding:0 18px !important;
    border-radius:16px !important;
    background:var(--theme-panel-2,rgba(255,255,255,.06)) !important;
    border:1px solid var(--theme-border,var(--borde-suave)) !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--texto-principal)) !important;
    outline:0 !important;
    box-shadow:none !important;
}

html body.registro-usuario-page .registro-roles-info .form-crear-rol input::placeholder{
    color:var(--theme-muted,var(--texto-muted)) !important;
    -webkit-text-fill-color:var(--theme-muted,var(--texto-muted)) !important;
    opacity:.72 !important;
}

html body.registro-usuario-page .registro-roles-info .form-crear-rol button,
html body.registro-usuario-page .registro-roles-info .form-crear-rol .btn-principal{
    width:100% !important;
    height:54px !important;
    margin:0 !important;
    padding:0 18px !important;
    border-radius:14px !important;
    border:0 !important;
    outline:0 !important;
    background:linear-gradient(135deg,var(--theme-primary,var(--azul-primario)),var(--theme-primary-2,var(--azul-brillo))) !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    font-weight:900 !important;
    box-shadow:0 12px 24px rgba(37,99,235,.18) !important;
}

html body.registro-usuario-page .roles-scroll-box{
    margin-top:0 !important;
    padding-top:0 !important;
    border-top:0 !important;
}

html body.registro-usuario-page .roles-scroll-box h2{
    margin:0 0 18px 0 !important;
    color:var(--theme-text,var(--texto-principal)) !important;
    -webkit-text-fill-color:var(--theme-text,var(--texto-principal)) !important;
    text-shadow:none !important;
}

html body.registro-usuario-page .roles-scroll-lista{
    padding-right:12px !important;
    gap:14px !important;
}

html body.registro-usuario-page .rol-scroll-item{
    min-height:64px !important;
    padding:15px 16px !important;
    border-radius:16px !important;
    background:linear-gradient(145deg,var(--theme-panel,#ffffff),var(--theme-panel-2,#eef4fb)) !important;
    border:1.5px solid var(--theme-border,#c7dcff) !important;
    box-shadow:0 10px 22px rgba(37,99,235,.10) !important;
    color:var(--theme-text,#172033) !important;
}

html body.registro-usuario-page .rol-scroll-item span,
html body.registro-usuario-page .rol-scroll-item strong,
html body.registro-usuario-page .rol-scroll-item p{
    color:var(--theme-text,#172033) !important;
    -webkit-text-fill-color:var(--theme-text,#172033) !important;
    font-weight:900 !important;
    opacity:1 !important;
    text-shadow:none !important;
}

html body.registro-usuario-page .rol-scroll-item .btn-eliminar-rol,
html body.registro-usuario-page .rol-scroll-item a[href*="eliminar"]{
    width:auto !important;
    min-width:92px !important;
    min-height:38px !important;
    padding:9px 13px !important;
    border-radius:11px !important;
    background:linear-gradient(135deg,#ef4444,#dc2626) !important;
    border:1px solid #991b1b !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    font-weight:900 !important;
    opacity:1 !important;
    text-shadow:none !important;
    box-shadow:0 8px 16px rgba(220,38,38,.20) !important;
}

html body.historial-page .tabla-historial a.btn-accion,
html body.historial-page .tabla-historial button,
html body.historial-page .tabla-historial input[type="submit"],
html body.historial-page .tabla-historial .btn-cancelar{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    opacity:1 !important;
    text-shadow:none !important;
}

@media (max-width:1280px){
    html body.dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-asistente-panel{
        position:relative !important;
        top:auto !important;
        max-width:100% !important;
        max-height:none !important;
        overflow:visible !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:760px){
    html body.dashboard-pro-body .dashboard-ejecutivo{
        width:100% !important;
        padding:14px !important;
    }

    html body.dashboard-pro-body .dashboard-ejecutivo-header{
        flex-direction:column !important;
    }

    html body.dashboard-pro-body .dashboard-pro-kpis,
    html body.dashboard-pro-body .dashboard-inteligente-grid,
    html body.dashboard-pro-body .dashboard-asistente-botones,
    html body.dashboard-pro-body .dashboard-respuesta-metricas,
    html body.dashboard-pro-body .dashboard-asistente-acciones{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-card-ancha,
    html body.dashboard-pro-body .dashboard-decisiones,
    html body.dashboard-pro-body .dashboard-decisiones-card{
        grid-column:auto !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-lista li,
    html body.dashboard-pro-body .dashboard-inteligente-fila,
    html body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
        justify-content:flex-start !important;
    }

    html body.dashboard-pro-body #graficaVentas{
        height:235px !important;
        max-height:235px !important;
    }
}


html body.dashboard-pro-body .dashboard-inteligente-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
    grid-auto-flow:row !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card,
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(1),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(2),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(3),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(4),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(5),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(6),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(7),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(8),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(9){
    align-self:stretch !important;
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
    display:flex !important;
    flex-direction:column !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card-ancha{
    grid-column:1 / -1 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card h3{
    margin:0 0 12px 0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-lista{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    flex:1 !important;
    margin:0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila,
html body.dashboard-pro-body .dashboard-inteligente-lista li,
html body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
    min-height:56px !important;
    padding:10px 12px !important;
    border-radius:13px !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal strong{
    font-size:13px !important;
    line-height:1.2 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal small{
    font-size:12px !important;
    line-height:1.2 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
    gap:6px !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-metricas span{
    min-height:26px !important;
    padding:5px 8px !important;
    font-size:11.5px !important;
}

html body.dashboard-pro-body .dashboard-layout-principal{
    margin-bottom:14px !important;
}

html body.dashboard-pro-body .dashboard-inteligente{
    margin-top:14px !important;
}

html body.dashboard-pro-body .dashboard-chart-card,
html body.dashboard-pro-body .dashboard-asistente-panel,
html body.dashboard-pro-body .dashboard-inteligente-card{
    box-shadow:0 12px 26px rgba(15,23,42,.07) !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel{
    align-self:start !important;
}

@media (max-width:1180px){
    html body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        align-items:stretch !important;
    }
}

@media (max-width:760px){
    html body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-card,
    html body.dashboard-pro-body .dashboard-inteligente-card-ancha{
        grid-column:auto !important;
        height:auto !important;
    }
}

















html body.dashboard-pro-body .dashboard-ejecutivo{
    width:calc(100% - 32px) !important;
    max-width:1440px !important;
    margin:0 auto 28px auto !important;
    padding:22px 0 32px 0 !important;
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

html body.dashboard-pro-body .dashboard-layout-principal{
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(340px,390px) !important;
    gap:16px !important;
    align-items:start !important;
    margin:0 0 16px 0 !important;
}

html body.dashboard-pro-body .dashboard-columna-principal{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
}

html body.dashboard-pro-body .dashboard-chart-card{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:auto !important;
    margin:0 !important;
    padding:18px !important;
    border-radius:18px !important;
    overflow:hidden !important;
}

html body.dashboard-pro-body #graficaVentas{
    width:100% !important;
    height:260px !important;
    max-height:260px !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel{
    width:100% !important;
    max-width:390px !important;
    min-width:0 !important;
    position:sticky !important;
    top:16px !important;
    align-self:start !important;
    margin:0 !important;
    padding:16px !important;
    border-radius:18px !important;
    max-height:calc(100vh - 32px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
}

html body.dashboard-pro-body .dashboard-inteligente{
    width:100% !important;
    display:block !important;
    margin:16px 0 0 0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-grid{
    width:100% !important;
    display:block !important;
    columns:2 360px !important;
    column-gap:16px !important;
    margin:0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card,
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(1),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(2),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(3),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(4),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(5),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(6),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(7),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(8),
html body.dashboard-pro-body .dashboard-inteligente-card:nth-child(9),
html body.dashboard-pro-body .dashboard-inteligente-card-ancha{
    display:inline-block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
    margin:0 0 16px 0 !important;
    padding:18px !important;
    border-radius:18px !important;
    grid-column:auto !important;
    grid-row:auto !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
    align-self:auto !important;
    vertical-align:top !important;
    overflow:hidden !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card-ancha,
html body.dashboard-pro-body .dashboard-decisiones,
html body.dashboard-pro-body .dashboard-decisiones-card{
    column-span:all !important;
    display:block !important;
    width:100% !important;
    margin:0 0 16px 0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card h3{
    margin:0 0 12px 0 !important;
    font-size:17px !important;
    line-height:1.25 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-lista{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-lista li,
html body.dashboard-pro-body .dashboard-inteligente-fila,
html body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:11px 12px !important;
    border-radius:14px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:center !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal{
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal strong{
    display:block !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-principal small{
    display:block !important;
    margin-top:3px !important;
    font-size:12px !important;
    line-height:1.25 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:7px !important;
    flex-wrap:wrap !important;
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-fila-metricas span,
html body.dashboard-pro-body .dashboard-tabla-dato span{
    width:auto !important;
    min-width:auto !important;
    max-width:150px !important;
    min-height:26px !important;
    padding:5px 8px !important;
    font-size:11.5px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
}

html body.dashboard-pro-body .dashboard-layout-principal,
html body.dashboard-pro-body .dashboard-columna-principal,
html body.dashboard-pro-body .dashboard-inteligente,
html body.dashboard-pro-body .dashboard-inteligente-grid{
    grid-column:auto !important;
    grid-row:auto !important;
}

html body.dashboard-pro-body .dashboard-asistente-botones{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
}

html body.dashboard-pro-body .dashboard-asistente-botones button{
    min-height:42px !important;
    height:auto !important;
    padding:9px 10px !important;
    border-radius:13px !important;
    font-size:12px !important;
    line-height:1.2 !important;
    white-space:normal !important;
    text-align:left !important;
    overflow:visible !important;
}

html body.dashboard-pro-body .dashboard-respuesta-card{
    height:auto !important;
    min-height:auto !important;
    padding:14px !important;
    border-radius:16px !important;
}

html body.dashboard-pro-body .dashboard-respuesta-metricas{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
}

html body.dashboard-pro-body .dashboard-asistente-acciones{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
}

html body.dashboard-pro-body .dashboard-asistente-acciones button{
    min-height:40px !important;
    height:auto !important;
    padding:8px !important;
    border-radius:13px !important;
    font-size:11.5px !important;
    line-height:1.2 !important;
    white-space:normal !important;
}

@media (max-width:1280px){
    html body.dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-asistente-panel{
        position:relative !important;
        top:auto !important;
        max-width:100% !important;
        max-height:none !important;
        overflow:visible !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-grid{
        columns:2 340px !important;
        column-gap:16px !important;
    }
}

@media (max-width:760px){
    html body.dashboard-pro-body .dashboard-ejecutivo{
        width:100% !important;
        padding:14px !important;
    }

    html body.dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-grid{
        columns:1 !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-card,
    html body.dashboard-pro-body .dashboard-inteligente-card-ancha,
    html body.dashboard-pro-body .dashboard-decisiones,
    html body.dashboard-pro-body .dashboard-decisiones-card{
        display:block !important;
        width:100% !important;
        margin:0 0 14px 0 !important;
        column-span:none !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-lista li,
    html body.dashboard-pro-body .dashboard-inteligente-fila,
    html body.dashboard-pro-body .dashboard-inteligente-semaforo-item{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
        justify-content:flex-start !important;
    }

    html body.dashboard-pro-body #graficaVentas{
        height:235px !important;
        max-height:235px !important;
    }

    html body.dashboard-pro-body .dashboard-asistente-botones,
    html body.dashboard-pro-body .dashboard-respuesta-metricas,
    html body.dashboard-pro-body .dashboard-asistente-acciones{
        grid-template-columns:1fr !important;
    }
}

.rostro-panel{
    width:100%;
    display:grid;
    gap:14px;
    margin-top:18px;
    padding:16px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:8px;
    background:rgba(15,23,42,.58);
}

.rostro-panel-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.rostro-panel-header h2,
.rostro-panel-header h3{
    margin:0 0 4px;
    font-size:16px;
    line-height:1.2;
}

.rostro-panel-header p{
    margin:0;
    color:#94a3b8;
    font-size:12px;
    line-height:1.35;
}

.rostro-panel-header span,
.rostro-tabla-ok,
.rostro-tabla-pendiente{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:5px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}

.rostro-panel-header span{
    color:#bfdbfe;
    background:rgba(37,99,235,.18);
    border:1px solid rgba(96,165,250,.28);
}

.rostro-panel-header span[data-estado="ok"],
.rostro-tabla-ok{
    color:#ffffff;
    background:rgba(34,197,94,.85);
    border:1px solid rgba(34,197,94,.95);
    font-weight:900;
}

.rostro-tabla-pendiente{
    color:#111827;
    background:rgba(245,158,11,.80);
    border:1px solid rgba(217,119,6,.95);
    font-weight:900;
}

.rostro-camara{
    position:relative;
    width:100%;
    aspect-ratio:4/3;
    min-height:180px;
    overflow:hidden;
    border-radius:8px;
    border:1px solid rgba(148,163,184,.18);
    background:#020617;
}

.rostro-camara video,
.rostro-camara canvas{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.rostro-camara canvas:not([hidden]){
    z-index:2;
    pointer-events:none;
}

.rostro-camara-compacta{
    min-height:145px;
}

.rostro-camara-grande{
    max-width:520px;
}

.rostro-acciones{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.rostro-acciones button,
.rostro-acciones .btn-principal,
.rostro-acciones .btn-secundario{
    min-height:40px;
    padding:9px 12px;
    border-radius:8px;
    font-size:12px;
    white-space:normal;
}

.rostro-acciones button:disabled{
    cursor:not-allowed;
    opacity:.55;
    transform:none;
}

.rostro-estado{
    min-height:18px;
    color:#94a3b8;
    font-size:12px;
    line-height:1.35;
}

.rostro-estado[data-estado="ok"]{
    color:#bbf7d0;
}

.rostro-estado[data-estado="error"]{
    color:#fecaca;
}

.rostro-panel-protector{
    margin-top:12px;
    padding:12px;
    background:rgba(15,23,42,.72);
}

.rostro-panel-protector .rostro-panel-header h3{
    font-size:13px;
}

.rostro-panel-protector .rostro-panel-header p,
.rostro-panel-protector .rostro-estado{
    font-size:11px;
}

.rostro-panel-protector .rostro-acciones{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.rostro-panel-protector .rostro-acciones button{
    width:100%;
    min-height:38px;
    font-size:11px;
}

.registro-rostro-card{
    display:block;
}

.registro-rostro-form{
    width:100%;
}

.btn-rostro-tabla{
    min-height:36px;
}

@media (max-width:760px){
    .rostro-panel-header{
        align-items:stretch;
        flex-direction:column;
    }

    .rostro-panel-header span{
        align-self:flex-start;
    }

    .rostro-acciones,
    .rostro-panel-protector .rostro-acciones{
        grid-template-columns:1fr;
        display:grid;
    }

    .rostro-acciones button,
    .rostro-acciones .btn-principal,
    .rostro-acciones .btn-secundario{
        width:100%;
    }
}

html:has(body.asistencia-page),
body.asistencia-page{
    min-height:100% !important;
    overflow-y:auto !important;
}

body.asistencia-page .asistencia-contenedor{
    padding:24px 0 90px !important;
}

body.asistencia-page .asistencia-layout{
    align-items:start !important;
}

body.asistencia-page .asistencia-card{
    min-height:0 !important;
    height:auto !important;
    justify-content:flex-start !important;
    overflow:visible !important;
}

body.asistencia-page .asistencia-icono{
    width:72px !important;
    height:72px !important;
    min-height:72px !important;
    margin-bottom:18px !important;
    font-size:34px !important;
}

body.asistencia-page .asistencia-card .alerta{
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 18px !important;
    animation:none !important;
    text-align:center !important;
}

body.asistencia-page .rostro-panel-asistencia{
    margin-top:20px !important;
}

body.asistencia-page .rostro-panel-asistencia .rostro-camara{
    height:clamp(220px,32vh,340px) !important;
    min-height:220px !important;
    aspect-ratio:auto !important;
}

body.login-protector-activo .protector-panel-empleados{
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
}

body.login-protector-activo .rostro-panel-protector{
    gap:10px !important;
}

body.login-protector-activo .rostro-panel-protector .rostro-camara{
    height:180px !important;
    min-height:160px !important;
    aspect-ratio:auto !important;
}

@media (min-width:901px){
    body.asistencia-page .asistencia-layout{
        grid-template-columns:minmax(360px,560px) minmax(320px,1fr) !important;
    }
}

@media (max-width:760px){
    body.asistencia-page .asistencia-contenedor{
        width:min(100% - 22px,560px) !important;
        padding-top:18px !important;
    }

    body.asistencia-page .asistencia-card{
        padding:22px !important;
        border-radius:18px !important;
    }

    body.asistencia-page .rostro-panel-asistencia .rostro-camara,
    body.login-protector-activo .rostro-panel-protector .rostro-camara{
        height:220px !important;
        min-height:220px !important;
    }
}

html body.dashboard-pro-body .dashboard-chart-header span{
    font-size:12px !important;
}

html body.dashboard-pro-body .dashboard-chart-header span::before{
    content:none !important;
}

html body.dashboard-pro-body .dashboard-respuesta-metricas{
    grid-template-columns:1fr !important;
}

html body.dashboard-pro-body .dashboard-respuesta-metricas div{
    min-height:0 !important;
}

html body.dashboard-pro-body .dashboard-respuesta-metricas span,
html body.dashboard-pro-body .dashboard-respuesta-metricas strong{
    overflow-wrap:normal !important;
    word-break:normal !important;
}

body.productos-page .tabla-productos-admin{
    min-width:1080px !important;
    table-layout:auto !important;
}

body.productos-page .tabla-productos-admin th,
body.productos-page .tabla-productos-admin td{
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-height:1.25 !important;
}

body.productos-page .tabla-productos-admin th:nth-child(5),
body.productos-page .tabla-productos-admin td:nth-child(5){
    width:22% !important;
}

body.productos-page .tabla-productos-admin td[data-label="AcciÃ³n"]{
    min-width:190px !important;
}

body.productos-page .tabla-productos-admin td[data-label="AcciÃ³n"] .acciones{
    justify-content:center !important;
    flex-wrap:wrap !important;
    gap:7px !important;
}

body.productos-page .tabla-productos-admin td[data-label="AcciÃ³n"] a,
body.productos-page .tabla-productos-admin td[data-label="AcciÃ³n"] button{
    min-width:82px !important;
    min-height:38px !important;
    padding:8px 10px !important;
    font-size:12px !important;
}

.producto-rentabilidad{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    min-width:145px;
    text-align:left;
}

.producto-rentabilidad span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    color:var(--texto-muted);
    font-size:12px;
}

.producto-rentabilidad strong{
    color:var(--texto-principal);
    font-size:13px;
}

.producto-rentabilidad .status{
    justify-content:flex-start;
    color:inherit;
}

body.historial-page .tabla-historial{
    min-width:1060px !important;
}

body.historial-page .tabla-historial th,
body.historial-page .tabla-historial td{
    padding-left:8px !important;
    padding-right:8px !important;
}

body.historial-page .tabla-historial .btn-accion,
body.historial-page .tabla-historial a.btn-accion,
body.historial-page .tabla-historial button{
    min-width:70px !important;
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:12px !important;
}

body.historial-page .tabla-resurtido{
    min-width:1100px !important;
    table-layout:auto !important;
}

body.historial-page .tabla-resurtido th,
body.historial-page .tabla-resurtido td{
    white-space:nowrap !important;
    overflow:visible !important;
}

body.historial-page .tabla-resurtido th:nth-child(1),
body.historial-page .tabla-resurtido td:nth-child(1){
    white-space:normal !important;
    min-width:130px;
    max-width:180px;
    word-break:break-word;
}

@media (min-width:1281px){
    html body.dashboard-pro-body .dashboard-layout-principal{
        grid-template-columns:minmax(0,1fr) minmax(340px,390px) !important;
        grid-auto-flow:row !important;
    }

    html body.dashboard-pro-body .dashboard-columna-principal{
        grid-column:1 !important;
        grid-row:1 !important;
    }

    html body.dashboard-pro-body .dashboard-asistente-panel{
        grid-column:2 !important;
        grid-row:1 / span 2 !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente{
        grid-column:1 !important;
        grid-row:2 !important;
        margin:0 !important;
    }
}

body.productos-page .tabla-productos-admin{
    min-width:1040px !important;
    table-layout:fixed !important;
}

body.productos-page .tabla-productos-admin th:nth-child(5),
body.productos-page .tabla-productos-admin td:nth-child(5){
    width:18% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(6),
body.productos-page .tabla-productos-admin td:nth-child(6){
    width:14% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(7),
body.productos-page .tabla-productos-admin td:nth-child(7){
    width:8% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(8),
body.productos-page .tabla-productos-admin td:nth-child(8){
    width:24% !important;
}

body.productos-page .tabla-productos-admin td:nth-child(8) .acciones{
    justify-content:center !important;
    flex-wrap:wrap !important;
    gap:7px !important;
}

body.productos-page .tabla-productos-admin td:nth-child(8) a,
body.productos-page .tabla-productos-admin td:nth-child(8) button{
    min-width:76px !important;
    min-height:38px !important;
    padding:8px 10px !important;
    font-size:12px !important;
    white-space:nowrap !important;
}

@media (min-width:1281px){
    html body.dashboard-pro-body .dashboard-inteligente-fila{
        grid-template-columns:1fr !important;
        align-items:start !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-fila-metricas{
        justify-content:flex-start !important;
    }
}

@media (min-width:901px){
    body.productos-page .tabla-productos-admin{
        width:100% !important;
        min-width:0 !important;
        table-layout:fixed !important;
    }

    body.productos-page .tabla-productos-admin th:nth-child(1),
    body.productos-page .tabla-productos-admin td:nth-child(1){
        width:9% !important;
    }

    body.productos-page .tabla-productos-admin th:nth-child(2),
    body.productos-page .tabla-productos-admin td:nth-child(2){
        width:12% !important;
    }

    body.productos-page .tabla-productos-admin th:nth-child(3),
    body.productos-page .tabla-productos-admin td:nth-child(3),
    body.productos-page .tabla-productos-admin th:nth-child(4),
    body.productos-page .tabla-productos-admin td:nth-child(4){
        width:10% !important;
    }

    body.productos-page .tabla-productos-admin th:nth-child(5),
    body.productos-page .tabla-productos-admin td:nth-child(5){
        width:18% !important;
    }

    body.productos-page .tabla-productos-admin th:nth-child(6),
    body.productos-page .tabla-productos-admin td:nth-child(6){
        width:14% !important;
    }

    body.productos-page .tabla-productos-admin th:nth-child(7),
    body.productos-page .tabla-productos-admin td:nth-child(7){
        width:7% !important;
    }

    body.productos-page .tabla-productos-admin th:nth-child(8),
    body.productos-page .tabla-productos-admin td:nth-child(8){
        width:22% !important;
    }

    body.productos-page .form-stock{
        gap:5px !important;
    }

    body.productos-page .form-stock input[type="number"]{
        width:54px !important;
        min-width:54px !important;
        height:36px !important;
        padding:6px !important;
    }

    body.productos-page .form-stock button{
        min-width:72px !important;
        height:36px !important;
        padding:0 8px !important;
        font-size:12px !important;
    }

    body.productos-page .tabla-productos-admin td:nth-child(8) a,
    body.productos-page .tabla-productos-admin td:nth-child(8) button{
        min-width:64px !important;
        min-height:36px !important;
        padding:7px 8px !important;
        font-size:11.5px !important;
    }
}

html body.dashboard-pro-body .dashboard-tabla-compacta,
html body.dashboard-pro-body .dashboard-tabla-compacta tbody{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
}

html body.dashboard-pro-body .dashboard-tabla-compacta tr{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    padding:10px 12px !important;
}

html body.dashboard-pro-body .dashboard-tabla-compacta td{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
}

html body.dashboard-pro-body .dashboard-tabla-compacta td:first-child{
    grid-column:1 / -1 !important;
    border-radius:0 !important;
}

html body.dashboard-pro-body .dashboard-tabla-compacta td:last-child{
    border-radius:0 !important;
}

html body.dashboard-pro-body .dashboard-tabla-compacta .dashboard-inteligente-fila-principal strong,
html body.dashboard-pro-body .dashboard-tabla-compacta .dashboard-inteligente-fila-principal small{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere !important;
}

html body.dashboard-pro-body .dashboard-tabla-compacta .dashboard-tabla-dato span{
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
    white-space:nowrap !important;
}

html body.dashboard-pro-body .dashboard-ejecutivo{
    min-height:0 !important;
    height:auto !important;
}

.menu-enlaces a.menu-link{
    justify-content:space-between !important;
    gap:10px !important;
}

.menu-enlaces a.menu-link > span{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

.menu-link-turnos::before{
    content:none !important;
}

.menu-badge{
    position:static !important;
    inset:auto !important;
    transform:none !important;
    animation:none !important;
    z-index:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:24px !important;
    height:24px !important;
    margin-left:auto !important;
    padding:0 7px !important;
    border-radius:999px !important;
    background:rgba(56,189,248,.18) !important;
    border:1px solid rgba(56,189,248,.32) !important;
    color:#bae6fd !important;
    font-size:11px !important;
    font-style:normal !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-shadow:none !important;
}

.menu-badge.alerta,
.menu-badge.riesgo{
    background:rgba(239,68,68,.2) !important;
    border-color:rgba(248,113,113,.35) !important;
    color:#fecaca !important;
}

.menu-badge.atencion{
    background:rgba(245,158,11,.2) !important;
    border-color:rgba(251,191,36,.34) !important;
    color:#fde68a !important;
}

.menu-enlaces a.menu-link.activo .menu-badge,
.menu-enlaces a.menu-link:hover .menu-badge{
    background:rgba(255,255,255,.18) !important;
    border-color:rgba(255,255,255,.32) !important;
    color:#ffffff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-badge{
    color:var(--theme-text,#0f172a) !important;
    background:rgba(37,99,235,.12) !important;
    border-color:rgba(37,99,235,.2) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-badge.alerta,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-badge.riesgo{
    color:#991b1b !important;
    background:rgba(239,68,68,.12) !important;
    border-color:rgba(239,68,68,.22) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu-badge.atencion{
    color:#92400e !important;
    background:rgba(245,158,11,.14) !important;
    border-color:rgba(245,158,11,.24) !important;
}

body.productos-page .productos-resumen{
    width:100% !important;
    max-width:1400px !important;
    margin:0 auto 18px !important;
}

body.productos-page .barra-productos{
    display:grid !important;
    grid-template-columns:minmax(220px,1fr) minmax(150px,210px) auto !important;
    align-items:center !important;
}

body.productos-page .barra-productos select{
    width:100% !important;
    height:46px !important;
    margin:0 !important;
}

body.productos-page #resultados{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    margin:-8px 0 16px !important;
    background:rgba(15,23,42,.86) !important;
    border:1px solid rgba(148,163,184,.18) !important;
    border-radius:12px !important;
    color:#f8fafc !important;
    box-shadow:0 14px 28px rgba(0,0,0,.22) !important;
}

body.productos-page #resultados:empty{
    display:none !important;
}

body.productos-page #resultados .resultado-item{
    padding:11px 13px !important;
    border-bottom:1px solid rgba(148,163,184,.12) !important;
    cursor:pointer !important;
}

body.productos-page #resultados .resultado-item:hover,
body.productos-page #resultados .resultado-item:focus{
    background:rgba(59,130,246,.18) !important;
    outline:none !important;
}

@media (max-width:760px){
    body.productos-page .barra-productos{
        grid-template-columns:1fr !important;
    }

    body.productos-page .btn-eliminados{
        width:100% !important;
    }
}

.inventario-controles{
    width:100%;
    max-width:1200px;
    margin:0 auto 16px;
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(150px,210px) auto;
    gap:12px;
    align-items:center;
}

.inventario-controles input,
.inventario-controles select{
    height:46px;
    margin:0;
}

.inventario-controles .campo-voz{
    height:46px;
}

.inventario-controles .campo-voz input{
    height:46px;
}

.inventario-controles span{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border-radius:999px;
    color:var(--theme-muted);
    background:var(--theme-panel-2);
    border:1px solid var(--theme-border);
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

@media (max-width:760px){
    .inventario-controles{
        grid-template-columns:1fr;
    }

    .inventario-controles span{
        justify-content:flex-start;
    }
}

.historial-filtros{
    width:100%;
    max-width:900px;
    margin:0 auto 18px;
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(160px,220px);
    gap:12px;
    align-items:center;
}

.historial-filtros input,
.historial-filtros select{
    height:46px;
    margin:0;
}

@media (max-width:760px){
    .historial-filtros{
        grid-template-columns:1fr;
    }
}

body.proveedores-page .proveedores-resumen{
    width:100% !important;
    max-width:980px !important;
    margin:0 auto 18px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

body.proveedores-page .tabla-responsive{
    overflow-x:auto !important;
}

body.proveedores-page .tabla-proveedores{
    table-layout:fixed !important;
}

body.proveedores-page .tabla-proveedores th:nth-child(1),
body.proveedores-page .tabla-proveedores td:nth-child(1){
    width:30% !important;
}

body.proveedores-page .tabla-proveedores th:nth-child(2),
body.proveedores-page .tabla-proveedores td:nth-child(2){
    width:14% !important;
}

body.proveedores-page .tabla-proveedores th:nth-child(3),
body.proveedores-page .tabla-proveedores td:nth-child(3){
    width:24% !important;
}

body.proveedores-page .tabla-proveedores th:nth-child(4),
body.proveedores-page .tabla-proveedores td:nth-child(4){
    width:32% !important;
}

body.proveedores-page .acciones-proveedor{
    justify-content:center !important;
    gap:8px !important;
}

body.proveedores-page .acciones-proveedor .btn-accion,
body.proveedores-page .acciones-proveedor .btn-eliminar{
    min-width:94px !important;
}

@media (max-width: 768px) {
    body.proveedores-page .tabla-proveedores,
    body.proveedores-page .tabla-proveedores tbody,
    body.proveedores-page .tabla-proveedores tr,
    body.proveedores-page .tabla-proveedores td {
        display: block !important;
        width: 100% !important;
    }

    body.proveedores-page .tabla-proveedores thead {
        display: none !important;
    }

    body.proveedores-page .tabla-proveedores th:nth-child(1),
    body.proveedores-page .tabla-proveedores td:nth-child(1),
    body.proveedores-page .tabla-proveedores th:nth-child(2),
    body.proveedores-page .tabla-proveedores td:nth-child(2),
    body.proveedores-page .tabla-proveedores th:nth-child(3),
    body.proveedores-page .tabla-proveedores td:nth-child(3),
    body.proveedores-page .tabla-proveedores th:nth-child(4),
    body.proveedores-page .tabla-proveedores td:nth-child(4) {
        width: 100% !important;
    }

    body.proveedores-page .tabla-proveedores tr {
        margin-bottom: 14px !important;
        padding: 14px !important;
        background: rgba(255,255,255,.04);
        border: 1px solid var(--borde-suave) !important;
        border-radius: 14px !important;
    }

    body.proveedores-page .tabla-proveedores td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 12px;
        text-align: right !important;
        padding: 10px 0 !important;
        background: transparent !important;
        border: none !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        white-space: normal !important;
    }

    body.proveedores-page .tabla-proveedores td:last-child {
        border-bottom: none !important;
    }

    body.proveedores-page .tabla-proveedores td::before {
        content: attr(data-label);
        color: var(--texto-muted);
        font-weight: 800;
        text-align: left;
        flex: 0 0 auto;
    }

    body.proveedores-page .acciones-proveedor {
        width: 100%;
        justify-content: flex-end !important;
    }
}

body.proveedores-page .tabla-responsive{
    overflow-x:hidden !important;
}

body.proveedores-page .tabla-proveedores.pp-tabla-cuentas,
body.proveedores-page .tabla-proveedores.pp-tabla-orden,
body.proveedores-page .tabla-proveedores.pp-tabla-liquidar{
    table-layout:auto !important;
    width:100% !important;
    min-width:0 !important;
}

body.proveedores-page .pp-tabla-cuentas th:nth-child(n),
body.proveedores-page .pp-tabla-cuentas td:nth-child(n),
body.proveedores-page .pp-tabla-orden th:nth-child(n),
body.proveedores-page .pp-tabla-orden td:nth-child(n),
body.proveedores-page .pp-tabla-liquidar th:nth-child(n),
body.proveedores-page .pp-tabla-liquidar td:nth-child(n){
    width:auto !important;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.proveedores-filtros{
    width:100%;
    margin:0 0 16px;
}

.proveedores-filtros input{
    height:46px;
    margin:0;
}

@media (max-width:760px){
    body.proveedores-page .proveedores-resumen{
        grid-template-columns:1fr !important;
    }
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .proveedores-resumen article{
    background:color-mix(in srgb,var(--theme-panel) 86%,var(--theme-bg-soft)) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .proveedores-resumen span{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .proveedores-resumen strong{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .contenedor-tabla{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .tabla-proveedores thead tr{
    border-bottom-color:var(--theme-border) !important;
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .tabla-proveedores th{
    color:var(--theme-muted) !important;
    border-bottom-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .tabla-proveedores tbody tr{
    border-bottom-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .tabla-proveedores td{
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page hr{
    border-top-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]).proveedores-page .subtitulo-proveedores{
    color:var(--theme-text) !important;
}

.producto-precio-sugerido{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:0 0 16px;
    padding:10px;
    border-radius:8px;
    background:rgba(15,23,42,.42);
    border:1px solid rgba(148,163,184,.16);
}

.producto-precio-sugerido span{
    color:var(--texto-muted);
    font-size:12px;
    font-weight:800;
}

.producto-precio-sugerido button{
    width:auto;
    min-height:32px;
    padding:6px 10px;
    border-radius:8px;
    font-size:12px;
}

.producto-precio-sugerido input{
    width:100px;
    min-height:32px;
    margin:0;
    padding:6px 10px;
    border-radius:8px;
    font-size:12px;
}

.producto-precio-nocturno{
    width:100%;
    margin:0 0 22px;
    padding:18px 18px 20px;
    border-radius:12px;
    background:rgba(15,23,42,.42);
    border:1px solid rgba(148,163,184,.18);
}

.producto-precio-nocturno .subtitulo{
    margin:0 0 6px;
    font-size:18px;
}

.producto-precio-nocturno-ayuda{
    margin:0 0 16px;
    color:var(--texto-muted);
    font-size:13px;
    line-height:1.45;
}

.producto-precio-nocturno-ayuda:last-child{
    margin-bottom:0;
}

.producto-precio-nocturno > label{
    display:block;
    margin:0 0 8px;
    color:#fff;
    font-weight:700;
}

.producto-precio-nocturno > input{
    margin:0 0 14px;
}

.form-precio-horario{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin:0;
}

.precio-horario-check{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
    padding:12px 14px;
    border-radius:10px;
    background:rgba(37,99,235,.12);
    border:1px solid rgba(59,130,246,.28);
    color:#fff;
    font-weight:700;
    cursor:pointer;
}

.precio-horario-check input[type="checkbox"]{
    width:20px;
    height:20px;
    min-height:0;
    margin:0;
    padding:0;
    flex:0 0 auto;
    accent-color:var(--azul-primario);
    cursor:pointer;
}

.precio-horario-horas{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
}

.precio-horario-campo{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.precio-horario-campo label{
    margin:0;
    color:var(--texto-muted);
    font-size:13px;
    font-weight:700;
}

.precio-horario-campo input[type="time"]{
    margin:0;
}

.form-precio-horario > button[type="submit"]{
    width:auto;
    align-self:flex-start;
    min-height:42px;
    padding:10px 24px;
}

.registro-seccion{
    margin:0 0 24px;
}

.registro-seccion + .registro-seccion{
    padding-top:18px;
    border-top:1px solid rgba(148,163,184,.12);
}

.registro-seccion-titulo{
    margin:0 0 12px;
    color:var(--texto-muted);
    font-size:12px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.registro-fila{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 14px;
}

@media (max-width:560px){
    .registro-fila{
        grid-template-columns:1fr;
        gap:0;
    }
}

.empleados-filtros{
    width:100%;
    margin:0 0 16px;
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(170px,230px);
    gap:12px;
    align-items:center;
}

.empleados-filtros input,
.empleados-filtros select{
    height:46px;
    margin:0;
}

@media (max-width:760px){
    .empleados-filtros{
        grid-template-columns:1fr;
    }
}


body.historial-page .historial-shell {
    width: min(1220px, calc(100% - 32px));
    margin: 24px auto 40px !important;
}

body.historial-page .historial-panel {
    width: 100%;
    margin: 0 auto;
    padding: 24px;
    border-radius: 22px;
    background: var(--theme-bg-soft);
    border: 1px solid var(--theme-border);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

body.historial-page .historial-titulo {
    text-align: center;
    font-size: 30px;
    margin-bottom: 22px;
    color: var(--theme-text);
}

body.historial-page .historial-resumen {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

body.historial-page .historial-card {
    min-width: 0;
    background: var(--theme-panel);
    border: 1px solid var(--theme-border);
    border-radius: 12px;
    padding: 16px;
}

body.historial-page .historial-card span {
    display: block;
    font-size: 12px;
    color: var(--theme-primary-2);
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

body.historial-page .historial-card strong {
    display: block;
    font-size: clamp(17px, 1.6vw, 23px);
    color: var(--theme-text);
    line-height: 1.2;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-variant-numeric: tabular-nums;
}

body.historial-page .historial-acciones {
    width: 100%;
    display: flex;
    justify-content: center !important;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 8px auto 22px;
    text-align: center;
}

body.historial-page .historial-btn {
    min-height: 44px;
    padding: 0 18px;
    border-radius: 12px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 800;
    font-size: 14px;
    border: 1px solid var(--theme-primary);
    background: var(--theme-primary);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
}

body.historial-page .historial-btn:hover {
    background: var(--theme-primary);
    opacity: 0.85;
    transform: translateY(-1px);
}

body.historial-page .historial-btn-reporte {
    background: var(--theme-bg);
    border-color: var(--theme-border);
}

body.historial-page .historial-btn-reporte:hover {
    background: var(--theme-bg-soft);
}

body.historial-page .historial-ayuda {
    width: 100%;
    max-width: 760px;
    margin: 0 auto 20px !important;
    text-align: center !important;
    color: var(--theme-muted);
    line-height: 1.5;
    display: block;
}

body.historial-page .historial-filtros {
    width: 100%;
    max-width: 900px;
    margin: 0 auto 22px;
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(170px, 240px);
    gap: 12px;
}

body.historial-page .historial-filtros input,
body.historial-page .historial-filtros select {
    width: 100%;
    height: 46px;
    border-radius: 12px;
    border: 1px solid var(--theme-border);
    background: var(--theme-panel-2);
    color: var(--theme-text);
    padding: 0 14px;
    outline: none;
}

body.historial-page .historial-filtros input::placeholder {
    color: var(--theme-muted);
}

body.historial-page .historial-tabla-wrap {
    width: 100%;
    overflow-x: auto;
    border-radius: 16px;
    border: 1px solid var(--theme-border);
    background: var(--theme-panel);
}

body.historial-page .tabla-historial {
    width: 100%;
    min-width: 1080px;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 0;
}

body.historial-page .tabla-historial th {
    background: var(--theme-primary);
    color: #ffffff;
    padding: 13px 10px;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    white-space: normal;
    border: none;
}

body.historial-page .tabla-historial td {
    padding: 13px 10px;
    color: var(--theme-text);
    text-align: center;
    vertical-align: middle;
    border-top: 1px solid var(--theme-border);
    background: transparent;
    white-space: normal;
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
}

body.historial-page .tabla-historial tbody tr:nth-child(even) {
    background: var(--theme-panel-2);
}

body.historial-page .tabla-historial th:nth-child(1),
body.historial-page .tabla-historial td:nth-child(1) {
    width: 5%;
}

body.historial-page .tabla-historial th:nth-child(2),
body.historial-page .tabla-historial td:nth-child(2) {
    width: 12%;
}

body.historial-page .tabla-historial th:nth-child(3),
body.historial-page .tabla-historial td:nth-child(3) {
    width: 11%;
}

body.historial-page .tabla-historial th:nth-child(4),
body.historial-page .tabla-historial td:nth-child(4),
body.historial-page .tabla-historial th:nth-child(6),
body.historial-page .tabla-historial td:nth-child(6),
body.historial-page .tabla-historial th:nth-child(7),
body.historial-page .tabla-historial td:nth-child(7),
body.historial-page .tabla-historial th:nth-child(9),
body.historial-page .tabla-historial td:nth-child(9) {
    width: 9%;
}

body.historial-page .tabla-historial th:nth-child(5),
body.historial-page .tabla-historial td:nth-child(5),
body.historial-page .tabla-historial th:nth-child(8),
body.historial-page .tabla-historial td:nth-child(8) {
    width: 8%;
}

body.historial-page .tabla-historial th:nth-child(10),
body.historial-page .tabla-historial td:nth-child(10),
body.historial-page .tabla-historial th:nth-child(11),
body.historial-page .tabla-historial td:nth-child(11) {
    width: 10%;
}

body.historial-page .historial-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

body.historial-page .historial-status.ok {
    background: rgba(34, 197, 94, 0.15);
    color: #86efac;
}

body.historial-page .historial-status.bajo {
    background: rgba(245, 158, 11, 0.16);
    color: #fde68a;
}

body.historial-page .historial-status.critico {
    background: rgba(239, 68, 68, 0.16);
    color: #fecaca;
}

body.historial-page .historial-btn-accion {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 9px;
    background: var(--theme-primary);
    color: #ffffff !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

body.historial-page .historial-btn-accion:hover {
    background: var(--theme-primary);
    opacity: 0.85;
}

body.historial-page .historial-form-cancelar {
    display: flex;
    justify-content: center;
    align-items: center;
}

body.historial-page .historial-btn-cancelar {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 9px;
    background: var(--theme-danger);
    color: #ffffff;
    border: 1px solid var(--theme-danger);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

body.historial-page .historial-btn-cancelar:hover {
    background: #dc2626;
}

body.historial-page .historial-texto-muted {
    color: #94a3b8;
}

body.historial-page .historial-vacio {
    text-align: center;
    padding: 22px;
    color: #cbd5e1;
}

@media (max-width: 900px) {
    body.historial-page .historial-resumen {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    body.historial-page .historial-shell {
        width: min(100% - 18px, 1180px);
        margin-top: 14px !important;
    }

    body.historial-page .historial-panel {
        padding: 16px;
        border-radius: 16px;
    }

    body.historial-page .historial-titulo {
        font-size: 24px;
    }

    body.historial-page .historial-resumen {
        grid-template-columns: 1fr;
    }

    body.historial-page .historial-acciones {
        flex-direction: column;
        align-items: stretch;
    }

    body.historial-page .historial-btn {
        width: 100%;
    }

    body.historial-page .historial-filtros {
        grid-template-columns: 1fr;
    }

    body.historial-page .historial-tabla-wrap {
        overflow-x: visible;
        border: none;
        background: transparent;
    }

    body.historial-page .tabla-historial,
    body.historial-page .tabla-historial thead,
    body.historial-page .tabla-historial tbody,
    body.historial-page .tabla-historial th,
    body.historial-page .tabla-historial td,
    body.historial-page .tabla-historial tr {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.historial-page .tabla-historial thead {
        display: none;
    }

    body.historial-page .tabla-historial tr {
        margin-bottom: 14px;
        padding: 14px;
        border-radius: 14px;
        border: 1px solid var(--theme-border, rgba(148, 163, 184, 0.2));
        background: var(--theme-panel, rgba(15, 23, 42, 0.65));
    }

    body.historial-page .tabla-historial td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 14px;
        padding: 10px 0;
        text-align: right;
        color: var(--theme-text);
        border-top: none;
        border-bottom: 1px solid var(--theme-border, rgba(148, 163, 184, 0.14));
    }

    body.historial-page .tabla-historial td:last-child {
        border-bottom: none;
    }

    body.historial-page .tabla-historial td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        text-align: left;
        font-size: 12px;
        text-transform: uppercase;
        color: var(--theme-primary, #93c5fd);
        font-weight: 800;
    }

    body.historial-page .tabla-historial td > * {
        margin-left: auto;
    }
}

body.historial-page .historial-tabla-wrap {
    overflow-x: hidden !important;
}

body.historial-page .historial-tabla-wrap .tabla-historial {
    min-width: 0 !important;
    table-layout: auto !important;
}

body.historial-page .historial-tabla-wrap .tabla-historial th,
body.historial-page .historial-tabla-wrap .tabla-historial td {
    padding: 8px 6px !important;
    font-size: 12px !important;
}

body.historial-page .historial-tabla-wrap .tabla-historial .historial-btn-accion,
body.historial-page .historial-tabla-wrap .tabla-historial .btn-accion,
body.historial-page .historial-tabla-wrap .tabla-historial a.btn-accion,
body.historial-page .historial-tabla-wrap .tabla-historial button,
body.historial-page .historial-tabla-wrap .tabla-historial input[type="submit"] {
    min-width: 0 !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

@media (max-width: 1100px) {
    body.historial-page .historial-tabla-wrap {
        overflow-x: visible !important;
        border: none;
        background: transparent;
    }

    body.historial-page .historial-tabla-wrap .tabla-historial,
    body.historial-page .historial-tabla-wrap .tabla-historial thead,
    body.historial-page .historial-tabla-wrap .tabla-historial tbody,
    body.historial-page .historial-tabla-wrap .tabla-historial th,
    body.historial-page .historial-tabla-wrap .tabla-historial td,
    body.historial-page .historial-tabla-wrap .tabla-historial tr {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.historial-page .historial-tabla-wrap .tabla-historial thead {
        display: none;
    }

    body.historial-page .historial-tabla-wrap .tabla-historial tr {
        margin-bottom: 14px;
        padding: 14px;
        border-radius: 14px;
        border: 1px solid var(--theme-border, rgba(148, 163, 184, 0.2));
        background: var(--theme-panel, rgba(15, 23, 42, 0.65));
    }

    body.historial-page .historial-tabla-wrap .tabla-historial td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 14px;
        padding: 10px 0 !important;
        text-align: right;
        color: var(--theme-text);
        border-top: none;
        border-bottom: 1px solid var(--theme-border, rgba(148, 163, 184, 0.14));
    }

    body.historial-page .historial-tabla-wrap .tabla-historial td:last-child {
        border-bottom: none;
    }

    body.historial-page .historial-tabla-wrap .tabla-historial td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        text-align: left;
        font-size: 12px;
        text-transform: uppercase;
        color: var(--theme-primary, #93c5fd);
        font-weight: 800;
    }

    body.historial-page .historial-tabla-wrap .tabla-historial td > * {
        margin-left: auto;
    }
}

body.historial-page .historial-shell {
    width: min(1220px, calc(100% - 32px)) !important;
    margin: 24px auto 40px !important;
}

body.historial-page .historial-panel {
    width: 100% !important;
    margin: 0 auto !important;
}

body.historial-page .historial-acciones {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    height: auto !important;
    max-height: 94vh !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    z-index: 1400 !important;
    box-shadow: 0 32px 90px rgba(0,0,0,.55) !important;
    display: grid !important;
    grid-template-columns: 270px 1fr !important;
    grid-template-rows: auto 1fr !important;
    grid-template-areas:
        "logo  logo"
        "izq   der" !important;
    transform: translate(-50%, -50%) scale(.92) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .3s cubic-bezier(.34,1.3,.5,1), opacity .25s ease, visibility .3s !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel.abierto {
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-logo {
    grid-area: logo !important;
    display: flex !important;
    align-items: center !important;
    padding: 10px 18px !important;
    border-bottom: 1px solid var(--theme-border, rgba(148,163,184,.18)) !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-logo img {
    height: 34px !important;
    width: auto !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-seccion {
    grid-area: izq !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 12px 12px 12px 16px !important;
    overflow: hidden !important;
    border-right: 1px solid var(--theme-border, rgba(148,163,184,.18)) !important;
    box-sizing: border-box !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-seccion h3 {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    opacity: .55 !important;
    margin: 0 0 2px !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-botones {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 5px !important;
    flex: 1 !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-botones button {
    padding: 7px 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    border-radius: 8px !important;
    white-space: normal !important;
    text-align: left !important;
    height: auto !important;
    min-height: 0 !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-historial {
    display: none !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-input {
    display: flex !important;
    gap: 6px !important;
    margin-top: auto !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-input input {
    font-size: 12px !important;
    padding: 8px 10px !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-input button {
    padding: 8px 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-respuesta-header {
    display: none !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-respuesta-card {
    grid-area: der !important;
    overflow-y: auto !important;
    max-height: calc(94vh - 56px) !important;
    box-sizing: border-box !important;
    border-radius: 0 0 20px 0 !important;
    margin: 0 !important;
    padding: 20px !important;
    background: var(--theme-panel, #ffffff) !important;
    border: none !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-acciones {
    display: none !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-cerrar {
    position: absolute !important;
    top: 10px !important;
    right: 12px !important;
    z-index: 5 !important;
}

@media (max-width: 640px) {
    html body.dashboard-pro-body .dashboard-asistente-panel {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto 1fr !important;
        grid-template-areas:
            "logo"
            "izq"
            "der" !important;
        max-height: 94vh !important;
    }
    html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-seccion {
        border-right: none !important;
        border-bottom: 1px solid var(--theme-border, rgba(148,163,184,.18)) !important;
    }
    html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-respuesta-card {
        border-radius: 0 0 20px 20px !important;
        max-height: 50vh !important;
    }
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-input {
    background: var(--theme-panel, #ffffff) !important;
    border: 2px solid #4361ee !important;
    box-shadow: 0 0 0 3px rgba(67,97,238,.14) !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-input button {
    background: linear-gradient(135deg, #4361ee, #3a86ff) !important;
    box-shadow: 0 4px 14px rgba(67,97,238,.4) !important;
    font-weight: 800 !important;
    letter-spacing: .03em !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-input button:hover {
    filter: brightness(1.1) !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-asistente-botones button.activo {
    background: linear-gradient(135deg, #4361ee, #3a86ff) !important;
    border-color: transparent !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 4px 14px rgba(67,97,238,.35) !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-btn-copiar-wa {
    background: #25d366 !important;
    border-color: #25d366 !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 14px rgba(37,211,102,.4) !important;
    padding: 8px 16px !important;
    font-size: 12px !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-btn-copiar-wa:hover {
    filter: brightness(1.1) !important;
    background: #25d366 !important;
}

html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-btn-correo {
    background: #3b82f6 !important;
    border-color: #3b82f6 !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 14px rgba(59,130,246,.4) !important;
    padding: 8px 16px !important;
    font-size: 12px !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-btn-correo:hover {
    filter: brightness(1.1) !important;
    background: #3b82f6 !important;
}
html body.dashboard-pro-body .dashboard-asistente-panel .dashboard-respuesta-footer {
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 16px auto 22px !important;
    text-align: center !important;
}

body.historial-page .historial-btn {
    min-height: 44px !important;
    padding: 0 20px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    border: 1px solid rgba(96, 165, 250, 0.35) !important;
    background: #2563eb !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22) !important;
}

body.historial-page .historial-btn:hover {
    background: #1d4ed8 !important;
    transform: translateY(-1px) !important;
}

body.historial-page .historial-btn-reporte {
    background: #111827 !important;
    border-color: rgba(148, 163, 184, 0.45) !important;
}

body.historial-page .historial-btn-reporte:hover {
    background: #020617 !important;
}

body.historial-page .historial-ayuda {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto 20px !important;
    text-align: center !important;
    color: #b6c5d8 !important;
    line-height: 1.5 !important;
    display: block !important;
}

body.historial-page .historial-btn-accion {
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 9px !important;
    background: #2563eb !important;
    color: #ffffff !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

body.historial-page .historial-btn-accion:hover {
    background: #1d4ed8 !important;
}

body.historial-page .historial-btn-cancelar {
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 9px !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    border: 1px solid rgba(239, 68, 68, 0.45) !important;
    cursor: pointer !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

body.historial-page .historial-btn-cancelar:hover {
    background: #dc2626 !important;
}

@media (max-width: 700px) {
    body.historial-page .historial-acciones {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.historial-page .historial-btn {
        width: 100% !important;
    }
}

body.reporte-ventas-page {
    background: #f3f4f6;
    color: #111827;
    padding: 24px;
}

body.reporte-ventas-page * {
    box-sizing: border-box;
}

body.reporte-ventas-page .documento {
    max-width: 1450px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .12);
}

body.reporte-ventas-page .barra-superior {
    background: #111827;
    color: #ffffff;
    padding: 26px 32px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    flex-wrap: wrap;
}

body.reporte-ventas-page .barra-superior h1 {
    font-size: 28px;
    margin-bottom: 8px;
    line-height: 1.2;
    color: #ffffff;
}

body.reporte-ventas-page .barra-superior p {
    color: #d1d5db;
    font-size: 14px;
    line-height: 1.5;
}

body.reporte-ventas-page .acciones {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

body.reporte-ventas-page .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    text-decoration: none;
    cursor: pointer;
    font-weight: 700;
    font-size: 14px;
}

body.reporte-ventas-page .btn-primario {
    background: #ffffff;
    color: #111827;
}

body.reporte-ventas-page .btn-secundario {
    background: transparent;
    color: #ffffff;
    border-color: #4b5563;
}

body.reporte-ventas-page .contenido {
    padding: 28px 32px 34px;
}

body.reporte-ventas-page .resumen-principal {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}

body.reporte-ventas-page .tarjeta {
    border: 1px solid #d1d5db;
    border-radius: 14px;
    padding: 16px;
    background: #f9fafb;
    min-width: 0;
}

body.reporte-ventas-page .tarjeta span {
    display: block;
    color: #6b7280;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-weight: 700;
    margin-bottom: 8px;
}

body.reporte-ventas-page .tarjeta strong {
    display: block;
    color: #111827;
    font-size: clamp(15px, 1.35vw, 21px);
    line-height: 1.15;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-variant-numeric: tabular-nums;
}

body.reporte-ventas-page .empleado {
    border: 1px solid #d1d5db;
    border-radius: 16px;
    margin-bottom: 26px;
    overflow: hidden;
    background: #ffffff;
}

body.reporte-ventas-page .empleado-header {
    padding: 18px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #d1d5db;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

body.reporte-ventas-page .empleado-header h2 {
    font-size: 22px;
    color: #111827;
}

body.reporte-ventas-page .empleado-header span {
    color: #6b7280;
    font-size: 14px;
}

body.reporte-ventas-page .mini-resumen {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: 12px;
    padding: 18px 20px;
    border-bottom: 1px solid #e5e7eb;
}

body.reporte-ventas-page .mini-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 13px;
    min-width: 0;
}

body.reporte-ventas-page .mini-card span {
    display: block;
    color: #6b7280;
    font-size: 12px;
    margin-bottom: 6px;
}

body.reporte-ventas-page .mini-card strong {
    display: block;
    color: #111827;
    font-size: clamp(14px, 1.15vw, 18px);
    line-height: 1.15;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-variant-numeric: tabular-nums;
}

body.reporte-ventas-page .tabla-contenedor {
    width: 100%;
    overflow: visible;
}

body.reporte-ventas-page table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    table-layout: fixed;
}

body.reporte-ventas-page th {
    background: #1f2937;
    color: #ffffff;
    padding: 9px 4px;
    text-align: left;
    font-weight: 700;
    white-space: normal;
    line-height: 1.2;
}

body.reporte-ventas-page td {
    padding: 8px 4px;
    border-top: 1px solid #e5e7eb;
    color: #111827;
    vertical-align: middle;
    word-break: break-word;
    overflow-wrap: anywhere;
}

body.reporte-ventas-page tbody tr:nth-child(even) {
    background: #f9fafb;
}

body.reporte-ventas-page .monto,
body.reporte-ventas-page .numero {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

body.reporte-ventas-page .producto {
    overflow-wrap: anywhere;
}

body.reporte-ventas-page .fecha {
    white-space: nowrap;
}

body.reporte-ventas-page tbody tr {
    page-break-inside: avoid;
    break-inside: avoid;
}

body.reporte-ventas-page .col-id       { width: 3%; }
body.reporte-ventas-page .col-fecha    { width: 8%; }
body.reporte-ventas-page .col-estado   { width: 6%; }
body.reporte-ventas-page .col-pago     { width: 6%; }
body.reporte-ventas-page .col-producto { width: 11%; }
body.reporte-ventas-page .col-codigo   { width: 7%; }
body.reporte-ventas-page .col-catalogo { width: 6%; }
body.reporte-ventas-page .col-cantidad { width: 6%; }
body.reporte-ventas-page .col-precio   { width: 6%; }
body.reporte-ventas-page .col-subtotal { width: 8%; }
body.reporte-ventas-page .col-iva      { width: 5%; }
body.reporte-ventas-page .col-total    { width: 8%; }
body.reporte-ventas-page .col-costo    { width: 6%; }
body.reporte-ventas-page .col-utilidad { width: 8%; }
body.reporte-ventas-page .col-margen   { width: 6%; }

body.reporte-ventas-page .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

body.reporte-ventas-page .badge-activa {
    background: #dcfce7;
    color: #166534;
}

body.reporte-ventas-page .badge-cancelada {
    background: #fee2e2;
    color: #991b1b;
}

body.reporte-ventas-page .badge-catalogo {
    background: #e5e7eb;
    color: #374151;
}

body.reporte-ventas-page .resumen-final {
    border: 1px solid #d1d5db;
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
}

body.reporte-ventas-page .resumen-final h2 {
    background: #111827;
    color: #ffffff;
    padding: 18px 20px;
    font-size: 22px;
}

body.reporte-ventas-page .sin-datos {
    padding: 34px;
    text-align: center;
    color: #6b7280;
    border: 1px dashed #d1d5db;
    border-radius: 14px;
    background: #f9fafb;
}

@media print {
    @page {
        size: A4 landscape;
        margin: 8mm;
    }

    body.reporte-ventas-page {
        background: #ffffff;
        padding: 0;
        color: #111827;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body.reporte-ventas-page .documento {
        width: 100%;
        max-width: none;
        margin: 0;
        border: none;
        border-radius: 0;
        box-shadow: none;
    }

    body.reporte-ventas-page .barra-superior {
        background: #ffffff;
        color: #111827;
        border-bottom: 2px solid #111827;
        padding: 0 0 10px;
        margin-bottom: 12px;
    }

    body.reporte-ventas-page .barra-superior h1 {
        font-size: 18px;
        color: #111827;
    }

    body.reporte-ventas-page .barra-superior p {
        font-size: 11px;
        color: #374151;
    }

    body.reporte-ventas-page .acciones {
        display: none;
    }

    body.reporte-ventas-page .contenido {
        padding: 0;
    }

    body.reporte-ventas-page .resumen-principal {
        grid-template-columns: repeat(6, 1fr);
        gap: 6px;
        margin-bottom: 12px;
    }

    body.reporte-ventas-page .tarjeta {
        padding: 8px;
        border-radius: 8px;
    }

    body.reporte-ventas-page .tarjeta span {
        font-size: 8px;
        margin-bottom: 4px;
    }

    body.reporte-ventas-page .tarjeta strong {
        font-size: 10px;
        line-height: 1.1;
    }

    body.reporte-ventas-page .empleado {
        page-break-inside: avoid;
        margin-bottom: 14px;
        border-radius: 8px;
    }

    body.reporte-ventas-page .empleado-header {
        padding: 8px 10px;
    }

    body.reporte-ventas-page .empleado-header h2 {
        font-size: 14px;
    }

    body.reporte-ventas-page .empleado-header span {
        font-size: 10px;
    }

    body.reporte-ventas-page .mini-resumen {
        grid-template-columns: repeat(6, 1fr);
        gap: 6px;
        padding: 8px;
    }

    body.reporte-ventas-page .mini-card {
        padding: 7px;
        border-radius: 8px;
    }

    body.reporte-ventas-page .mini-card span {
        font-size: 8px;
    }

    body.reporte-ventas-page .mini-card strong {
        font-size: 9px;
    }

    body.reporte-ventas-page .tabla-contenedor {
        overflow: visible;
    }

    body.reporte-ventas-page table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
        font-size: 7.5px;
    }

    body.reporte-ventas-page th,
    body.reporte-ventas-page td {
        padding: 5px 3px;
        line-height: 1.15;
    }

    body.reporte-ventas-page th {
        background: #e5e7eb !important;
        color: #111827 !important;
        border-top: 1px solid #9ca3af;
        border-bottom: 1px solid #9ca3af;
    }

    body.reporte-ventas-page td {
        color: #111827;
    }

    body.reporte-ventas-page .badge {
        background: transparent !important;
        color: #111827 !important;
        padding: 0;
        font-size: 7.5px;
        font-weight: 700;
    }

    body.reporte-ventas-page .col-codigo,
    body.reporte-ventas-page .col-catalogo,
    body.reporte-ventas-page .col-costo,
    body.reporte-ventas-page .col-margen {
        display: none;
    }

    body.reporte-ventas-page .col-id {
        width: 5%;
    }

    body.reporte-ventas-page .col-fecha {
        width: 12%;
    }

    body.reporte-ventas-page .col-estado {
        width: 8%;
    }

    body.reporte-ventas-page .col-pago {
        width: 9%;
    }

    body.reporte-ventas-page .col-producto {
        width: 15%;
    }

    body.reporte-ventas-page .col-cantidad {
        width: 9%;
    }

    body.reporte-ventas-page .col-precio,
    body.reporte-ventas-page .col-subtotal,
    body.reporte-ventas-page .col-iva,
    body.reporte-ventas-page .col-total,
    body.reporte-ventas-page .col-utilidad {
        width: 8.4%;
    }

    body.reporte-ventas-page .producto {
        max-width: none;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    body.reporte-ventas-page .resumen-final {
        page-break-inside: avoid;
        border-radius: 8px;
    }

    body.reporte-ventas-page .resumen-final h2 {
        background: #e5e7eb !important;
        color: #111827 !important;
        padding: 8px;
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    body.reporte-ventas-page {
        padding: 8px;
    }

    body.reporte-ventas-page .documento {
        border-radius: 10px;
    }

    body.reporte-ventas-page .barra-superior {
        padding: 16px 14px;
        flex-direction: column;
        gap: 12px;
    }

    body.reporte-ventas-page .contenido {
        padding: 14px 10px;
    }

    body.reporte-ventas-page .barra-superior h1 {
        font-size: 20px;
    }

    body.reporte-ventas-page .acciones {
        width: 100%;
    }

    body.reporte-ventas-page .btn {
        width: 100%;
    }

    body.reporte-ventas-page table {
        font-size: 9.5px;
    }

    body.reporte-ventas-page th,
    body.reporte-ventas-page td {
        padding: 6px 3px;
    }

    body.reporte-ventas-page .col-codigo,
    body.reporte-ventas-page .col-catalogo,
    body.reporte-ventas-page .col-iva,
    body.reporte-ventas-page .col-costo {
        display: none;
    }

    body.reporte-ventas-page .col-id       { width: 3%; }
    body.reporte-ventas-page .col-fecha    { width: 12%; }
    body.reporte-ventas-page .col-estado   { width: 7%; }
    body.reporte-ventas-page .col-pago     { width: 8%; }
    body.reporte-ventas-page .col-producto { width: 14%; }
    body.reporte-ventas-page .col-cantidad { width: 7%; }
    body.reporte-ventas-page .col-precio   { width: 7%; }
    body.reporte-ventas-page .col-subtotal { width: 11%; }
    body.reporte-ventas-page .col-total    { width: 11%; }
    body.reporte-ventas-page .col-utilidad { width: 11%; }
    body.reporte-ventas-page .col-margen   { width: 9%; }
}

@media (max-width: 480px) {
    body.reporte-ventas-page .col-id,
    body.reporte-ventas-page .col-estado {
        display: none;
    }

    body.reporte-ventas-page table {
        font-size: 8.5px;
    }

    body.reporte-ventas-page th,
    body.reporte-ventas-page td {
        padding: 5px 2px;
    }

    body.reporte-ventas-page .monto,
    body.reporte-ventas-page .numero {
        white-space: normal;
    }

    body.reporte-ventas-page .col-fecha    { width: 16%; }
    body.reporte-ventas-page .col-pago     { width: 10%; }
    body.reporte-ventas-page .col-producto { width: 20%; }
    body.reporte-ventas-page .col-cantidad { width: 9%; }
    body.reporte-ventas-page .col-precio   { width: 9%; }
    body.reporte-ventas-page .col-subtotal { width: 13%; }
    body.reporte-ventas-page .col-total    { width: 13%; }
    body.reporte-ventas-page .col-utilidad { width: 6%; }
    body.reporte-ventas-page .col-margen   { width: 4%; }
}



.ventas-anuales-page {
    background: #f3f4f6;
}

.ventas-anuales-page .detalle-venta-page {
    max-width: 1180px;
    margin: 30px auto;
}

.ventas-anuales-acciones {
    text-align: center;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.ventas-anuales-btn-print {
    border: none;
    cursor: pointer;
}

@media print {
    .ventas-anuales-page {
        background: #ffffff;
    }

    .ventas-anuales-page .menu,
    .ventas-anuales-page .menu-lateral,
    .ventas-anuales-page .menu-overlay,
    .ventas-anuales-page .hamburguesa,
    .ventas-anuales-acciones {
        display: none !important;
    }

    .ventas-anuales-page .detalle-venta-page {
        max-width: none;
        margin: 0;
        padding: 0;
        box-shadow: none;
    }

    .ventas-anuales-page .titulo {
        color: #111827;
        margin-bottom: 18px;
    }

    .ventas-anuales-page table {
        width: 100%;
        border-collapse: collapse;
        font-size: 11px;
    }

    .ventas-anuales-page th,
    .ventas-anuales-page td {
        padding: 7px;
        border: 1px solid #d1d5db;
    }
}

@media (max-width: 768px) {
    .ventas-anuales-acciones {
        flex-direction: column;
    }

    .ventas-anuales-acciones .btn-accion,
    .ventas-anuales-acciones .ventas-anuales-btn-print {
        width: 100%;
    }
}

.jornadas-select-rol,
.jornadas-select-turno {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    background-color: #12305e;
    color: #f8fafc;
    border: 1px solid rgba(96, 165, 250, 0.75);
    border-radius: 12px;
    padding: 10px 30px 10px 12px;
    font-size: 13px;
    font-weight: 800;
    outline: none;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(147, 197, 253, 0.10), 0 8px 18px rgba(0, 0, 0, 0.18);
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #bfdbfe 50%), linear-gradient(135deg, #bfdbfe 50%, transparent 50%);
    background-position: calc(100% - 15px) 50%, calc(100% - 9px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.jornadas-select-rol:hover,
.jornadas-select-turno:hover {
    background-color: #173a70;
    border-color: rgba(147, 197, 253, 0.95);
}

.jornadas-select-rol:focus,
.jornadas-select-turno:focus {
    background-color: #173a70;
    border-color: #60a5fa;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.28), inset 0 0 0 1px rgba(147, 197, 253, 0.16);
}

.jornadas-select-rol option,
.jornadas-select-turno option {
    background-color: #0f1f3a;
    color: #f8fafc;
    font-weight: 700;
}

.jornadas-select-rol option:checked,
.jornadas-select-turno option:checked {
    background-color: #1d4ed8;
    color: #ffffff;
}

@media (min-width: 761px) {
    .jornadas-tabla-semanal {
        table-layout: fixed;
        margin-inline: auto;
    }

    .jornadas-tabla-semanal th,
    .jornadas-tabla-semanal td {
        text-align: center;
        vertical-align: middle;
    }

    .jornadas-tabla-semanal th:first-child,
    .jornadas-tabla-semanal td[data-label="Colaborador"] {
        width: 150px;
        text-align: left;
    }

    .jornadas-tabla-semanal td[data-label="Rol semanal"] {
        width: 130px;
    }

    .jornadas-tabla-semanal th:last-child,
    .jornadas-tabla-semanal td:last-child {
        width: 96px;
    }
}

@media (max-width: 1100px) and (min-width: 761px) {
    .jornadas-select-rol,
    .jornadas-select-turno {
        min-height: 40px;
        padding: 8px 26px 8px 10px;
        font-size: 12px;
    }

    .jornadas-tabla-semanal th:first-child,
    .jornadas-tabla-semanal td[data-label="Colaborador"] {
        width: 130px;
    }

    .jornadas-tabla-semanal td[data-label="Rol semanal"] {
        width: 110px;
    }
}

@media (max-width: 760px) {
    .jornadas-select-rol,
    .jornadas-select-turno {
        min-width: 100%;
        min-height: 38px;
        padding: 7px 30px 7px 10px;
        font-size: 13px;
    }
}


body.jornadas-page .jornadas-turno-hoy-item-camara {
    grid-template-columns: 1.3fr 1fr auto auto;
}

body.jornadas-page .jornadas-btn-camara {
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
}

@media (max-width: 760px) {
    body.jornadas-page .jornadas-turno-hoy-item-camara {
        grid-template-columns: 1fr;
    }

    body.jornadas-page .jornadas-btn-camara {
        width: 100%;
    }
}

body.productos-page .contenedor {
    width: 96% !important;
    max-width: 1500px !important;
    margin: 30px auto !important;
    overflow: visible !important;
}

body.productos-page .contenedor-tabla {
    width: 100% !important;
    max-width: 1500px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 22px !important;
}

body.productos-page .tabla-productos-admin {
    width: 100% !important;
    min-width: 1280px !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
}

body.productos-page .tabla-productos-admin th,
body.productos-page .tabla-productos-admin td {
    padding: 14px 10px !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
}

body.productos-page .tabla-productos-admin td {
    background: rgba(255,255,255,.035) !important;
    border-top: 1px solid rgba(148,163,184,.08) !important;
    border-bottom: 1px solid rgba(148,163,184,.08) !important;
}

body.productos-page .tabla-productos-admin td + td {
    border-left: 1px solid rgba(148,163,184,.08) !important;
}

body.productos-page .tabla-productos-admin th:nth-child(1),
body.productos-page .tabla-productos-admin td:nth-child(1) {
    width: 11% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(2),
body.productos-page .tabla-productos-admin td:nth-child(2) {
    width: 14% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(3),
body.productos-page .tabla-productos-admin td:nth-child(3) {
    width: 10% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(4),
body.productos-page .tabla-productos-admin td:nth-child(4) {
    width: 10% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(5),
body.productos-page .tabla-productos-admin td:nth-child(5) {
    width: 17% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(6),
body.productos-page .tabla-productos-admin td:nth-child(6) {
    width: 14% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(7),
body.productos-page .tabla-productos-admin td:nth-child(7) {
    width: 8% !important;
}

body.productos-page .tabla-productos-admin th:nth-child(8),
body.productos-page .tabla-productos-admin td:nth-child(8) {
    width: 16% !important;
}

body.productos-page .tabla-productos-admin td:nth-child(1) {
    font-family: Consolas, monospace !important;
    font-size: 13px !important;
    color: var(--theme-primary, #dbeafe) !important;
    overflow-wrap: anywhere !important;
}

body.productos-page .tabla-productos-admin td:nth-child(2) {
    font-weight: 800 !important;
}

body.productos-page .producto-rentabilidad {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    gap: 5px !important;
    text-align: left !important;
}

body.productos-page .producto-rentabilidad span {
    display: flex !important;
    justify-content: space-between !important;
    gap: 8px !important;
    font-size: 12px !important;
}

body.productos-page .producto-rentabilidad strong {
    font-size: 13px !important;
    white-space: nowrap !important;
}

body.productos-page .producto-rentabilidad .status {
    justify-content: flex-start !important;
}

body.productos-page .form-stock {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    flex-wrap: nowrap !important;
}

body.productos-page .form-stock input[type="number"] {
    width: 70px !important;
    min-width: 70px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 6px !important;
    text-align: center !important;
}

body.productos-page .form-stock button {
    width: auto !important;
    min-width: 82px !important;
    height: 38px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

body.productos-page .tabla-productos-admin td:nth-child(8) {
    display: table-cell !important;
    min-width: 0 !important;
}

body.productos-page .tabla-productos-admin td:nth-child(8) .acciones {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    flex-wrap: wrap !important;
}

body.productos-page .tabla-productos-admin td:nth-child(8) form {
    margin: 0 !important;
}

body.productos-page .tabla-productos-admin td:nth-child(8) a,
body.productos-page .tabla-productos-admin td:nth-child(8) button {
    width: auto !important;
    min-width: 78px !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

body.productos-page .barra-productos {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) auto !important;
    gap: 12px !important;
    align-items: center !important;
}

body.productos-page .barra-productos input,
body.productos-page .barra-productos select {
    height: 46px !important;
    margin: 0 !important;
}

body.productos-page .btn-eliminados {
    height: 46px !important;
    white-space: nowrap !important;
}

@media (max-width: 700px) {
    body.productos-page .contenedor {
        width: 100% !important;
        padding: 14px !important;
        margin: 20px auto !important;
    }

    body.productos-page .contenedor-tabla {
        padding: 14px !important;
        overflow-x: visible !important;
    }

    body.productos-page .barra-productos {
        grid-template-columns: 1fr !important;
    }

    body.productos-page .tabla-productos-admin,
    body.productos-page .tabla-productos-admin tbody,
    body.productos-page .tabla-productos-admin tr,
    body.productos-page .tabla-productos-admin td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.productos-page .tabla-productos-admin tr:first-child {
        display: none !important;
    }

    body.productos-page .tabla-productos-admin {
        border-spacing: 0 !important;
        table-layout: auto !important;
    }

    body.productos-page .tabla-productos-admin tr {
        margin-bottom: 14px !important;
        padding: 14px !important;
        background: rgba(255,255,255,.045) !important;
        border: 1px solid var(--borde-suave) !important;
        border-radius: 14px !important;
    }

    body.productos-page .tabla-productos-admin td {
        display: grid !important;
        grid-template-columns: 42% minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: center !important;
        padding: 11px 0 !important;
        background: transparent !important;
        border-top: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        text-align: right !important;
        border-radius: 0 !important;
    }

    body.productos-page .tabla-productos-admin td::before {
        content: attr(data-label) !important;
        color: var(--texto-muted) !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        font-size: 12px !important;
        text-align: left !important;
    }

    body.productos-page .tabla-productos-admin td:last-child {
        border-bottom: 0 !important;
    }

    body.productos-page .producto-rentabilidad {
        margin-left: auto !important;
        width: 100% !important;
        max-width: 220px !important;
    }

    body.productos-page .form-stock {
        margin-left: auto !important;
        width: 100% !important;
        max-width: 230px !important;
        display: grid !important;
        grid-template-columns: 75px 1fr !important;
        gap: 8px !important;
    }

    body.productos-page .form-stock input[type="number"] {
        width: 75px !important;
        min-width: 75px !important;
    }

    body.productos-page .form-stock button {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.productos-page .tabla-productos-admin td:nth-child(8) {
        display: grid !important;
    }

    body.productos-page .tabla-productos-admin td:nth-child(8) .acciones {
        width: 100% !important;
        max-width: 220px !important;
        margin-left: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    body.productos-page .tabla-productos-admin td:nth-child(8) a,
    body.productos-page .tabla-productos-admin td:nth-child(8) button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 900px) {
    html body.productos-page .contenedor {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px !important;
        margin: 18px auto !important;
        overflow-x: hidden !important;
    }

    html body.productos-page .contenedor-tabla {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px !important;
        overflow-x: visible !important;
    }

    html body.productos-page .tabla-productos-admin,
    html body.productos-page .tabla-productos-admin tbody,
    html body.productos-page .tabla-productos-admin tr,
    html body.productos-page .tabla-productos-admin td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.productos-page .tabla-productos-admin {
        border-spacing: 0 !important;
        table-layout: auto !important;
    }

    html body.productos-page .tabla-productos-admin tr:first-child {
        display: none !important;
    }

    html body.productos-page .tabla-productos-admin tr {
        margin-bottom: 16px !important;
        padding: 16px !important;
        border-radius: 16px !important;
        background: rgba(255,255,255,.045) !important;
        border: 1px solid var(--borde-suave) !important;
        box-shadow: 0 12px 24px rgba(0,0,0,.16) !important;
    }

    html body.productos-page .tabla-productos-admin td {
        padding: 12px 0 !important;
        text-align: left !important;
        background: transparent !important;
        border-top: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        border-radius: 0 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    html body.productos-page .tabla-productos-admin td:last-child {
        border-bottom: 0 !important;
    }

    html body.productos-page .tabla-productos-admin td::before {
        content: attr(data-label) !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 7px 0 !important;
        color: #93c5fd !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
        text-align: left !important;
        text-transform: uppercase !important;
        letter-spacing: .5px !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    html body.productos-page .tabla-productos-admin td > * {
        margin-left: 0 !important;
    }

    html body.productos-page .tabla-productos-admin td:nth-child(1),
    html body.productos-page .tabla-productos-admin td:nth-child(2),
    html body.productos-page .tabla-productos-admin td:nth-child(3),
    html body.productos-page .tabla-productos-admin td:nth-child(4),
    html body.productos-page .tabla-productos-admin td:nth-child(5),
    html body.productos-page .tabla-productos-admin td:nth-child(6),
    html body.productos-page .tabla-productos-admin td:nth-child(7),
    html body.productos-page .tabla-productos-admin td:nth-child(8) {
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.productos-page .producto-rentabilidad {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        gap: 7px !important;
        text-align: left !important;
    }

    html body.productos-page .producto-rentabilidad span {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 12px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    html body.productos-page .producto-rentabilidad strong {
        white-space: nowrap !important;
        font-size: 13px !important;
    }

    html body.productos-page .producto-rentabilidad .status {
        width: fit-content !important;
        justify-content: flex-start !important;
        white-space: nowrap !important;
    }

    html body.productos-page .form-stock {
        width: 100% !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: 90px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: center !important;
        justify-content: stretch !important;
    }

    html body.productos-page .form-stock input[type="number"] {
        width: 90px !important;
        min-width: 90px !important;
        height: 42px !important;
        margin: 0 !important;
        text-align: center !important;
    }

    html body.productos-page .form-stock button {
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        margin: 0 !important;
        font-size: 13px !important;
    }

    html body.productos-page .tabla-productos-admin td:nth-child(8) .acciones {
        width: 100% !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        justify-content: stretch !important;
        align-items: stretch !important;
    }

    html body.productos-page .tabla-productos-admin td:nth-child(8) .acciones form {
        width: 100% !important;
        margin: 0 !important;
    }

    html body.productos-page .tabla-productos-admin td:nth-child(8) a,
    html body.productos-page .tabla-productos-admin td:nth-child(8) button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
}



@media (min-width: 901px) {
    html body.productos-page .contenedor {
        width: calc(100vw - 300px) !important;
        max-width: 1240px !important;
        min-width: 0 !important;
        margin: 28px auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    html body.productos-page .contenedor-tabla {
        width: 100% !important;
        max-width: 100% !important;
        padding: 18px !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
    }

    html body.productos-page .tabla-productos-admin {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: separate !important;
        border-spacing: 0 10px !important;
    }

    html body.productos-page .tabla-productos-admin th,
    html body.productos-page .tabla-productos-admin td {
        padding: 13px 7px !important;
        text-align: center !important;
        vertical-align: middle !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        line-height: 1.25 !important;
        font-size: 13px !important;
    }

    html body.productos-page .tabla-productos-admin th:nth-child(1),
    html body.productos-page .tabla-productos-admin td:nth-child(1) {
        width: 10% !important;
    }

    html body.productos-page .tabla-productos-admin th:nth-child(2),
    html body.productos-page .tabla-productos-admin td:nth-child(2) {
        width: 13% !important;
    }

    html body.productos-page .tabla-productos-admin th:nth-child(3),
    html body.productos-page .tabla-productos-admin td:nth-child(3) {
        width: 9% !important;
    }

    html body.productos-page .tabla-productos-admin th:nth-child(4),
    html body.productos-page .tabla-productos-admin td:nth-child(4) {
        width: 10% !important;
    }

    html body.productos-page .tabla-productos-admin th:nth-child(5),
    html body.productos-page .tabla-productos-admin td:nth-child(5) {
        width: 17% !important;
    }

    html body.productos-page .tabla-productos-admin th:nth-child(6),
    html body.productos-page .tabla-productos-admin td:nth-child(6) {
        width: 13% !important;
    }

    html body.productos-page .tabla-productos-admin th:nth-child(7),
    html body.productos-page .tabla-productos-admin td:nth-child(7) {
        width: 7% !important;
    }

    html body.productos-page .tabla-productos-admin th:nth-child(8),
    html body.productos-page .tabla-productos-admin td:nth-child(8) {
        width: 21% !important;
    }

    html body.productos-page .producto-rentabilidad {
        min-width: 0 !important;
        width: 100% !important;
        gap: 4px !important;
    }

    html body.productos-page .producto-rentabilidad span {
        font-size: 11.5px !important;
        gap: 6px !important;
    }

    html body.productos-page .producto-rentabilidad strong {
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    html body.productos-page .form-stock {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 5px !important;
        flex-wrap: nowrap !important;
    }

    html body.productos-page .form-stock input[type="number"] {
        width: 62px !important;
        min-width: 62px !important;
        height: 36px !important;
        margin: 0 !important;
        padding: 5px !important;
        text-align: center !important;
        font-size: 12px !important;
    }

    html body.productos-page .form-stock button {
        width: auto !important;
        min-width: 70px !important;
        height: 36px !important;
        padding: 0 8px !important;
        margin: 0 !important;
        font-size: 11.5px !important;
        white-space: nowrap !important;
    }

    html body.productos-page .tabla-productos-admin td:nth-child(8),
    html body.productos-page .tabla-productos-admin td[data-label="Acción"] {
        display: table-cell !important;
        overflow: visible !important;
        min-width: 0 !important;
    }

    html body.productos-page .tabla-productos-admin td:nth-child(8) .acciones,
    html body.productos-page .tabla-productos-admin td[data-label="Acción"] .acciones {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 5px !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }

    html body.productos-page .tabla-productos-admin td:nth-child(8) form,
    html body.productos-page .tabla-productos-admin td[data-label="Acción"] form {
        margin: 0 !important;
        width: auto !important;
    }

    html body.productos-page .tabla-productos-admin td:nth-child(8) a,
    html body.productos-page .tabla-productos-admin td:nth-child(8) button,
    html body.productos-page .tabla-productos-admin td[data-label="Acción"] a,
    html body.productos-page .tabla-productos-admin td[data-label="Acción"] button {
        width: auto !important;
        min-width: 74px !important;
        min-height: 36px !important;
        padding: 7px 8px !important;
        margin: 0 !important;
        border-radius: 8px !important;
        font-size: 11.5px !important;
        white-space: nowrap !important;
    }

    html body.productos-page .barra-productos {
        grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) auto !important;
    }
}

html body.dashboard-pro-body .dashboard-chart-card{
    min-height:430px !important;
    padding:22px !important;
    border-radius:24px !important;
    background:
        radial-gradient(circle at top left, rgba(56,189,248,.12), transparent 34%),
        linear-gradient(145deg, rgba(10,31,56,.96), rgba(15,39,68,.86)) !important;
    border:1px solid rgba(96,165,250,.22) !important;
    box-shadow:0 24px 60px rgba(2,8,23,.28) !important;
}

html body.dashboard-pro-body .dashboard-chart-header{
    margin-bottom:16px !important;
}

html body.dashboard-pro-body .dashboard-chart-header h2{
    font-size:20px !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
}

html body.dashboard-pro-body .dashboard-chart-header p{
    font-size:13px !important;
    color:#8fb3d9 !important;
}

html body.dashboard-pro-body .dashboard-chart-header span{
    padding:9px 14px !important;
    border-radius:999px !important;
    background:rgba(15,23,42,.42) !important;
    border:1px solid rgba(148,163,184,.18) !important;
    color:#dbeafe !important;
    font-weight:800 !important;
}

html body.dashboard-pro-body #graficaVentas{
    height:520px !important;
    max-height:520px !important;
}

html body.dashboard-pro-body .dashboard-chart-card{
    min-height:680px !important;
}

@media (max-width:760px){
    html body.dashboard-pro-body .dashboard-chart-card{
        min-height:360px !important;
        padding:16px !important;
    }

    html body.dashboard-pro-body #graficaVentas{
        height:280px !important;
        max-height:280px !important;
    }
}

html body.ventas-page .reloj-turno{
    background:#1f2937 !important;
    color:#f8fafc !important;
}

html body.ventas-page .reloj-turno span{
    color:#e5e7eb !important;
    -webkit-text-fill-color:#e5e7eb !important;
}

html body.ventas-page .reloj-turno strong{
    color:#22c55e !important;
    -webkit-text-fill-color:#22c55e !important;
    font-weight:900 !important;
    text-shadow:none !important;
}

html body.ventas-page .reloj-turno.reloj-ok strong{
    color:#22c55e !important;
    -webkit-text-fill-color:#22c55e !important;
}

html body.ventas-page .reloj-turno.reloj-alerta strong{
    color:#facc15 !important;
    -webkit-text-fill-color:#facc15 !important;
}

html body.ventas-page .reloj-turno.reloj-peligro strong{
    color:#fb923c !important;
    -webkit-text-fill-color:#fb923c !important;
}

html body.ventas-page .reloj-turno.reloj-finalizado strong{
    color:#f87171 !important;
    -webkit-text-fill-color:#f87171 !important;
}

html body.ventas-page .reloj-turno.reloj-comida strong{
    color:#38bdf8 !important;
    -webkit-text-fill-color:#38bdf8 !important;
}

html body.ventas-page .reloj-turno.reloj-espera strong{
    color:#a78bfa !important;
    -webkit-text-fill-color:#a78bfa !important;
}

html body .reloj-turno{
    position:fixed !important;
    left:50% !important;
    bottom:18px !important;
    transform:translateX(-50%) !important;
    z-index:9000 !important;
    width:min(520px, calc(100% - 28px)) !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:12px !important;
    padding:14px 18px !important;
    border-radius:18px !important;
    background:#111827 !important;
    border:1px solid rgba(255,255,255,.20) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.42) !important;
    color:#f8fafc !important;
}

html body .reloj-turno span{
    color:#e5e7eb !important;
    -webkit-text-fill-color:#e5e7eb !important;
    font-size:14px !important;
    font-weight:700 !important;
    opacity:1 !important;
    text-shadow:none !important;
}

html body .reloj-turno strong,
html body .reloj-turno b,
html body .reloj-turno [id*="contador"],
html body .reloj-turno [id*="tiempo"],
html body .reloj-turno [class*="contador"],
html body .reloj-turno [class*="tiempo"]{
    color:#22c55e !important;
    -webkit-text-fill-color:#22c55e !important;
    font-size:20px !important;
    font-weight:900 !important;
    letter-spacing:.8px !important;
    opacity:1 !important;
    text-shadow:0 0 12px rgba(34,197,94,.45) !important;
}

html body .reloj-turno.reloj-ok,
html body.reloj-ok .reloj-turno,
html body .reloj-ok .reloj-turno{
    border-color:rgba(34,197,94,.45) !important;
}

html body .reloj-turno.reloj-ok strong,
html body .reloj-turno.reloj-ok b,
html body .reloj-turno.reloj-ok [id*="contador"],
html body .reloj-turno.reloj-ok [id*="tiempo"],
html body.reloj-ok .reloj-turno strong,
html body .reloj-ok .reloj-turno strong{
    color:#22c55e !important;
    -webkit-text-fill-color:#22c55e !important;
    text-shadow:0 0 12px rgba(34,197,94,.55) !important;
}

html body .reloj-turno.reloj-alerta,
html body.reloj-alerta .reloj-turno,
html body .reloj-alerta .reloj-turno{
    border-color:rgba(250,204,21,.58) !important;
}

html body .reloj-turno.reloj-alerta strong,
html body .reloj-turno.reloj-alerta b,
html body .reloj-turno.reloj-alerta [id*="contador"],
html body .reloj-turno.reloj-alerta [id*="tiempo"],
html body.reloj-alerta .reloj-turno strong,
html body .reloj-alerta .reloj-turno strong{
    color:#facc15 !important;
    -webkit-text-fill-color:#facc15 !important;
    text-shadow:0 0 12px rgba(250,204,21,.55) !important;
}

html body .reloj-turno.reloj-peligro,
html body.reloj-peligro .reloj-turno,
html body .reloj-peligro .reloj-turno{
    border-color:rgba(251,146,60,.60) !important;
}

html body .reloj-turno.reloj-peligro strong,
html body .reloj-turno.reloj-peligro b,
html body .reloj-turno.reloj-peligro [id*="contador"],
html body .reloj-turno.reloj-peligro [id*="tiempo"],
html body.reloj-peligro .reloj-turno strong,
html body .reloj-peligro .reloj-turno strong{
    color:#fb923c !important;
    -webkit-text-fill-color:#fb923c !important;
    text-shadow:0 0 12px rgba(251,146,60,.55) !important;
}

html body .reloj-turno.reloj-finalizado,
html body.reloj-finalizado .reloj-turno,
html body .reloj-finalizado .reloj-turno{
    border-color:rgba(248,113,113,.62) !important;
}

html body .reloj-turno.reloj-finalizado strong,
html body .reloj-turno.reloj-finalizado b,
html body .reloj-turno.reloj-finalizado [id*="contador"],
html body .reloj-turno.reloj-finalizado [id*="tiempo"],
html body.reloj-finalizado .reloj-turno strong,
html body .reloj-finalizado .reloj-turno strong{
    color:#f87171 !important;
    -webkit-text-fill-color:#f87171 !important;
    text-shadow:0 0 12px rgba(248,113,113,.55) !important;
}

html body .reloj-turno.reloj-comida,
html body.reloj-comida .reloj-turno,
html body .reloj-comida .reloj-turno{
    border-color:rgba(56,189,248,.62) !important;
}

html body .reloj-turno.reloj-comida strong,
html body .reloj-turno.reloj-comida b,
html body .reloj-turno.reloj-comida [id*="contador"],
html body .reloj-turno.reloj-comida [id*="tiempo"],
html body.reloj-comida .reloj-turno strong,
html body .reloj-comida .reloj-turno strong{
    color:#38bdf8 !important;
    -webkit-text-fill-color:#38bdf8 !important;
    text-shadow:0 0 12px rgba(56,189,248,.55) !important;
}

html body .reloj-turno.reloj-espera,
html body.reloj-espera .reloj-turno,
html body .reloj-espera .reloj-turno{
    border-color:rgba(167,139,250,.62) !important;
}

html body .reloj-turno.reloj-espera strong,
html body .reloj-turno.reloj-espera b,
html body .reloj-turno.reloj-espera [id*="contador"],
html body .reloj-turno.reloj-espera [id*="tiempo"],
html body.reloj-espera .reloj-turno strong,
html body .reloj-espera .reloj-turno strong{
    color:#a78bfa !important;
    -webkit-text-fill-color:#a78bfa !important;
    text-shadow:0 0 12px rgba(167,139,250,.55) !important;
}

@media (max-width:768px){
    html body .reloj-turno{
        bottom:12px !important;
        flex-direction:column !important;
        text-align:center !important;
        padding:12px 14px !important;
    }

    html body .reloj-turno strong,
    html body .reloj-turno b,
    html body .reloj-turno [id*="contador"],
    html body .reloj-turno [id*="tiempo"]{
        font-size:21px !important;
    }
}



body[data-visual-theme="arena"]{
    --bg-gradiente:linear-gradient(135deg,#fffaf2 0%,#f6efe3 55%,#f1f7f4 100%);
}

html[data-visual-theme]:not([data-visual-theme="blackstock"]) body.dashboard-pro-body .dashboard-btn-mini,
html body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body .dashboard-btn-mini{
    background:var(--theme-primary,#2563eb) !important;
    border:1px solid transparent !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    box-shadow:0 2px 10px rgba(0,0,0,.18) !important;
}
html[data-visual-theme]:not([data-visual-theme="blackstock"]) body.dashboard-pro-body .dashboard-btn-mini::before,
html body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body .dashboard-btn-mini::before{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}
html[data-visual-theme]:not([data-visual-theme="blackstock"]) body.dashboard-pro-body .dashboard-fecha,
html body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body .dashboard-fecha{
    background:var(--theme-panel,#ffffff) !important;
    border:1.5px solid var(--theme-primary,#2563eb) !important;
    color:var(--theme-primary,#2563eb) !important;
    -webkit-text-fill-color:var(--theme-primary,#2563eb) !important;
}

html[data-visual-theme]:not([data-visual-theme="blackstock"]) body.dashboard-pro-body .ayuda-boton,
html body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body .ayuda-boton{
    background:var(--theme-panel,#ffffff) !important;
    border:1.5px solid var(--theme-primary,#2563eb) !important;
    color:var(--theme-primary,#2563eb) !important;
    text-decoration:none !important;
}

html[data-visual-theme]:not([data-visual-theme="blackstock"]) body.dashboard-pro-body .ayuda-boton .ayuda-boton-icono,
html body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body .ayuda-boton .ayuda-boton-icono{
    width:auto !important;
    height:auto !important;
    background:transparent !important;
    color:inherit !important;
    border:none !important;
    border-radius:0 !important;
    font-weight:900 !important;
}

html[data-visual-theme]:not([data-visual-theme="blackstock"]) body.dashboard-pro-body .ayuda-boton:hover,
html body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body .ayuda-boton:hover{
    background:var(--theme-primary,#2563eb) !important;
    color:#fff !important;
}

html[data-visual-theme]:not([data-visual-theme="blackstock"]) body.dashboard-pro-body .ayuda-boton:hover .ayuda-boton-icono,
html body[data-visual-theme]:not([data-visual-theme="blackstock"]).dashboard-pro-body .ayuda-boton:hover .ayuda-boton-icono{
    background:transparent !important;
    color:#fff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .menu{
}

html body.productos-page .form-stock,
    html body.productos-page .tabla-productos-admin td:nth-child(8) .acciones{
        max-width:240px !important;
        margin-left:auto !important;
    }


html body.dashboard-pro-body .dashboard-inteligente-grid .dashboard-inteligente-card-ancha{
    grid-column:1 / -1 !important;
    width:100% !important;
}

body[data-visual-theme="cielo"] .dashboard-tabla-dato span,
body[data-visual-theme="arena"] .dashboard-tabla-dato span,
body[data-visual-theme="salvia"] .dashboard-tabla-dato span{
    background:var(--theme-bg-soft) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme="cielo"] .dashboard-tabla-compacta tr,
body[data-visual-theme="arena"] .dashboard-tabla-compacta tr,
body[data-visual-theme="salvia"] .dashboard-tabla-compacta tr{
    background:color-mix(in srgb, var(--theme-panel) 80%, var(--theme-bg-soft)) !important;
}

body[data-visual-theme="cielo"] .dashboard-tabla-compacta td,
body[data-visual-theme="arena"] .dashboard-tabla-compacta td,
body[data-visual-theme="salvia"] .dashboard-tabla-compacta td{
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

@media (max-width:700px){
    html body.dashboard-pro-body .dashboard-ejecutivo{
        width:calc(100% - 24px) !important;
        padding-top:10px !important;
    }

    html body.dashboard-pro-body .dashboard-pro-kpis,
    html body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }

    html body.dashboard-pro-body .dashboard-inteligente-card-ancha,
    html body.dashboard-pro-body .dashboard-inteligente-card:first-child{
        grid-column:auto !important;
    }

    html body.dashboard-pro-body .dashboard-chart-card{
        min-height:360px !important;
        padding:16px !important;
    }

    html body.dashboard-pro-body #graficaVentas{
        height:280px !important;
        max-height:280px !important;
    }
}


html body.dashboard-pro-body .dashboard-inteligente-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:stretch !important;
}

html body.dashboard-pro-body .dashboard-inteligente-grid .dashboard-inteligente-card{
    align-self:stretch !important;
    grid-column:auto !important;
    min-height:0 !important;
}

html body.dashboard-pro-body .dashboard-inteligente-card.dashboard-inteligente-card-ancha{
    grid-column:1 / -1 !important;
    align-self:stretch !important;
}

@media (max-width:700px){
    html body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }
    html body.dashboard-pro-body .dashboard-inteligente-card.dashboard-inteligente-card-ancha{
        grid-column:auto !important;
    }
}

html body.dashboard-pro-body.dashboard-asistente-abierto{
    overflow:hidden !important;
}


html body:has(.menu){
    padding-left:0 !important;
    padding-top:80px !important;
}

.menu{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    width:0 !important;
    height:0 !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    gap:0 !important;
    z-index:9998 !important;
    pointer-events:none !important;
    display:block !important;
    flex-direction:unset !important;
    align-items:unset !important;
    overflow:visible !important;
}

.menu-toggle{
    position:fixed !important;
    left:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:28px !important;
    height:72px !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    background:linear-gradient(180deg,var(--theme-primary,#2563eb),var(--theme-primary-2,#1d4ed8)) !important;
    border:none !important;
    border-radius:0 13px 13px 0 !important;
    cursor:pointer !important;
    transition:left .3s ease, box-shadow .25s ease !important;
    z-index:10001 !important;
    padding:0 !important;
    box-shadow:3px 0 14px rgba(37,99,235,.4) !important;
    font-size:0 !important;
    color:transparent !important;
    pointer-events:auto !important;
    overflow:visible !important;
}

.menu-toggle:hover{
    box-shadow:4px 0 20px rgba(59,130,246,.55) !important;
}

.menu-toggle::before{
    content:'' !important;
    display:block !important;
    width:12px !important;
    height:2px !important;
    background:rgba(255,255,255,.92) !important;
    border-radius:2px !important;
    box-shadow:0 -5px 0 rgba(255,255,255,.92), 0 5px 0 rgba(255,255,255,.92) !important;
    transition:transform .25s ease, box-shadow .25s ease !important;
}

.menu-toggle[aria-expanded="true"]::before{
    box-shadow:none !important;
    transform:rotate(45deg) !important;
}

.menu-toggle::after{
    content:'' !important;
    display:none !important;
    position:absolute !important;
    width:12px !important;
    height:2px !important;
    background:rgba(255,255,255,.92) !important;
    border-radius:2px !important;
}

.menu-toggle[aria-expanded="true"]::after{
    display:block !important;
    transform:rotate(-45deg) !important;
}

body.menu-abierto .menu-toggle{
    left:340px !important;
}

.menu-enlaces{
    position:fixed !important;
    top:0 !important;
    left:-340px !important;
    width:85% !important;
    max-width:340px !important;
    height:100vh !important;
    height:100dvh !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:20px 20px 28px !important;
    background:linear-gradient(180deg,#111827,#0f172a) !important;
    border-right:1px solid var(--borde-suave) !important;
    overflow-y:auto !important;
    transition:left .3s ease !important;
    box-shadow:18px 0 45px rgba(0,0,0,.45) !important;
    z-index:9999 !important;
    pointer-events:auto !important;
}

.menu-enlaces.mostrar{
    left:0 !important;
}

body[data-visual-theme="claro"] .menu-enlaces,
body[data-visual-theme="menta"] .menu-enlaces,
body[data-visual-theme="lavanda"] .menu-enlaces{
    background:linear-gradient(180deg,var(--theme-panel,#fff),var(--theme-bg-soft,#f8f9fa)) !important;
    border-right-color:var(--theme-border) !important;
    box-shadow:18px 0 45px rgba(15,23,42,.1) !important;
}

.menu-marca{
    display:flex !important;
}

.menu-overlay{
    display:block !important;
    pointer-events:auto !important;
}

.drawer-cabecera{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    padding-bottom:12px !important;
    border-bottom:1px solid var(--borde-suave) !important;
    margin-bottom:6px !important;
    flex-shrink:0 !important;
}

.drawer-cerrar{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    padding:0 !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid var(--borde-suave) !important;
    color:rgba(255,255,255,.9) !important;
    font-size:22px !important;
    line-height:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    flex-shrink:0 !important;
    transition:background .2s ease, border-color .2s ease !important;
    transform:none !important;
}

.drawer-cerrar:hover{
    background:rgba(239,68,68,.22) !important;
    border-color:rgba(239,68,68,.4) !important;
    transform:none !important;
}

body[data-visual-theme="claro"] .drawer-cerrar,
body[data-visual-theme="menta"] .drawer-cerrar,
body[data-visual-theme="lavanda"] .drawer-cerrar{
    background:var(--theme-bg-soft) !important;
    color:var(--theme-text) !important;
    border-color:var(--theme-border) !important;
}

@media (min-width:1021px){
    html body:has(.menu){
        padding-left:0 !important;
        padding-top:80px !important;
    }

    html body:has(.menu) .contenedor,
    html body.dashboard-pro-body:has(.menu) .dashboard-ejecutivo,
    html body.historial-page:has(.menu) .historial-shell,
    html body.productos-page:has(.menu) .contenedor,
    html body.ventas-page:has(.menu) .ventas-shell,
    html body.stock-page:has(.menu) .contenedor,
    html body.registro-producto-page:has(.menu) .contenedor,
    html body.jornadas-page:has(.menu) .jornadas-contenedor{
        width:min(95%,1360px) !important;
        max-width:1360px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    html body.productos-page:has(.menu) .contenedor{
        width:min(97%,1400px) !important;
        max-width:1400px !important;
    }
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-panel{
    background:linear-gradient(145deg,rgba(8,21,40,.92),rgba(16,35,60,.88)) !important;
    border-color:rgba(148,163,184,.22) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-window-actions button{
    background:rgba(255,255,255,.08) !important;
    border-color:rgba(148,163,184,.22) !important;
    color:#f8fafc !important;
    -webkit-text-fill-color:#f8fafc !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-panel input[type="text"],
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-panel input{
    background:rgba(15,23,42,.54) !important;
    border-color:rgba(148,163,184,.16) !important;
    color:#e5edff !important;
    -webkit-text-fill-color:#e5edff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-panel input::placeholder{
    color:#94a3b8 !important;
    -webkit-text-fill-color:#94a3b8 !important;
    opacity:1 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-panel :is(h3,h4,strong,span){
    color:inherit !important;
    -webkit-text-fill-color:inherit !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-topbar strong,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-seccion h3,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-header h3{
    color:#f8fafc !important;
    -webkit-text-fill-color:#f8fafc !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-contenido h4{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-metricas strong{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-acciones button{
    background:rgba(30,58,95,.42) !important;
    border-color:rgba(148,163,184,.16) !important;
    color:#e5edff !important;
    -webkit-text-fill-color:#e5edff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-acciones button:hover{
    background:rgba(37,99,235,.22) !important;
    border-color:rgba(96,165,250,.35) !important;
}



body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-panel{
    background:linear-gradient(145deg,var(--theme-panel),var(--theme-panel-2)) !important;
    border-color:var(--theme-border) !important;
    box-shadow:0 26px 70px rgba(0,0,0,.12) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-topbar{
    border-bottom-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-topbar span{
    color:var(--theme-muted) !important;
    -webkit-text-fill-color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-topbar strong,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-seccion h3,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-header h3{
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-window-actions button{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-input{
    background:var(--theme-bg-soft) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-panel input{
    background:transparent !important;
    border:0 !important;
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-panel input::placeholder{
    color:var(--theme-muted) !important;
    -webkit-text-fill-color:var(--theme-muted) !important;
    opacity:1 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-contenido h4{
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-contenido p{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-metricas div{
    background:var(--theme-bg-soft) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-metricas span{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-metricas strong{
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-acciones button{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-acciones button:hover{
    background:var(--theme-panel) !important;
    border-color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-header{
    border-top-color:var(--theme-border) !important;
}

.dashboard-respuesta-comparativa{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin:8px 0 0;
}

.dashboard-comparativa-label{
    font-size:11px;
    font-weight:700;
    color:#64748b;
    white-space:nowrap;
    letter-spacing:.3px;
}

.dashboard-comparativa-chip{
    font-size:11px;
    font-weight:800;
    padding:3px 9px;
    border-radius:20px;
    white-space:nowrap;
    cursor:default;
}

.dashboard-comparativa-chip.positivo{
    background:rgba(34,197,94,.15);
    color:#22c55e;
    border:1px solid rgba(34,197,94,.25);
}

.dashboard-comparativa-chip.negativo{
    background:rgba(239,68,68,.13);
    color:#f87171;
    border:1px solid rgba(239,68,68,.22);
}

.dashboard-comparativa-chip.neutro{
    background:rgba(148,163,184,.12);
    color:#94a3b8;
    border:1px solid rgba(148,163,184,.20);
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-comparativa-chip.positivo{
    background:rgba(21,128,61,.10) !important;
    color:var(--theme-success,#15803d) !important;
    border-color:rgba(21,128,61,.20) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-comparativa-chip.negativo{
    background:rgba(185,28,28,.10) !important;
    color:var(--theme-danger,#b91c1c) !important;
    border-color:rgba(185,28,28,.20) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-comparativa-chip.neutro{
    background:var(--theme-bg-soft) !important;
    color:var(--theme-muted) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-comparativa-label{
    color:var(--theme-muted) !important;
}

html body.dashboard-pro-body .dashboard-asistente-modal .dashboard-respuesta-metricas{
    gap:8px !important;
    margin-top:12px !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-asistente-acciones button:hover{
    background:var(--theme-panel) !important;
    border-color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-acciones-extra button{
    background:var(--theme-primary,rgba(37,99,235,.18)) !important;
    border-color:var(--theme-primary,rgba(96,165,250,.3)) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:.92 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-acciones-extra button.btn-peligro{
    background:rgba(239,68,68,.82) !important;
    border-color:rgba(220,38,38,.6) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-acciones-extra button.btn-secundario{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
    -webkit-text-fill-color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-acciones-extra button.btn-exitoso{
    background:rgba(34,197,94,.82) !important;
    border-color:rgba(22,163,74,.6) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-header{
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-grafica .g-bar{
    fill:rgba(37,99,235,.22) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-grafica .g-bar-hoy{
    fill:rgba(37,99,235,.72) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-grafica .g-label{
    fill:#6b7280 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-grafica .g-label-hoy{
    fill:#1e293b !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-acciones-extra button{
    background:var(--theme-primary,rgba(37,99,235,.18)) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa{
    background:rgba(37,211,102,.12) !important;
    border-color:rgba(37,211,102,.3) !important;
    color:#128c3e !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa.copiado{
    background:rgba(37,211,102,.28) !important;
    color:#0a5c29 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-respuesta-acciones-extra button{
    background:var(--theme-primary,rgba(37,99,235,.18)) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-correo-wrong-selector{
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa{
    background:rgba(37,211,102,.12) !important;
    border-color:rgba(37,211,102,.3) !important;
    color:#128c3e !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa.copiado{
    background:rgba(37,211,102,.28) !important;
    color:#0a5c29 !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-correo{
    background:rgba(37,99,235,.12) !important;
    border-color:rgba(37,99,235,.3) !important;
    color:#2563eb !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-correo-panel{
    background:rgba(255,255,255,.85) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-correo-label{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-correo-input{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-enviar-correo{
    background:var(--theme-primary) !important;
    border-color:var(--theme-primary) !important;
    color:#fff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa{
    background:var(--theme-panel-2) !important;
    border-color:rgba(37,211,102,.45) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa:hover{
    background:rgba(37,211,102,.14) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa.copiado{
    background:rgba(37,211,102,.20) !important;
    border-color:rgba(37,211,102,.55) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-correo{
    background:var(--theme-panel-2) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-correo:hover{
    background:var(--theme-panel) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-correo-panel{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-correo-input{
    background:var(--theme-panel) !important;
    border-color:var(--theme-border) !important;
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-correo-input:focus{
    border-color:var(--theme-primary) !important;
    background:var(--theme-panel-2) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-enviar-correo{
    background:var(--theme-primary) !important;
    border-color:var(--theme-primary) !important;
    color:#fff !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa{
    background:rgba(37,211,102,.16) !important;
    border-color:rgba(37,211,102,.6) !important;
    color:#15803d !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa:hover{
    background:rgba(37,211,102,.26) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa.copiado{
    background:rgba(37,211,102,.30) !important;
    border-color:rgba(37,211,102,.7) !important;
    color:#14532d !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-correo{
    background:rgba(96,165,250,.14) !important;
    border-color:var(--theme-primary) !important;
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-correo:hover{
    background:rgba(96,165,250,.24) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa{
    background:rgba(37,211,102,.35) !important;
    border-color:rgba(37,211,102,.85) !important;
    color:#14532d !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa:hover{
    background:rgba(37,211,102,.48) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-copiar-wa.copiado{
    background:rgba(37,211,102,.55) !important;
    border-color:rgba(37,211,102,.9) !important;
    color:#14532d !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-correo{
    background:rgba(96,165,250,.28) !important;
    border-color:var(--theme-primary) !important;
    color:var(--theme-primary) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .dashboard-btn-correo:hover{
    background:rgba(96,165,250,.42) !important;
}

@media (max-width:700px){
    html body.dashboard-pro-body .dashboard-inteligente-grid{
        grid-template-columns:1fr !important;
    }
    html body.dashboard-pro-body .dashboard-inteligente-card.dashboard-inteligente-card-ancha{
        grid-column:auto !important;
    }
}


.jornadas-tabla {
    width: 100%;
    border-collapse: collapse;
}

.jornadas-tabla th,
.jornadas-tabla td {
    padding: 8px 8px;
    text-align: center;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    color: #e2e8f0;
    font-size: 12px;
    vertical-align: middle;
}

.jornadas-tabla thead th {
    background: rgba(15, 23, 42, 0.65);
    color: #bfdbfe;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 11px 8px;
    white-space: nowrap;
    border-bottom: 2px solid rgba(96, 165, 250, 0.3);
}

.jornadas-tabla tbody tr:hover {
    background: rgba(37, 99, 235, 0.07);
}

body.jornadas-page .jornadas-turno-hoy-item-rostro {
    grid-template-columns: 1.4fr 1fr 1fr auto auto;
}

@media (max-width: 1060px) {
    body.jornadas-page .jornadas-turno-hoy-item-rostro {
        grid-template-columns: 1fr 1fr auto auto;
    }
}

@media (max-width: 760px) {
    body.jornadas-page .jornadas-turno-hoy-item-rostro {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .jornadas-tabla thead tr {
        display: none;
    }

    .jornadas-tabla,
    .jornadas-tabla tbody,
    .jornadas-tabla tr {
        display: block;
    }

    .jornadas-tabla tbody tr {
        border-radius: 12px;
        background: rgba(15, 23, 42, 0.40);
        border: 1px solid rgba(148, 163, 184, 0.18);
        padding: 6px 0;
        margin-bottom: 10px;
    }

    .jornadas-tabla-total tr {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        padding: 10px 14px;
        background: rgba(37, 99, 235, 0.14);
        border-radius: 10px;
        margin-bottom: 0;
        border: none;
    }

    .jornadas-tabla td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        border-bottom: 1px solid rgba(148, 163, 184, 0.09);
        padding: 9px 14px;
        font-size: 13px;
    }

    .jornadas-tabla td:last-child {
        border-bottom: none;
    }

    .jornadas-tabla td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        color: #9fb3d1;
        font-weight: 800;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .jornadas-tabla td .jornadas-colaborador {
        margin-left: auto;
        text-align: right;
    }

    .jornadas-tabla-total td::before {
        display: none;
    }

    .jornadas-tabla-total td {
        justify-content: flex-start;
        gap: 6px;
        border-bottom: none;
    }

    .jornadas-tarifa-input {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .jornadas-panel-principal {
        padding: 12px;
        border-radius: 10px;
    }

    .jornadas-card {
        padding: 14px;
        border-radius: 10px;
    }

    .jornadas-acciones .jornadas-btn-secundario,
    .jornadas-acciones .jornadas-btn-primario {
        flex: 1 1 140px;
        min-width: 140px;
        width: auto;
        text-align: center;
    }
}

@media (max-width: 600px) {
    .jornadas-rol-rapido {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }

    .jornadas-rol-rapido > span {
        margin-right: 0;
        margin-bottom: 2px;
    }

    .jornadas-btn-chip {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .jornadas-contenedor {
        padding-top: 10px;
        padding-bottom: 32px;
    }

    .jornadas-encabezado h1 {
        font-size: clamp(20px, 6vw, 28px);
    }

    .jornadas-card-resumen {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .jornadas-card-resumen strong {
        font-size: 22px;
    }

    .jornadas-estado-hoy {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .jornadas-estado-corte {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .jornadas-grupo-header {
        margin: 24px 0 6px;
    }

    .jornadas-kpi-item strong {
        font-size: 18px;
    }

    .jornadas-card-resumen-extra {
        font-size: 10px;
    }
}


.dashboard-layout-principal{
    grid-template-columns: minmax(0,1fr) !important;
}

.dashboard-asistente-fab{
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1200;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 13px 20px;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 800;
    font-size: 14px;
    color: #fff;
    background: var(--theme-primary, #2563eb);
    box-shadow: 0 12px 30px rgba(0,0,0,.32);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .2s ease;
}
.dashboard-asistente-fab:hover{ transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 16px 38px rgba(0,0,0,.42); }
.dashboard-asistente-fab-icono{ font-size: 18px; line-height: 1; }
.dashboard-asistente-fab.oculto{ opacity: 0; visibility: hidden; pointer-events: none; }

body.dashboard-pro-body .voz-flotante{ bottom: 84px; }
body.dashboard-pro-body .voz-panel{ bottom: 154px; }
@media (max-width: 768px){
    body.dashboard-pro-body .voz-flotante{ bottom: 74px; }
    body.dashboard-pro-body .voz-panel{ bottom: 138px; }
}

.dashboard-asistente-overlay{
    position: fixed;
    inset: 0;
    z-index: 1300;
    background: rgba(2,6,23,.55);
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity .25s ease;
}
.dashboard-asistente-overlay.abierto{ opacity: 1; }

.dashboard-pro-body .dashboard-asistente-panel{
    position: fixed !important;
    grid-column: none !important;
    z-index: 1400;
    transform: translate(-50%, -50%) scale(.92);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform .3s cubic-bezier(.34,1.3,.5,1), opacity .25s ease, visibility .3s;
}
.dashboard-pro-body .dashboard-asistente-panel.abierto{
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.dashboard-asistente-cerrar{
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--theme-border, rgba(148,163,184,.3));
    background: var(--theme-panel-2, rgba(255,255,255,.1));
    color: var(--theme-text, #f8fafc);
    font-size: 15px;
    cursor: pointer;
    line-height: 1;
    transition: filter .15s ease;
}
.dashboard-asistente-cerrar:hover{ filter: brightness(1.15); }

body.dashboard-asistente-abierto{ overflow: hidden; }

@media (max-width: 768px){
    .dashboard-asistente-fab{ right: 16px; bottom: 16px; padding: 12px 16px; }
}

html body.dashboard-pro-body .dashboard-layout-principal{
    grid-template-columns: minmax(0, 1fr) !important;
}

html:has(body[data-visual-theme="claro"])   { background:#f7f9fc; }
html:has(body[data-visual-theme="menta"])   { background:#f4fbf7; }
html:has(body[data-visual-theme="lavanda"]) { background:#fbf8ff; }
html:has(body[data-visual-theme="cielo"])   { background:#f3f8fb; }
html:has(body[data-visual-theme="arena"])   { background:#fbf7ef; }
html:has(body[data-visual-theme="salvia"])  { background:#f4faf5; }

.ayuda-boton{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 14px 7px 8px;
    border-radius:999px;
    border:1.5px solid var(--theme-primary,var(--azul-primario));
    background:transparent;
    color:var(--theme-primary,var(--azul-primario));
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    line-height:1;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease;
}

.ayuda-boton:hover{
    background:var(--theme-primary,var(--azul-primario));
    border-color:var(--theme-primary,var(--azul-primario));
    color:#fff;
    transform:translateY(-1px);
}

.ayuda-boton-icono{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:var(--theme-primary,var(--azul-primario));
    color:#fff;
    font-size:12px;
    font-weight:700;
    flex-shrink:0;
}

.ayuda-boton:hover .ayuda-boton-icono{
    background:#fff;
    color:var(--theme-primary,var(--azul-primario));
}

.manual-pagina{
    max-width:1180px;
    margin:0 auto;
    padding:26px 18px 60px;
    color:var(--theme-text,var(--texto-principal));
}

.manual-encabezado{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:flex-end;
    justify-content:space-between;
    margin-bottom:18px;
}

.manual-encabezado h1{
    font-size:26px;
    margin-bottom:6px;
}

.manual-encabezado p{
    color:var(--theme-muted,var(--texto-muted));
    max-width:640px;
}

.manual-volver{
    color:var(--theme-primary,var(--azul-primario));
    text-decoration:none;
    font-weight:600;
    white-space:nowrap;
}

.manual-volver:hover{
    text-decoration:underline;
}

.manual-buscador{
    margin-bottom:22px;
}

.manual-buscador input{
    width:100%;
    padding:13px 16px;
    border-radius:14px;
    border:1px solid var(--theme-border,var(--borde-suave));
    background:var(--theme-panel,var(--blanco-transparente));
    color:var(--theme-text,var(--texto-principal));
    font-size:15px;
}

.manual-buscador input:focus{
    outline:none;
    border-color:var(--theme-primary,var(--azul-primario));
    box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary,#2563eb) 22%,transparent);
}

.manual-buscador-vacio{
    display:block;
    margin-top:10px;
    color:var(--theme-muted,var(--texto-muted));
    font-size:14px;
}

.manual-cuerpo{
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:26px;
    align-items:start;
}

.manual-indice{
    position:sticky;
    top:18px;
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:14px;
    border-radius:16px;
    border:1px solid var(--theme-border,var(--borde-suave));
    background:var(--theme-panel,var(--blanco-transparente));
}

.manual-indice-titulo{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--theme-muted,var(--texto-muted));
    padding:4px 8px 8px;
}

.manual-indice-enlace{
    display:flex;
    align-items:center;
    gap:9px;
    padding:9px 10px;
    border-radius:10px;
    text-decoration:none;
    color:var(--theme-text,var(--texto-principal));
    font-size:14px;
    transition:background .15s ease;
}

.manual-indice-enlace:hover{
    background:var(--theme-panel-2,var(--blanco-transparente));
}

.manual-indice-enlace.activo{
    background:var(--theme-primary,var(--azul-primario));
    color:#fff;
}

.manual-indice-icono{
    font-size:15px;
}

.manual-contenido{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.manual-seccion{
    scroll-margin-top:90px;
    padding:22px 24px;
    border-radius:18px;
    border:1px solid var(--theme-border,var(--borde-suave));
    background:var(--theme-panel,var(--blanco-transparente));
}

.manual-seccion h2{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:20px;
    margin-bottom:10px;
}

.manual-seccion > p{
    color:var(--theme-muted,var(--texto-muted));
    margin-bottom:14px;
}

.manual-lista{
    margin:0 0 6px 20px;
    display:flex;
    flex-direction:column;
    gap:9px;
}

.manual-lista li{
    line-height:1.5;
}

.manual-tip{
    margin-top:14px;
    padding:12px 14px;
    border-radius:12px;
    border-left:4px solid var(--theme-primary,var(--azul-primario));
    background:var(--theme-panel-2,var(--blanco-transparente));
    color:var(--theme-text,var(--texto-principal));
    font-size:14px;
    line-height:1.5;
}

.manual-faq{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.manual-faq dt{
    font-weight:700;
    margin-bottom:4px;
}

.manual-faq dd{
    margin:0;
    color:var(--theme-muted,var(--texto-muted));
    line-height:1.5;
}

.acerca-contacto dd a{
    color:var(--theme-primary,var(--azul-primario));
    font-weight:600;
    text-decoration:underline;
}

.acerca-contacto dd a:hover{
    text-decoration:none;
}

@media (max-width:880px){
    .manual-cuerpo{
        grid-template-columns:1fr;
    }

    .manual-indice{
        position:static;
        flex-direction:row;
        flex-wrap:wrap;
    }

    .manual-indice-titulo{
        width:100%;
        padding-bottom:4px;
    }

    .manual-indice-enlace{
        flex:1 1 auto;
    }
}

.app-footer{
    text-align:center;
    padding:20px 16px;
    font-size:.72rem;
    letter-spacing:.03em;
    color:rgba(255,255,255,.35);
    border-top:1px solid rgba(255,255,255,.06);
    margin-top:48px;
    line-height:1.8;
}

.app-footer p{
    margin:0;
}

.app-footer a{
    color:inherit;
    text-decoration:none;
}

.app-footer a:hover{
    text-decoration:underline;
    opacity:.8;
}

.app-footer-contacto{
    margin-top:4px !important;
}

.app-footer-wa{
    display:inline-flex;
    align-items:center;
    gap:3px;
}

.app-footer-wa-icon{
    width:11px;
    height:11px;
    vertical-align:middle;
    color:#25d366;
}

body[data-visual-theme="claro"] .app-footer,
body[data-visual-theme="menta"] .app-footer,
body[data-visual-theme="lavanda"] .app-footer,
body[data-visual-theme="cielo"] .app-footer,
body[data-visual-theme="arena"] .app-footer,
body[data-visual-theme="salvia"] .app-footer{
    color:rgba(0,0,0,.35);
    border-top-color:rgba(0,0,0,.08);
}

.ventas-nota-devolucion{
    border-left:4px solid var(--theme-warning);
    line-height:1.5;
}

.ventas-nota-devolucion strong{
    color:var(--theme-warning);
}

.btn-solicitar-devolucion{
    white-space:nowrap;
}

img,svg,video,canvas,iframe,embed,object{
    max-width:100%;
}

img,svg,video,canvas{
    height:auto;
}

main,section,article,.contenido,.contenido-principal,.card,.panel,.contenedor,.tarjeta{
    min-width:0;
}

p,li,td,th,dd,dt,a,label,strong,em,small,summary,h1,h2,h3,h4,h5,h6{
    overflow-wrap:break-word;
    word-break:break-word;
}

button,.badge,.chip,.etiqueta,.tag,input,select,textarea{
    max-width:100%;
}

table{
    max-width:100%;
}

button,
[type="submit"],
[type="button"],
[type="reset"],
[role="button"],
a[class*="btn"],
a[class*="boton"],
[class*="btn-"],
[class*="-btn"],
[class*="boton-"],
[class*="-boton"],
.badge,
.chip,
.etiqueta,
.tag,
.pill{
    white-space:normal !important;
    overflow-wrap:break-word !important;
    max-width:100% !important;
}

.pp-barra-acciones{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin:0 auto 16px;
}

.pp-entregan-hoy{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    max-width:980px;
    margin:0 auto 16px;
    padding:10px 14px;
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    border-left:3px solid var(--theme-primary,#2563eb);
    border-radius:10px;
    background:var(--theme-bg-soft,var(--blanco-transparente,rgba(255,255,255,.04)));
}

.pp-entregan-titulo{
    color:var(--theme-muted,#94a3b8);
    font-size:.85rem;
    font-weight:600;
}

.pp-entregan-item{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 10px;
    border-radius:8px;
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    color:var(--theme-text,#f8fafc);
    text-decoration:none;
    font-size:.85rem;
}

.pp-entregan-item:hover{
    border-color:var(--theme-primary,#2563eb);
}

.pp-monto-vencido{
    color:var(--theme-danger,#ef4444) !important;
}

.pp-link{
    color:var(--theme-primary,#3b82f6);
    text-decoration:none;
}

.pp-link:hover{
    text-decoration:underline;
}

.pp-scorecard{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:12px;
    margin-bottom:6px;
}

.pp-score-item{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:12px 14px;
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    border-radius:12px;
    background:var(--theme-bg-soft,var(--blanco-transparente,rgba(255,255,255,.04)));
}

.pp-score-item > span{
    color:var(--theme-muted,#94a3b8);
    font-size:.74rem;
    text-transform:uppercase;
    letter-spacing:.03em;
}

.pp-score-item > strong{
    color:var(--theme-text,#f8fafc);
    font-size:1.15rem;
}

.pp-score-item > small{
    color:var(--theme-muted,#94a3b8);
    font-size:.74rem;
}

.pp-score-link{
    color:var(--theme-primary,#3b82f6);
    font-size:.76rem;
    text-decoration:none;
    margin-top:2px;
}

.pp-score-link:hover{
    text-decoration:underline;
}

.pp-cambios{
    list-style:none;
    margin:6px 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.pp-cambios li{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:10px;
    padding:8px 12px;
    border:1px solid var(--theme-border,rgba(148,163,184,.2));
    border-radius:10px;
}

.pp-cambio-prod{
    color:var(--theme-text,#f8fafc);
    font-weight:600;
    font-size:.86rem;
    flex:1 1 140px;
}

.pp-cambio-valor{
    font-size:.84rem;
}

.pp-cambio-sube{
    color:var(--theme-danger,#ef4444);
}

.pp-cambio-baja{
    color:var(--theme-success,#22c55e);
}

.pp-cambio-fecha{
    color:var(--theme-muted,#94a3b8);
    font-size:.76rem;
    margin-left:auto;
}

.pp-form-cuenta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:flex-end;
}

.pp-form-cuenta select,
.pp-form-cuenta input[type="text"],
.pp-form-cuenta input[type="number"]{
    flex:1 1 160px;
    min-width:130px;
}

.pp-campo-fecha{
    display:flex;
    flex-direction:column;
    gap:5px;
    color:var(--theme-muted,#94a3b8);
    font-size:.76rem;
    text-align:left;
}

.pp-liquidar-pago{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin:10px 4px;
}

.pp-cuentas-filtros{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:14px;
}

.pp-cuenta-tab{
    padding:6px 14px;
    border-radius:999px;
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    color:var(--theme-muted,#94a3b8);
    text-decoration:none;
    font-size:.82rem;
}

.pp-cuenta-tab.activo{
    border-color:var(--theme-primary,#2563eb);
    color:var(--theme-text,#f8fafc);
    background:var(--theme-bg-soft,rgba(37,99,235,.12));
}

.pp-tabla-cuentas th,
.pp-tabla-cuentas td{
    text-align:center;
    vertical-align:middle;
    padding:10px 8px !important;
}

.pp-estado{
    display:inline-block;
    padding:2px 10px;
    border-radius:999px;
    font-size:.76rem;
    font-weight:600;
    border:1px solid var(--theme-border,rgba(148,163,184,.3));
    color:var(--theme-muted,#94a3b8);
}

.pp-estado-vencido{
    border-color:var(--theme-danger,#ef4444);
    color:var(--theme-danger,#ef4444);
}

.pp-estado-vence-hoy,
.pp-estado-por-vencer{
    border-color:var(--theme-warning,#f59e0b);
    color:var(--theme-warning,#f59e0b);
}

.pp-estado-pagado{
    border-color:var(--theme-success,#22c55e);
    color:var(--theme-success,#22c55e);
}

.pp-pagada-fecha{
    color:var(--theme-muted,#94a3b8);
    font-size:.78rem;
}

.pp-tabla-orden th,
.pp-tabla-orden td{
    text-align:center;
    vertical-align:middle;
    padding:10px 8px !important;
}

.pp-tabla-orden .pp-input-num{
    margin:0 auto;
}

.pp-orden-acciones{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid var(--theme-border,rgba(148,163,184,.2));
}

.pp-recibir-form{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin:0;
}

.pp-ayuda{
    color:var(--theme-muted,#94a3b8);
    font-size:.9rem;
    margin:6px auto 14px;
    max-width:760px;
}

.pp-vacio{
    color:var(--theme-muted,#94a3b8);
    text-align:center;
    padding:18px 0;
}

.pp-dias-linea,
.pp-consig-linea,
.pp-venta{
    display:block;
    font-size:.72rem;
    color:var(--theme-muted,#94a3b8);
    margin-top:4px;
}

.pp-consig-linea{
    color:var(--theme-warning,#f59e0b);
    font-weight:600;
}

.pp-panel{
    margin-top:20px;
}

.pp-sub{
    margin:22px 0 10px;
    color:var(--theme-text,#f8fafc);
    font-size:1.02rem;
}

.pp-grid-datos{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:12px;
    margin-bottom:14px;
}

.pp-form-datos label,
.pp-notas{
    display:flex;
    flex-direction:column;
    gap:6px;
    color:var(--theme-muted,#94a3b8);
    font-size:.82rem;
    text-align:left;
}

.pp-notas{
    margin:12px 0;
}

.pp-dias{
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    border-radius:12px;
    padding:12px 14px;
    margin:6px 0 4px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}

.pp-dias legend{
    color:var(--theme-muted,#94a3b8);
    font-size:.82rem;
    padding:0 6px;
}

.pp-dia-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    background:var(--theme-bg-soft,rgba(255,255,255,.04));
    color:var(--theme-text,#f8fafc);
    font-size:.8rem;
    cursor:pointer;
}

.pp-dia-chip input{
    accent-color:var(--theme-primary,#2563eb);
    margin:0;
}

.pp-input-num,
.pp-input-txt,
.pp-input-mini{
    background:var(--theme-bg-soft,rgba(255,255,255,.05));
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    color:var(--theme-text,#f8fafc);
    border-radius:8px;
    padding:7px 9px;
    font-size:.85rem;
    width:100%;
    box-sizing:border-box;
}

.pp-input-num{ max-width:110px; }
.pp-input-mini{ max-width:70px; margin-top:5px; }

.pp-consig{
    display:inline-flex;
    align-items:center;
    gap:6px;
    justify-content:center;
}

.pp-consig input[type="checkbox"],
.pp-inline-check input[type="checkbox"]{
    accent-color:var(--theme-primary,#2563eb);
}

.pp-inline-check{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--theme-muted,#94a3b8);
    font-size:.82rem;
    white-space:nowrap;
}

.pp-form-agregar{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-top:8px;
}

.pp-form-agregar select,
.pp-form-agregar input[type="text"],
.pp-form-agregar input[type="number"]{
    flex:1 1 150px;
    min-width:120px;
}

.pp-surtidos{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:14px;
    margin-top:8px;
}

.pp-surtido-card{
    position:relative;
    background:var(--theme-bg-soft,var(--blanco-transparente,rgba(255,255,255,.04)));
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    border-radius:14px;
    padding:14px 16px 12px;
}

.pp-surtido-cab{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-bottom:10px;
    padding-right:70px;
}

.pp-surtido-cab h4{
    margin:0;
    font-size:1rem;
    color:var(--theme-text,#f8fafc);
}

.pp-surtido-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    align-items:end;
}

.pp-surtido-form > label{
    display:flex;
    flex-direction:column;
    gap:5px;
    color:var(--theme-muted,#94a3b8);
    font-size:.76rem;
    text-align:left;
}

.pp-surtido-form .pp-inline-check{
    flex-direction:row;
    align-items:center;
    align-self:center;
}

.pp-surtido-form .pp-conviene{
    grid-column:1 / -1;
}

.pp-surtido-form .pp-input-num,
.pp-surtido-form .pp-input-txt,
.pp-surtido-form input[type="text"]{
    max-width:none;
}

.pp-surtido-acciones{
    grid-column:1 / -1;
    display:flex;
    justify-content:flex-end;
}

.pp-surtido-acciones .btn-accion{
    width:auto;
}

.pp-surtido-eliminar{
    position:absolute;
    top:12px;
    right:14px;
    margin:0;
}

.pp-surtido-eliminar .btn-eliminar{
    min-width:0;
    padding:5px 12px;
    font-size:.78rem;
}

.pp-btn-consignacion{
    font-weight:600;
}

.pp-comparador{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:16px;
    margin-top:8px;
}

.pp-card-producto{
    background:var(--theme-panel,var(--blanco-transparente,rgba(255,255,255,.05)));
    border:1px solid var(--theme-border,rgba(148,163,184,.25));
    border-radius:14px;
    padding:14px 16px;
}

.pp-card-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:10px;
    margin-bottom:8px;
}

.pp-card-head h3{
    margin:0;
    font-size:1rem;
    color:var(--theme-text,#f8fafc);
}

.pp-card-venta{
    color:var(--theme-muted,#94a3b8);
    font-size:.8rem;
    white-space:nowrap;
}

.pp-recomendado{
    background:var(--theme-bg-soft,rgba(34,197,94,.08));
    border:1px solid var(--theme-success,#22c55e);
    color:var(--theme-text,#f8fafc);
    border-radius:10px;
    padding:8px 10px;
    font-size:.85rem;
    margin-bottom:10px;
}

.pp-opciones{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.pp-opciones li{
    border:1px solid var(--theme-border,rgba(148,163,184,.2));
    border-radius:10px;
    padding:8px 10px;
}

.pp-op-mejor{
    border-color:var(--theme-success,#22c55e);
    background:var(--theme-bg-soft,rgba(34,197,94,.06));
}

.pp-op-nombre{
    color:var(--theme-text,#f8fafc);
    font-weight:600;
    font-size:.88rem;
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}

.pp-op-datos{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:8px;
    margin-top:4px;
}

.pp-op-costo{
    color:var(--theme-primary,#3b82f6);
    font-weight:700;
    font-size:1rem;
}

.pp-op-costo small,
.pp-op-pres{
    color:var(--theme-muted,#94a3b8);
    font-size:.76rem;
    font-weight:400;
}

.pp-op-nota{
    color:var(--theme-muted,#94a3b8);
    font-size:.78rem;
    margin-top:5px;
}

.pp-tag{
    font-size:.68rem;
    padding:1px 8px;
    border-radius:999px;
    font-weight:600;
    border:1px solid var(--theme-border,rgba(148,163,184,.35));
    color:var(--theme-muted,#94a3b8);
    letter-spacing:.02em;
}

.pp-tag-mejor{
    border-color:var(--theme-success,#22c55e);
    color:var(--theme-success,#22c55e);
}

.pp-tag-consig{
    border-color:var(--theme-warning,#f59e0b);
    color:var(--theme-warning,#f59e0b);
}

.pp-tabla-liquidar th,
.pp-tabla-liquidar td{
    text-align:center;
    vertical-align:middle;
    padding:10px 8px !important;
}

.pp-total-liquidar{
    text-align:right;
    font-size:1.05rem;
    color:var(--theme-text,#f8fafc);
    margin:14px 4px;
}

.pp-total-liquidar strong{
    color:var(--theme-success,#22c55e);
    font-size:1.3rem;
}

@media (max-width:768px){
    .pp-tabla-productos td,
    .pp-tabla-liquidar td{
        text-align:right !important;
    }
    .pp-input-num,
    .pp-input-mini{
        max-width:140px;
        margin-left:auto;
    }
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .historial-resumen article{
    background:color-mix(in srgb,var(--theme-panel) 86%,var(--theme-bg-soft)) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .historial-resumen span{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .historial-resumen strong{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-config-turnos{
    background:color-mix(in srgb,var(--theme-panel) 86%,var(--theme-bg-soft)) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-config-summary-titulo{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .jornadas-config-summary-ayuda{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .rostro-panel{
    background:color-mix(in srgb,var(--theme-panel) 88%,var(--theme-bg-soft)) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .rostro-panel-header h2,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .rostro-panel-header h3{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .rostro-panel-header p,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .rostro-estado{
    color:var(--theme-muted) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .producto-precio-nocturno,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .producto-precio-sugerido{
    background:color-mix(in srgb,var(--theme-panel) 88%,var(--theme-bg-soft)) !important;
    border-color:var(--theme-border) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .producto-precio-nocturno > label,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .precio-horario-check{
    color:var(--theme-text) !important;
}

body[data-visual-theme]:not([data-visual-theme="blackstock"]) .form-container input,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .form-container select,
body[data-visual-theme]:not([data-visual-theme="blackstock"]) .form-container textarea{
    background:var(--theme-panel-2) !important;
    border:1px solid var(--theme-border) !important;
    color:var(--theme-text) !important;
}
