/* Element-specific finish. No sharpening, saturation or contrast filters. */
:root{--brand-frame-background:linear-gradient(112deg,#003769 0%,#064486 42%,#124dcc 76%,#1762ef 100%)}
.access-visual{background:var(--brand-frame-background)}
.access-visual:after{background:radial-gradient(ellipse,#3986ed24,transparent 68%)}
.access-visual .access-welcome p,.access-visual .access-points,.access-visual .access-caption,.access-visual .access-product-label{color:#eaf2ff}
.access-card .access-step-label{color:#174da8;font-size:12px}
.access-topline{color:#425e82;font-size:11px}
.access-lead,.access-fine,.access-footer,.password-hint{color:#425a78}
.access-card .field{color:#1b375b}
.access-card .field input{background:#fff;color:#16345b;border:1px solid #7c94b3;font-family:inherit;font-size:16px;line-height:1.5}
.access-card .field input::placeholder{color:#61728a;opacity:1}
.access-card .field input:focus{outline:3px solid #b9d7ff;outline-offset:2px;border-color:#2454c4}
.password-input button{color:#164aab;font-weight:650}
.password-tabs button[aria-selected=false]{color:#466286}
.password-local-note{font-size:13px;line-height:1.8}
.access-card .button.primary{background:#204fce;border-color:#204fce;box-shadow:0 3px 10px #1746bd1a}
.access-card .button.primary:hover{background:#1742b6;border-color:#1742b6}
/* Preserve source proportions within the existing logo boxes. */
.workspace-welcome-brands>img[src^="grupo-gep-logo.png"]{max-width:165px}
.access-partnership img[src^="grupo-gep-logo.png"]{max-width:165px;object-fit:contain}
/* Gentle multi-stop fades affect only the lower edge of each composition. */
.access-visual>.access-mascots{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 89%,#000f 93%,#000b 96%,#0005 98%,transparent 100%)!important;mask-image:linear-gradient(to bottom,#000 0%,#000 89%,#000f 93%,#000b 96%,#0005 98%,transparent 100%)!important}
.mascot-hero img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 90%,#000e 94%,#0008 97%,transparent 100%)!important;mask-image:linear-gradient(to bottom,#000 0%,#000 90%,#000e 94%,#0008 97%,transparent 100%)!important}
.welcome-guides-art img,.portal-journey-guide.guide-block>img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 92%,#000d 96%,#0006 98%,transparent 100%)!important;mask-image:linear-gradient(to bottom,#000 0%,#000 92%,#000d 96%,#0006 98%,transparent 100%)!important}
/* Supporting copy remains readable on pale surfaces and blue headings. */
.portal-shell-bottom .workspace-return-bar>nav a{color:#194dad}
#portalShellContext,.has-journey-guide .portal-footer-meta,.portal-journey-guide.guide-block p{color:#496282}
.training-trail-name small,.training-trail-progress,.training-trail-duration small{color:#486484}
.training-summary small,.training-hub-heading p,.training-achievement p{color:#496282}
.exec-filter-label{color:#496282}
.brand-frame .exec-filter-label{color:#e5efff}
.q-field textarea::placeholder,.q-field input::placeholder{color:#61728a;opacity:1}
#main .field :is(input,textarea,select),#main .filter{border-color:#8ca2bd;color:#1c3d66}
#main .field :is(input,textarea)::placeholder{color:#61728a;opacity:1}
#main .field :is(input,textarea,select):focus-visible,#main .filter:focus-visible{outline:3px solid #b9d7ff;outline-offset:2px;border-color:#2454c4}
@media(max-width:700px){
 .portal-shell-header .logged-user-name{font-size:11px;line-height:14px}
 .portal-shell-header .logged-user-role{font-size:10px;line-height:12px}
 .portal-shell-header .logged-user-copy{gap:2px}
 .portal-shell-bottom .workspace-return-bar>nav a,.portal-shell-bottom .workspace-return-bar>nav>b{font-size:12px}
}
@media(max-width:480px){.access-topline{font-size:10px;letter-spacing:.8px}.access-card .access-fine,.password-hint{font-size:13px}}
