:root{font-family:Urbanist,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#111;background:#efefec;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}button:focus-visible,input:focus-visible{outline:3px solid #72aff4;outline-offset:3px}
.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(circle at 12% 73%,#dfeaf0 0,transparent 34%),radial-gradient(circle at 92% 14%,#f9f8f4 0,transparent 38%),#efefec}
.login-topbar,.login-footer{width:min(1280px,100%);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px}.login-topbar{padding:24px 38px}.topbar-label{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:900;letter-spacing:.13em}.live-dot{width:9px;height:9px;border-radius:50%;background:#2aa774;box-shadow:0 0 0 5px #2aa77418}.topbar-note,.login-footer{color:#777873;font-size:11px;font-weight:700}
.login-layout{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);align-items:center;gap:clamp(48px,8vw,120px);padding:35px 38px 72px}.welcome{max-width:600px}.brand-logo{display:block;width:min(280px,65%);height:auto;object-fit:contain;margin-bottom:72px}.eyebrow,.card-kicker{color:#c9542b;font-size:10px;font-weight:900;letter-spacing:.14em}.welcome h1{font-size:clamp(46px,5.3vw,76px);line-height:1.01;letter-spacing:-.07em;margin:15px 0 19px;font-weight:900}.welcome h1 em{font-style:normal;color:#2d6cb0}.welcome p{max-width:420px;color:#5c5c5a;font-size:17px;line-height:1.5;margin:0}
.login-card{position:relative;overflow:hidden;background:#fcfcfb;border:1px solid #fff;border-radius:28px;padding:36px;box-shadow:0 1px 0 #fff inset,0 24px 58px -33px #15253a4a,0 10px 20px -17px #15253a3d}.card-accent{position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#bc312c,#e37849 48%,#2d6cb0)}.card-heading h2{font-size:31px;line-height:1.08;letter-spacing:-.05em;margin:10px 0 7px}.card-heading p{color:#777873;font-size:13px;margin:0 0 28px}.field{margin-top:18px}.field label{display:block;font-size:12px;font-weight:850;margin-bottom:8px}.field input{display:block;width:100%;height:50px;border:1px solid #dcdedc;border-radius:13px;background:#f8f8f6;color:#111;padding:0 15px;font-size:14px;font-weight:650;transition:border-color .2s,box-shadow .2s,background .2s}.field input:hover{border-color:#b5bdbf}.field input:focus{outline:none;border-color:#2d6cb0;box-shadow:0 0 0 4px #2d6cb019;background:#fff}.password-wrap{position:relative}.password-wrap input{padding-right:88px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:0;border-radius:8px;background:transparent;color:#2d6cb0;padding:8px 10px;font-size:11px;font-weight:850}.password-toggle:hover{background:#e8eff6}.form-error{color:#b93339;min-height:20px;font-size:11px;font-weight:800;margin:12px 0 0}.login-btn{width:100%;height:52px;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:13px;background:#111;color:#fff;padding:0 18px;font-size:14px;font-weight:900;box-shadow:0 9px 20px -13px #0009;transition:transform .18s,background .18s,box-shadow .18s}.login-btn:hover:not(:disabled){background:#303030;transform:translateY(-2px);box-shadow:0 13px 24px -14px #000b}.login-btn span:last-child{font-size:18px;font-weight:500}.login-btn.is-loading{opacity:.7}.card-foot{border-top:1px solid #e7e8e5;color:#777873;padding-top:19px;margin:27px 0 0;font-size:11px;line-height:1.4}.login-footer{padding:18px 38px 24px;border-top:1px solid #11111112}
@media(max-width:760px){.login-layout{grid-template-columns:1fr;gap:28px;padding:28px 22px 52px;max-width:510px}.login-topbar,.login-footer{padding-left:22px;padding-right:22px}.welcome{text-align:center}.brand-logo{width:190px;margin:0 auto 24px}.welcome h1{font-size:40px;margin:10px 0}.welcome p{font-size:13px;margin:0 auto}.login-card{padding:28px;border-radius:23px}.card-heading h2{font-size:27px}.login-footer{margin-top:auto}}
@media(max-width:410px){.topbar-note{display:none}.login-layout{padding-left:15px;padding-right:15px}.welcome h1{font-size:35px}.login-card{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
