/* Familia visual EPINex. Valores de referencia del tema local RADAR; sin sus reglas funcionales. */
.epinex-inline-logo{display:inline-block;width:76px;height:auto;vertical-align:middle;object-fit:contain;margin:0 3px}
.dialog-heading .epinex-inline-logo{width:72px;height:auto;max-width:100%}
/* Logos horizontales oficiales de RADAR, sin reconstruir sus letras ni símbolo. */
.epinex-brand .epinex-wordmark{display:block;width:120px;height:auto;max-width:100%;object-fit:contain;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.epinex-brand.mini .epinex-wordmark{width:64px;height:auto}
.epi-endorsement>.epinex-brand .epinex-wordmark{width:110px;height:auto}
.epi-owner>.epinex-brand .epinex-wordmark{width:72px;height:auto}
footer>.epinex-brand .epinex-wordmark{width:90px;height:auto;content:url('/epinex-horizontal-light.svg')}
:root{--epi-navy:#173d54;--epi-deep:#0b2a3d;--epi-teal:#087f8c;--epi-mint:#8cead9;--epi-border:#cbdde5;--epi-bg:#f2f7f9;font-family:'Segoe UI',Arial,sans-serif;color:var(--epi-navy);background:var(--epi-bg)}
header.brand-header{background:linear-gradient(112deg,#0a2639,#153c52 65%,#113448);border-bottom:3px solid #17b7aa;padding:20px clamp(18px,3vw,58px);box-shadow:0 12px 36px #102e4212}.samuel-brand .samuel-wordmark{width:217px;height:auto;max-width:45vw;background:#fff;border-radius:7px;padding:8px;object-fit:contain}.brand-header .epinex-brand{color:#fff}.epinex-brand.mini{font-size:12px!important;gap:3px}.epinex-brand.mini img{width:15px;height:15px}
main{max-width:1480px}section{border-color:var(--epi-border);border-radius:15px;box-shadow:0 4px 18px #18364c06}button,select,input,textarea{border-radius:8px;border-color:#bbd0d9;color:var(--epi-navy)}button{font-weight:600;min-height:40px;transition:background-color .18s,border-color .18s,box-shadow .18s}button:hover{background:#e6f0f4;box-shadow:0 2px 6px #18364c15}button.primary,.primary{background:var(--epi-teal);border-color:var(--epi-teal);color:white;box-shadow:0 5px 12px #087f8c18}button.primary:hover{background:#076c77}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #73b7c5;outline-offset:3px}nav{gap:7px}nav a{border:1px solid var(--epi-border);border-radius:8px;background:#fff;padding:10px 13px;font-size:13px}nav a:hover{background:#e5f4f2}th{background:#eaf2f6;color:#244c62}td,th{padding:10px 14px}.notice{border:1px solid #c9e6e6;border-left:4px solid var(--epi-teal);border-radius:10px;background:#eff9f8}.stats{gap:14px}.stats>div{border-left:4px solid var(--epi-teal);padding:10px 16px;background:#f7fbfc;border-radius:8px}.stats strong{color:var(--epi-teal)}dialog{border-radius:18px;border-color:var(--epi-border);background:#fff;max-height:94dvh}dialog::backdrop{background:#082d4760}footer{color:#587280;font-size:12px}
.portal-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;max-width:1180px;margin:18px auto 20px;border:1px solid var(--epi-border);border-radius:24px;overflow:hidden;background:white;box-shadow:0 18px 60px #19384c0c;align-items:stretch}.portal-layout>section{border:0;border-radius:0;margin:0;box-shadow:none}.portal-intro{padding:28px 24px 20px;background:linear-gradient(150deg,#133c51,#0b2a3d);color:white}.portal-intro .eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:2px;color:#7de5d2;margin:0 0 10px}.portal-intro h1{font-size:clamp(25px,2.2vw,34px);line-height:1.17;letter-spacing:-.7px;margin:10px 0 6px;color:white}.portal-intro h1 span,.portal-closing span{color:var(--epi-mint)}.portal-purpose{font-size:14px;color:#d0e3eb;line-height:1.5;margin:0 0 18px}.catalog-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:9px}.catalog-filters input,.catalog-filters select{width:100%;min-width:0;padding:7px 8px;font-size:12px;background:#eaf5f6}.module-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.module-tile{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:8px 10px 6px;border:1px solid #7fc5c5;border-bottom:3px solid #69ada9;border-radius:10px;background:#eff9f8;min-width:0;color:#173d54;min-height:78px}.module-tile strong{font-size:13px;line-height:1.2}.module-tile>span{font-size:11px;font-weight:400;margin:2px 0 4px;color:#456b7b}.module-tile small{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#007581;border-top:1px solid #c5e1e3;padding-top:3px;margin-top:auto}.module-tile:hover{background:#dff3f0;border-color:#51b9b3;box-shadow:0 3px 10px #0002}.portal-closing{font-size:17px;font-weight:700;line-height:1.5;color:#fff;margin:24px 0 0}.login-pane{padding:36px 34px 24px;min-width:0}.login-pane>.eyebrow{font-size:12px;letter-spacing:1.8px;color:#057b85}.login-pane h2{font-size:32px;line-height:1.2;letter-spacing:-.7px;margin:12px 0;color:#173d54}.login-subtitle{font-size:17px;color:#526d7c}.auth-steps{display:flex;gap:20px;border-bottom:1px solid #dfebef;padding:0 0 16px;margin:24px 0 28px;font-size:12px;color:#627c89}.auth-steps .current{font-weight:700;color:#007b83}.login-pane form>label{font-size:15px;line-height:1.5;color:#26495d;margin:18px 0}.login-pane input{min-height:54px;background:#f5f9fd;font-size:16px}.login-pane input[type=file]{font-size:12px;padding:12px 8px;min-height:44px;max-width:100%}.password-field{position:relative;display:block;margin-top:8px}.password-field input{margin-top:0;padding-right:154px}.password-field button{position:absolute;right:6px;top:8px;border:0;background:transparent;color:#007b83;font-size:12px;min-height:32px;padding:4px}.login-pane form p{font-size:12px;line-height:1.6}.login-pane #login-submit{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:54px;font-size:18px;padding:12px 18px;margin-top:20px}.protected-access{background:#173f54;border-radius:9px;margin-top:28px;color:white;padding:12px 14px;box-shadow:0 4px 10px #18364c12}.protected-access summary{font-weight:600;display:flex;justify-content:space-between;font-size:14px;gap:14px}.protected-access summary>span{font-size:12px;color:#c5e5e7;text-decoration:underline}.protected-access p{color:#d0e3eb;font-size:13px}.login-help,.device-label{font-size:12px!important}.device-label code{overflow-wrap:anywhere}.pilot-note{max-width:1180px;margin:12px auto;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.procedure-info{border:1px solid #d4e5e9;border-left:4px solid var(--epi-teal);padding:16px;border-radius:10px;margin:12px 0}.procedure-info h3{margin:0;font-size:18px}.procedure-info p{font-size:14px}.procedure-info small{display:block;color:#617b89;margin-bottom:12px}#module-dialog,#request-dialog{width:min(760px,95vw);height:auto;max-height:90dvh}
@media(max-width:800px){.portal-layout{grid-template-columns:1fr;max-width:600px}.portal-intro{padding:24px 20px}.login-pane{padding:28px 22px}.login-pane h2{font-size:28px}.brand-header{flex-wrap:wrap}.samuel-brand .samuel-wordmark{width:190px;max-width:55vw}}@media(max-width:390px){.module-cards,.catalog-filters{grid-template-columns:1fr}.auth-steps{gap:12px}.password-field input{padding-right:135px}.password-field button{font-size:11px}.login-pane{padding:24px 16px}}@media(prefers-reduced-motion:reduce){button{transition:none}}

body.farewell-mode{margin:0;min-height:100dvh;display:grid!important;place-items:center;padding:24px;box-sizing:border-box;overflow:auto;background-color:#eaf5f6}.farewell-card{position:relative;z-index:1;width:min(620px,90vw);box-sizing:border-box;padding:40px;border:1px solid #bfdcde;border-radius:24px;background:#ffffffed;box-shadow:0 20px 60px #12384a21;text-align:center;color:#173d54;font:16px/1.65 'Segoe UI',Arial,sans-serif}.farewell-logo{width:145px;max-height:55px;object-fit:contain;margin:0 auto 18px}.farewell-card h1{font-size:27px;color:#123d52;margin:0 0 18px}.farewell-card p{margin:12px 0}.farewell-invite{color:#087f86;font-weight:600}.farewell-return{display:inline-block;background:#07838e;color:white!important;text-decoration:none;padding:10px 22px;border-radius:10px;margin-top:16px;font-weight:700}.farewell-mode .epi-ambient{display:block!important}.farewell-card .field-help{font-size:12px;color:#506e7d}@media(max-width:640px){.farewell-card{padding:24px}.farewell-card h1{font-size:23px}}
