body.ipesa-portal{background:#fff;margin:0;font-family:Arial,sans-serif;color:#333} .ipesa-brand{margin:15px auto 25px} #logo img{max-width:100%;height:auto} #content{min-height:45vh;margin-top:20px} .ipesa-footer{position:static;clear:both;text-align:right;margin:35px auto;padding:15px 0;border-top:1px solid #ddd} .ipesa-slide[hidden]{display:none!important} .ipesa-slide img{width:100%;height:auto;display:block} #ipesa-carousel{position:relative;margin:0 0 25px} .ipesa-carousel-controls{position:absolute;bottom:8px;right:8px;display:flex;gap:8px} .ipesa-carousel-controls button{background:#0473aa;color:white;border:1px solid white;padding:6px 12px;border-radius:4px} .ipesa-landing-text{margin:20px 0} .front-boxes>div{margin-bottom:20px} #overlay{display:none;position:fixed;inset:0;background:#0008;z-index:1000} #loading{display:none;position:fixed;top:40%;left:35%;background:white;padding:24px;z-index:1001} @media(max-width:767px){#ipesa-nav.in{display:block}.head-menu{margin:0}.box-body{padding-left:50px}.box-body h1{font-size:20px}.ipesa-footer{text-align:center}}

/* Portal IPESA v3: marca en la barra y portada sin hueco superior. */
body.ipesa-portal{overflow-x:hidden}
.ipesa-portal .navbar{margin:0;min-height:62px}
.ipesa-portal .navbar-header{min-height:62px}
.ipesa-header-logo{display:inline-flex;align-items:center;justify-content:center;height:52px;margin:4px 0;padding:2px 8px;background:#fff;border-radius:3px}
.ipesa-header-logo img{display:block;width:115px;height:48px;object-fit:contain;margin:0}
.ipesa-portal .head-menu>li>a{padding-top:21px;padding-bottom:21px}
.ipesa-portal #content{margin-top:0;padding-top:0}
.ipesa-search:empty{display:none}
.ipesa-search .search{max-width:540px;margin:12px 0;display:flow-root}
#ipesa-carousel{width:100vw;max-width:none;margin:0 calc(50% - 50vw) 24px}
.ipesa-slide img{width:100%;height:auto;aspect-ratio:1551/466;object-fit:cover}
.ipesa-slide:not([hidden]){animation:ipesa-fade .65s ease-in-out}
.ipesa-carousel-controls{display:none!important}
.ipesa-landing-text:empty{display:none}
@keyframes ipesa-fade{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ipesa-slide:not([hidden]){animation:none}}
@media(max-width:767px){.ipesa-portal .navbar-toggle{margin-top:14px}.ipesa-portal .head-menu>li>a{padding:12px 15px}.ipesa-header-logo{margin-left:15px}.ipesa-slide img{object-fit:contain}}

/* IPESA v4: identidad y controles del portal de clientes. */
.ipesa-portal .ipesa-header-logo{background:transparent;border-radius:0}
.ipesa-portal #footer.ipesa-footer{position:static;float:none;clear:both;display:flex;align-items:center;justify-content:flex-start;background:#0473aa;color:#fff;text-align:left;min-height:60px;height:auto;margin:40px auto 0;padding:18px 20px;border:0;box-sizing:border-box}
.ipesa-portal #footer.ipesa-footer p{float:none;position:static;margin:0;padding:0;color:#fff;text-align:left;line-height:1.5;width:100%}
.ipesa-portal #clientLogin input[type=submit],.ipesa-portal #ticketSearchForm input[type=submit]{background:#0473aa;color:#fff;border:1px solid #0473aa;border-radius:4px;min-height:40px;padding:9px 20px;font-weight:600;cursor:pointer;box-shadow:none}
.ipesa-portal #clientLogin input[type=submit]:hover,.ipesa-portal #ticketSearchForm input[type=submit]:hover{background:#035982;border-color:#035982}
.ipesa-portal #clientLogin input[type=text],.ipesa-portal #clientLogin input[type=password]{width:100%;max-width:380px;min-height:42px;margin-bottom:12px;padding:9px 12px;border:1px solid #bbc8d0;border-radius:4px;box-sizing:border-box}
.ipesa-portal #clientLogin .login-box{min-width:280px;padding-right:12px}
.ipesa-portal #content>.search.well{position:static;float:none;height:auto;min-height:0;width:100%;max-width:none;margin:20px 0;padding:16px;background:#f4f7f9;border:1px solid #dce4e9;border-radius:6px;box-shadow:none;display:flow-root}
.ipesa-portal #content>.search.well>.flush-left{float:none;width:100%;margin:0}
.ipesa-portal #ticketSearchForm{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:100%;margin:0;padding:0}
.ipesa-portal #ticketSearchForm input[type=text]{position:static;float:none;flex:1 1 260px;width:auto;min-width:0;max-width:none;height:42px;margin:0;padding:9px 12px;border:1px solid #bbc8d0;border-radius:4px;box-sizing:border-box}
.ipesa-portal #ticketSearchForm input[type=submit]{float:none;flex:0 0 auto;width:auto;max-width:none;margin:0;height:42px}
.ipesa-portal #ticketSearchForm>.pull-right{float:none!important;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 0 auto;max-width:100%}
.ipesa-portal #ticketSearchForm select{width:auto;max-width:100%;min-height:42px;padding:8px;border:1px solid #bbc8d0;border-radius:4px;background:#fff}
.ipesa-portal #content:has(#ticketTable)>h1{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;clear:both;font-size:26px;padding:14px 16px;margin:0 0 12px!important}
.ipesa-portal #content:has(#ticketTable)>h1 .states{float:none!important;font-size:18px;line-height:1.6}
.ipesa-portal #ticketTable{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid #dce4e9;background:#fff;margin-bottom:18px}
.ipesa-portal #ticketTable caption{text-align:left;padding:10px 0 14px;color:#617482}
.ipesa-portal #ticketTable th{background:#edf4f8;color:#245571;padding:12px 14px;border-bottom:2px solid #d4e1e9;text-align:left;font-size:14px;white-space:normal}
.ipesa-portal #ticketTable td{padding:12px 14px;vertical-align:top;border-bottom:1px solid #e4ebef;line-height:1.5;overflow-wrap:anywhere}
.ipesa-portal #ticketTable tbody tr:nth-child(even){background:#f8fafb}
.ipesa-portal #ticketTable tbody tr:hover{background:#eef6fb}
.ipesa-portal #ticketTable th:nth-child(1){width:15%}.ipesa-portal #ticketTable th:nth-child(2){width:13%}.ipesa-portal #ticketTable th:nth-child(3){width:12%}.ipesa-portal #ticketTable th:nth-child(4){width:38%}.ipesa-portal #ticketTable th:nth-child(5){width:22%}
.ipesa-portal #ticketTable .truncate{white-space:normal;overflow:visible;text-overflow:clip;max-height:none!important;max-width:none!important}
@media(max-width:767px){.ipesa-portal #ticketSearchForm>.pull-right{margin-left:0;width:100%}.ipesa-portal #ticketSearchForm select{flex:1;min-width:0}.ipesa-portal #ticketTable{table-layout:auto;font-size:12px}.ipesa-portal #ticketTable th,.ipesa-portal #ticketTable td{padding:8px 5px}.ipesa-portal #clientLogin>div,.ipesa-portal #clientLogin>div>div{display:block!important;width:100%;min-width:0}.ipesa-portal #footer.ipesa-footer{font-size:13px}}
