/* Scoped to SignIn and ChangePassword. No authentication logic, remote fonts or external assets. */
.faex-entry { margin:0 !important; padding:0 !important; width:100% !important; min-height:100vh; background:#f4f6fa; color:#17263c; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.faex-entry #module_header { display:none; }
.faex-access { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,1fr); min-height:100vh; }
.faex-access * { box-sizing:border-box; }
.faex-access-intro { position:relative; display:flex; flex-direction:column; padding:48px clamp(32px,5vw,88px); overflow:hidden; color:#fff; background:radial-gradient(ellipse at 0 100%,#174958 0,transparent 62%),linear-gradient(145deg,#14223c,#142d50); }
.faex-access-intro::after { content:""; position:absolute; width:480px; height:480px; border:1px solid #ffffff0b; border-radius:50%; right:-250px; top:30%; pointer-events:none; box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff02; }
.faex-access-brand { display:flex; align-items:center; gap:24px; position:relative; z-index:1; }
.faex-access-logo { display:block; width:128px; height:128px; object-fit:contain; flex-shrink:0; }
.faex-access-product { display:block; font-size:23px; font-weight:600; letter-spacing:-.025em; color:#fff; }
.faex-access-brand-caption { display:block; max-width:180px; font-size:11px; line-height:1.6; font-weight:400; letter-spacing:0; color:#becbdd; margin-top:8px; }
.faex-access-story { position:relative; z-index:1; margin:auto 0; padding:80px 0; }
.faex-access-eyebrow { color:#a9e6db; font-size:11px; font-weight:650; letter-spacing:.18em; margin:0 0 22px; }
.faex-access h1 { font-size:clamp(34px,3.55vw,54px); font-weight:650; line-height:1.15; letter-spacing:-.045em; margin:0 0 24px; color:#fff; }
.faex-access h1 span { color:#b7c8de; }
.faex-access-description { color:#cad5e3; font-size:16px; line-height:1.8; margin:0; }
.faex-access-flow { display:flex; gap:24px; margin-top:48px; max-width:410px; }
.faex-access-flow>div { flex:1; display:flex; flex-direction:column; gap:11px; font-size:11px; color:#d4deec; }
.faex-access-node { display:grid; place-items:center; width:32px; height:32px; border:1px solid #7ab7b455; border-radius:9px; color:#b7e9df; font-size:11px; }
.faex-access-footnote { font-size:11px; color:#b6c5d6; margin:0; line-height:1.6; }
.faex-access-panel { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:48px clamp(24px,5vw,80px); }
.faex-access-card { width:100%; max-width:408px; padding:40px 34px 30px; border:1px solid #e3e8f0; border-radius:20px; background:#fff; box-shadow:0 12px 40px #13294d06; }
.faex-access-card h2 { margin:0 0 8px; font-size:27px; color:#17263c; font-weight:650; letter-spacing:-.025em; }
.faex-access-card>p { margin:0 0 28px; color:#617086; font-size:14px; line-height:1.6; }
.faex-access #sign_in_box { width:100% !important; max-width:none !important; min-width:0 !important; margin:0 !important; padding:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; }
.faex-access #sign_in_box .ox-label { color:#273b55; font-size:13px; }
.faex-access #sign_in_box input[type=text],.faex-access #sign_in_box input[type=password] { width:100% !important; max-width:100%; box-sizing:border-box !important; min-height:46px; padding:11px 13px; border:1px solid #718198; border-radius:9px; background:#fff; color:#14263f; font-size:15px; box-shadow:none; }
.faex-access #sign_in_box input:focus-visible,.faex-access #sign_in_box a:focus-visible { outline:3px solid #769eef; outline-offset:3px; }
.faex-access #sign_in_box .ox-bottom-buttons { padding:20px 0 0; margin:0; }
.faex-access #sign_in_box .ox-bottom-buttons input[type=button],.faex-access #sign_in_box .ox-bottom-buttons input[type=submit] { width:100%; min-height:46px; margin:0; border:0; border-radius:9px; background:#244c97; color:#fff; font-size:15px; font-weight:600; cursor:pointer; }
.faex-access #sign_in_box .ox-bottom-buttons input:hover { background:#183c80; }
.faex-access-help { width:100%; max-width:408px; font-size:12px; line-height:1.7; color:#526176; margin:22px 0 0; text-align:center; }
@media(max-width:760px) {
 .faex-access { grid-template-columns:1fr; }
 .faex-access-intro { padding:25px 28px 30px; }
 .faex-access-brand { gap:18px; }
 .faex-access-logo { width:104px; height:104px; }
 .faex-access-product { font-size:20px; }
 .faex-access-brand-caption { font-size:10px; }
 .faex-access-story { padding:26px 0 0; }
 .faex-access h1 { font-size:34px; margin-bottom:15px; }
 .faex-access-description { font-size:14px; }
 .faex-access-eyebrow,.faex-access-flow,.faex-access-footnote { display:none; }
 .faex-access-panel { padding:28px 20px 36px; }
 .faex-access-card { padding:28px 24px; }
}
@media(prefers-reduced-motion:reduce) { .faex-access * { scroll-behavior:auto; transition:none; } }

/* NaviOX keeps this empty submit control for keyboard submission. */
.faex-access #sign_in_box button[name="xava.DEFAULT_ACTION"] { display:none !important; }
.faex-access #sign_in_box .xava_editor { display:block; width:100%; }

/* Desktop readability; mobile sizing remains unchanged. */
@media(min-width:761px) {
 .faex-access-product { font-size:27px; }
 .faex-access-brand-caption { max-width:230px; font-size:13px; }
 .faex-access-eyebrow { font-size:13px; }
 .faex-access-description { font-size:18px; }
 .faex-access-flow>div,.faex-access-node,.faex-access-footnote { font-size:13px; }
 .faex-access-card h2 { font-size:30px; }
 .faex-access-card>p { font-size:16px; }
 .faex-access #sign_in_box .ox-label { font-size:15px; }
 .faex-access #sign_in_box input[type=text],.faex-access #sign_in_box input[type=password] { font-size:17px; }
 .faex-access #sign_in_box .ox-bottom-buttons input[type=button],.faex-access #sign_in_box .ox-bottom-buttons input[type=submit] { font-size:17px; }
 .faex-access-help { font-size:14px; }
}

/* Native editors use size-dependent inline grids. Normalize only entry forms. */
.faex-access-card .ox-2cols, .faex-access-card .ox-3cols, .faex-access-card .ox-4cols,
.faex-access-card .ox-layout, .faex-access-card .ox-layout-cell,
.faex-access-card .ox-editor, .faex-access-card .xava_editor { width:100% !important; min-width:0 !important; max-width:100% !important; margin-left:0 !important; padding-left:0 !important; }
.faex-access-card input[type=text], .faex-access-card input[type=password] { box-sizing:border-box !important; width:100% !important; min-width:0; min-height:46px; border:1px solid #718198; border-radius:9px; padding:11px 13px; font-size:17px; }
.faex-password-form, .faex-phone-entry .faex-access-card #module { width:100%; min-width:0; }
.faex-phone-entry .faex-access { grid-template-columns:1fr; }
.faex-phone-entry .faex-access-card #module_header, .faex-password-form #module_header { display:none; }
.faex-phone-entry .faex-access-card input[type=button], .faex-password-form .ox-bottom-buttons input { min-height:46px; max-width:100%; }

.faex-access-card .ox-detail { margin:0 !important; width:100% !important; }
.faex-access-card .ox-layout-detail { display:block !important; width:100% !important; }
.faex-access-card .ox-layout-not-aligned-cell { display:block !important; width:100% !important; margin:0 !important; padding:0 !important; }
.faex-access-card .ox-editor-wrapper { width:100% !important; padding:0 0 12px !important; }
.faex-access-card input[type=text],.faex-access-card input[type=password] { margin:0 !important; }

/* The native phone toolbar is fixed at the top; entry already has its own heading. */
.faex-phone-entry .ox-button-bar-container { display:none !important; }
.faex-phone-entry .faex-access-card .ox-view { margin:0 !important; }
.faex-phone-entry .faex-access-card .ox-frame { margin:0 !important; padding:0 !important; background:transparent !important; border:0 !important; }
.faex-phone-entry .faex-access-card .phone-detail-element { padding:0 0 12px !important; }
.faex-phone-entry .faex-access-card .ox-bottom-buttons { padding:12px 0 0 !important; margin:0 !important; }
.faex-phone-entry .faex-access-card .ox-bottom-buttons input[type=button] { width:100% !important; margin:0 !important; background:#244c97; color:#fff; border-radius:9px; }
