@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800&family=Poppins:wght@500;600;700&display=swap');
:root{--auth-navy:#071a2d;--auth-navy-2:#0b3555;--auth-cyan:#2bc3da;--auth-violet:#7658e8;--auth-orange:#ff7c4d;--auth-lime:#b8dc52}
.employee-auth,.auth-customer{font-family:"Mulish","Avenir Next",system-ui,sans-serif;-webkit-text-size-adjust:100%}.employee-auth h1,.employee-auth h2,.auth-customer h1,.auth-customer h2,.auth-brand-name strong,.auth-panel-brand strong{font-family:"Poppins","Avenir Next",system-ui,sans-serif}
.auth-logo-lockup{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%;text-decoration:none}.auth-logo-frame{position:relative;width:76px!important;height:64px!important;padding:5px!important;display:grid;place-items:center;overflow:visible;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.auth-logo-frame::after{display:none}.auth-logo-frame img,.employee-auth .auth-logo-frame img,.auth-customer .auth-logo-frame img{width:88px!important;max-width:100%!important;height:54px!important;padding:0!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.auth-brand-name{min-width:0}.auth-brand-name strong{display:block;color:#fff;font-size:15px;letter-spacing:-.01em}.auth-brand-name small{display:block;margin-top:2px;color:#afd0df;font-size:11px;font-weight:700;line-height:1.3}.auth-customer .auth-brand-top .auth-logo-frame,.employee-auth .auth-brand-top .auth-logo-frame{width:136px!important;height:70px!important;flex:0 0 136px!important;padding:0!important}.auth-customer .auth-brand-top .auth-logo-frame img,.employee-auth .auth-brand-top .auth-logo-frame img{width:128px!important;max-width:100%!important;height:62px!important}.auth-brand-top .auth-brand-name strong{display:none}.auth-brand-top .auth-brand-name small{margin-top:0;white-space:normal}.auth-entry-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}.auth-entry-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;font-weight:800;text-decoration:none;backdrop-filter:blur(15px)}.auth-entry-link:hover{background:rgba(255,255,255,.14)}
.auth-panel{align-content:center}.auth-panel-brand{width:min(520px,100%);margin:0 auto 14px;padding:10px 13px;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:rgba(255,255,255,.68);box-shadow:0 10px 30px rgba(13,42,67,.07);backdrop-filter:blur(20px) saturate(145%)}.auth-panel-brand .auth-logo-frame{width:96px!important;height:54px!important;flex:0 0 96px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.auth-panel-brand .auth-logo-frame img{width:90px!important;max-width:100%!important;height:48px!important}.auth-panel-brand>span:last-child strong,.auth-panel-brand>span:last-child small{display:block}.auth-panel-brand>span:last-child strong{color:#10283d;font:700 13px "Poppins",sans-serif}.auth-panel-brand>span:last-child small{margin-top:1px;color:#738391;font-size:10px;font-weight:700}
.auth-card,.auth-card-glass{width:min(520px,100%)!important;padding:clamp(28px,4vw,42px)!important;border:1px solid rgba(255,255,255,.76)!important;border-radius:26px!important;background:rgba(255,255,255,.86)!important;box-shadow:0 28px 76px rgba(7,28,49,.14)!important;backdrop-filter:blur(26px) saturate(150%)!important}.signup-card{width:min(620px,100%)!important}.auth-card-heading{margin-bottom:24px}.auth-card-heading .eyebrow{margin:0;color:#087f96;font-size:10px;letter-spacing:.12em}.auth-card-heading h2{margin:7px 0 7px;color:#0b243b;font-size:clamp(25px,3vw,31px);line-height:1.15;letter-spacing:-.035em}.auth-card-heading p{margin:0;color:#647688;font-size:13px;line-height:1.6}
.auth-form{display:grid;gap:0}.field-label,.employee-auth .field-label{display:block!important;margin:15px 0 7px!important;color:#344b60!important;font-size:12px!important;font-weight:800!important}.field-shell{position:relative;display:flex;align-items:center;min-height:52px;border:1px solid #cfdae2;border-radius:14px;background:rgba(255,255,255,.93);transition:border-color .16s,box-shadow .16s,background .16s}.field-shell:focus-within{border-color:var(--auth-cyan);background:#fff;box-shadow:0 0 0 4px rgba(43,195,218,.12)}.field-shell input,.employee-auth .field-shell input,.auth-customer .field-shell input{width:100%;min-height:50px!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:13px!important;background:transparent!important;box-shadow:none!important;outline:0!important;font-family:"Mulish",sans-serif!important;font-size:16px!important}.auth-recovery-row{margin:13px 0 19px!important;padding:0 2px}.auth-recovery-row span{color:#7a8996}.link-button{color:#087d96;font-weight:800}.auth-submit,.auth-primary,.auth-form>.auth-submit[type="submit"]{min-height:52px!important;margin-top:0;border:0!important;border-radius:14px!important;background:linear-gradient(108deg,#096f9d,var(--auth-cyan) 58%,var(--auth-violet))!important;color:#fff!important;font:800 14px "Mulish",sans-serif!important;box-shadow:0 13px 30px rgba(21,139,178,.23)!important}.auth-submit:hover{filter:saturate(1.07);transform:translateY(-1px)}.auth-error{padding:13px 14px;border:1px solid rgba(183,49,67,.22);border-radius:13px;background:#fff0f2;color:#94283b;font-size:12px;line-height:1.45}.security-note,.approval-note{margin-top:18px!important}.request-account-card{margin-top:18px}.signup-form>.auth-submit{margin-top:22px!important}
.employee-auth .auth-layout,.auth-customer .auth-app-shell{background:radial-gradient(circle at 12% 12%,rgba(43,195,218,.23),transparent 25rem),radial-gradient(circle at 40% 92%,rgba(255,124,77,.16),transparent 24rem),radial-gradient(circle at 92% 8%,rgba(118,88,232,.16),transparent 23rem),linear-gradient(120deg,#06182b 0%,#0b304f 48%,#e6eef2 48.1%,#f7f9fb 100%)!important}.auth-hero,.employee-auth .auth-brand{background:transparent!important}.auth-hero::before{opacity:.8}.hero-benefits span,.auth-capabilities span{backdrop-filter:blur(12px)}
@media(min-width:901px){.employee-auth .auth-panel-brand{visibility:hidden;height:0;margin:0;padding:0;border:0;overflow:hidden}.auth-customer .auth-panel-brand{display:none}.auth-customer .auth-entry-header{position:relative;left:auto;right:auto;top:auto;width:100%;z-index:3;flex:0 0 auto;margin-bottom:clamp(40px,6vh,72px)}.auth-customer .hero-copy{margin-block:auto}.auth-customer .hero-footnote{margin-top:clamp(36px,6vh,72px)}}
@media(min-width:761px) and (max-width:900px){.employee-auth .auth-panel-brand{display:none!important}}
@media(max-width:900px){.employee-auth .auth-layout,.auth-customer .auth-app-shell{grid-template-columns:1fr!important;background:linear-gradient(180deg,#06182b 0,#0b304f 32%,#edf3f6 32%,#f9fbfc 100%)!important}.auth-hero,.employee-auth .auth-brand{min-height:330px!important;padding:28px 22px 52px!important}.auth-entry-header,.auth-brand-top{position:relative;top:auto;left:auto;right:auto}.hero-copy,.auth-brand-copy{margin-top:55px}.auth-panel{padding:0 16px 38px!important;margin-top:-24px;position:relative;z-index:4}.auth-panel-brand{display:flex!important}.auth-card,.auth-card-glass{border-radius:22px!important}.employee-auth .auth-brand-top{position:absolute;top:26px;left:22px;right:22px}.employee-auth .auth-brand-copy{margin-top:90px}.employee-auth .auth-access-pill{display:none!important}.employee-auth .auth-brand-foot,.auth-customer .hero-footnote{display:none}.auth-logo-frame{width:66px!important;height:56px!important}.auth-logo-frame img{width:77px!important;height:51px!important}}
@media(max-width:560px){.auth-brand-top .auth-logo-lockup{max-width:calc(100% - 88px)}.auth-brand-top .auth-brand-name{display:none}.auth-customer .auth-brand-top .auth-logo-frame,.employee-auth .auth-brand-top .auth-logo-frame{width:112px!important;height:58px!important;flex-basis:112px!important}.auth-customer .auth-brand-top .auth-logo-frame img,.employee-auth .auth-brand-top .auth-logo-frame img{width:106px!important;height:52px!important}.auth-entry-link{min-height:39px;padding:0 13px}.auth-brand-name strong{font-size:13px}.auth-brand-name small{font-size:9px}.hero-copy h1,.auth-brand-copy h1{font-size:32px!important}.auth-panel-brand{margin-bottom:10px}.auth-card,.auth-card-glass{padding:25px 20px!important}.signup-form>.auth-submit{margin-top:18px!important}.signup-grid{grid-template-columns:1fr!important}.field-span-2{grid-column:auto!important}}
@media(prefers-reduced-motion:reduce){.auth-submit,.field-shell{transition:none!important}}

/* Authentication shell v4: one brand mark, protected clear space, stable responsive geometry. */
.auth-brand-top .auth-logo-lockup{flex:0 0 auto;max-width:none!important}
.auth-brand-top .auth-logo-frame,
.auth-customer .auth-brand-top .auth-logo-frame,
.employee-auth .auth-brand-top .auth-logo-frame{
  width:168px!important;
  height:84px!important;
  flex:0 0 168px!important;
  padding:0!important;
  overflow:hidden!important;
}
.auth-brand-top .auth-logo-frame img,
.auth-customer .auth-brand-top .auth-logo-frame img,
.employee-auth .auth-brand-top .auth-logo-frame img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.auth-panel-brand{display:none!important}
.auth-entry-header{min-height:84px}
.auth-card-heading h2{overflow-wrap:anywhere}

@media(max-width:900px){
  .auth-panel-brand{display:none!important}
  .auth-hero,.employee-auth .auth-brand{min-height:310px!important;padding-top:22px!important}
  .hero-copy,.auth-brand-copy{margin-top:42px!important}
  .employee-auth .auth-brand-copy{margin-top:96px!important}
}

@media(max-width:560px){
  .auth-brand-top .auth-logo-lockup{max-width:none!important}
  .auth-brand-top .auth-logo-frame,
  .auth-customer .auth-brand-top .auth-logo-frame,
  .employee-auth .auth-brand-top .auth-logo-frame{
    width:142px!important;
    height:70px!important;
    flex-basis:142px!important;
  }
  .auth-entry-header{min-height:70px;gap:12px}
  .auth-entry-link{flex:0 0 auto}
  .auth-card-heading h2{font-size:26px!important;line-height:1.18!important}
}

@media(max-width:360px){
  .auth-brand-top .auth-logo-frame,
  .auth-customer .auth-brand-top .auth-logo-frame,
  .employee-auth .auth-brand-top .auth-logo-frame{
    width:124px!important;
    height:62px!important;
    flex-basis:124px!important;
  }
}

/* Recovery remains readable and scrollable when the mobile keyboard opens. */
.employee-auth .recovery-dialog,.auth-customer .recovery-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;scroll-padding:20px;padding:28px!important;background:rgba(249,252,255,.98)!important}
.recovery-dialog #forgotTitle{padding-right:42px;line-height:1.25}
.employee-auth .recovery-dialog input,.auth-customer .recovery-dialog input{font-size:16px!important;min-height:50px;box-sizing:border-box;max-width:100%}
.recovery-dialog .auth-error,.recovery-dialog .field-error{overflow-wrap:anywhere}
.recovery-dialog .dialog-actions{margin-top:22px}
@media(max-width:520px){.employee-auth .recovery-dialog,.auth-customer .recovery-dialog{padding:24px!important}}

.employee-auth .recovery-dialog .dialog-close,.auth-customer .recovery-dialog .dialog-close{width:44px;height:44px}
.recovery-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

/* Reset/activation shares the sign-in layout and transparent brand asset. */
.auth-reset input{font-size:16px!important;min-height:52px}
.auth-reset .auth-form .auth-submit{margin-top:24px!important}
.auth-reset .auth-error{overflow-wrap:anywhere}
@media(max-width:900px){.auth-reset .auth-brand-copy,.auth-reset .auth-brand-foot,.auth-reset .auth-access-pill{display:none!important}.employee-auth.auth-reset .auth-brand{padding-bottom:40px!important}.employee-auth.auth-reset .auth-brand-top{margin-bottom:0!important}.auth-reset .auth-panel{padding-top:0!important}}

.employee-auth.auth-reset .auth-card{background:rgba(250,253,255,.96)!important}
.auth-reset .security-note a{display:inline-flex;align-items:center;min-height:44px;color:#087d96;font-size:13px;font-weight:700;text-underline-offset:4px}
