*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Trebuchet MS',sans-serif;
}

body{
    min-height:100vh;
    padding:40px;
    overflow-x:hidden;
    position:relative;
    color:white;
    background:linear-gradient(135deg,#020617,#071224,#0f172a);
}

/* Fondo formulas */
.bg-formula{
    position:fixed;
    font-size:55px;
    font-weight:900;
    opacity:.08;
    pointer-events:none;
    user-select:none;
    color:#00eaff;
    text-shadow:0 0 20px #00eaff;
    animation:parpadeo 3s infinite alternate;
}

@keyframes parpadeo{
    from{opacity:.04;}
    to{opacity:.12;}
}

.f1{top:5%;left:5%;}
.f2{top:15%;right:10%;}
.f3{top:30%;left:8%;}
.f4{top:45%;right:5%;}
.f5{top:60%;left:4%;}
.f6{top:75%;right:12%;}
.f7{top:88%;left:10%;}
.f8{top:22%;left:45%;}
.f9{top:52%;left:55%;}
.f10{top:10%;left:70%;}
.f11{top:70%;left:40%;}
.f12{top:82%;right:30%;}

.container{
    position:relative;
    z-index:2;
    width:min(1700px,96%);
    margin:auto;
}

h1{
    text-align:center;
    font-size:58px;
    margin-bottom:35px;
    color:#fff;
    text-shadow:0 0 25px #00eaff;
}

/* Entrada */
.entrada{
    width:100%;
    padding:45px;
    border-radius:30px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    box-shadow:0 0 50px rgba(0,234,255,.12);
    margin-bottom:35px;
    text-align:center;
}

.entrada label{
    display:block;
    font-size:30px;
    font-weight:900;
    margin-bottom:18px;
}

.entrada input{
    width:70%;
    padding:24px 30px;
    border:none;
    outline:none;
    border-radius:20px;
    font-size:24px;
    margin-right:20px;
}

#calcular{
    padding:24px 55px;
    border:none;
    border-radius:20px;
    font-size:22px;
    font-weight:900;
    cursor:pointer;
    color:white;
    background:linear-gradient(45deg,#00eaff,#2979ff);
    box-shadow:0 0 25px #00eaff;
}

/* Dashboard */
.dashboard{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:30px;
    align-items:start;
}

/* Panel info */
.panel-info{
    padding:35px;
    border-radius:28px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    box-shadow:0 0 40px rgba(0,234,255,.10);
    position:sticky;
    top:20px;
}

.panel-info h2{
    font-size:34px;
    margin-bottom:25px;
    color:#00eaff;
}

.dato{
    margin-bottom:25px;
    padding:25px;
    border-radius:20px;
    background:rgba(255,255,255,.04);
}

.dato span{
    display:block;
    font-size:22px;
    font-weight:900;
    margin-bottom:10px;
}

.dato p{
    font-size:20px;
    color:#dbeafe;
    word-break:break-word;
}

/* Graficas */
.panel-graficas{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.grafica-card{
    padding:30px;
    border-radius:28px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    box-shadow:0 0 35px rgba(0,234,255,.08);
}

.grafica-card h3{
    font-size:28px;
    margin-bottom:20px;
    color:#fff;
}

canvas{
    width:100% !important;
    height:420px !important;
}

/* Botones */
.botones-principales{
    margin-top:40px;
    display:flex;
    justify-content:center;
    gap:25px;
}

.btn-limpiar,
.btn-atras{
    padding:22px 55px;
    border:none;
    border-radius:18px;
    font-size:22px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    color:white;
}

.btn-limpiar{
    background:linear-gradient(45deg,#ff5d73,#dc2626);
    box-shadow:0 0 20px #ff5d73;
}

.btn-atras{
    background:linear-gradient(45deg,#00ffa3,#00c97c);
    box-shadow:0 0 20px #00ffa3;
}

@media(max-width:1200px){
    .dashboard{
        grid-template-columns:1fr;
    }

    .panel-info{
        position:static;
    }

    .entrada input{
        width:100%;
        margin:0 0 20px 0;
    }
}