:root{--navy:#071d3e;--navy-mid:#123963;--wine:#941f3c;--line:#6f8299;--muted:#aeb9c8;--white:#f8fafc}
*{box-sizing:border-box}
html,body{width:100%;min-height:100%;margin:0}
body{font-family:"Inter","Segoe UI","Calibri",system-ui,sans-serif;background:var(--navy);color:var(--white)}
button,input{font-family:"Inter","Segoe UI","Calibri",system-ui,sans-serif}
.customer-shell{position:relative;display:grid;grid-template-columns:61.5% 38.5%;width:100%;height:100vh;min-height:720px;overflow:hidden;background:radial-gradient(ellipse at 79% 46%,#19456f 0,#102f56 38%,#071d3e 72%,#04162f 100%)}
.customer-bg-tablet{display:none}@media(min-width:801px) and (max-width:1100px){.customer-bg-desktop{display:none}.customer-bg-tablet{display:block}}
.customer-split{position:absolute;z-index:1;inset:0;width:100%;height:100%;filter:drop-shadow(12px 0 22px rgba(0,10,27,.25));pointer-events:none}
.customer-brand{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding:5% 13% 9% 7%}
.customer-logo{display:block;width:min(78%,720px);max-height:430px;object-fit:contain}
.customer-access{position:relative;z-index:2;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:space-between;padding:7vh 7.5% 2.6vh}
.portal-return{align-self:center;margin-top:-1px;padding:2px 4px;border:0;background:transparent;color:#c5cfdb;font-size:12px;letter-spacing:.03em;text-align:center;text-decoration:none;transition:color .15s ease}
.portal-return:hover{color:#c94a68;text-decoration:underline;text-underline-offset:3px}
.portal-return:focus-visible{border-radius:3px;color:#dc6983;outline:2px solid rgba(190,54,84,.72);outline-offset:3px}
.access-content{display:flex;width:min(100%,520px);flex:1;flex-direction:column;align-items:center;justify-content:center;gap:25px}
.customer-login-card{width:100%;padding:31px 34px 34px;border:1px solid rgba(128,151,178,.62);border-radius:24px;background:linear-gradient(145deg,rgba(9,35,67,.78),rgba(4,23,50,.72));box-shadow:0 24px 50px rgba(0,8,24,.35),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(6px)}
.customer-card-heading{display:grid;grid-template-columns:1fr auto auto 1fr;align-items:center;gap:13px;margin-bottom:25px}
.customer-card-heading h1{margin:0;color:#fff;font-size:20px;font-weight:650;letter-spacing:.1em;white-space:nowrap}
.heading-line{height:1px;background:linear-gradient(90deg,transparent,var(--wine))}
.heading-line:last-child{background:linear-gradient(90deg,var(--wine),transparent)}
.customer-user-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid #bb3a58;border-radius:50%;background:linear-gradient(145deg,#ad2949,#75152d);box-shadow:0 6px 14px rgba(0,0,0,.22)}
.customer-user-icon svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round}
.admin-login-card{padding-block:34px 37px}
.customer-form{display:flex;flex-direction:column;gap:14px}
.customer-field{display:grid;grid-template-columns:40px 1fr auto;align-items:center;min-height:55px;border:1px solid rgba(118,143,171,.75);border-radius:9px;background:rgba(4,25,54,.48);transition:border-color .15s ease,box-shadow .15s ease}
.customer-field:focus-within{border-color:#aebfd3;box-shadow:0 0 0 3px rgba(145,168,195,.12)}
.customer-field>svg{width:21px;height:21px;margin-left:15px;fill:none;stroke:#c5d0dc;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.customer-field input{width:100%;min-width:0;height:53px;padding:0 13px;border:0;outline:0;background:transparent;color:#fff;font-size:15px}
.customer-field input::placeholder{color:#a9b5c3;opacity:1}
.password-toggle{display:grid;width:47px;height:53px;padding:0;place-items:center;border:0;background:transparent;color:#bdc8d5;cursor:pointer}
.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.customer-login-button{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:57px;margin-top:5px;padding:0 15px;border:1px solid #c14360;border-radius:10px;background:linear-gradient(110deg,#7b152e,#a52847 52%,#7c162e);box-shadow:0 8px 20px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.12);color:#fff;font-size:16px;font-weight:700;letter-spacing:.12em;cursor:pointer}
.customer-login-button>span:first-child{grid-column:2}
.login-arrow{grid-column:3;justify-self:end;display:grid;width:29px;height:29px;place-items:center;border:1px solid rgba(255,255,255,.68);border-radius:50%;font-size:18px;line-height:1}
.customer-login-button:hover{filter:brightness(1.06)}
.customer-login-button:focus-visible,.password-toggle:focus-visible,.customer-support a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.customer-error{margin:0;padding:9px 12px;border-left:3px solid #c33e5d;background:rgba(128,21,47,.35);color:#fff;font-size:13px}
.customer-support{width:100%;color:#c7d0db;text-align:center}
.support-heading{display:grid;grid-template-columns:1fr 22px auto 1fr;align-items:center;gap:10px}
.support-heading>span{height:1px;background:linear-gradient(90deg,transparent,var(--wine))}
.support-heading>span:last-child{background:linear-gradient(90deg,var(--wine),transparent)}
.support-heading svg{width:22px;height:22px;fill:none;stroke:#d7dfe8;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.support-heading h2{margin:0;font-size:13px;font-weight:650;letter-spacing:.12em;white-space:nowrap}
.support-details{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:13px;font-size:12px}
.support-details i{width:1px;height:16px;background:rgba(142,158,178,.62)}
.support-details a{color:#eef3f8;text-decoration:none}
.support-details a:hover{text-decoration:underline}
.customer-footer{width:100%;padding-top:16px;border-top:1px solid rgba(135,153,175,.38);color:#99a8b9;text-align:center;font-size:10px;letter-spacing:.025em}
@media(max-height:850px) and (min-width:801px){.customer-access{padding-top:3.5vh}.access-content{gap:15px}.customer-login-card{padding:22px 28px 25px}.customer-card-heading{margin-bottom:17px}.customer-form{gap:10px}.customer-field{min-height:48px}.customer-field input,.password-toggle{height:46px}.customer-login-button{height:49px}.customer-footer{padding-top:11px}.customer-logo{max-height:330px}}
@media(max-width:800px){.customer-shell{display:flex;height:auto;min-height:100vh;flex-direction:column;overflow:auto;background:linear-gradient(155deg,#123963,#061a38 70%)}.customer-split{display:none}.customer-brand{min-height:36vh;padding:42px 24px;background:radial-gradient(circle at 40% 42%,#fff,#eef1f4);border-bottom:5px solid var(--wine)}.customer-logo{width:min(82%,620px);max-height:250px}.customer-access{min-height:64vh;padding:34px 20px 20px}.access-content{width:min(100%,520px);gap:24px}.customer-login-card{padding:27px 22px}.customer-footer{margin-top:30px}.support-details{flex-direction:column;gap:7px}.support-details i{width:44px;height:1px}.customer-card-heading{gap:8px}.customer-card-heading h1{font-size:17px}.customer-user-icon{width:37px;height:37px}}
@media(max-width:800px){.customer-access{align-items:stretch}.access-content{align-self:center}.customer-footer{align-self:center}}
@media(max-width:390px){.customer-access{padding-inline:13px}.customer-login-card{padding:23px 15px}.customer-card-heading h1{font-size:15px;letter-spacing:.07em}.customer-card-heading{grid-template-columns:1fr auto auto 1fr}.support-heading{grid-template-columns:1fr 20px auto 1fr;gap:7px}.support-heading h2{font-size:11px}}
.customer-brand{overflow:hidden}.customer-brand.has-brand-background::before{content:"";position:absolute;z-index:-1;inset:-10%;background-repeat:no-repeat;background-position:center;transform-origin:center}.customer-logo{position:relative;object-fit:contain}
