/*==================================================
    GCORPESAP ERP
    Archivo: app.css
    Descripción:
    Variables globales, Reset y Layout Principal.
==================================================*/


/*==================================================
    VARIABLES
==================================================*/

:root{

    --primary:#1E3A5F;
    --primary-light:#274B79;
    --secondary:#3B82F6;

    --success:#22C55E;
    --warning:#F59E0B;
    --danger:#EF4444;

    --background:#F4F6F9;
    --surface:#FFFFFF;

    --text:#2D3748;
    --text-light:#6B7280;

    --border:#E5E7EB;

    --shadow:
        0 10px 25px rgba(0,0,0,.06);

    --radius:14px;

}


/*==================================================
    RESET
==================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}


/*==================================================
    BODY
==================================================*/

html{

    font-size:14px;

}

body{

    font-family:'Inter',sans-serif;

    background:var(--background);

    color:var(--text);

    line-height:1.5;

}


/*==================================================
    LINKS
==================================================*/

a{

    color:inherit;

    text-decoration:none;

}


/*==================================================
    LISTAS
==================================================*/

ul{

    list-style:none;

}


/*==================================================
    IMÁGENES
==================================================*/

img{

    display:block;

    max-width:100%;

}


/*==================================================
    LAYOUT PRINCIPAL
==================================================*/

.app{

    display:flex;

    min-height:100vh;

}

.main{

    flex:1;

    display:flex;

    flex-direction:column;

    min-width:0;

}

.content{

    flex:1;

    padding:30px;

}

/*==================================
    ALERTS
==================================*/

.alert{

    position:relative;

    display:flex;

    align-items:center;

    gap:12px;

    padding:16px 20px;

    margin-bottom:25px;

    border-radius:12px;

    font-size:15px;

    font-weight:500;

    animation:fadeDown .35s;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.alert i{

    font-size:18px;

}

.alert-success{

    background:#ECFDF3;

    color:#166534;

    border-left:5px solid #22C55E;

}

.alert-error{

    background:#FEF2F2;

    color:#991B1B;

    border-left:5px solid #EF4444;

}

@keyframes fadeDown{

    from{

        opacity:0;

        transform:translateY(-15px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==================================
    ALERT CLOSE
==================================*/

.alert-close{

    margin-left:auto;

    border:none;

    background:none;

    cursor:pointer;

    color:inherit;

    font-size:18px;

    opacity:.65;

    transition:.25s;

}

.alert-close:hover{

    opacity:1;

    transform:scale(1.1);

}