:root{
--olive:#384427;
--leaf:#667250;
--sage:#e9ecdf;
--cream:#faf9f5;
--border:#e7e8df;
--muted:#777d71;
}
*{box-sizing:border-box}
body{
margin:0;
background:var(--cream);
color:#2d3726;
font:15px "Segoe UI",Arial,sans-serif;
}
a{color:inherit}
.eu-header{background:rgba(255,255,255,.8)}
.eu-header-inner{
max-width:1160px;
margin:auto;
padding:10px 25px;
display:flex;
justify-content:space-between;
align-items:center;
border-bottom:1px solid var(--border);
}
.eu-brand img{
display:block;
width:290px;
height:138px;
object-fit:contain;
}
.eu-header-right{text-align:right}
.eu-username{display:block;color:var(--muted);margin-bottom:16px}
.eu-header nav{display:flex;align-items:center;gap:19px}
.eu-header nav a{
text-decoration:none;
font-weight:600;
color:var(--olive);
}
.eu-header nav form{margin:0}
.eu-salir{
border:1px solid #cdd2c4;
background:white;
border-radius:20px;
padding:8px 14px;
color:var(--olive);
cursor:pointer;
}
.eu-main{
max-width:1160px;
padding:22px 25px;
margin:0 auto;
min-height:65vh;
}
.eu-page-title{font-size:23px;font-weight:600;margin:6px 0 22px}
.eu-stats{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px;
}
.eu-stat{
background:white;
border:1px solid var(--border);
border-radius:22px;
box-shadow:0 10px 35px #3844270a;
padding:26px;
display:flex;
align-items:center;
gap:22px;
min-height:150px;
}
.eu-stat-icon,.eu-mod-icon{
display:flex;
justify-content:center;
align-items:center;
flex-shrink:0;
background:#f0f2e9;
color:var(--olive);
border-radius:17px;
width:72px;
height:72px;
font-size:34px;
font-weight:400;
}
.eu-stat span{display:block;color:#6a7064;font-size:18px}
.eu-stat strong{
display:block;
font-size:42px;
font-weight:650;
margin-top:9px;
color:var(--olive);
}
.eu-line{
height:1px;
background:#dedfd4;
margin:33px 0 21px;
}
.eu-modules-title{font-size:19px;margin:0 0 18px}
.eu-modules{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:16px;
}
.eu-module{
background:white;
border:1px solid var(--border);
border-radius:20px;
padding:22px;
min-height:115px;
display:flex;
align-items:center;
gap:16px;
font-size:19px;
text-decoration:none;
box-shadow:0 9px 24px #38442708;
transition:transform .15s,box-shadow .15s;
}
a.eu-module:hover{
transform:translateY(-2px);
box-shadow:0 12px 28px #38442718;
}
.eu-mod-icon{width:64px;height:64px;font-size:29px}
.eu-module>b{margin-left:auto;font-size:29px;color:#8c9980}
.eu-off{opacity:.60;cursor:not-allowed}
.eu-module small{
display:block;
font-size:12px;
margin-top:5px;
color:#888;
}
.eu-footer{
max-width:1110px;
margin:20px auto;
padding:19px 6px;
border-top:1px solid #dedfd4;
display:flex;
justify-content:space-between;
color:#868b80;
font-size:13px;
}
.panel{
background:white;
padding:25px;
margin:20px 0;
border:1px solid var(--border);
border-radius:17px;
}
.panel h2{margin-top:0}
form p{display:flex;flex-direction:column;gap:6px;max-width:560px}
input,select,textarea{
width:100%;
border:1px solid #cfd4c6;
border-radius:9px;
background:white;
padding:11px;
font:inherit;
}
input:focus,select:focus,textarea:focus{
outline:2px solid #a1b18d;
}
button:not(.eu-salir){
font:inherit;
background:var(--olive);
border:0;
border-radius:10px;
padding:12px 20px;
font-weight:600;
color:white;
cursor:pointer;
}
.tabla{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:11px;border-bottom:1px solid #eceee7}
th{background:#f8f9f4}
.ok{color:#336c43;font-weight:600}
.errorlist,.eu-error{color:#b53030}

.eu-login{
min-height:100vh;
background:
radial-gradient(ellipse at -7% 10%,#e5e8d9 0%,transparent 35%),
radial-gradient(ellipse at 107% 90%,#e2e7d5 0%,transparent 36%),
var(--cream);
}
.eu-login-wrap{
max-width:485px;
margin:0 auto;
padding:32px 18px 60px;
text-align:center;
}
.eu-login-logo{
width:420px;
max-width:100%;
height:300px;
object-fit:contain;
display:block;
margin:auto;
}
.eu-subtitle{
color:#818975;
letter-spacing:.08em;
font-size:18px;
margin:-9px 0 26px;
}
.eu-login-card{
background:rgba(255,255,255,.95);
border:1px solid #e4e7dd;
border-radius:24px;
padding:35px 39px 25px;
text-align:left;
box-shadow:0 18px 50px #38442716;
}
.eu-login-card label{
display:block;
font-weight:600;
margin:15px 0 9px;
color:#5b6254;
}
.eu-login-card input{
height:52px;
}
.eu-login-card .eu-primary{
width:100%;
margin-top:15px;
display:flex;
justify-content:center;
gap:18px;
font-size:17px;
}
.eu-login-credit{
border-top:1px solid #e8e9e2;
margin-top:29px;
padding-top:19px;
text-align:center;
color:#8b9187;
}
@media(max-width:750px){
.eu-header-inner{flex-direction:column}
.eu-header-right{text-align:center}
.eu-header nav{flex-wrap:wrap;justify-content:center}
.eu-stats{grid-template-columns:1fr}
.eu-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
.eu-footer{margin:18px 22px}
}
@media(max-width:460px){
.eu-modules{grid-template-columns:1fr}
.eu-main{padding:18px}
.eu-stat{min-height:100px;padding:17px}
.eu-stat strong{font-size:31px}
.eu-login-card{padding:25px}
}


/* EU12_03_R4_LOGO_FIX */
.eu-header{
background:#fbfaf6;
border-bottom:1px solid #e6e4da;
}
.eu-header-inner{
max-width:1160px;
margin:auto;
padding:10px 25px;
min-height:96px;
display:flex;
justify-content:space-between;
align-items:center;
}
.eu-brand{
display:flex;
align-items:center;
text-decoration:none;
}
.eu-brand img{
display:block !important;
width:230px !important;
max-width:230px !important;
height:auto !important;
max-height:72px !important;
object-fit:contain !important;
}
.eu-header-right{
display:flex;
flex-direction:column;
align-items:flex-end;
justify-content:center;
gap:8px;
}
.eu-username{
display:block;
color:#72776c;
margin:0;
font-size:13px;
}
.eu-header nav{
display:flex;
align-items:center;
gap:18px;
margin:0;
}
.eu-login-wrap{
max-width:560px;
margin:0 auto;
padding:18px 18px 50px;
text-align:center;
}
.eu-login-logo{
width:380px !important;
max-width:100%;
height:auto !important;
max-height:230px !important;
object-fit:contain !important;
display:block;
margin:0 auto 8px;
}
.eu-subtitle{
color:#808571;
letter-spacing:.03em;
font-size:18px;
margin:0 0 22px;
text-align:center;
}
.eu-main{
max-width:1160px;
padding:26px 25px;
margin:0 auto;
min-height:65vh;
}
@media(max-width:750px){
.eu-header-inner{
flex-direction:column;
gap:10px;
padding:14px 18px;
}
.eu-header-right{
align-items:center;
text-align:center;
}
.eu-brand img{
width:200px !important;
max-width:200px !important;
max-height:64px !important;
}
.eu-login-logo{
width:310px !important;
max-height:190px !important;
}
}


/* EU12_03_R5_LOGO_REFERENCIA */
.eu-brand img{
    width: 165px !important;
    max-width: 165px !important;
    height: auto !important;
    max-height: 74px !important;
    object-fit: contain !important;
    display:block !important;
}
.eu-login-logo{
    width: 320px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 220px !important;
    object-fit: contain !important;
    display:block !important;
    margin: 0 auto 10px !important;
}
/* EU12_03_R6_IMAGEN_REAL */
.eu-header .eu-brand img {
    width: 205px !important;
    max-width: 205px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    mix-blend-mode: multiply;
}
.eu-header .eu-header-inner {
    min-height: 158px !important;
}
.eu-login-logo {
    width: 320px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    mix-blend-mode: multiply;
}
@media (max-width: 750px) {
    .eu-header .eu-brand img {
        width: 180px !important;
        max-width: 180px !important;
    }
    .eu-header .eu-header-inner {
        min-height: auto !important;
    }
}