:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#111315;font-size:16px;--green:#128344;--green-dark:#0b6534;--muted:#5d6870;--red:#dc202b}
*{box-sizing:border-box}body{margin:0;background:#111315}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green-dark)}[hidden]{display:none!important}
.layout{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;min-height:100svh;max-width:3000px;margin:auto}
.brand-panel{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2rem,4vw,6rem);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:3rem}
.brand-panel:before{content:"";position:absolute;z-index:-1;width:clamp(15rem,23vw,35rem);height:clamp(15rem,23vw,35rem);border:clamp(2rem,3vw,4rem) solid var(--red);border-radius:50%;right:-38%;top:14%;opacity:.85}
.brand-panel:after{content:"";position:absolute;z-index:-1;width:45%;height:2px;background:var(--red);right:-15%;bottom:16%;transform:rotate(-18deg);box-shadow:0 1.2rem 0 var(--red),0 2.4rem 0 var(--red)}
.company-logo{font-size:1.7rem;font-weight:900;letter-spacing:-.075em;display:flex;align-items:center;flex-wrap:wrap}.company-logo>span,.company-small span{color:var(--red)}.company-logo small{font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#b9bfc3;border-left:1px solid #626568;padding-left:1rem;margin-left:1rem}
.hero{max-width:40rem;padding:1rem 0}.eyebrow{font-size:.68rem;letter-spacing:.19em;font-weight:700;text-transform:uppercase;line-height:1.6;color:#b9bfc3;margin:0 0 1.8rem;display:flex;align-items:center;gap:.8rem}.eyebrow:before{content:"";background:var(--red);width:2rem;height:3px;flex-shrink:0}
h1{font-size:clamp(2.65rem,4.8vw,6.2rem);line-height:1.04;letter-spacing:-.06em;margin:0;font-weight:800}h1 span{color:#20b65a}.description{font-size:1.03rem;line-height:1.75;color:#c7cdd0;max-width:29rem;margin:1.6rem 0 0}.brand-foot{display:flex;gap:.8rem;align-items:center;font-size:.78rem;color:#c7cdd0}.brand-foot p{margin:0;line-height:1.6}.brand-foot strong{color:white}.connection-icon{background:var(--green);border-radius:50%;width:2.2rem;height:2.2rem;display:grid;place-items:center;font-size:1.2rem;flex-shrink:0}
.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;padding:clamp(1.5rem,3vw,4rem);background-color:#f4f5f5;background-image:radial-gradient(#d8dddf .7px,transparent .7px);background-size:20px 20px;min-width:0}
.card{width:100%;max-width:31rem;background:white;border:1px solid #e8ebed;border-radius:1.7rem;padding:clamp(1.5rem,3vw,3rem);box-shadow:0 24px 65px #11131512;min-width:0}
.product-brand{display:flex;align-items:center;gap:.9rem;margin-bottom:2rem}.app-mark{width:3.4rem;height:3.4rem;flex-shrink:0;filter:drop-shadow(0 8px 10px #12834422)}.product-brand>div{min-width:0}.product-title{font-size:1.05rem;font-weight:850;letter-spacing:-.025em;margin:0;line-height:1.25}.product-subtitle{font-size:.63rem;color:var(--muted);letter-spacing:.14em;font-weight:750;margin:.3rem 0}.company-small{font-size:.68rem;font-weight:850;margin:.4rem 0 0;letter-spacing:-.04em}
h2{font-size:clamp(1.55rem,2.2vw,1.9rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 .75rem}.welcome{font-size:.93rem;line-height:1.6;color:var(--muted);margin:0 0 1.5rem}.field{margin:1.1rem 0 0}.field>label{font-size:.87rem;font-weight:650;display:block;margin:0 0 .5rem}.field input{width:100%;height:3.35rem;border:1px solid #cbd2d6;border-radius:.75rem;background:#fcfdfd;padding:.8rem 1rem;min-width:0;font-size:1rem;color:#111315}.field input::placeholder{color:#67747d;font-size:.88rem}.field input:focus{outline:2px solid var(--green);outline-offset:2px;background:#fff}
.password-wrap{position:relative}.password-wrap input{padding-right:3.5rem}.toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;display:grid;place-items:center;background:transparent;border:0;border-radius:.5rem;color:#54646d;font-size:.78rem}.toggle:hover{background:#edf2ef}.toggle svg,.submit svg,.security svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.caps{font-size:.78rem;color:#855900;margin:.5rem 0}
.form-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;margin:1rem 0 1.2rem;font-size:.8rem}.remember{display:flex;align-items:center;gap:.45rem;min-height:2.75rem;cursor:pointer}.remember input{width:1.1rem;height:1.1rem;accent-color:var(--green);margin:0}.text-button{border:0;background:transparent;color:#ad1420;font-size:.8rem;font-weight:650;min-height:2.75rem;padding:.4rem 0;text-align:left}.text-button:hover{text-decoration:underline}
.submit{width:100%;min-height:3.4rem;padding:.85rem 1rem;margin-top:1.2rem;border:0;border-radius:.8rem;background:var(--green);color:white;font-size:.95rem;font-weight:750;display:flex;gap:.6rem;align-items:center;justify-content:center;text-decoration:none;text-align:center;box-shadow:0 10px 18px #12834415}.form-row+.submit{margin-top:0}.submit:hover{background:var(--green-dark)}.submit:disabled{opacity:.7;cursor:wait}.help{margin:1.7rem 0 0;padding-top:1.2rem;border-top:1px solid #e4e8e9;text-align:center;font-size:.75rem;line-height:1.7;color:var(--muted)}.security{display:flex;gap:.5rem;align-items:center;justify-content:center;font-size:.7rem;color:#5d6870;margin:0}.security svg{width:.9rem;height:.9rem;color:var(--green)}
.notice{padding:.9rem 1rem;background:#f0f4f2;border:1px solid #d6e4da;border-radius:.6rem;font-size:.83rem;line-height:1.6;margin:1rem 0;overflow-wrap:anywhere}.notice p{margin:.2rem 0}.notice.error{background:#fff3f2;border-color:#efc5c2;color:#951923}.notice.success{color:#0b6534;background:#eaf7ef}.password-guidance{font-size:.8rem;line-height:1.5;color:var(--muted)}.logout-form{margin-top:.75rem;text-align:center}.access-label{display:inline-block;font-size:.62rem;font-weight:750;color:var(--green-dark);background:#eaf7ef;padding:.5rem .7rem;border-radius:2rem;letter-spacing:.07em;margin:0 0 1rem}.account-info{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:1rem;background:#f6f7f7;border-radius:.7rem;font-size:.9rem}.account-info span{color:var(--muted)}.secondary{display:block;text-align:center;padding:.8rem;border:1px solid #cbd2d6;border-radius:.7rem;text-decoration:none;font-weight:600;font-size:.88rem;min-height:2.75rem}
:focus-visible{outline:3px solid #128344;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-5rem;left:1rem;z-index:10;background:#fff;padding:1rem}.skip:focus{top:1rem}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.brand-panel{display:none}.login-panel{min-height:100vh;min-height:100svh;padding:2rem 1.25rem}.card{max-width:30rem}.company-small{font-size:.8rem}}
@media(max-width:420px){.login-panel{padding:1.5rem 1rem;background:#f6f7f7;gap:1rem}.card{padding:1.4rem 1.2rem;border-radius:1.2rem}.product-brand{gap:.7rem;margin-bottom:1.6rem}.product-title{font-size:.9rem}.product-subtitle{font-size:.58rem}.app-mark{width:2.85rem;height:2.85rem}.form-row{align-items:flex-start;gap:0}.welcome{font-size:.88rem}}
@media(min-width:2000px){:root{font-size:clamp(18px,.7vw,28px)}.brand-panel:before{right:-30%}.hero{max-width:43rem}.card{max-width:32rem}}
@media(min-width:1001px) and (max-height:780px){.brand-panel{padding:2rem 3rem;gap:2rem}.hero{padding:0}h1{font-size:clamp(2.7rem,4.3vw,4.8rem)}.login-panel{padding:1.4rem 2rem;gap:.8rem}.card{padding:1.7rem 2rem}.product-brand{margin-bottom:1.3rem}.welcome{margin-bottom:1rem}.help{margin-top:1.2rem;padding-top:.8rem}}
@media(prefers-reduced-motion:no-preference){button,a,input{transition:background-color .15s,border-color .15s}}
