:root{
    --azul-energy:#1D4E89;
    --azul-energy-dark:#143B68;
    --azul-egoa:#77D9D3;
    --naranja:#FD5E0F;
    --rosa:#D74894;

    --blanco:#ffffff;
    --fondo:#f7f9fc;
    --texto:#1f2937;
    --texto-suave:#64748b;
    --borde:#e5e7eb;

    --verde:#16803c;
    --rojo:#b91c1c;
    --amarillo:#c47f00;

    --radio:14px;
    --sombra:0 8px 22px rgba(29,78,137,0.10);
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:var(--fondo);
    color:var(--texto);
}

/* CONTENEDOR */
.erp-container{
    max-width:1600px;
    margin:0 auto;
    padding:32px;
}

/* ENCABEZADOS */
.erp-title{
    color:var(--azul-energy);
    font-size:28px;
    font-weight:700;
    margin:0 0 22px 0;
}

.erp-subtitle{
    color:var(--azul-energy);
    font-size:20px;
    font-weight:700;
    margin:0 0 16px 0;
}

/* TARJETAS */
.erp-card{
    background:var(--blanco);
    border-radius:var(--radio);
    padding:24px;
    box-shadow:var(--sombra);
    margin-bottom:22px;
    border:1px solid var(--borde);
}

/* GRID */
.erp-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

/* KPI */
.erp-kpi{
    background:var(--blanco);
    border:1px solid var(--borde);
    border-radius:var(--radio);
    padding:22px;
    box-shadow:var(--sombra);
}

.erp-kpi-label{
    font-size:14px;
    color:var(--texto-suave);
    margin-bottom:8px;
}

.erp-kpi-value{
    font-size:26px;
    font-weight:700;
    color:var(--azul-energy);
}

/* BOTONES */
.erp-btn,
button{
    display:inline-block;
    padding:11px 18px;
    border-radius:999px;
    border:none;
    cursor:pointer;
    text-decoration:none;
    font-weight:700;
    font-size:14px;
    transition:0.2s ease;
}

.erp-btn-primary,
button{
    background:var(--azul-energy);
    color:var(--blanco);
}

.erp-btn-primary:hover,
button:hover{
    background:var(--azul-energy-dark);
}

.erp-btn-secondary{
    background:var(--blanco);
    color:var(--azul-energy);
    border:2px solid var(--azul-energy);
}

.erp-btn-secondary:hover{
    background:var(--azul-energy);
    color:var(--blanco);
}

.erp-btn-success{
    background:var(--verde);
    color:var(--blanco);
}

.erp-btn-danger{
    background:var(--rojo);
    color:var(--blanco);
}

.erp-btn-warning{
    background:var(--naranja);
    color:var(--blanco);
}

/* NAVEGACIÓN */
.erp-nav{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.erp-nav a{
    background:var(--blanco);
    color:var(--azul-energy);
    border:2px solid var(--azul-energy);
    border-radius:999px;
    padding:16px 20px;
    text-align:center;
    text-decoration:none;
    font-weight:700;
    box-shadow:var(--sombra);
}

.erp-nav a:hover{
    background:var(--azul-energy);
    color:var(--blanco);
}

/* TABLAS */
.erp-table{
    width:100%;
    border-collapse:collapse;
    background:var(--blanco);
    border-radius:var(--radio);
    overflow:hidden;
    box-shadow:var(--sombra);
}

.erp-table th{
    background:var(--azul-energy);
    color:var(--blanco);
    padding:13px;
    text-align:left;
}

.erp-table td{
    padding:13px;
    border-bottom:1px solid var(--borde);
}

/* FORMULARIOS */
label{
    font-weight:700;
    color:var(--azul-energy);
    font-size:14px;
}

input,
select,
textarea{
    width:100%;
    padding:11px;
    margin:7px 0 14px 0;
    border:1px solid var(--borde);
    border-radius:10px;
    font-size:14px;
    background:var(--blanco);
}

input:focus,
select:focus,
textarea:focus{
    outline:none;
    border-color:var(--azul-energy);
    box-shadow:0 0 0 3px rgba(29,78,137,0.15);
}

/* ALERTAS */
.erp-alert{
    padding:16px;
    border-radius:12px;
    margin-bottom:18px;
    border-left:6px solid var(--azul-energy);
    background:#eef5ff;
}

.erp-alert-success{
    border-left-color:var(--verde);
    background:#ecfdf3;
}

.erp-alert-warning{
    border-left-color:var(--naranja);
    background:#fff7ed;
}

.erp-alert-danger{
    border-left-color:var(--rojo);
    background:#fef2f2;
}

/* BADGES */
.erp-badge{
    display:inline-block;
    padding:6px 10px;
    border-radius:999px;
    color:var(--blanco);
    font-size:12px;
    font-weight:700;
}

.erp-badge-blue{background:var(--azul-energy);}
.erp-badge-green{background:var(--verde);}
.erp-badge-red{background:var(--rojo);}
.erp-badge-orange{background:var(--naranja);}
.erp-badge-pink{background:var(--rosa);}

/* TOP BAR */
.erp-topbar{
    background:var(--blanco);
    border-bottom:1px solid var(--borde);
    padding:16px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.erp-brand{
    color:var(--azul-energy);
    font-weight:700;
    font-size:18px;
}

.erp-user{
    color:var(--azul-energy);
    font-size:14px;
}

/* RESPONSIVE */
@media(max-width:900px){
    .erp-grid,
    .erp-nav{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:600px){
    .erp-grid,
    .erp-nav{
        grid-template-columns:1fr;
    }

    .erp-container{
        padding:18px;
    }
}
.erp-table th,
.erp-table td{
    vertical-align:middle;
}

.table-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
}

.erp-table .erp-btn,
.erp-table button{
    white-space:nowrap;
}

@media(max-width:1300px){
    .erp-card{
        overflow-x:auto;
    }

    .erp-table{
        min-width:1100px;
    }
}
