/* Customer sign-in: supplied reference and Allied fleet photograph. */
.portal-login.auth-shell { display:flex; flex-direction:column; align-items:stretch; padding:0; min-height:100svh; background:#f7f6f4; }
.portal-login-header { min-height:88px; padding:12px max(24px,calc((100vw - 1460px)/2)); display:flex; align-items:center; justify-content:space-between; gap:24px; background:linear-gradient(110deg,#222321,#151614); border-bottom:5px solid #ffc600; color:white; position:relative; z-index:3; }
.portal-login-brand { display:flex; align-items:center; gap:28px; }
.portal-login-brand img { width:82px; height:61px; object-fit:contain; }
.portal-login-brand > span { border-left:1px solid #777; padding-left:28px; text-transform:uppercase; letter-spacing:.13em; font-weight:650; font-size:17px; }
.portal-login-help { position:relative; }
.portal-login-help summary { display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none; font-weight:550; }
.portal-login-help summary::-webkit-details-marker { display:none; }
.portal-login-help svg { width:25px; height:25px; color:#ffd000; }
.portal-login-help summary > span:last-child { color:#ffd000; padding-left:6px; }
.portal-login-help p { position:absolute; right:0; top:calc(100% + 20px); width:min(330px,85vw); padding:20px; background:white; color:var(--ink); border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 30px #0002; font-size:14px; }
.portal-login-stage { flex:1; width:100%; position:relative; isolation:isolate; overflow:clip; display:flex; flex-direction:column; justify-content:center; min-height:calc(100svh - 90px); }
.portal-login-photo { position:absolute; z-index:-4; inset:0 -10% 0 64%; display:flex; align-items:center; mask-image:linear-gradient(90deg,transparent,#000 20%); }
.portal-login-photo img { width:100%; height:auto; mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent); }
.portal-login-wash { position:absolute; z-index:-3; inset:0; background:linear-gradient(90deg,#f8f7f6 0%,#f8f7f6f5 29%,#f8f7f6bd 52%,#f8f7f663 100%),linear-gradient(0deg,#f8f7f6b3,transparent 60%); }
.portal-login-swoop { position:absolute; z-index:-2; pointer-events:none; background:linear-gradient(120deg,#ffcf19,#ffea83 70%,#ffcc00); }
.portal-login-swoop--top { width:62%; height:230px; left:-14%; top:-165px; border-radius:0 0 100% 0; transform:rotate(-15deg); box-shadow:0 20px 0 #ffe98766; }
.portal-login-swoop--bottom { width:76%; height:190px; right:-24%; bottom:-128px; border-radius:100% 0 0 0; transform:rotate(-12deg); box-shadow:0 -22px 0 #ffdf6399; }
.portal-login-layout { width:min(1460px,100%); margin:0 auto; padding:56px 24px 66px; display:grid; grid-template-columns:minmax(310px,1fr) minmax(380px,440px) minmax(0,.9fr); gap:44px; align-items:center; position:relative; }
.portal-login-intro { padding-bottom:10px; }
.portal-login-eyebrow { text-transform:uppercase; letter-spacing:.11em; font-weight:700; font-size:18px; color:#595b5c; margin-bottom:30px; }
.portal-login-eyebrow::after { content:''; display:block; width:58px; height:6px; background:#ffcc00; margin-top:12px; }
.portal-login-intro h1 { font-size:clamp(32px,2.9vw,46px); font-weight:780; letter-spacing:-.035em; line-height:1.13; color:#0b0c0b; }
.portal-login-intro h1 span { display:block; font-weight:400; letter-spacing:-.04em; margin-top:4px; }
.portal-login-description { margin-top:25px; font-size:18px; color:#454747; max-width:420px; line-height:1.55; }
.portal-login-features { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; list-style:none; padding:0; margin:32px 0 0; }
.portal-login-features li { text-align:center; font-size:13px; line-height:1.35; }
.portal-login-features li > span { display:grid; place-items:center; background:#fff7dd; width:66px; height:70px; border-radius:14px; margin:0 auto 10px; }
.portal-login-features svg { width:33px; height:33px; }
.portal-login-features b { font-weight:600; }
.portal-login .portal-login-card { max-width:none; padding:26px 30px 22px; border:0; border-top:5px solid #ffcc00 !important; border-radius:20px; background:#fffffff5; box-shadow:0 18px 45px #24201a26; }
.portal-login-card > img { width:112px; height:auto; margin:0 0 22px 5px; }
.portal-login-card .auth-kicker { font-size:12px; letter-spacing:.075em; margin-bottom:8px; }
.portal-login-card h2 { font-size:29px; line-height:1.15; letter-spacing:-.025em; }
.portal-login-card .panel__intro { font-size:15px; margin-top:9px; }
.portal-login-card form { gap:13px; margin:23px 0 18px; }
.portal-login-card .field > label { font-size:15px; }
.portal-login-input { position:relative; }
.portal-login-input > svg { position:absolute; left:14px; top:13px; width:20px; height:20px; color:#626564; pointer-events:none; }
.portal-login-card .portal-login-input input { min-height:46px; padding-left:44px; padding-right:42px; background:#ffffff80; border-color:#d6d7d7; }
.portal-login-input button { position:absolute; right:5px; top:3px; width:40px; height:40px; border:0; border-radius:6px; background:transparent; display:grid; place-items:center; cursor:pointer; color:#626564; }
.portal-login-input button svg { width:21px; height:21px; }
.portal-login-input button[aria-pressed="true"] { background:#fff3bf; color:#1a1a18; }
.portal-login-card #cloudSignIn { min-height:50px; background:#ffcc00; border-color:#ffcc00; font-size:20px; font-weight:700; gap:16px; margin-top:3px; }
.portal-login-card #cloudSignIn:hover { background:#ffda3d; }
.portal-login-card #cloudSignIn svg { width:22px; height:22px; }
.portal-login-card #cloudError:empty { display:none; }
.portal-password-help { text-align:right; font-size:13px; }
.portal-password-help summary { cursor:pointer; text-decoration:underline; list-style:none; font-weight:600; padding:4px 0; }
.portal-password-help p { text-align:left; padding:12px; background:#fff7dd; margin-top:8px; border-radius:6px; }
.portal-login-access { display:flex; align-items:flex-start; gap:9px; padding-top:18px; border-top:1px solid #e2e2df; font-size:12px; line-height:1.5; color:#535653; }
.portal-login-access svg { width:19px; height:19px; flex-shrink:0; margin-top:1px; }
.portal-login-card #cloudLoading:empty { display:none; }
.portal-login-demo { font-size:11px; letter-spacing:.03em; color:#686760; text-align:center; padding:0 24px 18px; }
@media(max-width:1150px) { .portal-login-layout { grid-template-columns:minmax(280px,1fr) minmax(350px,420px); gap:42px; padding:45px 40px; max-width:1030px; } .portal-login-photo { left:20%; } .portal-login-wash { background:linear-gradient(90deg,#f8f7f6f2,#f8f7f6b3); } }
@media(max-width:760px) {
 .portal-login-header { min-height:76px; padding:10px 20px; gap:12px; }
 .portal-login-brand { gap:14px; } .portal-login-brand img { width:60px; height:45px; }
 .portal-login-brand > span { font-size:11px; padding-left:14px; letter-spacing:.08em; }
 .portal-login-help summary > span { display:none; } .portal-login-help summary { min-width:38px; min-height:42px; justify-content:center; } .portal-login-help summary::after { content:'Help'; font-size:12px; }
 .portal-login-layout { display:flex; flex-direction:column; gap:25px; padding:30px 20px; width:100%; }
 .portal-login-intro { width:100%; max-width:440px; padding:0; }
 .portal-login-eyebrow { font-size:11px; margin-bottom:14px; } .portal-login-eyebrow::after { width:38px; height:4px; margin-top:8px; }
 .portal-login-intro h1 { font-size:32px; } .portal-login-intro h1 span { font-size:26px; }
 .portal-login-description { font-size:14px; margin-top:14px; } .portal-login-features { display:none; }
 .portal-login .portal-login-card { width:100%; max-width:440px; padding:24px; border-radius:16px; }
 .portal-login-card h2 { font-size:26px; } .portal-login-card > img { width:88px; margin-bottom:18px; } .portal-login-card .auth-kicker { font-size:10px; }
 .portal-login-photo { inset:0; align-items:flex-start; mask-image:none; } .portal-login-photo img { min-height:480px; object-fit:cover; } .portal-login-wash { background:linear-gradient(180deg,#f8f7f6df,#f8f7f6e8 50%,#f8f7f6); }
 .portal-login-swoop--top { top:-190px; width:100%; } .portal-login-stage { min-height:calc(100svh - 80px); }
}

