/* Authentication presentation only. Receipt styles and API behavior are unchanged. */
#login,body.auth-locked #login{
  --forest:#064b27;--deep:#003b24;--lime:#b6ff00;--navy:#00446b;
  position:relative;isolation:isolate;display:grid;
  grid-template-columns:40.5% 21.5% 38%;align-items:center;
  width:100%;min-height:100svh;gap:0;margin:0;padding:4vh 1.2vw 8vh 0;
  border:0;border-radius:0;box-shadow:none;overflow:hidden;
  background:linear-gradient(180deg,#0074db 0%,#179be9 24%,#b9e7ff 43%,#5c9a73 67%,#064b27 100%);
}
#login .login-scenery{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:100% 42%;filter:blur(16px);opacity:.28;transform:scale(1.04);pointer-events:none}
#login::before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 28% 37% at 49% 23%,#f9fcff 0%,#eaf7ffdc 30%,#dcf3ff40 65%,transparent 100%),linear-gradient(180deg,transparent 58%,#003b2445)}
#login::after{display:none}
#login .login-ribbon{position:absolute;pointer-events:none;z-index:2}
#login .ribbon-top{top:0;left:0;width:25%;height:clamp(90px,12vw,180px)}
#login .ribbon-bottom{bottom:-1px;left:0;width:100%;height:17%;z-index:0}
#login .login-hero{position:relative;align-self:stretch;min-height:680px;height:auto;background:none;overflow:visible;z-index:1}
#login .login-hero::after{display:none}
#login .hero-truck{position:absolute;inset:0 auto 0 0;width:auto;max-width:115%;height:100%;object-fit:contain;object-position:left center;display:block;filter:none;border-radius:0;mask-image:linear-gradient(90deg,#000 94%,transparent 100%),linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
#login .login-branding{position:relative;align-self:start;z-index:2;min-width:0;padding:0 6% 0 0;display:flex;flex-direction:column;align-items:center;gap:clamp(20px,3.5vh,42px)}
#login .company-logo{position:relative;width:112%;aspect-ratio:775/540;overflow:hidden;mix-blend-mode:normal}
#login .company-logo img{position:absolute;max-width:none;width:132.13%;height:auto;left:-16.52%;top:-41.5%;filter:url(#logo-paper)}
#login .hero-product{flex:none;align-self:stretch;margin:0;padding:12px 8px;border:2px solid var(--lime);border-radius:40px;color:#fff;background:linear-gradient(180deg,#176b31,#00421f);box-shadow:0 4px 12px #003b2430;text-align:center;font-size:clamp(17px,1.8vw,34px);font-weight:700;font-style:italic;line-height:1.1;white-space:nowrap;letter-spacing:-.7px}
#login .hero-benefits{align-self:stretch;margin:6px 0 0 6%;padding:8px 20px;list-style:none;background:linear-gradient(115deg,#004326ed,#003b24b5);border:1px solid #b6ff0099;border-radius:28px;box-shadow:0 12px 24px #003b2425;backdrop-filter:blur(7px);text-align:left;color:white;font-size:clamp(13px,1.13vw,22px);font-weight:600}
#login .hero-benefits li{display:flex;align-items:center;gap:16px;min-height:clamp(52px,6.65vh,75px);position:relative;line-height:1.25;white-space:nowrap}
#login .hero-benefits li+li::before{content:'';position:absolute;left:56px;right:0;top:0;height:1px;background:linear-gradient(90deg,#e5efaeaa,transparent)}
#login .hero-benefits svg{width:40px;height:40px;flex:none;fill:none;stroke:var(--lime);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#login .hero-benefits li:last-child svg{fill:var(--lime);stroke-width:1}
#login .login-card{position:relative;isolation:isolate;z-index:3;align-self:center;justify-self:stretch;width:100%;max-width:none;height:auto;min-height:82vh;padding:clamp(32px,2.5vw,50px) clamp(28px,2.5vw,50px) 120px;margin:0;overflow:hidden;border:1px solid #edf9df;border-radius:clamp(26px,2.7vw,52px);background:#fff;box-shadow:0 18px 32px #00292065,inset 0 0 5px #b8d6aa}
#login .login-card::after{display:none}
#login .card-flourish{position:absolute;z-index:-1;pointer-events:none;right:0;width:100%}
#login .card-flourish-top{top:0;width:65%;height:clamp(90px,12vw,180px)}
#login .card-flourish-bottom{bottom:0;height:17%}
#login .login-content{position:relative;margin:0;padding:0;background:none;box-shadow:none}
#login .login-card .eyebrow{display:block;color:#084d1b;font-size:clamp(13px,1.06vw,19px);letter-spacing:1.6px;font-weight:700;line-height:1.25}
#login .login-card h2{font-size:clamp(28px,2.45vw,46px);line-height:1.12;letter-spacing:-1.5px;color:#082e1c;margin:18px 0 14px;white-space:normal}
#login .login-description{color:#424854;font-size:clamp(15px,1.13vw,21px);line-height:1.45;margin:0 0 clamp(25px,3vh,34px)}
#login .login-card label{display:block;font-size:clamp(15px,1.12vw,21px);line-height:1.2;font-weight:600;color:#111a15;margin:clamp(20px,2.2vh,28px) 0 7px}
#login .login-card input{display:block;width:100%;min-width:0;height:clamp(50px,6vh,66px);padding:12px 16px;margin:0;border:1px solid #cbd0d7;border-radius:12px;background:#ffffffed;color:#15251c;font-size:clamp(16px,1.12vw,21px);line-height:1.4;box-shadow:inset 0 1px 2px #0c291007}
#login .login-card input::placeholder{color:#686e77;opacity:1}
#login .login-card input:focus-visible{outline:3px solid #78ac36;outline-offset:2px;border-color:#075a2c}
#login .login-card button{width:100%;height:clamp(52px,6.2vh,68px);margin:clamp(28px,4vh,44px) 0 0;padding:0 16px;border:0;border-radius:11px;color:white;background:linear-gradient(100deg,#003b18,#075321);font-size:clamp(18px,1.35vw,26px);font-weight:700;box-shadow:0 2px 3px #003b2415}
#login .login-card button:hover{background:#064b27}
#login .login-card button:focus-visible,#login .login-links a:focus-visible{outline:3px solid #78ac36;outline-offset:4px}
#login .login-card button:disabled{opacity:.65;cursor:wait}
#login .login-card .login-links{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin:22px 0 0;padding:0;font-size:clamp(12px,.78vw,15px);color:#3a5a46;line-height:1.3;background:none}
#login .login-links a{color:#16532a;text-underline-offset:3px}
#login .login-card #login-error{position:relative;white-space:normal;font-size:14px;line-height:1.45;margin:18px 0 0;padding:12px 14px;border-radius:8px;color:#813b28;background:#fff1eb;border:1px solid #e8c8b9}
#login .login-card #login-error.success{color:#14532d;background:#effbea;border-color:#a9d69a}
#login .login-card label small{font-size:.72em;font-weight:500;color:#5a685f}
#login .tenant-result{margin-top:16px;padding:14px;border:1px solid #92c881;border-radius:10px;background:#f1fbe9;color:#153b24}
#login .tenant-result strong,#login .tenant-result small{display:block}
#login .tenant-result code{display:block;margin:10px 0;padding:10px;border-radius:7px;background:#fff;font-size:clamp(15px,1.05vw,19px);font-weight:800;letter-spacing:.04em;overflow-wrap:anywhere}
#login .login-card .tenant-result button{height:auto;min-height:42px;margin:0 0 10px;padding:9px 14px;font-size:14px}
@media(min-width:1200px) and (max-height:820px){
  #login,body.auth-locked #login{padding-top:24px;padding-bottom:44px}
  #login .login-hero{min-height:650px}
  #login .login-card{min-height:0;padding-top:28px;padding-bottom:90px}
  #login .login-branding{gap:18px}
  #login .hero-benefits li{min-height:52px}
  #login .login-card h2{margin:14px 0 10px}
  #login .login-description{margin-bottom:20px}
  #login .login-card label{margin-top:18px}
  #login .login-card input{height:50px}
  #login .login-card button{margin-top:24px;height:52px}
}
@media(min-width:761px) and (max-width:1199px){
  #login,body.auth-locked #login{grid-template-columns:48% 52%;align-items:start;padding:28px 24px 70px;gap:28px 0}
  #login .login-hero{grid-column:1;grid-row:1;height:540px;min-height:0}
  #login .hero-truck{inset:0;width:auto;max-width:115%;height:100%}
  #login .login-branding{grid-column:2;grid-row:1;max-width:350px;justify-self:center;width:100%;gap:22px;padding:0 0 0 12px}
  #login .company-logo{width:100%;max-width:300px}
  #login .hero-product{font-size:24px;white-space:normal}
  #login .hero-benefits{margin:0;padding:8px 20px;font-size:16px}
  #login .hero-benefits li{min-height:51px}
  #login .hero-benefits svg{width:32px;height:32px}
  #login .hero-benefits li+li::before{left:48px}
  #login .login-card{grid-column:1/-1;grid-row:2;width:100%;max-width:640px;justify-self:center;min-height:0;padding:40px 44px 110px}
  #login .login-card h2{font-size:36px}
  #login .login-card input{height:54px}
}
@media(max-width:760px){
  #login,body.auth-locked #login{display:grid;grid-template-columns:48% 52%;gap:0;min-height:100svh;padding:18px 16px 40px;overflow:hidden}
  #login .ribbon-top{width:65%;height:80px}
  #login .login-hero{grid-column:1;grid-row:1;min-height:0;height:280px;align-self:center}
  #login .hero-truck{inset:0 auto 0 -16px;width:auto;max-width:none;height:100%;object-position:center}
  #login .login-branding{grid-column:2;grid-row:1;padding:14px 0 0 4px;align-self:center;gap:18px}
  #login .company-logo{width:100%;max-width:230px}
  #login .hero-product{font-size:clamp(15px,3.8vw,23px);line-height:1.2;white-space:normal;padding:10px 8px;letter-spacing:-.3px}
  #login .hero-benefits{display:none}
  #login .login-card{grid-column:1/-1;grid-row:2;width:100%;max-width:520px;justify-self:center;min-height:0;margin:14px 0 0;padding:30px 24px 95px;border-radius:28px}
  #login .login-card h2{font-size:clamp(27px,7vw,36px);letter-spacing:-1px;margin:16px 0 12px}
  #login .login-description{font-size:15px;margin-bottom:26px}
  #login .login-card label{font-size:15px;margin-top:20px}
  #login .login-card input{height:50px;font-size:16px;padding:12px}
  #login .login-card button{height:52px;font-size:18px;margin-top:28px}
  #login .login-card .login-links{font-size:12px}
  #login .ribbon-bottom{height:100px}
}
@media(prefers-reduced-motion:reduce){#login *{scroll-behavior:auto}}

#login .login-filter-defs{position:absolute;pointer-events:none}

#login .account-actions button{height:auto;min-height:40px;font-size:13px;margin-top:0;padding:8px 12px}#login .account-actions{margin-top:12px}
