:root{--navy-950:#071823;--navy-900:#0b2130;--green-600:#0a9e6e;--green-500:#13b77f;--green-100:#e6f5ef;--text:#111827;--muted:#667085;--border:#dde3e8;--background:#f7f9fb}
*{box-sizing:border-box}
html{min-width:320px;min-height:100%;background:var(--background)}
body.auth-page{min-width:320px;min-height:100vh;margin:0;color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:100vh}
.auth-brand-panel{position:relative;display:flex;align-items:center;overflow:hidden;padding:clamp(38px,6vw,92px);color:#fff;background:linear-gradient(135deg,rgba(7,24,35,.97),rgba(11,44,59,.91)),url('/public/assets/images/home/placeholder-hero.png') center/cover no-repeat}
.auth-brand-panel:after{position:absolute;right:-180px;bottom:-280px;width:620px;height:620px;border:1px solid rgba(45,212,164,.12);border-radius:50%;content:"";box-shadow:0 0 0 55px rgba(45,212,164,.025),0 0 0 110px rgba(45,212,164,.02)}
.auth-brand-inner{position:relative;z-index:1;width:min(100%,640px);margin:0 auto}
.auth-brand{display:inline-flex;align-items:center;gap:13px;color:#fff;text-decoration:none;font-size:22px;font-weight:750;letter-spacing:-.03em}
.auth-brand img,.auth-mobile-brand img{display:block;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}
.auth-brand-copy{max-width:610px;margin-top:clamp(72px,12vh,132px)}
.auth-eyebrow,.auth-card-eyebrow{margin:0 0 16px;color:#54dcb1;font-size:11px;font-weight:750;letter-spacing:.15em}
.auth-brand-copy h1{margin:0;color:#fff;font-size:clamp(38px,3.6vw,52px);font-weight:730;line-height:1.08;letter-spacing:-.055em}
.auth-brand-description{max-width:520px;margin:23px 0 0;color:rgba(239,247,250,.78);font-size:17px;line-height:1.75}
.auth-benefits{display:grid;gap:17px;margin:46px 0 0;padding:0;list-style:none}
.auth-benefits li{display:flex;align-items:center;gap:13px;color:rgba(245,250,252,.92);font-size:14px;font-weight:520}
.auth-benefits svg,.auth-card-mark svg,.auth-input-wrap>svg,.auth-submit svg,.auth-alert svg,.auth-home-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auth-benefits svg{width:32px;height:32px;padding:7px;border:1px solid rgba(45,212,164,.45);border-radius:50%;color:#55ddb2;background:rgba(19,183,127,.08)}
.auth-brand-footnote{margin:58px 0 0;color:rgba(221,233,239,.52);font-size:12px;letter-spacing:.02em}
.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 32px;background:var(--background)}
.auth-form-wrap{width:100%;max-width:460px}
.auth-mobile-brand{display:none}
.auth-card{padding:42px 44px 34px;border:1px solid #e5e9ee;border-radius:19px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.08)}
.auth-card-heading{text-align:center}
.auth-card-mark{display:grid;width:54px;height:54px;margin:0 auto 19px;place-items:center;border:1px solid #d7eee5;border-radius:16px;background:var(--green-100);color:var(--green-600)}
.auth-card-mark svg{width:29px;height:29px}
.auth-card-eyebrow{margin:0 0 8px;color:var(--green-600);font-size:10px}
.auth-card-heading h2{margin:0;color:var(--text);font-size:30px;font-weight:730;letter-spacing:-.045em;line-height:1.2}
.auth-card-heading>p:last-child{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
.auth-alert{display:flex;align-items:center;gap:10px;margin:24px 0 0;padding:12px 14px;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#991b1b;font-size:13px;line-height:1.45}
.auth-alert svg{width:19px;height:19px;flex:0 0 19px}
.auth-form{display:grid;gap:20px;margin-top:30px}
.auth-field label{display:block;margin-bottom:8px;color:#344054;font-size:13px;font-weight:650}
.auth-input-wrap{position:relative;display:flex;align-items:center;min-height:53px;border:1px solid #d9e0e6;border-radius:10px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.auth-input-wrap:focus-within{border-color:var(--green-600);box-shadow:0 0 0 4px rgba(10,158,110,.12)}
.auth-input-wrap>svg{width:19px;height:19px;flex:0 0 19px;margin-left:15px;color:#8a98a6}
.auth-input-wrap input{width:100%;min-width:0;height:51px;padding:0 13px;border:0;outline:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:14px}
.auth-input-wrap input::placeholder{color:#98a2b3}
.auth-input-wrap input:focus-visible{outline:0}
.auth-password-wrap input{padding-right:6px}
.auth-password-toggle{flex:0 0 auto;margin-right:8px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:#637381;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.auth-password-toggle:hover{background:#f0f6f4;color:var(--green-600)}
.auth-password-toggle:focus-visible,.auth-submit:focus-visible,.auth-home-link:focus-visible,.auth-register a:focus-visible{outline:3px solid rgba(10,158,110,.3);outline-offset:3px}
.auth-form-options{display:flex;align-items:center;justify-content:space-between;margin-top:-4px}
.auth-remember{display:inline-flex;align-items:center;gap:9px;color:#475467;font-size:13px;cursor:pointer}
.auth-remember input{position:absolute;width:1px;height:1px;opacity:0}
.auth-checkbox{display:grid;width:17px;height:17px;place-items:center;border:1px solid #cbd5dc;border-radius:5px;background:#fff}
.auth-remember input:checked+.auth-checkbox{border-color:var(--green-600);background:var(--green-600)}
.auth-remember input:checked+.auth-checkbox:after{width:8px;height:4px;border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";transform:rotate(-45deg) translateY(-1px)}
.auth-remember input:focus-visible+.auth-checkbox{outline:3px solid rgba(10,158,110,.22);outline-offset:2px}
.auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:53px;margin-top:2px;border:0;border-radius:10px;background:var(--green-600);color:#fff;font:inherit;font-size:14px;font-weight:680;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.auth-submit:hover{transform:translateY(-1px);background:#078b61;box-shadow:0 7px 16px rgba(10,158,110,.18)}
.auth-submit svg{width:18px;height:18px}
.auth-register{margin:25px 0 0;padding-top:22px;border-top:1px solid #edf0f2;color:#667085;text-align:center;font-size:13px}
.auth-register a{margin-left:4px;color:var(--green-600);font-weight:700;text-decoration:none}
.auth-register a:hover{text-decoration:underline}
.auth-home-link{display:flex;align-items:center;justify-content:center;gap:8px;margin:23px auto 0;color:#536271;text-decoration:none;font-size:13px;font-weight:550}
.auth-home-link:hover{color:var(--green-600)}
.auth-home-link svg{width:17px;height:17px}
.auth-legal{margin:35px 0 0;color:#98a2b3;text-align:center;font-size:11px}
@media(max-width:1023px){.auth-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.auth-brand-panel{padding:42px}.auth-brand-copy{margin-top:90px}.auth-brand-copy h1{font-size:clamp(36px,5vw,52px)}.auth-form-panel{padding:36px 24px}.auth-card{padding:36px 34px 30px}}
@media(max-width:767px){.auth-layout{display:flex;min-height:100vh;flex-direction:column;background:var(--background)}.auth-brand-panel{display:none}.auth-form-panel{flex:1;align-items:center;padding:28px 20px 24px}.auth-form-wrap{max-width:460px}.auth-mobile-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 22px;color:var(--navy-900);text-decoration:none;font-size:21px;font-weight:750;letter-spacing:-.03em}.auth-card{padding:30px 24px 26px;border-radius:17px}.auth-card-mark{width:48px;height:48px;margin-bottom:15px}.auth-card-heading h2{font-size:27px}.auth-form{gap:17px;margin-top:25px}.auth-legal{margin-top:22px}}
@media(max-width:380px){.auth-form-panel{padding-right:16px;padding-left:16px}.auth-card{padding-right:19px;padding-left:19px}.auth-card-heading>p:last-child{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Registration shares the login design system and adds a wider form layout. */
.auth-register-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.auth-register-layout .auth-brand-copy{margin-top:clamp(66px,10vh,108px)}
.auth-register-layout .auth-brand-copy h1{max-width:500px;font-size:clamp(38px,4vw,56px)}
.auth-register-panel{padding:30px 24px}
.auth-register-wrap{max-width:600px}
.auth-register-card{padding:36px 40px 28px}
.auth-register-card .auth-card-mark{width:48px;height:48px;margin-bottom:13px}
.auth-register-card .auth-card-heading h2{font-size:28px}
.auth-register-card .auth-card-heading>p:last-child{margin-top:7px}
.register-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:22px}
.register-field{min-width:0}
.register-field-wide{grid-column:1/-1}
.register-field label{display:block;margin:0 0 6px;color:#344054;font-size:12px;font-weight:650}
.register-field .auth-input-wrap{min-height:47px}
.register-field .auth-input-wrap input{height:45px;font-size:13px}
.register-field .auth-input-wrap>svg{width:17px;height:17px;flex-basis:17px;margin-left:13px}
.register-field .auth-password-toggle{font-size:11px}
.register-section-title{display:flex;align-items:center;gap:11px;margin:4px 0 0;padding:12px 0 2px;border-top:1px solid #edf0f2}
.register-section-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:var(--green-100);color:var(--green-600)}
.register-section-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.register-section-title strong,.register-section-title small{display:block}
.register-section-title strong{color:#263442;font-size:12px;font-weight:700}
.register-section-title small{margin-top:2px;color:#84909c;font-size:10px}
.register-field-hint{margin:5px 0 0;color:#7b8794;font-size:10px;line-height:1.35}
.register-field-error{margin:5px 0 0;color:#b91c1c;font-size:11px;line-height:1.35}
.register-field .auth-input-wrap.has-error{border-color:#ef4444}
.register-field .auth-input-wrap.has-error:focus-within{box-shadow:0 0 0 3px rgba(239,68,68,.12)}
.register-global-error{display:flex;align-items:flex-start;gap:9px;margin:18px 0 0;padding:11px 12px;border:1px solid #fecaca;border-radius:9px;background:#fef2f2;color:#991b1b;font-size:12px;line-height:1.45}
.register-global-error svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.register-submit{min-height:50px}
.auth-register-card .auth-register{margin-top:17px;padding-top:15px;font-size:12px}
@media(max-width:1023px){
  .auth-register-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .auth-register-layout .auth-brand-copy{margin-top:72px}
  .auth-register-card{padding:30px 25px 24px}
  .auth-register-wrap{max-width:620px}
}
@media(max-width:767px){
  .auth-register-layout{display:flex}
  .auth-register-panel{padding:24px 20px}
  .auth-register-wrap{max-width:600px}
  .auth-register-card{padding:28px 23px 24px}
  .register-form{gap:15px}
  .register-field-wide{grid-column:1/-1}
}
@media(max-width:480px){
  .register-form{grid-template-columns:minmax(0,1fr)}
  .register-field-wide{grid-column:auto}
}

/* Refinements for the registration experience. */
.auth-brand-panel{background-image:linear-gradient(112deg,rgba(7,24,35,.93) 0%,rgba(7,33,48,.84) 58%,rgba(8,48,57,.72) 100%),url('/public/assets/images/home/placeholder-hero.png');background-position:center,62% center}
.auth-brand img,.auth-mobile-brand img{filter:brightness(1.65) saturate(1.12) drop-shadow(0 4px 12px rgba(0,0,0,.2))}
.auth-register-card{position:relative;overflow:hidden;padding:38px 42px 30px;border-radius:20px;box-shadow:0 22px 60px rgba(15,23,42,.1)}
.auth-register-card:before{position:absolute;top:0;right:28px;left:28px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#0a9e6e,#54dcb1);content:""}
.auth-register-wrap{max-width:650px}
.auth-register-panel{padding-right:30px;padding-left:30px}
.register-form{gap:16px 18px;margin-top:24px}
.register-field label{margin-bottom:7px;color:#273746;font-size:13px}
.register-field .auth-input-wrap{min-height:51px;border-color:#d7e0e6;background:#fcfdfd}
.register-field .auth-input-wrap input{height:49px;font-size:14px}
.register-field .auth-input-wrap:focus-within{background:#fff}
.register-field .auth-password-toggle{padding:8px 9px;font-size:12px}
.register-field-hint{font-size:11px;line-height:1.4}
.register-field-error{font-size:12px}
.register-section-title{gap:12px;padding-top:13px}
.register-account-title{margin:0;padding:0;border:0}
.register-section-title strong{font-size:13px}
.register-section-title small{font-size:11px}
.register-submit{min-height:53px;font-size:15px}
.auth-register-card .auth-register{margin-top:19px;padding-top:18px;font-size:13px}
@media(max-width:1023px){.auth-register-card{padding:34px 30px 28px}.auth-register-wrap{max-width:650px}}
@media(max-width:767px){.auth-register-panel{padding:24px 20px}.auth-register-card{padding:30px 23px 26px}.register-form{gap:16px}.auth-brand-panel{background-image:linear-gradient(112deg,rgba(7,24,35,.93),rgba(8,48,57,.76)),url('/public/assets/images/home/placeholder-hero.png')}}

/* Approved registration mockup: balanced split, compact form, fixed-size icons. */
.auth-register-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-register-layout .auth-brand-panel{align-items:stretch;padding:44px clamp(42px,5vw,82px);background-position:center,center}
.auth-register-layout .auth-brand-inner{display:flex;min-height:calc(100vh - 88px);flex-direction:column;justify-content:flex-start}
.auth-register-layout .auth-brand-copy{margin-top:clamp(34px,5vh,56px)}
.auth-register-layout .auth-brand-copy h1{max-width:650px;font-size:clamp(36px,3vw,52px);line-height:1.08;letter-spacing:-.045em}
.auth-register-layout .auth-brand-copy h1 span{display:block}
.auth-register-layout .auth-brand-copy .auth-headline-accent{margin-top:4px;color:#52d9ae}
.auth-register-layout .auth-brand-description{max-width:500px;margin-top:16px;font-size:16px;line-height:1.65}
.auth-register-layout .auth-benefits{gap:13px;margin-top:28px}
.auth-trust-items{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:auto;padding-top:30px}
.auth-trust-items span{display:flex;align-items:center;gap:7px;color:rgba(235,245,248,.72);font-size:11px;font-weight:550}
.auth-trust-items svg{display:block;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:#5bdcb3;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.auth-register-panel{padding:28px 30px}
.auth-register-wrap{width:100%;max-width:600px}
.auth-register-card{padding:30px 36px 24px;border-radius:18px}
.auth-register-card .auth-card-mark{width:42px;height:42px;margin-bottom:9px;border-radius:13px}
.auth-register-card .auth-card-mark svg{display:block;width:24px;height:24px;flex:0 0 24px}
.auth-register-card .auth-card-eyebrow{margin-bottom:6px}
.auth-register-card .auth-card-heading h2{font-size:27px}
.auth-register-card .auth-card-heading>p:last-child{margin-top:6px;font-size:13px}
.register-form{gap:12px 14px;margin-top:17px}
.register-field label{margin-bottom:4px;font-size:12px}
.register-field .auth-input-wrap{min-height:46px}
.register-field .auth-input-wrap input{height:44px}
.register-field .auth-input-wrap>svg{display:block;width:18px;height:18px;max-width:18px;max-height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.register-section-title{gap:10px;margin-top:0;padding:8px 0 2px}
.register-account-title{padding:0}
.register-section-icon{width:30px;height:30px;flex:0 0 30px}
.auth-register-card .register-section-icon>svg{display:block;width:22px;height:22px;max-width:22px;max-height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.register-section-title strong{font-size:12px}
.register-section-title small{font-size:10px}
.register-field-hint{margin-top:4px;font-size:10px}
.register-field-error{margin-top:4px;font-size:11px}
.register-submit{min-height:49px}
.auth-register-card .auth-register{margin-top:14px;padding-top:13px;font-size:12px}
@media(max-width:1023px){
  .auth-register-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .auth-register-layout .auth-brand-panel{padding:38px 34px}
  .auth-register-layout .auth-brand-copy{margin-top:38px}
  .auth-register-layout .auth-brand-copy h1{font-size:clamp(34px,4vw,44px)}
  .auth-register-panel{padding:24px 20px}
  .auth-register-card{padding:28px 26px 22px}
}
@media(max-width:767px){
  .auth-register-layout{display:flex}
  .auth-register-layout .auth-brand-panel{display:none}
  .auth-register-panel{padding:24px 20px}
  .auth-register-wrap{max-width:600px}
  .auth-register-card{padding:28px 23px 24px}
  .register-form{grid-template-columns:minmax(0,1fr);gap:14px}
  .register-field-wide{grid-column:auto}
  .auth-trust-items{display:none}
}
.auth-register-layout .auth-brand-copy .auth-register-headline{max-width:650px;margin:0;font-size:clamp(36px,3vw,52px);font-weight:730;line-height:1.08;letter-spacing:-.045em;color:#fff}
.auth-register-layout .auth-register-headline span{display:block}
.auth-register-layout .auth-register-headline .auth-headline-accent{margin-top:4px;color:#52d9ae}
.auth-register-card .auth-card-heading h1{margin:0;color:var(--text);font-size:27px;font-weight:730;letter-spacing:-.045em;line-height:1.2}
@media(max-width:1023px){.auth-register-layout .auth-register-headline{font-size:clamp(34px,4vw,44px)}}

/* Match the registration page's balanced desktop split on login. */
.auth-layout:not(.auth-register-layout){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}


.auth-password-toggle{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;padding:0;color:#637381}
.auth-password-toggle:hover{color:var(--green-600)}
.auth-password-toggle svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auth-password-toggle svg[hidden]{display:none}


.password-strength{display:grid;gap:5px;margin-top:7px;color:#7b8794}
.password-strength-meter{display:flex;gap:4px}
.password-strength-meter span{height:4px;flex:1;border-radius:999px;background:#e5e9ee}
.password-strength-label{font-size:10px;line-height:1.4}
.password-strength[data-strength="weak"] .password-strength-meter span:nth-child(-n+1){background:#dc6262}
.password-strength[data-strength="medium"] .password-strength-meter span:nth-child(-n+3){background:#e5a23d}
.password-strength[data-strength="strong"] .password-strength-meter span{background:#0a9e6e}
.password-strength[data-strength="weak"] .password-strength-label{color:#b54747}
.password-strength[data-strength="medium"] .password-strength-label{color:#a86d16}
.password-strength[data-strength="strong"] .password-strength-label{color:#07845c}

.password-strength-wide{grid-column:1/-1;margin-top:0}
.password-match-status[data-match="yes"]{color:#07845c}
.password-match-status[data-match="no"]{color:#b54747}

.auth-input-wrap.is-valid{border-color:#15966e;background:#f4fbf8}
.auth-input-wrap.is-valid:focus-within{border-color:#0a9e6e;box-shadow:0 0 0 4px rgba(10,158,110,.13)}
.auth-input-wrap.is-invalid{border-color:#dc4c4c;background:#fff8f8}
.auth-input-wrap.is-invalid:focus-within{border-color:#dc4c4c;box-shadow:0 0 0 4px rgba(220,76,76,.12)}
