/* Add-ons login only. Theme buttons and configured branding remain authoritative. */
body.fleet-signin-page { margin:0; min-height:100vh; min-height:100dvh; background-color:#243c4b; background-size:cover; background-position:center; }
.fleet-signin-page .fleet-signin-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(440px,44%); min-height:100vh; min-height:100dvh; }
.fleet-signin-page .fleet-signin-scene { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:48px clamp(32px,5vw,88px); overflow:hidden; color:#fff; background:linear-gradient(180deg,rgba(12,29,41,.24),rgba(12,29,41,.12) 40%,rgba(12,29,41,.8)); }
.fleet-signin-page .fleet-signin-scene-top { position:relative; z-index:1; font-size:17px; font-weight:600; overflow-wrap:anywhere; }
.fleet-signin-page .fleet-signin-route { position:absolute; width:110%; height:65%; inset:12% -5% auto; pointer-events:none; }
.fleet-signin-page .fleet-signin-scene-copy { position:relative; z-index:1; max-width:620px; padding-top:200px; }
.fleet-signin-page .fleet-signin-welcome { font-size:clamp(32px,3.8vw,60px); line-height:1.12; font-weight:600; letter-spacing:-.035em; text-align:start; overflow-wrap:anywhere; }
.fleet-signin-page .fleet-signin-welcome p { margin:0; }
.fleet-signin-page .fleet-signin-description { margin:24px 0 0; max-width:42ch; font-size:16px; line-height:1.7; opacity:.85; }
.fleet-signin-page .fleet-signin-access { display:flex; flex-direction:column; justify-content:center; align-items:center; min-width:0; background:#fff; padding:48px clamp(28px,4.5vw,80px) 32px; }
.fleet-signin-page .login-panel { width:100%; max-width:440px; border:0; margin:0; border-radius:0; box-shadow:none; background:none; }
.fleet-signin-page .login-panel .panel-background { border-radius:0; }
.fleet-signin-page .login-panel>.panel-body { padding:0; }
.fleet-signin-page .login-logo-wrapper { margin:0 0 42px; text-align:start; }
.fleet-signin-page .login-logo-link { display:inline-block; max-width:100%; }
.fleet-signin-page .login-logo { width:auto; height:auto; max-width:220px; max-height:70px; margin:0; object-fit:contain; }
.fleet-signin-page .fleet-signin-heading { margin:0 0 30px; }
.fleet-signin-page .fleet-signin-heading h1 { margin:0; font-size:30px; line-height:1.25; letter-spacing:-.025em; color:#202c36; font-weight:600; }
.fleet-signin-page .login-form .form-group { margin:0 0 22px; }
.fleet-signin-page .login-form .form-label { display:block; margin:0 0 9px; font-size:13px; line-height:1.5; font-weight:600; color:#394650; }
.fleet-signin-page .login-form .login-input { height:50px; min-height:50px; width:100%; border:1px solid #cbd2d8; border-radius:6px; background:#fff; color:#202c36; padding:12px 14px; box-shadow:none; font-size:15px; line-height:24px; }
.fleet-signin-page .login-form .login-input::placeholder { color:#818b93; font-weight:400; }
.fleet-signin-page .login-form .login-input:focus { outline:2px solid var(--gps-primary,#fc562c); outline-offset:2px; border-color:var(--gps-primary,#fc562c); }
.fleet-signin-page .password-label-wrapper { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.fleet-signin-page .forgot-password-link { font-size:12px; font-weight:500; margin-bottom:9px; }
.fleet-signin-page .password-input-wrapper { position:relative; }
.fleet-signin-page .password-input-wrapper .login-input { padding-inline-end:52px; }
.fleet-signin-page .password-toggle-btn { position:absolute; inset-inline-end:4px; top:4px; width:42px; height:42px; padding:0; display:flex; align-items:center; justify-content:center; background:transparent; color:#697781; border:0; border-radius:4px; box-shadow:none; cursor:pointer; }
.fleet-signin-page .password-toggle-btn:hover { background:#f0f3f5; color:#202c36; }
.fleet-signin-page :is(a,button,input):focus-visible { outline:2px solid var(--gps-primary,#fc562c); outline-offset:3px; }
.fleet-signin-page .remember-me-group .checkbox { margin:0; font-size:13px; }
.fleet-signin-page .login-submit-btn { width:100%; min-height:50px; border-radius:6px; font-size:15px; font-weight:600; box-shadow:none; margin:6px 0 0; }
.fleet-signin-page .login-submit-btn:disabled { opacity:.55; cursor:not-allowed; }
.fleet-signin-page .registration-link-group { text-align:center; margin:20px 0 0!important; font-size:13px; }
.fleet-signin-page .login-divider { border:0; border-top:1px solid #e2e7eb; margin:26px 0; }
.fleet-signin-page .external-login-title { font-size:13px; font-weight:500; color:#667580; margin:0 0 16px; }
.fleet-signin-page .external-login-section .row { margin:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.fleet-signin-page .external-login-section .row>h3 { width:100%; }
.fleet-signin-page .external-login-section .row>div { width:auto; padding:0; flex:1 1 160px; max-width:240px; }
.fleet-signin-page .external-login-section img { max-width:100%; max-height:52px; object-fit:contain; }
.fleet-signin-page .app-links { margin:28px 0 0; }
.fleet-signin-page .app-links .row { display:flex; justify-content:center; gap:12px; margin:0; }
.fleet-signin-page .app-links .row>div { width:auto; max-width:calc(50% - 6px); padding:0; }
.fleet-signin-page .app-link-image { height:38px; width:auto; max-width:100%; object-fit:contain; }
.fleet-signin-page .bottom-text { max-width:440px; margin:28px 0 0; font-size:12px; line-height:1.6; color:#697781; text-align:center; overflow-wrap:anywhere; }
.fleet-signin-page .alert { border-radius:6px; font-size:13px; line-height:1.6; margin-bottom:22px; }
.fleet-signin-page .login-form iframe { max-width:100%; }
@media(min-width:1600px) { .fleet-signin-page .fleet-signin-shell { grid-template-columns:minmax(0,1fr) 640px; } }
@media(max-width:900px) { .fleet-signin-page .fleet-signin-shell { grid-template-columns:minmax(0,1fr) minmax(390px,52%); } .fleet-signin-page .fleet-signin-scene { padding:32px; } .fleet-signin-page .fleet-signin-access { padding:40px 28px; } }
@media(max-width:700px) { .fleet-signin-page .fleet-signin-shell { display:flex; flex-direction:column; } .fleet-signin-page .fleet-signin-access { order:0; flex:1; padding:36px 24px 28px; min-height:100dvh; } .fleet-signin-page .fleet-signin-scene { order:1; min-height:220px; padding:32px 24px; } .fleet-signin-page .fleet-signin-scene-top { display:none; } .fleet-signin-page .fleet-signin-scene-copy { padding-top:70px; } .fleet-signin-page .fleet-signin-welcome { font-size:30px; } .fleet-signin-page .login-logo-wrapper { margin-bottom:32px; } .fleet-signin-page .login-logo { max-height:58px; max-width:200px; } .fleet-signin-page .fleet-signin-heading h1 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .fleet-signin-page *, .fleet-signin-page *::before, .fleet-signin-page *::after { transition:none!important; animation:none!important; } }

/* Isolate the workspace from legacy centered-panel and Bootstrap layout rules. */
html:has(body.fleet-signin-page) { min-height:100%; }
body.fleet-signin-page { display:block!important; width:100%!important; max-width:none!important; height:auto!important; padding:0!important; overflow-x:hidden; background-attachment:fixed; }
body.fleet-signin-page .fleet-signin-shell { width:100%; max-width:none; margin:0; padding:0; grid-template-columns:minmax(0,1fr) minmax(440px,42%); }
body.fleet-signin-page .fleet-signin-scene { padding:48px clamp(32px,6vw,100px); min-height:100dvh; }
body.fleet-signin-page .fleet-signin-access { --signin-ink:#202c36; --signin-muted:#596975; position:relative; isolation:isolate; padding:48px clamp(28px,4vw,72px); background:transparent; color:var(--signin-ink); }
body.fleet-signin-page .fleet-signin-surface { position:absolute; inset:0; width:100%; height:100%; z-index:-1; border-radius:0; background:#fff; pointer-events:none; }
body.fleet-signin-page .fleet-signin-card { position:relative; width:100%; max-width:390px; margin:0; padding:0; border:0!important; background:transparent!important; box-shadow:none!important; border-radius:0!important; animation:signin-arrive .65s cubic-bezier(.2,.7,.2,1) both; }
body.fleet-signin-page .fleet-signin-form-body { padding:0; margin:0; }
body.fleet-signin-page .fleet-signin-heading { margin:0 0 28px; }
body.fleet-signin-page .fleet-signin-heading h1 { color:var(--signin-ink); font-size:32px; font-weight:650; }
body.fleet-signin-page .login-logo-wrapper { margin:0 0 36px; }
body.fleet-signin-page .login-logo-link { padding:12px 16px; background:#fff; border-radius:8px; }
body.fleet-signin-page .login-logo { display:block; width:auto!important; max-width:190px!important; max-height:48px!important; margin:0!important; }
body.fleet-signin-page .login-form .form-group { margin:0 0 20px; }
body.fleet-signin-page .login-form .form-label { color:var(--signin-ink); font-size:13px; margin-bottom:8px; }
body.fleet-signin-page .login-form .login-input { height:48px!important; min-height:48px; font-size:15px!important; border-radius:7px!important; background:#fff; }
body.fleet-signin-page .login-submit-btn { height:48px; min-height:48px; padding:10px 20px; margin-top:4px; border-radius:7px!important; background:var(--gps-primary,#fc562c)!important; border-color:var(--gps-primary,#fc562c)!important; transition:filter .18s,transform .18s; }
body.fleet-signin-page .login-submit-btn:not(:disabled):hover { filter:brightness(1.08); transform:translateY(-1px); }
body.fleet-signin-page .login-submit-btn:not(:disabled):active { transform:translateY(0); }
body.fleet-signin-page .remember-me-group .checkbox label { color:var(--signin-muted); font-size:13px; }
body.fleet-signin-page .bottom-text { position:relative; color:var(--signin-muted)!important; max-width:390px; }
body.fleet-signin-page .fleet-signin-dark { --signin-ink:#f5f7fa; --signin-muted:#cad2da; }
body.fleet-signin-page .fleet-signin-dark .external-login-title { color:var(--signin-muted); }
body.fleet-signin-page .fleet-signin-dark .login-divider { border-top-color:rgba(255,255,255,.18); }
body.fleet-signin-page .fleet-signin-dark :is(.forgot-password-link,.registration-link) { color:color-mix(in srgb, var(--gps-primary,#fc562c) 55%, white); }
body.fleet-signin-page .fleet-signin-welcome { font-size:clamp(34px,4vw,58px); line-height:1.14; max-width:14ch; font-weight:650; }
body.fleet-signin-page .fleet-signin-scene-copy { animation:signin-arrive .8s .1s both; }
body.fleet-signin-page .fleet-signin-route { opacity:.6; inset:15% -5% auto; height:53%; }
body.fleet-signin-page .fleet-signin-route path:nth-child(2) { animation:signin-route 30s linear infinite; }
@keyframes signin-arrive { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@keyframes signin-route { to { stroke-dashoffset:-160; } }
@media(min-width:1600px) { body.fleet-signin-page .fleet-signin-shell { grid-template-columns:minmax(0,1fr) 600px; } }
@media(max-width:900px) { body.fleet-signin-page .fleet-signin-shell { grid-template-columns:minmax(0,1fr) minmax(370px,48%); } body.fleet-signin-page .fleet-signin-scene { padding:36px; } body.fleet-signin-page .fleet-signin-access { padding:40px 28px; } }
@media(max-width:700px) { body.fleet-signin-page .fleet-signin-shell { display:flex; } body.fleet-signin-page .fleet-signin-access { padding:32px 24px; min-height:100dvh; } body.fleet-signin-page .fleet-signin-scene { min-height:250px; padding:32px 24px; } body.fleet-signin-page .fleet-signin-welcome { font-size:32px; max-width:20ch; } body.fleet-signin-page .fleet-signin-card { max-width:390px; } }
@media(prefers-reduced-motion:reduce) { body.fleet-signin-page *,body.fleet-signin-page *::before,body.fleet-signin-page *::after { animation:none!important; transition:none!important; transform:none!important; } }

/* Guest language preference uses the same active languages as the application. */
body.fleet-signin-page .fleet-signin-language { display:flex; justify-content:flex-end; align-items:center; gap:8px; margin:0 0 26px; color:var(--signin-ink); }
body.fleet-signin-page .fleet-signin-language label { display:flex; align-items:center; margin:0; }
body.fleet-signin-page .fleet-signin-language select { width:auto; max-width:220px; height:38px; padding:6px 30px 6px 10px; border:1px solid #cbd2d8; border-radius:6px; font-size:13px; color:#202c36; background-color:#fff; cursor:pointer; }
body.fleet-signin-page .fleet-signin-language select:focus-visible { outline:2px solid var(--gps-primary,#fc562c); outline-offset:3px; }
