:root{

    --bg-main:#050816;
    --bg-secondary:#0b1220;

    --blue:#2563eb;
    --blue-light:#3b82f6;
    --blue-soft:#7dd3fc;
    --text:#f5f5f5;
    --text-soft:#cbd5e1;

    --border:rgba(96,165,250,0.15);

    --glass:
    linear-gradient(
    145deg,
    rgba(255,255,255,0.04),
    rgba(255,255,255,0.015));

}



/* =========================================
   🌌 BASE GLOBAL
========================================= */
*{
    box-sizing:border-box;
}

html,
body{
    overflow-x:hidden;
    margin:0;
    padding:0;
}

body{
    font-family:'Inter',sans-serif;

    background:
    radial-gradient(circle at top,
    #101827 0%,
    #0b1120 45%,
    #050816 100%);

    color:#f5f5f5;

    line-height:1.5;

    min-height:100vh;
}


/* =========================================
   ☰ MENU
========================================= */

.menu-toggle{
    position:fixed;
    top:15px;
    left:15px;

    font-size:22px;

    background:
    linear-gradient(145deg,
    rgba(59,130,246,0.18),
    rgba(37,99,235,0.08));

    color:#60a5fa;

    padding:10px 14px;

    border-radius:14px;

    cursor:pointer;

    z-index:1001;

    border:1px solid rgba(96,165,250,0.25);

    transition:0.3s;

    backdrop-filter:blur(12px);

    box-shadow:
    0 0 20px rgba(59,130,246,0.15);
}
/* =========================================
   🧱 SIDEBAR
========================================= */

.sidebar{
    position:fixed;
    top:0;
    left:-260px;
    width:250px;
    height:100vh;
    background: linear-gradient(180deg,#0b1220,#050816);
    padding:20px;
    transition:0.35s;
    z-index:1000;
    overflow-y:auto;
    border-right:1px solid rgba(212,175,55,0.15);
}

.sidebar.active{
    left:0;
}

.sidebar h2{
    color:#60a5fa;
    text-align:center;
}

.sidebar a{
    text-decoration:none;
}

.sidebar button{
    width:100%;
    margin:8px 0;
    padding:12px;
    border-radius:10px;
    background:rgba(255,255,255,0.03);
    border:1px solid transparent;
    color:#ccc;
    cursor:pointer;
    transition:0.3s;
}

.sidebar button:hover{
    background:rgba(59,130,246,0.12);
    color:#60a5fa;
    transform:translateX(5px);
}

/* =========================
   USER PANEL
========================= */

/* =========================
   USER TOP BAR
========================= */

#authButtons{

    position:fixed;

    top:24px;

    right:25px;

    z-index:1000;

    display:flex;

    align-items:center;

    gap:15px;

}

/* NOMBRE USUARIO */

.user-name{

    font-size:15px;

    font-weight:700;

    color:#7dd3fc;

    letter-spacing:0.6px;

    text-transform:capitalize;

    text-shadow:
    0 0 8px rgba(59,130,246,0.55),
    0 0 18px rgba(59,130,246,0.25);

    display:flex;
    align-items:center;

    position:relative;
}

/* LINEA GLOW */

.user-name::after{

    content:"";

    position:absolute;

    bottom:-6px;
    left:0;

    width:100%;
    height:1px;

    background:
    linear-gradient(to right,
    transparent,
    rgba(96,165,250,0.8),
    transparent);

    opacity:0.7;
}

/* BOTON */

.menu-btn{

    border:none;

    background:
    linear-gradient(
    135deg,
    #1d4ed8,
    #2563eb);

    color:white;

    padding:10px 16px;

    border-radius:12px;

    cursor:pointer;

    font-weight:700;

    font-size:13px;

    transition:0.25s ease;

    box-shadow:
    0 0 18px rgba(37,99,235,0.25);
}

.menu-btn:hover{

    transform:translateY(-2px);

    box-shadow:
    0 0 25px rgba(59,130,246,0.45);
}
/* =========================================
   🌑 OVERLAY
========================================= */

#overlay{
    position:fixed;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
    top:0;
    left:0;
    display:none;
    z-index:900;
}

#overlay.active{
    display:block;
}

/* =========================================
   📦 CONTENIDO
========================================= */

.content{
    width:100%;
    max-width:1400px;
    margin:auto;
    padding:25px;
}

/* =========================================
   🪟 TABLAS
========================================= */


table{
    width:100%;

    border-collapse:separate;
    border-spacing:0 12px;

    background:transparent;

    overflow:hidden;
}

th{
    position:relative;

    background:
    linear-gradient(145deg,
    rgba(59,130,246,0.18),
    rgba(37,99,235,0.08));

    color:#93c5fd;

    padding:18px;

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:1px;

    text-align:center;

    border:none;
}

td{
    background:
    linear-gradient(145deg,
    rgba(15,23,42,0.95),
    rgba(10,15,30,0.98));

    border-top:1px solid rgba(96,165,250,0.08);
    border-bottom:1px solid rgba(96,165,250,0.08);

    padding:16px;

    vertical-align:middle;
    transition:0.25s ease;
}
tr td:first-child{

    border-top-left-radius:18px;
    border-bottom-left-radius:18px;
}

tr td:last-child{

    border-top-right-radius:18px;
    border-bottom-right-radius:18px;
}
tr{
    transition:0.25s;
}

tr:hover td{

    background:
    linear-gradient(145deg,
    rgba(30,41,59,1),
    rgba(15,23,42,1));

    transform:scale(1.005);

    transition:0.25s;
}

/* =========================================
   🟨 BOTONES
========================================= */

button{
    margin:10px 5px;

    padding:12px 18px;

    border:none;

    background:
    linear-gradient(145deg,
    #2563eb,
    #3b82f6);

    color:white;

    font-weight:600;

    cursor:pointer;

    border-radius:14px;

    transition:0.3s;

    box-shadow:
    0 0 18px rgba(59,130,246,0.18);
}
button:hover{

    transform:translateY(-2px);

    box-shadow:
    0 0 25px rgba(96,165,250,0.35);

    filter:brightness(1.05);
}

/* =========================================
   🎯 INPUTS
========================================= */

input,
select,
textarea{
    width:100%;
    box-sizing:border-box;
    background:#0f172a;
    border:1px solid rgba(96,165,250,0.12);
    border-radius:12px;
    padding:10px 12px;
    color:#eee;
    font-size:14px;
    transition:0.25s;
}

input:focus,
select:focus,
textarea:focus{

    border-color:
    rgba(96,165,250,0.25);

    box-shadow:
    0 0 0 4px rgba(59,130,246,0.12),
    0 0 20px rgba(59,130,246,0.18);

    outline:none;
}

/* SELECT */

select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    background-image:url("data:image/svg+xml;utf8,<svg fill='%23' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat:no-repeat;
    background-position:right 10px center;
    padding-right:35px;
}

select option{
    background:#1a1a1a;
    color:#eee;
}

/* =========================================
   💎 CALCULADORA
========================================= */

.calculadora{

    position:fixed;

    right:20px;
    bottom:90px;

    width:320px;

    background:rgba(8,15,40,.97);

    border-radius:28px;

    padding:18px;

    border:1px solid rgba(212,175,55,.18);

    box-shadow:
    0 0 35px rgba(0,0,0,.45);

    z-index:9999;

    display:none;
}
#display{
    width:100%;
    height:50px;
    background: rgba(15,23,42,0.75);
    color:#3b82f6;
    font-size:24px;
    text-align:right;
    border:none;
    border-radius:10px;
    margin-bottom:10px;
    padding-right:10px;
}

.grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
}

.grid button{
    height:45px;
    border-radius:10px;
    background:#1a1a1a;
    color:white;
    border:1px solid #333;
}

.grid button:hover{
    background:#3b82f6;
    color:rgb(255, 255, 255);
}

@keyframes glow{
    0%{box-shadow:0 0 5px #3b82f6;}
    50%{box-shadow:0 0 20px #3b82f6;}
    100%{box-shadow:0 0 5px #3b82f6;}
}

.calculadora:hover{
    animation:glow 2s infinite;
}

/* =========================================
   TOOLTIP
========================================= */

.tooltip{
    position:absolute;
    background:linear-gradient(145deg,#111,#000);
    color:#3b82f6;
    padding:8px 10px;
    font-size:11px;
    border-radius:8px;
    display:none;
    top:110%;
    left:50%;
    transform:translateX(-50%);
    white-space:nowrap;
    box-shadow:0 0 10px rgba(212,175,55,0.4);
    border:1px solid rgba(255,200,20,0.842);
    z-index:10;
}

.tooltip::after{
    content:"";
    position:absolute;
    top:-5px;
    left:50%;
    transform:translateX(-50%);
    border-width:5px;
    border-style:solid;
    border-color:transparent transparent #111 transparent;
}

th:hover .tooltip{
    display:block;
}

/* =========================================
   🧮 CALCULADORA FLOTANTE AZUL
========================================= */


#btnCalc{

    position:fixed;

    bottom:25px;

    right:25px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:#1e3a8a;

    color:#60a5fa;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    cursor:pointer;

    z-index:9999;

    border:1px solid #3b82f6;

    box-shadow:0 0 20px rgba(59,130,246,.5);

    transition:.3s;

}


#btnCalc:hover{

    transform:scale(1.1);

    background:#2563eb;

}



#calcBox{

    position:fixed;

    bottom:95px;

    right:25px;

    width:270px;

    padding:18px;

    background:#07111f;

    border-radius:20px;

    display:none;

    z-index:9998;

    box-sizing:border-box;

    border:1px solid rgba(59,130,246,.5);

    box-shadow:0 0 30px rgba(59,130,246,.35);

}



/* PANTALLA */

#display{

    width:100%;

    height:55px;

    box-sizing:border-box;

    background:#020617;

    color:#60a5fa;

    border:1px solid #1e40af;

    border-radius:12px;

    text-align:right;

    padding:10px;

    font-size:25px;

    font-weight:bold;

    margin-bottom:15px;

}



/* TECLADO */

.calc-grid{

    width:100%;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:8px;

}



/* BOTONES */

.calc-grid button{

    width:100%;

    height:45px;

    border:none;

    border-radius:12px;

    background:#111827;

    color:#60a5fa;

    font-size:20px;

    font-weight:bold;

    cursor:pointer;

    box-sizing:border-box;

}



.calc-grid button:hover{

    background:#2563eb;

    color:white;

    transform:scale(1.05);

}



/* OPERADORES */

.calc-grid .op{

    background:#1d4ed8;

    color:white;

}


/* =========================================
   🃏 CARDS
========================================= */

.cards-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
}

.card{
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(212,175,55,0.15);
    backdrop-filter:blur(8px);
    padding:22px;
    border-radius:16px;
    transition:0.3s;
    width:100%;
}

.card:hover{
    transform:translateY(-5px);

}

.card h3{
    margin-bottom:10px;
}

.card ul{
    list-style:none;
    padding:0;
    font-size:0.95rem;
    color:#ccc;
}

/* =========================================
   ✨ HIGHLIGHT
========================================= */

.highlight{
    margin-top:40px;
    padding:25px;
    background:#0d1b2a;
    border-radius:12px;
}

.highlight h3{
    margin-bottom:15px;
}

/* =========================================
   🪟 MODAL
========================================= */

.modal{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.8);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:2000;
}

.modal-content{
    background:#111;
    padding:20px;
    border-radius:15px;
    width:90%;
    max-width:700px;
    box-shadow:0 0 20px rgba(212,175,55,0.3);
}

/* =========================================
   💰 COSTOS
========================================= */

.costos{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.costos .grupo{
    display:flex;
    gap:6px;
}

.costos input{
    width:100%;
}

/* =========================================
   ✨ ANIMACIONES
========================================= */

.animacion-ok{
    animation:pop 0.4s ease;
}

@keyframes pop{
    0%{transform:scale(1);}
    50%{
        transform:scale(1.1);
        background:#d4ffd4;
    }
    100%{transform:scale(1);}
}

@keyframes aparecer{
    from{
        transform:translateY(20px);
        opacity:0;
    }
    to{
        transform:translateY(0);
        opacity:1;
    }
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* =========================================
   📝 TITULOS
========================================= */

h1{
    text-align:center;
    margin-bottom:20px;
}

h3{
    color:#93c5fd;
    font-weight:600;
}

.titulo-principal{
    text-align:center;
    width:100%;
    margin-bottom:20px;
    color:#3b82f6;
}

/* =========================================
   📐 LAYOUT
========================================= */

.layout{
    display:flex;
    gap:40px;
    align-items:flex-start;
}

.printable{
    flex:2;
}

.panel-derecho{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:15px;
    position:sticky;
    top:20px;
}

.panel-derecho button{
    padding:12px;
    border-radius:10px;
}

/* =========================================
   🟡 AYUDA
========================================= */

.ayuda{
    background:rgba(212,175,55,0.1);
    border:1px solid rgba(212,175,55,0.3);
    padding:10px;
    border-radius:10px;
    margin-bottom:15px;
    color:#3b82f6;
    font-size:14px;
}

.detalle{
    font-size:11px;
    color:#888;
    margin-top:4px;
}

/* =========================================
   📦 UNIDADES
========================================= */

.unidad{
    display:flex;
    align-items:center;
    gap:6px;
}

.unidad span{
    font-size:12px;
    color:#3b82f6;
    font-weight:bold;
}

.grupo-unidad,
.uso-unidad{
    display:flex;
    gap:8px;
    align-items:center;
}

.grupo-unidad input,
.uso-unidad input{
    flex:1;
}

.grupo-unidad select,
.uso-unidad select{
    width:110px;
}

/* =========================================
   📊 RESUMEN
========================================= */

.bloque-resumen{
    display:flex;
    gap:20px;
    margin-top:20px;
    flex-wrap:wrap;
}

.campo{
    display:flex;
    flex-direction:column;
}

.campo label{
    font-size:14px;
    color:#aaa;
    margin-bottom:5px;
}



#nombre,
#precio,
#buscador{
    width:100%;
    max-width:400px;
}
#cantidad{
    width:100%;
    max-width:none;
}

#unidad{
    width:120px;
}
/* =========================================
   📋 FORM INSUMOS
========================================= */

.form-insumo{
    max-width:500px;
    margin:20px auto;
    padding:20px;
    background:rgba(255,255,255,0.03);
    border-radius:15px;
    border:1px solid rgba(212,175,55,0.2);
    box-shadow:0 0 15px rgba(0,0,0,0.5);
}

.form-insumo .campo{
    margin-bottom:15px;
}

.form-insumo label{
    font-size:13px;
    color:#aaa;
    margin-bottom:5px;
}

.form-insumo .acciones{
    display:flex;
    gap:10px;
    margin-top:10px;
}

.form-insumo button{
    flex:1;
}

.editando{
    border:1px solid #3b82f6 !important;
    box-shadow:0 0 10px rgba(212,175,55,0.4);
    background-color:#000;
}

.acciones{
    display:flex;
    gap:10px;
    margin-top:10px;
}

.btn-cancelar{
    background:#f31010;
    color:white;
}

/* =========================================
   🧾 CARDS INSUMOS
========================================= */

.card-insumo{
    background:#1a1a1a;
    border-radius:15px;
    padding:15px;
    margin:15px 0;
    box-shadow:0 0 10px rgba(212,175,55,0.2);
    display:flex;
    justify-content:space-between;
    align-items:center;
    transition:0.3s;
    width:100%;
}

.card-insumo:hover{
    transform:scale(1.02);
    border:1px solid #3b82f6;
}

.card-insumo h3{
    margin:0;
    color:#fff;
}

.card-insumo p{
    margin:5px 0 0;
    color:#ccc;
}

.card-insumo .info{
    display:flex;
    flex-direction:column;
}

.acciones-card{
    display:flex;
    gap:10px;
}

.input-combinado{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.ingrediente-texto{
    display:block;
    margin-top:5px;
    font-weight:bold;
}

/* EJEMPLOS */

.ejemplo{

    position:relative;

    z-index:2;

    margin-top:40px;

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

    gap:22px;
}

/* CARDS */

.ejemplo div{

    padding:24px;

    border-radius:22px;

    background:
    linear-gradient(145deg,
    rgba(255,255,255,0.04),
    rgba(255,255,255,0.015));

    border:1px solid rgba(96,165,250,0.10);

    color:#c7d3e8;

    line-height:1.8;

    transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

/* HOVER */

.ejemplo div:hover{

    transform:
    translateY(-6px)
    scale(1.02);

    border-color:
    rgba(96,165,250,0.28);

    box-shadow:
    0 0 30px rgba(59,130,246,0.12);
}

/* RESULTADO */

.resultado-final{

    position:relative;

    z-index:2;

    margin-top:40px;

    padding:24px;

    border-radius:24px;

    background:
    linear-gradient(145deg,
    rgba(59,130,246,0.14),
    rgba(37,99,235,0.08));

    border:1px solid rgba(96,165,250,0.22);

    color:#93c5fd;

    font-size:30px;

    font-weight:700;

    letter-spacing:1px;

    box-shadow:
    0 0 25px rgba(59,130,246,0.14);
}

/* RESPONSIVE */

@media(max-width:768px){

    .formula-box{
        padding:35px 20px;
    }

    .formula-box h3{
        font-size:28px;
    }

    .formula{
        font-size:26px;
        padding:20px;
    }

    .resultado-final{
        font-size:24px;
    }
}
/* =========================================
   🚫 EVITAR DESBORDE
========================================= */

table,
.content,
.food-safety,
.formula-box,
.costo-container{
    max-width:100%;
}

/* =========================================
   📱 RESPONSIVE
========================================= */

@media(max-width:900px){

    .layout{
        flex-direction:column;
    }

    .grupo-unidad,
    .uso-unidad,
    .bloque-resumen{
        flex-direction:column;
    }

    .grupo-unidad select,
    .uso-unidad select,
    .campo input{
        width:100%;
    }

    table{
        font-size:13px;
    }

    th,
    td{
        padding:8px;
    }

    .content{
        padding:15px;
    }

    .costo-title{
        font-size:30px;
    }

    .formula{
        font-size:24px;
    }
}

@media(max-width:768px){

    body{
        font-size:1px;
    }

      .content{
        padding:12px;
        overflow-x:auto;
    }

    table{

        width:900px;
        min-width:900px;

        table-layout:fixed;

        display:table;

        overflow:visible;

        white-space:normal;

    }

    .card-insumo{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .acciones-card{
        width:100%;
        flex-wrap:wrap;
    }

    .acciones-card button{
        flex:1;
    }

    .formula-box{
        padding:25px;
    }

    .costo-card,
    .beneficio{
        padding:20px;
    }

    .calculadora,
    #calcBox{
        width:100%;
        max-width:320px;
        right:10px;
    }
}
body::before{

    content:"";

    position:fixed;

    inset:0;

    background:
    radial-gradient(circle at 20% 20%,
    rgba(59,130,246,0.10),
    transparent 30%),

    radial-gradient(circle at 80% 0%,
    rgba(96,165,250,0.08),
    transparent 25%);

    pointer-events:none;

    z-index:-1;
}
/* =========================================
   🖨️ PRINT
========================================= */

@media print{

    .no-print,
    #btnCalc,
    #calcBox,
    .food-safety{
        display:none !important;
    }

    body{
        background:white;
        color:black;
    }

    .printable{
        width:100%;
    }

    input{
        border:none;
        border-bottom:1px solid black;
        background:transparent;
        color:black;
        font-weight:bold;
    }

    h1,
    h3,
    label{
        color:black;
    }

    table{
        width:100%;
        display:block;
        overflow-x:auto;
        border-collapse:collapse;
        background:white;
        box-shadow:none;
    }

    th,
    td{
        border:1px solid black;
        padding:8px;
        color:black;
    }

    .tooltip{
        display:none;
    }
}
/* =========================================
   🚀 DASHBOARD MODERNO - MOCKUP 2
   PEGAR AL FINAL DEL CSS
========================================= */



/* =========================================
   INPUTS SUPERIORES
========================================= */

.top-inputs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:30px;
}

.modern-input{
    background:rgba(255,255,255,0.025);
    border:1px solid rgba(255,255,255,0.05);
    border-radius:20px;
    padding:18px;
    transition:0.3s;
    backdrop-filter:blur(10px);
}

.modern-input:hover{
    border-color:
    rgba(96,165,250,0.25);
    transform:translateY(-3px);
}

.modern-input label{
    display:block;
    color:#3b82f6;
    font-size:13px;
    margin-bottom:10px;
    font-weight:600;
    letter-spacing:0.5px;
    text-transform:uppercase;
}

.modern-input input{
    height:52px;
    border-radius:14px;
    background:#0f0f0f;
    border:1px solid #232323;
    font-size:18px;
    font-weight:600;
    color:#fff;
}

/* =========================================
   LINEA DE TIEMPO FINANCIERA
========================================= */

.finance-timeline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:35px 0 25px;
    flex-wrap:wrap;
}

/* LINEAS */

.finance-line{
    flex:1;
    height:2px;
    background:
    linear-gradient(to right,
    rgba(212,175,55,0.4),
    rgba(255,255,255,0.08));
    min-width:40px;
}

/* PASOS */

.finance-step{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    min-width:130px;
    position:relative;
}

/* ICONO */

.finance-icon{
    width:78px;
    height:78px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;

    background:
    radial-gradient(circle at top,
    rgba(212,175,55,0.22),
    rgba(20,20,20,0.95));

    border:2px solid rgba(212,175,55,0.45);

    box-shadow:
    0 0 25px rgba(212,175,55,0.18),
    inset 0 0 20px rgba(212,175,55,0.08);

    transition:0.3s;
}

.finance-step:hover .finance-icon{
    transform:translateY(-6px) scale(1.05);
    box-shadow:
    0 0 35px rgba(212,175,55,0.35);
}

.finance-step h4{
    margin:0;
    color:#f5f5f5;
    font-size:15px;
    font-weight:500;
}

.finance-step .money{
    font-size:28px;
    color:#3b82f6;
    font-weight:700;
}

/* COLORES INDIVIDUALES */

.finance-step.purple .finance-icon{
    border-color:#a855f7;
    box-shadow:0 0 30px rgba(168,85,247,0.25);
}

.finance-step.green .finance-icon{
    border-color:#22c55e;
    box-shadow:0 0 30px rgba(34,197,94,0.25);
}

.finance-step.orange .finance-icon{
    border-color:#f97316;
    box-shadow:0 0 30px rgba(249,115,22,0.25);
}

/* =========================================
   PANEL INFERIOR
========================================= */

.bottom-dashboard{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:25px;
    margin-top:25px;
}

/* =========================================
   RESUMEN RAPIDO
========================================= */

.quick-summary{
    background:
    linear-gradient(145deg,
    rgba(255,255,255,0.03),
    rgba(255,255,255,0.01));

    border:1px solid rgba(212,175,55,0.12);
    border-radius:22px;
    padding:25px;
}

.quick-summary h3{
    margin-top:0;
    margin-bottom:22px;
    color:#fff;
    font-size:20px;
}

.summary-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}

.summary-item{
    background:#0f0f0f;
    border:1px solid rgba(255,255,255,0.05);
    border-radius:16px;
    padding:18px;
    transition:0.3s;
}

.summary-item:hover{
    border-color:rgba(212,175,55,0.2);
    transform:translateY(-2px);
}

.summary-item span{
    display:block;
    color:#888;
    font-size:13px;
    margin-bottom:8px;
}

.summary-item strong{
    font-size:28px;
    color:#fff;
}

/* =========================================
   BARRAS DE PROGRESO
========================================= */

.progress-section{
    margin-top:28px;
    display:grid;
    gap:18px;
}

.progress-box{
    background:#0e0e0e;
    border-radius:14px;
    padding:16px;
    border:1px solid rgba(255,255,255,0.04);
}

.progress-top{
    display:flex;
    justify-content:space-between;
    margin-bottom:10px;
}

.progress-top span{
    color:#ddd;
    font-size:14px;
}

.progress-top strong{
    color:#3b82f6;
}

.progress-bar{
    width:100%;
    height:10px;
    border-radius:20px;
    overflow:hidden;
    background:#1d1d1d;
}

.progress-fill{
    height:100%;
    width:0%;
    border-radius:20px;
    background:
    linear-gradient(to right,
    #3b82f6,
    );

    transition:0.5s;
}

/* =========================================
   PANEL ACCIONES
========================================= */

.actions-panel{
    background:
    linear-gradient(145deg,
    rgba(255,255,255,0.03),
    rgba(255,255,255,0.01));

    border:1px solid rgba(212,175,55,0.12);
    border-radius:22px;
    padding:25px;
}

.actions-panel h3{
    margin-top:0;
    margin-bottom:20px;
    color:#fff;
}

.action-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    padding:16px;
    margin-bottom:14px;

    border-radius:16px;

    background:
    linear-gradient(145deg,
    rgba(212,175,55,0.12),
    rgba(212,175,55,0.05));

    border:1px solid rgba(212,175,55,0.28);

    color:#f5f5f5;
    font-size:15px;
    font-weight:600;

    transition:0.3s;
}

.action-btn:hover{
    transform:translateY(-3px);
    box-shadow:
    0 0 20px rgba(212,175,55,0.18);
}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1100px){

    .finance-timeline{
        justify-content:center;
    }

    .finance-line{
        display:none;
    }

    .bottom-dashboard{
        grid-template-columns:1fr;
    }
}

@media(max-width:768px){

    .top-inputs{
        grid-template-columns:1fr;
    }

    .summary-grid{
        grid-template-columns:1fr;
    }

    .finance-step{
        min-width:100px;
    }

    .finance-icon{
        width:65px;
        height:65px;
        font-size:24px;
    }

    .finance-step .money{
        font-size:22px;
    }

    .dashboard-modern{
        padding:18px;
    }
}
/* =========================================
   🚀 DASHBOARD PREMIUM
========================================= */

.financial-dashboard{
    margin-top:40px;
    background:linear-gradient(145deg,rgba(15,23,42,0.98),rgba(2,6,23,1));
    border-radius:30px;
    padding:30px;

    border:1px solid rgba(96,165,250,0.12);

    box-shadow:
    0 0 40px rgba(0,0,0,0.6);

    overflow:hidden;
    position:relative;
}

.financial-dashboard::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    background:
    radial-gradient(circle,
    rgba(59,130,246,0.14),
    transparent 70%);

    top:-320px;
    right:-260px;

    filter:blur(40px);

    pointer-events:none;
}

/* =========================================
   TOP
========================================= */

.dashboard-top{
    display:grid;
    grid-template-columns:320px 1fr 260px;
    gap:25px;
    align-items:start;
}

/* =========================================
   SUMMARY CARD
========================================= */

.summary-card{
    background:linear-gradient(145deg,rgba(255,255,255,0.04), rgba(255,255,255,0.01));
    backdrop-filter:blur(18px);

box-shadow:
0 10px 40px rgba(0,0,0,0.35),
inset 0 1px 0 rgba(255,255,255,0.03);
    border-radius:24px;
    padding:25px;

    border:1px solid rgba(212,175,55,0.15);
}

.summary-card h3{
    margin-top:0;
    margin-bottom:20px;
    color:#fff;
    font-size:20px;
}

.summary-item{
    margin-bottom:16px;
}

.summary-item span{
    display:block;
    margin-bottom:8px;
    color:#aaa;
    font-size:13px;
}

.summary-item input{
    width:100%;
    height:52px;

    border-radius:14px;

    background:#0e0e0e;

    border:1px solid #222;

    color:white;

    font-size:18px;

    padding:0 15px;
}

.summary-highlight{
    margin-top:20px;

    background:
    linear-gradient(145deg,
    rgba(212,175,55,0.12),
    rgba(212,175,55,0.04));

    border-radius:18px;

    padding:20px;

    border:1px solid rgba(212,175,55,0.2);
}

.summary-highlight span{
    display:block;
    color:#bbb;
    margin-bottom:10px;
}

.summary-highlight strong{
    color:#3b82f6;
    font-size:32px;
}

/* =========================================
   TIMELINE
========================================= */

.timeline-dashboard{
    background:
    linear-gradient(145deg,
    rgba(255,255,255,0.03),
    rgba(255,255,255,0.01));

    border-radius:24px;
    backdrop-filter:blur(18px);

box-shadow:
0 10px 40px rgba(0,0,0,0.35),
inset 0 1px 0 rgba(255,255,255,0.03);
    padding:30px;

    border:1px solid rgba(212,175,55,0.12);
}

.timeline-dashboard{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:15px;
}

.timeline-step{
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:120px;
    text-shadow:0 0 10px rgba(96,165,250,0.25);
}

.circle{
    width:75px;
    height:75px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;

    margin-bottom:12px;

    background:#151515;

    border:2px solid rgba(212,175,55,0.25);

    box-shadow:
    0 0 20px rgba(0,0,0,0,.4);

    transition:0.3s;
}

.circle:hover{
    transform:translateY(-5px) scale(1.05);
}

.yellow{
    border-color:#3b82f6;
}

.orange{
    border-color:#ff7b00;
}

.green{
    border-color:#00d26a;
}


.timeline-step h4{
    margin:0;
    color:white;
    font-size:15px;
}

.timeline-step p{
    margin-top:6px;
    color:#3b82f6;
    font-size:24px;
    font-weight:bold;
}

.line{
    width:60px;
    height:2px;

    background:
    linear-gradient(to right,
    rgba(255,255,255,0.05));
}

/* =========================================
   ACTIONS
========================================= */

.actions-card{
    background:
    linear-gradient(145deg,
    rgba(255,255,255,0.03),
    rgba(255,255,255,0.01));

    border-radius:24px;
    backdrop-filter:blur(18px);

box-shadow:
0 10px 40px rgba(0,0,0,0.35),
inset 0 1px 0 rgba(255,255,255,0.03);
    padding:25px;

    border:1px solid rgba(212,175,55,0.12);
}

.actions-card h3{
    margin-top:0;
    margin-bottom:20px;
    color:#fff;
}

.actions-card button{
    width:100%;
    margin-bottom:15px;

    padding:16px;

    border-radius:16px;

    font-size:15px;
}

/* =========================================
   PROGRESS
========================================= */

.progress-section{
    width:100%;
    margin-top:30px;

    display:grid;
    gap:18px;
}

.metric span{
    display:block;
    margin-bottom:8px;
    color:#ddd;
}

.bar{
    width:100%;
    height:10px;

    border-radius:20px;

    background:#1b1b1b;

    overflow:hidden;
}

.fill{
    height:100%;
    width:0%;

    border-radius:20px;

    transition:0.5s;
}

.yellow-fill{
    background:linear-gradient(to right,#3b82f6,#60a5fa);
}

.green-fill{
    background:linear-gradient(to right,#00d26a,#00ff95);
    width:65%;
}

.blue-fill{
    background:linear-gradient(to right,#0099ff,#00d4ff);
    width:80%;
}
/* =========================================
   🔥 STATS MODERNAS
========================================= */

.bottom-cards{
    margin-top:30px;

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

    gap:18px;
}

.mini-stat{
    position:relative;

    background:#101010;

    border:1px solid rgba(255,255,255,0.06);

    border-radius:22px;
    backdrop-filter:blur(18px);

box-shadow:
0 10px 40px rgba(0,0,0,0.35),
inset 0 1px 0 rgba(255,255,255,0.03);
    padding:22px;

    overflow:hidden;

    transition:0.35s;

    box-shadow:
    0 0 20px rgba(0,0,0,0.35);
    position:relative;
isolation:isolate;
}
.mini-stat::after{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    145deg,
    rgba(255,255,255,0.05),
    transparent 40%);

    pointer-events:none;

    z-index:-1;
}
/* LINEA SUPERIOR */

.mini-stat::before{
    content:"";
    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:linear-gradient(to right,#3b82f6,#60a5fa);
}

/* HOVER */

.mini-stat:hover{

    transform:
    translateY(-8px)
    scale(1.015);

    border-color:
    rgba(96,165,250,0.22);

    box-shadow:
    0 15px 40px rgba(59,130,246,0.18);

}

/* TITULO */

.mini-stat span{
    display:block;

    font-size:13px;

    color:#8f8f8f;

    margin-bottom:14px;

    letter-spacing:0.4px;
}

/* NUMERO */

.mini-stat h2{
    margin:0;

    font-size:42px;

    font-weight:700;

    color:#ffffff;
}

/* ICONITO */

.mini-stat .icon{
    position:absolute;

    top:18px;
    right:18px;

    font-size:22px;

    opacity:0.15;
}

/* COLORES */

.green-card::before{
    background:linear-gradient(to right,#00d26a,#00ff99);
}

.green-card h2{
    color:#00ff99;
}

.yellow-card::before{
    background:linear-gradient(to right,#3b82f6,#60a5fa);
}

.yellow-card h2{
    color:#60a5fa;
}

.blue-card::before{
    background:linear-gradient(to right,#0099ff,#00d4ff);
}

.blue-card h2{
    color:#35c8ff;
}

.red-card::before{
    background:linear-gradient(to right,#ff4d4d,#ff7b7b);
}

.red-card h2{
    color:#ff7070;
}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:1200px){

    .dashboard-top{
        grid-template-columns:1fr;
    }

    .line{
        display:none;
    }

    .bottom-cards{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){

    .bottom-cards{
        grid-template-columns:1fr;
    }

    .financial-dashboard{
        padding:20px;
    }

    .timeline-step{
        min-width:100px;
    }

    .circle{
        width:65px;
        height:65px;
        font-size:24px;
    }

    .timeline-step p{
        font-size:20px;
    }
}
.ganancia-card{
    margin-top: 20px;
    width: 100%;
    min-height: 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/* =========================================
   🌌 SCROLLBAR PREMIUM
========================================= */

::-webkit-scrollbar{
    width:12px;
}

::-webkit-scrollbar-track{
    background:#050816;
}

::-webkit-scrollbar-thumb{

    background:
    linear-gradient(
    to bottom,
    #2563eb,
    #60a5fa);

    border-radius:20px;

    border:2px solid #050816;
}

::-webkit-scrollbar-thumb:hover{
    background:
    linear-gradient(
    to bottom,
    #3b82f6,
    #93c5fd);
}
/* =========================================
   🧠 SECCION FODA PREMIUM BLUE DARK
   PEGAR DEBAJO DE TU CSS ACTUAL
========================================= */

/* CONTENEDOR GENERAL */

.foda-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:100vh;
    position:relative;
    gap:0;

    background:
    linear-gradient(145deg,#050816,#02040a);
}

/* CUADRANTES */

.box{
    display:flex;
    align-items:center;
    justify-content:center;

    position:relative;
    overflow:hidden;

    padding:60px 30px;

    animation:fadeIn 1s ease;
    z-index:2;
}

/* FONDOS INDIVIDUALES */

.fortalezas{
    background:
    linear-gradient(145deg,
    rgba(15,23,42,0.95),
    rgba(5,10,20,0.98));
}

.oportunidades{
    background:
    linear-gradient(145deg,
    rgba(10,18,35,0.95),
    rgba(4,8,18,0.98));
}

.debilidades{
    background:
    linear-gradient(145deg,
    rgba(17,24,39,0.95),
    rgba(6,10,18,0.98));
}

.amenazas{
    background:
    linear-gradient(145deg,
    rgba(8,15,30,0.95),
    rgba(3,6,14,0.98));
}

/* LINEAS DIVISORIAS */

.line-h,
.line-v{
    position:absolute;
    background:rgba(96,165,250,0.15);
    z-index:1;
}

.line-h{
    width:100%;
    height:1px;
    top:50%;
}

.line-v{
    height:100%;
    width:1px;
    left:50%;
}

/* =========================================
   🪟 TARJETAS FODA
========================================= */

.foda-card{
    width:75%;
    position:relative;
    z-index:3;

    padding:28px;

    border-radius:26px;

    background:
    linear-gradient(145deg,
    rgba(255,255,255,0.04),
    rgba(255,255,255,0.015));

    border:1px solid rgba(96,165,250,0.15);

    backdrop-filter:blur(14px);

    box-shadow:
    0 0 30px rgba(0,0,0,0.45),
    inset 0 0 0 1px rgba(255,255,255,0.02);

    transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}


/* HOVER */

.foda-card:hover{
    transform:translateY(-8px) scale(1.02);

    border-color:rgba(96,165,250,0.35);

    box-shadow:
    0 0 35px rgba(59,130,246,0.18),
    0 0 60px rgba(0,0,0,0.55);
}

/* TITULOS */

.foda-card h2{
    margin-top:0;
    margin-bottom:16px;

    color:#60a5fa;

    font-size:28px;
    font-weight:700;

    letter-spacing:1px;
}

/* TEXTO INFO */

.info{
    font-size:14px;
    color:#b6c2d9;

    line-height:1.7;

    border-left:3px solid #3b82f6;

    padding-left:14px;

    margin-bottom:18px;
}

/* LISTAS */

.foda-card ul{
    padding-left:20px;
    margin:0;
}

.foda-card li{
    margin-bottom:10px;

    color:#d5dceb;

    line-height:1.6;
}

/* =========================================
   🔵 CIRCULO CENTRAL
========================================= */

.center-circle{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:210px;
    height:210px;

    border-radius:50%;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;

    z-index:10;

    cursor:pointer;

    background:
    radial-gradient(circle at top,
    rgba(59,130,246,0.35),
    rgba(5,10,20,0.98));

    border:2px solid rgba(96,165,250,0.55);

    box-shadow:
    0 0 30px rgba(59,130,246,0.35),
    0 0 80px rgba(59,130,246,0.12),
    inset 0 0 25px rgba(255,255,255,0.05);

    transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.center-circle:hover{
    transform:translate(-50%,-50%) scale(1.06);

    box-shadow:
    0 0 45px rgba(96,165,250,0.45),
    0 0 100px rgba(59,130,246,0.18);
}

.center-circle h1{
    margin:0;

    color:#ffffff;

    font-size:34px;

    letter-spacing:3px;
}

.center-circle p{
    margin-top:8px;

    color:#9ec5ff;

    font-size:13px;

    letter-spacing:2px;
}

/* =========================================
   📝 HEADER FODA
========================================= */

.header-foda{
    text-align:center;

    padding:70px 20px 30px;

    max-width:1000px;

    margin:auto;
}

.header-foda h1{
    font-size:52px;

    margin-bottom:14px;

    color:#60a5fa;

    letter-spacing:3px;

    text-shadow:
    0 0 20px rgba(59,130,246,0.3);
}

.header-foda p{
    color:#c7d3e8;

    font-size:17px;

    line-height:1.8;
}

.header-foda .sub{
    margin-top:14px;

    color:#8ea4c7;

    font-size:14px;
}

.header-foda span{
    color:#60a5fa;
    font-weight:700;
}

/* =========================================
   🎥 POPUP VIDEO
========================================= */

#videoPopup{
    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    display:none;

    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,0.85);

    backdrop-filter:blur(10px);

    z-index:10000;
}

.video-box{
    position:relative;

    padding:18px;

    border-radius:24px;

    background:
    linear-gradient(145deg,
    #0b1220,
    #060b14);

    border:1px solid rgba(96,165,250,0.2);

    box-shadow:
    0 0 35px rgba(59,130,246,0.25);

    animation:aparecer 0.35s ease;
}

.video-box video{
    width:550px;
    max-width:90vw;

    border-radius:18px;
}

/* BOTON CERRAR */

.video-box span{
    position:absolute;

    top:-12px;
    right:-12px;

    width:34px;
    height:34px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#60a5fa;

    color:#06101f;

    font-weight:bold;

    cursor:pointer;

    box-shadow:
    0 0 15px rgba(96,165,250,0.5);
}

/* =========================================
   ✨ ANIMACIONES
========================================= */

@keyframes aparecer{

    from{
        opacity:0;
        transform:scale(0.7);
    }

    to{
        opacity:1;
        transform:scale(1);
    }
}

@keyframes fadeIn{

    from{
        opacity:0;
        transform:scale(0.96);
    }

    to{
        opacity:1;
        transform:scale(1);
    }
}

/* =========================================
   📱 RESPONSIVE
========================================= */

@media(max-width:900px){

    .foda-container{
        grid-template-columns:1fr;
    }

    .center-circle,
    .line-h,
    .line-v{
        display:none;
    }

    .card{
        width:95%;
    }

    .header-foda h1{
        font-size:38px;
    }
}

@media(max-width:768px){

    .box{
        padding:35px 18px;
    }

    .card{
        padding:22px;
    }

    .card h2{
        font-size:24px;
    }

    .header-foda{
        padding-top:90px;
    }
}
/* =========================================
   🔵 FIX HOVER CARDS FODA
========================================= */

.foda-container .card:hover{

    background:
    linear-gradient(145deg,
    rgba(20,35,60,0.95),
    rgba(8,15,30,0.98));

    border-color:rgba(96,165,250,0.45);

    box-shadow:
    0 0 35px rgba(59,130,246,0.20),
    0 0 60px rgba(0,0,0,0.55);

    transform:
    translateY(-8px)
    scale(1.02);
}
/* =========================================
   🚀 INDEX PREMIUM BLUE DARK
   PEGAR DEBAJO DE TODO TU CSS
========================================= */

/* =========================================
   🎬 HEADER VIDEO
========================================= */

.header-video{
    position:relative;

    height:360px;

    overflow:hidden;

    border-bottom:1px solid rgba(96,165,250,0.18);

    background:
    linear-gradient(145deg,#050816,#02040a);
}

/* VIDEO */

.header-video video{
    width:100%;
    height:100%;

    object-fit:cover;

    filter:
    brightness(0.38)
    saturate(1.1);

    transform:scale(1.02);
}

/* OVERLAY OSCURO */

.header-video::before{
    content:"";

    position:absolute;
    inset:0;

    background:
    linear-gradient(to bottom,
    rgba(2,6,18,0.35),
    rgba(2,6,18,0.82));

    z-index:1;
}

/* GLOW AZUL */

.header-video::after{
    content:"";

    position:absolute;

    width:600px;
    height:600px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(59,130,246,0.15),
    transparent 70%);

    top:-280px;
    right:-220px;

    z-index:1;
}

/* =========================================
   📝 TEXTO HEADER
========================================= */

.header-text{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:90%;

    text-align:center;

    z-index:2;
}

.header-text h1{
    margin:0;

    font-size:48px;

    font-weight:800;

    line-height:1.1;

    font-weight:800;

    color:#ffffff;

    letter-spacing:2px;

    text-shadow:
    0 0 25px rgba(0,0,0,0.6);
}

/* SUBTITULO */

.subtitulo{
    margin-top:18px;

    color:#9ec5ff;

    font-size:18px;

    line-height:1.7;

    font-weight:400;

    text-shadow:
    0 0 15px rgba(0,0,0,0,.4);
}

/* =========================================
   🔥 SUB HEADER
========================================= */

.sub-header{
    padding:55px 20px;

    text-align:center;

    background:
    linear-gradient(145deg,
    rgba(7,12,24,0.98),
    rgba(4,8,18,0.98));

    border-bottom:1px solid rgba(96,165,250,0.12);
}

.sub-header h2{
    margin:auto;

    max-width:950px;

    color:#d8e7ff;

    font-size:28px;

    font-weight:600;

    line-height:1.7;
}

/* =========================================
   📚 INFO SECTION
========================================= */

.info-section{
    padding:90px 25px;

    text-align:center;

    position:relative;
}

/* TITULO */

.info-section h2{
    color:#60a5fa;

    font-size:44px;

    margin-bottom:55px;

    letter-spacing:1px;

    text-shadow:
    0 0 20px rgba(59,130,246,0.15);
}

/* GRID */

.info-grid{
    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:28px;

    max-width:1300px;

    margin:auto;
}

/* =========================================
   🪟 CARDS
========================================= */

.info-card{

    position:relative;

    padding:32px;

    border-radius:24px;

    background:
    linear-gradient(
    145deg,
    rgba(255,255,255,0.05),
    rgba(255,255,255,0.02));

    border:1px solid rgba(255,255,255,0.06);

    backdrop-filter:blur(12px);

    transition:0.3s ease;

    overflow:hidden;
}

/* GLOW */

.info-card::before{
    content:"";

    position:absolute;

    width:180px;
    height:180px;

    border-radius:50%;

    top:-90px;
    right:-90px;

    background:
    radial-gradient(circle,
    rgba(59,130,246,0.12),
    transparent 70%);
}

/* HOVER */

.info-card:hover{

    transform:
    translateY(-6px);

    border-color:
    rgba(59,130,246,0.25);

    box-shadow:
    0 10px 30px rgba(0,0,0,0.35);
}
/* TITULO CARD */

.info-card h3{
    color:#60a5fa;

    margin-bottom:16px;

    font-size:24px;

    font-weight:700;
}

/* TEXTO */

.info-card p{
    color:#c8d4e8;

    font-size:15px;

    line-height:1.8;
}

/* LISTA */

.info-card ul{
    margin-top:18px;

    padding-left:18px;

    text-align:left;
}

.info-card li{
    margin-bottom:10px;

    color:#9fb2d1;

    line-height:1.6;
}

/* =========================================
   🤖 CHAT BOT
========================================= */

/* BOTON */

#btnChat{
    position:fixed;

    bottom:22px;
    right:22px;

    width:65px;
    height:65px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(145deg,
    #3b82f6,
    #2563eb);

    color:white;

    cursor:pointer;

    z-index:3000;

    box-shadow:
    0 0 25px rgba(59,130,246,0.45);

    transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

#btnChat:hover{
    transform:scale(1.08);

    box-shadow:
    0 0 35px rgba(96,165,250,0.6);
}

/* CHAT BOX */

#chatBox{
    position:fixed;

    bottom:95px;
    right:22px;

    width:340px;
    height:470px;

    display:none;
    flex-direction:column;

    overflow:hidden;

    border-radius:24px;

    background:
    linear-gradient(145deg,
    rgba(8,12,22,0.98),
    rgba(3,6,14,0.98));

    border:1px solid rgba(96,165,250,0.18);

    backdrop-filter:blur(16px);

    box-shadow:
    0 0 40px rgba(0,0,0,0.55);

    z-index:3000;
}

#chatBox.active{
    display:flex;
}

/* HEADER */

#chatHeader{
    padding:16px;

    background:
    linear-gradient(145deg,
    #3b82f6,
    #2563eb);

    color:white;

    font-weight:700;

    text-align:center;

    letter-spacing:1px;
}

/* MENSAJES */

#chatMensajes{
    flex:1;

    padding:14px;

    overflow-y:auto;

    display:flex;
    flex-direction:column;

    gap:10px;
}

/* INPUT AREA */

#chatInputArea{
    display:flex;

    border-top:
    1px solid rgba(96,165,250,0.12);
}

/* INPUT */

#chatInput{
    flex:1;

    padding:14px;

    border:none;

    background:#050816;

    color:white;

    outline:none;
}

/* BOTON INPUT */

#chatInputArea button{
    margin:0;

    border-radius:0;

    background:
    linear-gradient(145deg,
    #3b82f6,
    #2563eb);

    color:white;
}

/* MENSAJE USER */

.user{
    align-self:flex-end;

    padding:10px 14px;

    border-radius:16px 16px 4px 16px;

    max-width:80%;

    background:
    linear-gradient(145deg,
    #3b82f6,
    #2563eb);

    color:white;
}

/* MENSAJE BOT */

.bot{
    align-self:flex-start;

    padding:10px 14px;

    border-radius:16px 16px 16px 4px;

    max-width:80%;

    background:#101828;

    border:1px solid rgba(96,165,250,0.08);

    color:#dbe7ff;
}

/* =========================================
   📱 RESPONSIVE
========================================= */

@media(max-width:768px){

    .header-video{
        height:340px;
    }

    .header-text h1{
        font-size:36px;
    }

    .subtitulo{
        font-size:15px;
    }

    .sub-header h2{
        font-size:22px;
    }

    .info-section h2{
        font-size:34px;
    }

    #chatBox{
        width:95%;

        right:2.5%;
    }
}
/* =========================================
   🚀 HERO PREMIUM
========================================= */

.hero{

    position:relative;

    min-height:100vh;

    display:flex;
    align-items:center;

    overflow:hidden;

    padding:0 8%;
}

/* VIDEO */

.hero-video{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    filter:
    brightness(0.28)
    saturate(1.1);
}

/* OVERLAY */

.hero-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(to bottom,
    rgba(5,8,22,0.45),
    rgba(5,8,22,0.92));

    z-index:1;
}

/* GLOW */

.hero::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(59,130,246,0.16),
    transparent 70%);

    top:-320px;
    right:-240px;

    z-index:1;
}

/* CONTENIDO */

.hero-content{

    position:relative;

    z-index:2;

    max-width:760px;
}

/* BADGE */

.hero-badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    background:
    rgba(59,130,246,0.10);

    border:
    1px solid rgba(96,165,250,0.18);

    color:#93c5fd;

    font-size:13px;

    letter-spacing:1px;

    margin-bottom:25px;
}

/* TITULO */

.hero h1{

    font-size:76px;

    line-height:1.05;

    margin-bottom:24px;

    color:white;

    font-weight:800;
}

/* TEXTO */

.hero p{

    color:#b6c2d9;

    font-size:20px;

    line-height:1.8;

    max-width:650px;
}

/* BOTONES */

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:40px;
}

.primary-btn{

    border:none;

    background:
    linear-gradient(145deg,
    #2563eb,
    #3b82f6);

    color:white;

    padding:16px 28px;

    border-radius:18px;

    font-weight:700;

    cursor:pointer;

    box-shadow:
    0 0 30px rgba(59,130,246,0.35);
}

.secondary-btn{

    background:
    rgb(243, 241, 241);

    border:
    1px solid rgba(255,255,255,0.08);

    color:rgb(93, 91, 0);

    padding:16px 28px;

    border-radius:18px;

    backdrop-filter:blur(12px);
}

/* =========================================
   📊 STATS
========================================= */

.stats-bar{

    position:relative;

    z-index:5;

    margin-top:-70px;

    padding:0 8%;

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:22px;
}

.stat-card{

    padding:35px;

    border-radius:28px;

    background:
    linear-gradient(145deg,
    rgba(255,255,255,0.05),
    rgba(255,255,255,0.015));

    border:
    1px solid rgba(96,165,250,0.12);

    backdrop-filter:blur(18px);

    box-shadow:
    0 0 30px rgba(0,0,0,0.35);
}

.stat-card h2{

    margin:0 0 12px;

    color:#60a5fa;

    font-size:42px;
}

.stat-card span{

    color:#b6c2d9;
}

/* RESPONSIVE */

@media(max-width:768px){

    .hero{
        padding:120px 25px;
    }

    .hero h1{
        font-size:46px;
    }

    .hero p{
        font-size:16px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .stats-bar{

        grid-template-columns:1fr;

        margin-top:30px;
    }
}
/* =========================
   COSTO UNITARIO PREMIUM
========================= */

.costo-unitario-section{
    padding: 100px 8%;
    background:
    radial-gradient(circle at top left,#1d1d1d,#0f0f0f);
    color:white;
}

.costo-container{
    max-width: 1400px;
    margin:auto;
}

/* TITULOS */

.costo-title{
    color: #60a5fa;
    font-size: 55px;
    font-weight: 800;
    text-align:center;
    margin-bottom: 25px;
}

.costo-subtitle{
    text-align:center;
    font-size: 20px;
    color: #60a5fa;
    max-width:900px;
    margin:auto;
    line-height:1.8;
    margin-bottom:80px;
}

/* GRID */

.costo-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
    margin-bottom:90px;
}

/* CARDS */

.costo-card{
    background: rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:30px;
    padding:35px;
    backdrop-filter: blur(15px);
    transition:.4s;
    position:relative;
    overflow:hidden;
}

.costo-card::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    background:#d4af37;
    filter:blur(120px);
    top:-70px;
    right:-70px;
    opacity:.15;
}

.costo-card:hover{
    transform:translateY(-10px);
    border-color: #3b82f6;
}

.costo-card h3{
    font-size:26px;
    margin-bottom:15px;
    color: #60a5fa;
}

.costo-card p{
    color:#cfcfcf;
    line-height:1.7;
}

/* FORMULA */

.formula-box{
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    border-radius:35px;
    padding:60px;
    border:1px solid rgba(255,255,255,0.08);
    margin-bottom:90px;
    box-shadow:
    0 0 40px rgba(0,0,0,.5);
}

.formula-box h3{
    font-size:38px;
    margin-bottom:40px;
    text-align:center;
}

.formula{
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: white;
    padding: 35px;
    border-radius: 22px;
    text-align: center;
    font-size: 2rem;
    font-weight: 800;
    box-shadow: 0 0 30px rgba(37,99,235,0.35);
}

/* EJEMPLO */

.ejemplo{
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap:25px;
}

.ejemplo div{
    background: rgba(255,255,255,0.04);
    padding:30px;
    border-radius:25px;
    text-align:center;
    border:1px solid rgba(255,255,255,0.05);
}

.ejemplo div h4{
    color: #60a5fa;
    font-size: 1.4rem;
    margin-bottom: 15px;
}

.ejemplo div p{
    color: white;
    font-size: 2rem;
    font-weight: 700;
}

/* RESULTADO */

.resultado-final{
    margin-top: 40px;
    background: rgba(15,23,42,0.9);
    border: 1px solid rgba(59,130,246,0.3);
    color: white;
    padding: 30px;
    border-radius: 18px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    box-shadow: 0 0 25px rgba(37,99,235,0.2);
}

/* BENEFICIOS */

.beneficios h2{
    text-align:center;
    font-size:45px;
    margin-bottom:60px;
}

.beneficio-lista{
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.beneficio{
    background: rgba(255,255,255,0.05);
    border-radius:28px;
    padding:35px;
    border:1px solid rgba(255,255,255,0.07);
    transition:.4s;
}

.beneficio:hover{
    transform:translateY(-8px);
    border-color: #3b82f6;
}

.beneficio h4{
    color: #60a5fa;
    margin-bottom: 12px;
    font-size: 1.3rem;
}

.beneficio p{
    color:#cfcfcf;
    line-height:1.8;
}

/* RESPONSIVE */

@media(max-width:768px){

    .costo-title{
        font-size:38px;
    }

    .formula-box{
        padding:30px;
    }

    .formula{
        font-size:22px;
    }

    .beneficios h2{
        font-size:34px;
    }

}
/* ========================= */
/* COSTO POR UNIDAD MODERNO */
/* ========================= */

.costo-unitario-section{
    padding:100px 8%;
    background: rgba(15,23,42,0.75);
    color:white;
}

.costo-container{
    max-width:1400px;
    margin:auto;
}

.costo-title{
    font-size:52px;
    font-weight:800;
    text-align:center;
    margin-bottom:25px;
    line-height:1.1;
}

.costo-subtitle{
    text-align:center;
    max-width:900px;
    margin:auto;
    font-size:20px;
    color:#bdbdbd;
    line-height:1.7;
    margin-bottom:70px;
}

/* GRID */

.costo-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:25px;
    margin-bottom:70px;
}

/* CARDS */

.costo-card{
    background: rgba(15,23,42,0.75);
    color: #60a5fa;
    border:1px solid rgba(255,255,255,0.08);
    padding:35px;
    border-radius:24px;
    transition:0.4s;
    backdrop-filter:blur(10px);
}

.costo-card:hover{
    transform:translateY(-10px);
    border-color: #3b82f6;
    box-shadow:0 0 30px rgba(212,175,55,0.2);
}

.costo-card h3{
    font-size:24px;
    margin-bottom:15px;
    color: #60a5fa;
}

.costo-card p{
    color:#cfcfcf;
    line-height:1.7;
    font-size:16px;
}

/* FORMULA DEL COSTO POR UNIDAD*/

.formula-box{
    margin-top:50px;
    background:
    linear-gradient(145deg,rgba(255,255,255,0.05),rgba(255,255,255,0.015));
    border-radius:30px;
    padding:50px;
    border:1px solid rgba(255,255,255,0.06);
    margin-bottom:80px;
}

.formula-box h3{
    font-size:34px;
    text-align:center;
    margin-bottom:40px;
}

.formula{
    background: rgba(15,23,42,0.75);
    color:rgb(255, 255, 255);
    padding:25px;
    border-radius:18px;
    font-size:28px;
    font-weight:700;
    text-align:center;
    margin-bottom:50px;
}

/* EJEMPLOS */

.ejemplo{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
}

.ejemplo div{
    background: rgba(15,23,42,0.75);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 22px;
    padding: 45px 20px;
    backdrop-filter: blur(10px);
    transition: 0.3s;
}

.ejemplo div:hover{
    transform: translateY(-6px);
    border-color: #3b82f6;
    box-shadow: 0 0 25px rgba(59,130,246,0.25);
}

.ejemplo h4{
    color:white;
    margin-bottom:15px;
    font-size:22px;
}

.ejemplo p{
    font-size:28px;
    font-weight:700;
}

/* RESULTADO */

.resultado-final{
    margin-top:40px;
    background: rgba(15,23,42,0.75);
    border-left:5px solid #d4af37;
    padding:25px;
    border-radius:14px;
    font-size:20px;
    color:#f1f1f1;
}

/* BENEFICIOS */

.beneficios{
    margin-top:100px;
}

.beneficios h2{
    text-align:center;
    font-size:42px;
    margin-bottom:50px;
}

.beneficio-lista{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:25px;
}

.beneficio{
    background: rgba(255,255,255,0.05);
    border-radius:22px;
    padding:35px;
    border:1px solid rgba(255,255,255,0.08);
    transition:0.4s;
}

.beneficio:hover{
    transform:translateY(-8px);
    border-color: #3b82f6;
}

.beneficio h4{
    color: #60a5fa;
    font-size:24px;
    margin-bottom:15px;
}

.beneficio p{
    color:#c7c7c7;
    line-height:1.7;
}

/* RESPONSIVE */

@media(max-width:768px){

    .costo-title{
        font-size:38px;
    }

    .beneficios h2{
        font-size:34px;
    }

    .formula{
        font-size:22px;
    }

}
body{
    background:
    radial-gradient(circle at top,#0f172a,#020617 60%);
}

/* TITULO */

.top-insumos{
    margin-bottom: 35px;
}

.badge-insumos{
    background: rgba(37,99,235,0.15);
    border: 1px solid rgba(59,130,246,0.4);
    color: #60a5fa;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

.titulo-principal{
    font-size: 4rem;
    color: white;
    margin-top: 20px;
    margin-bottom: 10px;
}

.titulo-principal i{
    color: #3b82f6;
}

.subtitulo-insumos{
    color: #94a3b8;
    font-size: 1.2rem;
}

/* STATS */

.stats-insumos{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap: 20px;
    margin-bottom: 40px;
}

.stat-box{
    background: rgba(15,23,42,0.65);
    border: 1px solid rgba(59,130,246,0.2);
    border-radius: 24px;
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 20px;
    backdrop-filter: blur(12px);
    box-shadow: 0 0 25px rgba(0,0,0,0.35);
}

.stat-box i{
    font-size: 2rem;
    color: #3b82f6;
}

.stat-box h2{

    font-size:26px;

    max-width:100%;

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

}

.stat-box > div{
    min-width:0;
    overflow:hidden;
}

.stat-box span{
    color: #94a3b8;
}

/* FORM */

.glass{
    background: rgba(15,23,42,0.6);
    border: 1px solid rgba(59,130,246,0.2);
    backdrop-filter: blur(14px);
    border-radius: 30px;
    padding: 35px;
    box-shadow: 0 0 30px rgba(0,0,0,0.35);
}

.form-insumo{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap: 20px;
}

.campo{
    display: flex;
    flex-direction: column;
}

.campo label{
    color: #cbd5e1;
    margin-bottom: 10px;
    font-weight: 600;
}

.campo input,
.campo select{
    background: rgba(2,6,23,0.8);
    border: 1px solid rgba(59,130,246,0.2);
    color: white;
    padding: 16px;
    border-radius: 16px;
    outline: none;
    font-size: 1rem;
}

.campo input:focus,
.campo select:focus{
    border-color: #3b82f6;
    box-shadow: 0 0 15px rgba(59,130,246,0.3);
}

/* BOTONES */

.acciones{
    display: flex;
    align-items: end;
    gap: 15px;
}

.btn-premium{
    background: linear-gradient(135deg,#2563eb,#1d4ed8);
    color: white;
    border: none;
    padding: 16px 30px;
    border-radius: 18px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: 0.3s;
}

.btn-premium:hover{
    transform: translateY(-3px);
    box-shadow: 0 0 20px rgba(37,99,235,0.45);
}

/* BUSCADOR */

.buscador-box{
    margin-top: 40px;
    margin-bottom: 30px;
    background: rgba(15,23,42,0.65);
    border: 1px solid rgba(59,130,246,0.2);
    border-radius: 18px;
    display: flex;
    align-items: center;
    padding: 0 20px;
}

.buscador-box i{
    color: #60a5fa;
}

.buscador-box input{
    width: 100%;
    background: transparent;
    border: none;
    padding: 18px;
    color: white;
    outline: none;
    font-size: 1rem;
}

/* CARDS INSUMOS */

.card{
    background: rgba(15,23,42,0.65);
    border: 1px solid rgba(59,130,246,0.15);
    border-radius: 24px;
    padding: 25px;
    margin-bottom: 20px;
    color: white;
    transition: 0.3s;
    box-shadow: 0 0 20px rgba(0,0,0,0.25);
}

.card:hover{
    transform: translateY(-4px);
    border-color: #3b82f6;
}

.card b{
    font-size: 1.3rem;
    color: #60a5fa;
}

.card button{
    margin-right: 10px;
    border: none;
    padding: 12px 18px;
    border-radius: 14px;
    cursor: pointer;
    font-weight: 600;
}

.card button:first-of-type{
    background: #2563eb;
    color: white;
}

.card button:last-of-type{
    background: #dc2626;
    color: white;
}
/* FILTROS */

.filtros-historial{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    align-items:end;
    margin:30px 0;
    padding:25px;
    border-radius:25px;
    background:rgba(8,15,40,.95);
    border:1px solid rgba(0,140,255,.15);
    box-shadow:0 0 30px rgba(0,0,0,.4);
}

.grupo-filtro{
    flex:1;
    min-width:220px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.grupo-filtro label{
    color:#6eb6ff;
    font-weight:700;
    font-size:18px;
}

.grupo-filtro input,
.grupo-filtro select{
    background:#081225;
    border:1px solid rgba(255,255,255,.08);
    color:white;
    padding:14px;
    border-radius:14px;
    font-size:16px;
}

#btnFiltrar,
#btnLimpiar{
    border:none;
    padding:14px 25px;
    border-radius:14px;
    font-weight:700;
    cursor:pointer;
    transition:.2s;
}

#btnFiltrar{
    background:#2563eb;
    color:white;
}

#btnFiltrar:hover{
    transform:scale(1.05);
}

#btnLimpiar{
    background:#2a2f45;
    color:white;
}

/* RESUMEN */

.resumen-historial{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:20px;
    margin-bottom:30px;
}

.card-resumen{
    background:rgba(8,15,40,.95);
    border-radius:25px;
    padding:25px;
    border:1px solid rgba(0,140,255,.15);
    box-shadow:0 0 25px rgba(0,0,0,.4);
}

.card-resumen h3{
    color:#6eb6ff;
    margin-bottom:15px;
}

.card-resumen p{
    font-size:32px;
    font-weight:800;
    color:white;
}
#contenedorHistorial{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:25px;
    margin-top:20px;
}
.historial-card{
    background:rgba(8,15,40,.95);
    border-radius:25px;
    padding:25px;
    border:1px solid rgba(0,140,255,.15);
    box-shadow:0 0 25px rgba(0,0,0,.4);
    transition:.25s;
}

.historial-card:hover{
    transform:translateY(-4px);
    box-shadow:0 0 30px rgba(0,140,255,.25);
}

.historial-card button{
    border:none;
    padding:12px 18px;
    border-radius:12px;
    cursor:pointer;
    font-weight:700;
    margin-top:10px;
    margin-right:10px;
    transition:.2s;
}

.historial-card button:hover{
    transform:scale(1.05);
}
#contenedorHistorial{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:25px;
    margin-top:20px;
}
@media(max-width:768px){

    .calculadora{

        right:10px;

        left:10px;

        width:auto;

        bottom:80px;

        border-radius:25px;
    }

    .calculadora button{

        height:52px;

        font-size:20px;
    }

    .display{

        height:55px;

        font-size:24px;
    }
}

/* LOGIN */
/* 🧊 TARJETA */
.login-box {
   
    backdrop-filter: blur(15px);
    padding: 40px;
    width: 320px;
    border-radius: 20px;
    box-shadow: 0 0 30px rgba(212,175,55,0.2);
    text-align: center;
    z-index: 2;
    animation: fadeIn 1s ease;
}

/* TITULO */
.login-box h2 {
    color: white;
    margin-bottom: 25px;
    letter-spacing: 1px;
}

/* INPUTS */
.login-box input {
    width: 100%;
    padding: 12px;
    margin: 10px 0;
    border-radius: 10px;
    
    
    color: white;
    outline: none;
    transition: 0.3s;
}
/* LINK */
.login-box a {
    color: #2563eb;
    text-decoration: none;
}
/* REGISTRO */

/* ========================= */
/* 📱 RESPONSIVE */
/* ========================= */

/* TABLETS */

@media (max-width: 1024px){

    .container{
        margin-left:0 !important;
        width:100% !important;
        padding:15px;
    }

    .top-panel{

        grid-template-columns:
        repeat(2,1fr);

    }

    .charts{

        grid-template-columns:1fr;

    }

}

/* CELULARES */

@media (max-width: 768px){

    body{
        overflow-x:hidden;
    }

    .container{
        padding:10px;
    }

    h1{
        font-size:28px;
    }

    /* TARJETAS */

    .top-panel{

        grid-template-columns:1fr;

        gap:15px;

    }

    .card{

        padding:18px;

    }

    .card h2{
        font-size:15px;
    }

    .card p{
        font-size:24px;
    }

    /* GRAFICOS */

    .charts{

        grid-template-columns:1fr;

        gap:20px;

    }

    .chart-box{

        padding:15px;

    }

    canvas{

        max-height:250px;

    }

    /* TABLA */

    .table-container{

        padding:10px;

        overflow-x:auto;

    }

    table{

        min-width:600px;

    }

    /* FORMULARIOS */

    .form-insumo{

        display:flex;

        flex-direction:column;

        gap:15px;

    }

    .campo{

        width:100%;

    }

    input,
    select,
    button{

        width:100%;

        font-size:16px;

    }

    /* MENU */

    .sidebar{

        width:240px;

    }

    .menu-toggle{

        top:10px;
        left:10px;

        font-size:20px;

        padding:8px 12px;
    }

}

/* CELUS CHICOS */

@media (max-width: 480px){

    h1{
        font-size:24px;
    }

    .card p{
        font-size:20px;
    }

    .chart-box h3{
        font-size:16px;
    }

    .stat-box{

        flex-direction:column;

        text-align:center;

        gap:10px;

    }

    .btn-premium,
    .btn-cancelar{

        font-size:15px;

        padding:12px;

    }

}
/* =========================================
   🚀 FIX GLOBAL RESPONSIVE + BUGS
========================================= */

/* RESET */

*{
    box-sizing:border-box;
}

html,
body{
    overflow-x:hidden;
    max-width:100%;
}

/* IMAGENES */

img,
video,
canvas{
    max-width:100%;
    height:auto;
}

/* CONTENEDORES */

.container,
.content,
.costo-container,
.table-container,
.formula-box,
.food-safety,
.stats-bar,
.financial-dashboard{

    width:100%;
    max-width:100%;
}

/* INPUTS */

input,
select,
textarea,
button{

    max-width:100%;
    font-family:inherit;
}

/* TABLAS */

table{
    width:100%;
    border-collapse:collapse;
}

/* SCROLL TABLAS */

.table-container,
.tabla-responsive{

    overflow-x:auto;

    -webkit-overflow-scrolling:touch;
}

/* SIDEBAR */

.sidebar{

    overflow-y:auto;

    transition:0.3s ease;
}

/* CARDS */

.card,
.historial-card,
.stat-card,
.foda-card,
.chart-box,
.stat-box{

    width:100%;
}

/* GRID GENERAL */

.charts,
.top-panel,
.stats-insumos,
.bottom-cards,
.top-inputs,
.dashboard-top{

    display:grid;

    gap:20px;
}

/* =========================================
   💻 NOTEBOOKS
========================================= */

@media(max-width:1200px){

    .dashboard-top,
    .top-panel{

        grid-template-columns:
        repeat(2,1fr);
    }

    .bottom-cards{

        grid-template-columns:
        repeat(2,1fr);
    }

    .charts{

        grid-template-columns:1fr;
    }

    .content{

        padding:20px;
    }

}

/* =========================================
   📱 TABLETS
========================================= */

@media(max-width:992px){

    .layout{
        flex-direction:column;
    }

    .container,
    .content{

        margin-left:0 !important;

        width:100% !important;

        padding:18px;
    }

    .stats-bar{

        grid-template-columns:1fr;
    }

    .top-inputs{

        grid-template-columns:1fr;
    }

    .foda-container{

        grid-template-columns:1fr;
    }

    .line-h,
    .line-v,
    .center-circle{

        display:none;
    }

}

/* =========================================
   📲 CELULARES
========================================= */

@media(max-width:768px){

    body{
        font-size:14px;
    }

    h1{
        font-size:30px !important;
        line-height:1.2;
    }

    h2{
        font-size:24px;
    }

    h3{
        font-size:20px;
    }

    p{
        font-size:14px;
    }

    /* CONTENT */

    .content,
    .container{

        padding:12px !important;
    }

    /* SIDEBAR */

    .sidebar{

        width:250px;

        left:-250px;
    }

    .sidebar.active{

        left:0;
    }

    /* MENU BUTTON */

    .menu-toggle{

        top:10px;
        left:10px;

        font-size:20px;

        padding:10px 14px;

        z-index:9999;
    }

    /* GRIDS */

    .charts,
    .top-panel,
    .stats-insumos,
    .dashboard-top,
    .bottom-cards,
    .top-inputs{

        grid-template-columns:1fr !important;
    }

    /* FORMS */

    .form-insumo,
    .grupo-unidad,
    .uso-unidad,
    .bloque-resumen{

        display:flex;
        flex-direction:column;

        gap:15px;
    }

    .campo{
        width:100%;
    }

    input,
    select,
    textarea{

        width:100%;

        font-size:16px;

        padding:14px;
    }

    button{

        width:100%;

        padding:14px;

        font-size:16px;
    }

    /* CARDS */

    .card,
    .historial-card,
    .stat-card,
    .foda-card,
    .chart-box{

        padding:18px !important;

        border-radius:18px;
    }

    /* TABLAS */

    table{

        display:block;

        overflow-x:auto;

        white-space:nowrap;
    }

    th,
    td{

        padding:10px;

        font-size:13px;
    }

    /* CHARTS */

    canvas{

        max-height:260px !important;
    }

    /* LOGIN */

    .login-box{

        width:95%;

        padding:25px;
    }

    /* HERO */

    .hero{

        padding:120px 20px;
    }

    .hero h1{

        font-size:42px;
    }

    .hero-buttons{

        flex-direction:column;
    }

}

/* =========================================
   📱 CELULARES PEQUEÑOS
========================================= */

@media(max-width:480px){

    h1{
        font-size:24px !important;
    }

    h2{
        font-size:20px;
    }

    .card p,
    .stat-card h2{

        font-size:22px !important;
    }

    .sidebar{

        width:220px;
    }

    .chart-box h3{

        font-size:16px;
    }

    .video-box video{

        width:100%;
    }

    .calculadora{

        left:10px !important;
        right:10px !important;

        width:auto !important;
    }

}

/* =========================================
   🖨️ PRINT FIX
========================================= */

@media print{

    body{

        overflow:visible !important;
    }

    .sidebar,
    .menu-toggle,
    #overlay{

        display:none !important;
    }

}
@media print {

    body * {
        visibility: hidden;
    }

    #areaPDF,
    #areaPDF * {
        visibility: visible;
    }

    #areaPDF {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        background: white;
        color: black;
    }

    .no-print {
        display: none !important;
    }
}
@media print{

    .ingrediente-texto{
        display:inline !important;
    }

    input,
    select{
        display:none !important;
    }

}
.print-costo,
.print-uso,
.ingrediente-texto{
    display:none;
}

@media print {

    .print-costo,
    .print-uso,
    .ingrediente-texto{
        display:block !important;
        font-size:12px;
    }

    #tbody input,
    #tbody select{
        display:none !important;
    }
    .insumo-texto,
.print-costo,
.print-uso{
    display:block !important;
}

#tbody input,
#tbody select{
    display:none !important;
}

}
.insumo-texto,
.print-costo,
.print-uso{
    display:none;
}
.exceso{
    color:#ff4444;
    font-size:11px;
    font-weight:bold;
    display:block;
    margin-top:4px;
}
@media print{

    .exceso{
        color:red !important;
        display:block !important;
    }

}
/* ==========================
   SUBMENU COSTOS
========================== */


.submenu{
    width:100%;
}


.submenu-btn{

    width:90%;
    margin:10px auto;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:#111827;
    color:#ddd;

    border:none;
    border-radius:15px;

    padding:18px;

    font-size:16px;
    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}


.submenu-btn:hover{

    background:#1d2738;

}


/* CONTENIDO OCULTO */

.submenu-items{
    display:none;
}


.submenu-items.mostrar{
    display:block;
}


/* CUANDO ABRE */

.submenu-items.mostrar{

    max-height:200px;

}


/* BOTONES INTERNOS */

.submenu-items button{

    width:80%;

    margin:8px auto;

    display:block;

    background:#0c1320;

    color:#ccc;

    border-radius:12px;

    padding:14px;

    border:1px solid rgba(255,255,255,.05);

    cursor:pointer;

}


.submenu-items button:hover{

    background:#182235;

    color:white;

}
/* =========================================
   🔒 AISLAR CALCULADORA DE ESTILOS GLOBALES
========================================= */


#calcBox button{

    width:100% !important;

    margin:0 !important;

    padding:0 !important;

    height:45px !important;

    box-sizing:border-box !important;

}


#calcBox{

    overflow:hidden;

}


#calcBox .calc-grid{

    width:100%;

}


#calcBox input{

    width:100% !important;

}
.fila-campo{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
}

.fila-campo input{
    flex:1;
    min-width:0;
    width:auto;
}

.fila-campo select{
    width:120px;
    flex:none;
}
#authButtons{
    position:fixed;
    top:20px;
    right:20px;

    display:flex;
    align-items:center;
    gap:10px;

    z-index:9999;
}

.user-name{
    color:white;
    font-weight:600;
}
.stockInfo{
    margin-top: 8px;
    padding: 8px;
    background: transparent;
    border-left: 3px solid #d4af37;
    color: #f5f5f5;
    font-size: 13px;
    line-height: 1.5;
}

.stock-ok{

    color:#0b8a2d;
    font-weight:bold;

}

.stock-error{

    color:#d60000;
    font-weight:bold;

}
.btnEliminar{
    width:48px;
    height:48px;

    border:1px solid #ff4d5a;
    border-radius:12px;

    background:transparent;

    color:#ff4d5a;

    font-size:22px;

    cursor:pointer;

    transition:.25s;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:auto;
}
.btnEliminar:hover{

    background:#ff4d5a;

    color:white;

    transform:scale(1.08);

    box-shadow:0 0 15px rgba(255,77,90,.35);

}
.btnEliminar:active{

    transform:scale(.95);

}
.accion{

    text-align:center;
    vertical-align:middle;

}
/* =========================================
   🧱 TABLA DE INGREDIENTES - ESTRUCTURA FIJA
========================================= */

table{
    width:100%;
    table-layout:fixed;
}

/* INSUMOS */
table th:nth-child(1),
table td:nth-child(1){

    width:20%;

}

/* COSTOS */
table th:nth-child(2),
table td:nth-child(2){

    width:22%;

}

/* CANTIDAD USADA */
table th:nth-child(3),
table td:nth-child(3){

    width:28%;

}

/* COSTO TOTAL */
table th:nth-child(4),
table td:nth-child(4){

    width:20%;

}

/* ACCIÓN */
table th:nth-child(5),
table td:nth-child(5){

    width:10%;

}
/* BOTÓN VER TUTORIAL */

.tutorial-btn{

      border:none;

    background:
    linear-gradient(145deg,
    #2563eb,
    #3b82f6);

    color:white;

    padding:16px 28px;

    border-radius:18px;

    font-weight:700;

    cursor:pointer;

    box-shadow:
    0 0 30px rgba(59,130,246,0.35);
}
.tutorial-btn:hover{

    background:#2563eb;

    color:white;

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(37,99,235,.35);

}
/* =====================================
   SECCIÓN TUTORIAL
===================================== */

.tutorial-section{

    padding:100px 20px;

    background:#080f22;

    text-align:center;

}

.tutorial-container{

    max-width:1000px;

    margin:auto;

}

.tutorial-badge{

    display:inline-block;

    margin-bottom:15px;

    padding:8px 16px;

    border-radius:30px;

    background:rgba(37,99,235,.15);

    color:#93c5fd;

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

}

.tutorial-section h2{

    margin-bottom:15px;

    color:white;

    font-size:36px;

}

.tutorial-section p{

    max-width:700px;

    margin:0 auto 40px;

    color:#aeb8c9;

    font-size:17px;

    line-height:1.6;

}

.tutorial-video{

    width:100%;

    max-width:900px;

    margin:auto;

    overflow:hidden;

    border-radius:10px;

    border:1px solid rgba(59,130,246,.35);

    box-shadow:0 20px 60px rgba(0,0,0,.45);

}

.tutorial-video video{

    display:block;

    width:100%;

    height:auto;

}
/* CONTROLES SUPERIORES */

.top-controls{

    position:fixed;

    top:24px;

    right:25px;

    z-index:1000;

    display:flex;

    align-items:center;

    gap:20px;

}

/* CONTROLES DE USUARIO */

#authButtons{

    display:flex;

    align-items:center;

    gap:15px;

}

/* =====================================
   CONTROL DE VOLUMEN DEL VIDEO
===================================== */

.volume-control{

    position:fixed;

    top:24px;

    right:25px;

    transform:translateX(-315px);

    z-index:1001;

    display:flex;

    align-items:center;

    gap:8px;

    padding:7px 12px;

    height:42px;

    background:rgba(8,15,34,.90);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.18);

    border-radius:30px;

}


/* BOTÓN DE VOLUMEN */

.volume-btn{

    width:30px;

    height:30px;

    padding:0;

    border:none;

    background:transparent;

    color:white;

    font-size:17px;

    cursor:pointer;

}


/* BARRA DE VOLUMEN */

#volumeSlider{

    width:85px;

    cursor:pointer;

    accent-color:#3b82f6;

}