/* Access & Recovery: approved v39 entry surface connected to Fleet OS authentication. */
html:has(body#keycloak-bg) { font-size:clamp(14px,.729167vw,28px); }
body#keycloak-bg { font-family: Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif; color:#172c43; font-size:clamp(14px,.729167vw,28px); line-height:1.5; }
body#keycloak-bg .nlo-button { display:inline-flex; align-items:center; justify-content:center; border:1px solid #dce4ed; color:#172c43; background:white; text-decoration:none; font-weight:650; }
body#keycloak-bg .ac-skip { position:absolute; left:1rem; top:-5rem; z-index:100; background:white; padding:.75rem 1rem; }
body#keycloak-bg .ac-skip:focus { top:1rem; }
body#keycloak-bg{--ac-orange:#b7442b;min-height:100dvh;font-size:1rem}
body#keycloak-bg button,body#keycloak-bg select,body#keycloak-bg input,body#keycloak-bg textarea{font:inherit}
body#keycloak-bg .nlo-button{min-height:44px;padding:.65rem 1rem;border-radius:8px;gap:.6rem;cursor:pointer;white-space:normal}
body#keycloak-bg .nlo-button-primary{background:var(--ac-orange);border-color:var(--ac-orange);color:#fff}
body#keycloak-bg .nlo-button-primary:hover{background:#9f3621;border-color:#9f3621}
body#keycloak-bg button:focus-visible,body#keycloak-bg select:focus-visible,body#keycloak-bg input:focus-visible,body#keycloak-bg textarea:focus-visible{outline:3px solid #2167bb;outline-offset:3px}
body#keycloak-bg h1:focus{outline:none}
body#keycloak-bg .ac-review{position:relative;z-index:5;background:#e9eef5;color:#425b73;border-bottom:1px solid #cdd7e3}
body#keycloak-bg .ac-review-line{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 1.25rem;font-size:.82rem}
body#keycloak-bg .ac-review-title{display:flex;align-items:center;gap:.65rem}
body#keycloak-bg .ac-draft-tag{border:1px solid #a9b9cb;border-radius:5px;padding:.1rem .45rem;color:#41556e;background:#f6f8fb}
body#keycloak-bg .ac-devices{display:flex;align-items:center;gap:.35rem}
body#keycloak-bg .ac-devices button{border:1px solid transparent;background:transparent;color:#425b73;min-height:34px;padding:.25rem .65rem;border-radius:5px;cursor:pointer}
body#keycloak-bg .ac-devices button[aria-pressed="true"]{background:#fff;color:#152940;border-color:#cad5e1;box-shadow:0 1px 3px #132d4320}
body#keycloak-bg #ac-demo-toggle{border-color:#bfccda;background:#f5f8fb;margin-left:.6rem}
body#keycloak-bg #ac-review-panel{padding:1rem 1.25rem;border-top:1px solid #cbd6e1;max-height:42vh;overflow:auto}
body#keycloak-bg .ac-demo-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
body#keycloak-bg label,body#keycloak-bg .ac-field-label{display:block;font-size:.87rem;font-weight:650;margin-bottom:.45rem;color:#283d55}
body#keycloak-bg select,body#keycloak-bg input{width:100%;height:44px;border:1px solid #b5c4d2;border-radius:6px;padding:0 .7rem;background:#fff;color:#172c43;min-width:0}
body#keycloak-bg .ac-demo-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem;font-size:.8rem}
body#keycloak-bg .ac-inline{display:flex;gap:.4rem;flex-wrap:wrap}
body#keycloak-bg .ac-inline button{font-size:.8rem;min-height:36px;padding:.35rem .7rem}
body#keycloak-bg details{margin-top:.75rem;font-size:.85rem}body#keycloak-bg summary{cursor:pointer;font-weight:650}
body#keycloak-bg .ac-link-test{display:flex;align-items:end;gap:1rem;margin-top:.8rem;max-width:800px}body#keycloak-bg .ac-link-test>div{flex:1}
body#keycloak-bg .ac-entry{display:grid;grid-template-columns:minmax(310px,.95fr) minmax(440px,1.2fr);min-height:100dvh}
body#keycloak-bg .ac-story{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:3.2rem 3.8rem;background:#0f1c35;color:#fff}
body#keycloak-bg .ac-story:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff10;border-radius:50%;right:-180px;bottom:40px;box-shadow:0 0 0 60px #ffffff03,0 0 0 120px #ffffff03;pointer-events:none}
body#keycloak-bg .ac-brand{display:flex;align-items:center;gap:.9rem;font-size:1rem;font-weight:750;letter-spacing:.04em;white-space:nowrap}
body#keycloak-bg .ac-brandmark{display:grid;place-items:center;width:40px;height:40px;background:#e95738;color:white;border-radius:9px;font-size:1.45rem}
body#keycloak-bg .ac-brand small{display:block;font-size:.66rem;letter-spacing:.18em;margin-top:.2rem;font-weight:600;color:#b2c1d5}
body#keycloak-bg .ac-story-main{margin:auto 0;padding:4rem 0;position:relative;z-index:1}
body#keycloak-bg .ac-eyebrow{font-size:.73rem;letter-spacing:.11em;font-weight:700;color:#5f7388;margin:0 0 .9rem}
body#keycloak-bg .ac-story .ac-eyebrow{color:#edaa99}
body#keycloak-bg .ac-story h2{font-size:clamp(2.6rem,3.3vw,4rem);line-height:1.12;font-weight:600;letter-spacing:-.04em;margin:.9rem 0 1.7rem}
body#keycloak-bg .ac-story p{color:#b9c8da;line-height:1.65;max-width:26rem}
body#keycloak-bg .ac-story-divider{width:45px;height:3px;background:#d45a3d;margin:2rem 0}
body#keycloak-bg .ac-story-point{display:flex;align-items:center;gap:.8rem;margin:1rem 0;font-size:.92rem;color:#d0dae7}
body#keycloak-bg .ac-story-point svg{color:#b2c6dc;flex:none;width:21px;height:21px}
body#keycloak-bg .ac-story-foot{display:flex;justify-content:space-between;color:#b4c2d4;font-size:.78rem}
body#keycloak-bg .ac-gate-area{display:flex;flex-direction:column;padding:1.75rem 3rem;background:#f7f9fc;min-width:0}
body#keycloak-bg .ac-gate-header{display:flex;justify-content:space-between;align-items:center}
body#keycloak-bg .ac-gate-header button{background:transparent;border-color:transparent;color:#526a81;font-size:.85rem}
body#keycloak-bg .ac-connection{display:flex;align-items:center;gap:.5rem;color:#526b80;font-size:.82rem}
body#keycloak-bg .ac-connection:before{content:"";height:6px;width:6px;border-radius:50%;background:#218464}
body#keycloak-bg .ac-connection.offline:before{background:#af7620}
body#keycloak-bg .ac-gate-wrap{margin:auto 0;padding:2rem 0;display:flex;justify-content:center}
body#keycloak-bg .ac-gate-card{width:100%;max-width:35rem;background:white;padding:2.7rem;border:1px solid #dce4ed;border-radius:18px;box-shadow:0 14px 45px #1f3f6410}
body#keycloak-bg .ac-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:15px;background:#edf3fa;color:#24476a;margin-bottom:1.8rem}
body#keycloak-bg .ac-icon.amber{background:#fff3dc;color:#95640d}
body#keycloak-bg h1{font-size:2.15rem;line-height:1.16;font-weight:670;letter-spacing:-.035em;margin:.3rem 0 1rem}
body#keycloak-bg .ac-lead{color:#5d7288;line-height:1.65;margin:0 0 1.6rem;font-size:1rem}
body#keycloak-bg .ac-route-held{display:flex;align-items:center;gap:.9rem;padding:1rem;background:#f5f8fc;border:1px solid #e1e8ef;border-radius:9px;margin-bottom:1.6rem}
body#keycloak-bg .ac-route-held svg{flex:none;color:#74889c}
body#keycloak-bg .ac-route-held strong{display:block;font-size:.88rem;color:#324d66}
body#keycloak-bg .ac-route-held span{display:block;font-size:.82rem;color:#657b90;line-height:1.5;margin-top:.2rem}
body#keycloak-bg .ac-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.5rem;flex-wrap:wrap}
body#keycloak-bg .ac-actions:has(>button:only-child) button{width:100%}
body#keycloak-bg .ac-footnote{font-size:.82rem;line-height:1.55;color:#62788d;margin:.9rem 0 0}
body#keycloak-bg .ac-gate-footer{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#5f7388}
body#keycloak-bg .ac-notice{border:1px solid #bbd9d0;background:#eff8f5;color:#235847;padding:.85rem 1rem;border-radius:8px;margin:.8rem 0;font-size:.9rem;line-height:1.55}
body#keycloak-bg .ac-notice.amber{border-color:#e4cea5;background:#fff7e8;color:#7f5514}
body#keycloak-bg .ac-provider-sample{background:#f5f8fc;border:1px solid #dce5f0;padding:1.1rem;border-radius:9px}
body#keycloak-bg .ac-sample-label{display:block;font-size:.66rem;letter-spacing:.1em;font-weight:750;color:#667e95;margin-bottom:.8rem}
body#keycloak-bg .ac-provider-sample p{font-size:.8rem;color:#64788d;margin:.7rem 0 0}
body#keycloak-bg .ac-progress{display:flex;gap:.7rem;align-items:center;padding:1rem;background:#f2f6fa;border-radius:8px;color:#476784}
body#keycloak-bg .ac-help-steps>div{padding:.9rem 0;border-top:1px solid #e5eaf0}
body#keycloak-bg .ac-help-steps strong{font-size:.95rem}body#keycloak-bg .ac-help-steps p{margin:.3rem 0;color:#62778d;font-size:.9rem;line-height:1.5}
body#keycloak-bg .ac-verified-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:#fff;border-bottom:1px solid #dce4ed}
body#keycloak-bg .ac-actions:has(>a:only-child) a { width:100%; }
body#keycloak-bg a:focus-visible { outline:3px solid #2167bb; outline-offset:3px; }
@media(max-width:839px) {
body#keycloak-bg .ac-entry { display:block; min-height:100dvh; }
body#keycloak-bg .ac-story { padding:1rem 1.5rem; }
body#keycloak-bg .ac-story-main,body#keycloak-bg .ac-story-foot { display:none; }
body#keycloak-bg .ac-gate-area { padding:1rem 1.5rem; min-height:calc(100dvh - 76px); }
body#keycloak-bg .ac-gate-wrap { padding:1.5rem 0; }
body#keycloak-bg .ac-gate-card { padding:1.5rem; max-width:35rem; }
body#keycloak-bg h1 { font-size:1.85rem; }
}
@media(max-width:420px) { body#keycloak-bg .ac-gate-area { padding:1rem; } body#keycloak-bg .ac-actions .nlo-button { flex:1; } }


/* Identity shell matches the existing Centric TMS access page. */
html.login-pf {font-size:clamp(14px,.729167vw,28px);background:#f7f9fc;}
body#keycloak-bg {margin:0;background:#f7f9fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;}
body#keycloak-bg * {box-sizing:border-box;}
body#keycloak-bg .pf-v5-c-login {display:flex;min-height:100dvh;background:none;padding:7rem 3rem 5rem calc(44.1860465% + 3rem);align-items:center;justify-content:center;}
body#keycloak-bg .pf-v5-c-login__container {display:block;width:100%;max-width:35rem;padding:0;margin:0;grid-template-areas:none;}
body#keycloak-bg #kc-header {display:none;}
body#keycloak-bg .pf-v5-c-login__main {position:relative;display:block;width:100%;background:white;padding:2.7rem;border:1px solid #dce4ed;border-radius:18px;box-shadow:0 14px 45px #1f3f6410;}
body#keycloak-bg .pf-v5-c-login__main-header {display:block;padding:9.8rem 0 0;margin:0;}
body#keycloak-bg .pf-v5-c-login__main-body,body#keycloak-bg .pf-v5-c-login__main-footer {padding:0;}
body#keycloak-bg #kc-page-title {color:#172c43;font-family:inherit;font-size:2.1rem;font-weight:700;line-height:1.2;margin:0 0 1rem;letter-spacing:-.025em;}
body#keycloak-bg .fleet-card-icon {position:absolute;left:2.7rem;top:2.7rem;display:grid;place-items:center;width:60px;height:60px;border-radius:15px;background:#edf3fa;color:#24476a;}
body#keycloak-bg .fleet-card-eyebrow {position:absolute;top:11.2rem;left:2.7rem;font-size:.73rem;font-weight:700;letter-spacing:.11em;color:#5f7388;margin:0;}
body#keycloak-bg .ac-story {position:fixed;inset:0 auto 0 0;width:44.1860465%;height:100dvh;}
body#keycloak-bg .fleet-gate-header {position:fixed;left:calc(44.1860465% + 3rem);right:3rem;top:1.75rem;display:flex;align-items:center;justify-content:space-between;z-index:3;}
body#keycloak-bg .fleet-gate-footer {position:fixed;left:calc(44.1860465% + 3rem);right:3rem;bottom:1.75rem;display:flex;justify-content:space-between;font-size:.75rem;color:#5f7388;}
body#keycloak-bg .fleet-access-help {position:relative;margin:0;font-size:.85rem;color:#526a81;}
body#keycloak-bg .fleet-access-help summary {list-style:none;cursor:pointer;padding:.65rem 1rem;font-weight:650;}
body#keycloak-bg .fleet-access-help>div {position:absolute;right:0;top:100%;background:white;width:min(25rem,80vw);padding:1.5rem;border:1px solid #dce4ed;border-radius:12px;box-shadow:0 14px 45px #1f3f6420;}
body#keycloak-bg .fleet-access-help p {margin:.75rem 0 0;}
body#keycloak-bg .ac-route-held {margin-bottom:1.5rem;}
body#keycloak-bg .pf-v5-c-form {display:flex;flex-direction:column;gap:1rem;}
body#keycloak-bg .pf-v5-c-form__label {font:inherit;color:#283d55;font-weight:650;font-size:.87rem;}
body#keycloak-bg .pf-v5-c-form-control {--pf-v5-c-form-control--after--BorderBottomWidth:0;border:1px solid #b5c4d2;border-radius:6px;background:#fff;}
body#keycloak-bg .pf-v5-c-form-control:before,body#keycloak-bg .pf-v5-c-form-control:after {display:none;}
body#keycloak-bg .pf-v5-c-form-control input {border:0;border-radius:6px;min-height:44px;font:inherit;color:#172c43;}
body#keycloak-bg .pf-v5-c-form-control:focus-within {outline:3px solid #2167bb;outline-offset:2px;}
body#keycloak-bg .pf-v5-c-button.pf-m-primary {width:100%;min-height:44px;padding:.65rem 1rem;border:1px solid #b7442b;border-radius:8px;background:#b7442b;color:white;font:inherit;font-weight:650;}
body#keycloak-bg .pf-v5-c-button.pf-m-primary:hover {background:#9f3621;}
body#keycloak-bg .pf-v5-c-button.pf-m-control {border:1px solid #b5c4d2;border-radius:6px;min-height:44px;color:#526a81;background:white;}
body#keycloak-bg a {color:#24476a;}
body#keycloak-bg :is(button,a,summary,select):focus-visible {outline:3px solid #2167bb;outline-offset:3px;}
body#keycloak-bg .pf-v5-c-form__actions {padding-top:.5rem;}
body#keycloak-bg .pf-v5-c-alert {margin-bottom:1rem;}
@media(max-width:839px) {
 body#keycloak-bg .ac-story {position:fixed;inset:0 0 auto;width:100%;height:76px;padding:1rem 1.5rem;}
 body#keycloak-bg .pf-v5-c-login {padding:10rem 1.5rem 5rem;}
 body#keycloak-bg .pf-v5-c-login__main {padding:1.5rem;}
 body#keycloak-bg .pf-v5-c-login__main-header {padding-top:9.8rem;}
 body#keycloak-bg .fleet-card-icon {left:1.5rem;top:1.5rem;}
 body#keycloak-bg .fleet-card-eyebrow {left:1.5rem;top:10rem;}
 body#keycloak-bg .fleet-gate-header {position:fixed;left:1.5rem;right:1.5rem;top:6.5rem;}
 body#keycloak-bg .fleet-gate-footer {position:static;margin-top:1.5rem;gap:1rem;}
 body#keycloak-bg #kc-page-title {font-size:1.85rem;}
}

/* Keep the native sign-in card within the original access-card footprint. */
body#keycloak-bg .pf-v5-c-login__main-header {border-top:0;}
body#keycloak-bg:has(#kc-form-login) .pf-v5-c-login__main {min-height:36.5rem;}
body#keycloak-bg:has(#kc-form-login) .pf-v5-c-login__main-header {padding-top:6.55rem;}
body#keycloak-bg:has(#kc-form-login) .fleet-card-eyebrow {top:8rem;}
body#keycloak-bg:has(#kc-form-login) #kc-page-title {margin-bottom:.7rem;}
body#keycloak-bg:has(#kc-form-login) .ac-lead {margin-bottom:.85rem;}
body#keycloak-bg:has(#kc-form-login) .ac-route-held {display:none;}
body#keycloak-bg:has(#kc-form-login) .pf-v5-c-form {gap:.6rem;}
body#keycloak-bg:has(#kc-form-login) .pf-v5-c-form__group-label {padding-bottom:.25rem;}
body#keycloak-bg:has(#kc-form-login) .pf-v5-c-form__actions {padding-top:0;}
body#keycloak-bg:has(#kc-form-login) .ac-footnote {margin-top:.7rem;}
@media(max-width:839px) {
 body#keycloak-bg:has(#kc-form-login) .pf-v5-c-login__main {min-height:0;}
 body#keycloak-bg:has(#kc-form-login) .fleet-card-eyebrow {top:6.8rem;}
}
