:root{--ink:#1b201d;--paper:#f2f0e9;--orange:#db7837;--green:#3caf65;--deep:#20312b;--muted:#777b76}
*{box-sizing:border-box}
body{font-family:Manrope,sans-serif;margin:0}
main{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}
.back{color:#d8e2dc;font-size:11px;left:35px;position:absolute;text-decoration:none;top:30px;z-index:2}
.login-story{background:var(--deep);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:10vw;position:relative}
.mark{align-items:center;background:var(--orange);border-radius:10px;color:var(--deep);display:flex;font-size:31px;font-weight:800;height:45px;justify-content:center;margin-bottom:60px;width:45px}
.eyebrow{color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.login-story h1{font-size:clamp(44px,5vw,68px);letter-spacing:-.06em;line-height:1.02;margin:14px 0 25px}
.login-story h1 em{color:#f0d675;font-family:Caveat;font-style:normal}
.login-story>p{color:#adbbb4;font-size:13px;line-height:1.7;max-width:440px}
.quote{border-left:2px solid var(--orange);color:#d8e0dc;font:21px Caveat;margin-top:70px;max-width:400px;padding-left:20px}
.login-panel{align-items:center;background:var(--paper);display:flex;justify-content:center;padding:35px}
.login-panel form{max-width:390px;width:100%}
.login-panel h2{font-size:35px;letter-spacing:-.04em;margin:12px 0 7px}
.login-panel form>p:nth-of-type(2){color:var(--muted);font-size:12px;margin-bottom:35px}
.login-panel label{color:#515651;display:flex;flex-direction:column;font-size:10px;font-weight:800;gap:7px;margin-top:17px}
.login-panel input{background:#fff;border:1px solid #d9d7d0;border-radius:8px;font:14px Manrope;padding:13px}
.login-panel input:focus{border-color:var(--orange);outline:2px solid #db783721}
.login-panel button.submit{background:var(--green);border:0;border-radius:9px;box-shadow:0 5px 0 #2d8c50;color:#fff;cursor:pointer;display:flex;font:800 12px Manrope;justify-content:space-between;margin-top:20px;padding:15px 18px;width:100%}
.login-panel button.submit:disabled{cursor:wait;opacity:.65}
.forgot{background:transparent;border:0;color:var(--orange);cursor:pointer;display:block;font:700 10px Manrope;margin:10px 0 0 auto;padding:4px 0}
.forgot:hover{text-decoration:underline}
.status{color:#c5563b;font-size:11px;line-height:1.5;min-height:18px}
.login-panel small{color:#999b96;display:block;font-size:9px;margin-top:20px;text-align:center}
@media(max-width:760px){main{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh}.back{color:var(--muted)}}

/* Shared blue-petrol palette with the customer portal. */
:root{--deep:#071e2b;--orange:#ff9453;--paper:#0b2939;--ink:#eef7fc;--muted:#b5ceda}
body{background:var(--deep);color:var(--ink)}
.login-story{background:radial-gradient(ellipse at 15% 25%,#194b6066,transparent 65%),linear-gradient(#5793ac0b 1px,transparent 1px),linear-gradient(90deg,#5793ac0b 1px,transparent 1px),linear-gradient(135deg,#0d3041,#061b29);background-size:auto,48px 48px,48px 48px,auto}
.login-story>p{color:#bfd4de}.login-story>.eyebrow{color:#ffad76}.login-story h1 em{color:#ffad76}.quote{color:#d3e6ef}.back{color:#cde4ee;font-size:13px}
.login-panel{background:radial-gradient(ellipse at 100% 0,#1b455a66,transparent 70%),#0a2433;border-left:1px solid #52869b33}
.login-panel h2{color:#f0f8fc}.login-panel form>p:nth-of-type(2){font-size:15px;line-height:1.7}.login-panel label{color:#d0e4ed;font-size:13px}
.login-panel input{background:#061c29;border-color:#547f92;color:#f1f8fc;font-size:16px;min-height:48px;color-scheme:dark}
.login-panel input:focus{border-color:#ffad76;outline:2px solid #ff945330}
.login-panel button.submit{background:linear-gradient(120deg,#ffb376,#ff873e);color:#102b39;box-shadow:0 6px 22px #ff873e20;font-size:15px;min-height:50px}
.forgot{font-size:13px}.login-panel small{color:#acc8d5;font-size:12px;line-height:1.6}.status{color:#ffb395;font-size:14px}
@media(max-width:760px){.login-panel{border-left:0;background:radial-gradient(ellipse at 10% 10%,#194b6066,transparent 65%),#071e2b}.back{color:#cde4ee}}
.login-panel form{max-width:480px}.login-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:26px;margin-bottom:28px;border-bottom:1px solid #56889b40}.login-choices[hidden]{display:none}.login-choices button{display:flex;flex-direction:column;gap:12px;align-items:flex-start;text-align:left;padding:20px 16px;min-height:102px;border:1px solid #52788a66;border-radius:16px;background:#153243;color:#b9d2df;font:700 14px Manrope;cursor:pointer}.login-choices button span{font-size:24px;line-height:1;color:#90bdce}.login-choices button[aria-pressed=true]{background:#ff945316;border-color:#ffad76;color:#fff}.login-choices button[aria-pressed=true] span{color:#ffad76}.login-choices button:focus-visible{outline:2px solid #88e4eb;outline-offset:3px}@media(max-width:400px){.login-panel{padding:70px 20px 30px}.login-choices{gap:8px}.login-choices button{padding:16px 10px;font-size:13px}}

/* Browser autofill follows the same dark input surface. */
.login-panel input:autofill{background:#061c29;color:#f1f8fc;caret-color:#f1f8fc;box-shadow:0 0 0 1000px #061c29 inset;border-color:#547f92}
.login-panel input:-webkit-autofill,
.login-panel input:-webkit-autofill:hover,
.login-panel input:-webkit-autofill:focus,
.login-panel input:-webkit-autofill:active{-webkit-text-fill-color:#f1f8fc;caret-color:#f1f8fc;-webkit-box-shadow:0 0 0 1000px #061c29 inset;box-shadow:0 0 0 1000px #061c29 inset;border-color:#547f92}
.login-panel input:-webkit-autofill:focus{border-color:#ffad76;outline:2px solid #ff945330}

/* Keep the mobile brand above the form instead of beside it. */
@media(max-width:800px){
  main{display:block;min-height:100svh}
  .login-story{display:none}
  .login-panel{border-left:0;box-sizing:border-box;flex-direction:column;align-items:stretch;justify-content:center;min-height:100svh;padding:88px 24px 36px;width:100%}
  .fdd-mobile-login-brand{align-self:center;margin:0 0 28px;max-width:270px;width:100%}
  .login-panel form{margin:0 auto;max-width:480px;min-width:0;width:100%}
  .login-panel input{max-width:100%;width:100%}
  .login-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .login-choices button{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:400px){
  .login-panel{padding:76px 18px 30px}
}
