/* Match the approved driver-profile artwork and native vehicle accent. */
body.portal-start{--portal-accent:rgb(100% 86% 30%);isolation:isolate;position:relative;min-height:100vh;min-height:100dvh;color:#fff;color-scheme:dark;background:#07090c}
.portal-start header{background:transparent;padding:16px clamp(20px,5vw,72px);border:0}
.portal-start header>span:last-child{margin-left:auto;color:#fff;font-size:.9rem}
.portal-start main{max-width:1080px;padding:0 clamp(22px,5vw,48px);margin:32px auto 24px}
.portal-logo{display:block;position:relative;width:250px;height:76px;max-width:70%;margin:0 0 30px}
.portal-logo img{display:block;width:100%;height:100%;object-fit:contain}
.portal-logo i{position:absolute;inset:0;pointer-events:none;background:var(--portal-accent);mask:url('portal-backgrounds/logo-accent.png') center/contain no-repeat;-webkit-mask:url('portal-backgrounds/logo-accent.png') center/contain no-repeat}
.portal-start .eyebrow{color:var(--portal-accent);letter-spacing:.15em;font-size:.8rem}
.portal-start h1{font-size:clamp(2.25rem,5.6vw,4.2rem);letter-spacing:-.04em;line-height:1.08;max-width:760px;margin:16px 0 22px;color:#fff}
.portal-intro{color:#fff;max-width:560px;font-size:1.05rem;line-height:1.6}
.portal-link-form{max-width:560px;margin:30px 0 0;padding:0;border:0;background:transparent;box-shadow:none}
.portal-link-form label{color:#fff;font-size:1rem;margin-bottom:7px}
.portal-link-form>p{font-size:.9rem;color:#fff;margin:0 0 16px}
.portal-link-form input:not([type=file]){min-height:52px;background:#ffffff12;color:#fff;border:1px solid #ffffffb8;font-size:1rem;padding:15px 16px}
.portal-link-form input::placeholder{color:#fff;opacity:.8}
.portal-link-form button{min-height:52px;background:var(--portal-accent);color:#302608;margin-top:14px;display:flex;align-items:center;justify-content:space-between}
.portal-start :is(input,button,a):focus-visible{outline:3px solid var(--portal-accent);outline-offset:4px}
.portal-link-form #driver-link-error{color:#ffcfbe;margin:12px 0 0}
.portal-no-link{color:#fff;font-size:.88rem;max-width:560px;margin:22px 0}
.portal-workshop{color:#fff;text-decoration:none;border-bottom:1px solid #ffffff75;padding:10px 0;display:inline-flex;align-items:center;min-height:44px;gap:30px;font-size:.95rem}
.portal-workshop:hover{color:var(--portal-accent)}
.portal-login{color:#fff;font-weight:600;border-color:var(--portal-accent)}
.portal-start footer{color:#fff;margin:30px 0 0;padding:24px 22px;font-size:.85rem}
.portal-start noscript{display:block;color:#ffcfbe;margin-top:20px}
.portal-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#07090c}
.portal-scene{display:block;position:absolute;inset:0;opacity:0;transition:opacity .65s ease}
.portal-scene.is-visible{opacity:1}
.portal-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.portal-scene[data-scene=service] img{object-position:center 60%}
.portal-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0008 56%,#0006),linear-gradient(180deg,#0004,transparent 60%)}
.portal-backdrop-toggle{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;margin:0;border:1px solid #ffffff60;border-radius:50%;background:#0006;color:#fff;font-size:20px;font-weight:400}
.portal-backdrop-toggle:hover{background:#0009}
@media(max-width:600px){.portal-start main{margin-top:24px}.portal-logo{width:200px;height:62px;margin-bottom:24px}.portal-start h1{font-size:2.4rem}.portal-link-form{margin-top:24px}.portal-start header{gap:12px}.portal-start footer{font-size:.8rem;padding-bottom:72px}.portal-backdrop::after{background:#0008}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal-scene{transition:none}}
@media(prefers-reduced-transparency:reduce){.portal-start .portal-backdrop{display:none}.portal-link-form input:not([type=file]){background:#202020}}

/* Keep sign-in and recovery behavior intact while sharing the approved artwork. */
.portal-start.portal-sign-in{--accent:var(--portal-accent);--green:var(--portal-accent);--accent-ink:#302608}
.portal-sign-in::before{display:none}
.portal-sign-in header{gap:16px;padding:16px clamp(20px,5vw,72px)}
.portal-sign-in header .portal-logo{width:215px;height:65px;max-width:55%;margin:0;flex-shrink:1}
.portal-sign-in header .profile-heading{min-width:0;flex-shrink:1}
.portal-sign-in header .profile-heading>span,.portal-sign-in header>span{font-size:28px;font-weight:600;color:var(--portal-accent);white-space:nowrap}
.portal-sign-in main.driver-login{display:block;max-width:620px;margin:32px auto 72px;padding:0 24px}
.portal-sign-in .card{padding:24px 0;background:transparent;border:0;box-shadow:none}
.portal-sign-in h1{font-size:32px;line-height:1.2;margin:0 0 18px;letter-spacing:-.025em}
.portal-sign-in :is(p,.hint,label){color:#fff}
.portal-sign-in #login-hint{margin:0 0 24px;font-size:1rem;line-height:1.6}
.portal-sign-in .field{margin-bottom:22px}
.portal-sign-in .field label{font-size:1rem;font-weight:600;margin-bottom:8px}
.portal-sign-in input:not([type=file]){background:#ffffff12;color:#fff;border:1px solid #ffffffb8;min-height:52px;font-size:1rem;padding:12px 16px}
.portal-sign-in input:focus{outline:3px solid var(--portal-accent);outline-offset:4px}
.portal-sign-in #login-submit{min-height:48px;background:var(--portal-accent);color:#302608}
.portal-sign-in #reset-password{min-height:48px;background:#ffffff12;color:#fff;border:1px solid #ffffff70}
.portal-sign-in #reset-password:hover{background:#ffffff24}
.portal-sign-in #login-message:not(:empty){color:#ffe0d2}
.portal-sign-in .driver-login a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration-color:var(--portal-accent);text-underline-offset:5px}
.portal-sign-in .driver-login a:hover{color:var(--portal-accent)}
.portal-sign-in .profile-language-options button:hover,.portal-sign-in .profile-language-options button[aria-pressed=true]{background:#ffdb4d26}
@media(max-width:600px){
 .portal-sign-in header{padding:14px 20px;gap:10px}
 .portal-sign-in header .portal-logo{width:175px;height:55px;max-width:51%}
 .portal-sign-in header .profile-heading>span,.portal-sign-in header>span{font-size:21px}
 .portal-sign-in main.driver-login{margin-top:22px;padding:0 22px}
 .portal-sign-in .card{padding:16px 0}
 .portal-sign-in h1{font-size:28px}
 .portal-sign-in #login-hint{font-size:.95rem}
 .portal-sign-in #login-submit,.portal-sign-in #reset-password{width:100%;margin:4px 0 8px}
}
@media(prefers-reduced-transparency:reduce){.portal-sign-in input:not([type=file]),.portal-sign-in #reset-password{background:#202020}}
