*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}.auth-body{background:#f8fafc;min-height:100vh;font-family:Nunito,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1f2937}.auth-layout{position:relative;display:grid;grid-template-columns:1fr;min-height:100vh;overflow:hidden;isolation:isolate}@media(min-width:992px){.auth-layout{grid-template-columns:1.05fr 1fr}}.auth-brand{position:relative;display:none;background:radial-gradient(circle at 15% 20%,rgba(230,57,70,.25),transparent 45%),radial-gradient(circle at 85% 85%,rgba(255,210,63,.18),transparent 45%),linear-gradient(135deg,#1a2547,#131b35 52%,#0b1428);color:#fff;box-shadow:inset 0 0 80px #131b3599;flex-direction:column;justify-content:center;padding:56px 64px}@media(min-width:992px){.auth-brand{display:flex}}.auth-brand:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:64px 64px;pointer-events:none;-webkit-mask-image:radial-gradient(90% 70%,#000 40%,transparent 100%);mask-image:radial-gradient(90% 70%,#000 40%,transparent 100%)}.auth-brand:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 1, 0 0 0 0 1, 0 0 0 0 1, 0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.brand-tagline{position:relative;z-index:6;max-width:520px;animation:auth-fade-up .9s ease-out .3s both}.brand-tagline .eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:22px;font-family:JetBrains Mono,Roboto Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#ffd23f}.brand-tagline .eyebrow:before{content:"";width:28px;height:1px;background:#ffd23f}.brand-tagline h1{font-size:clamp(2rem,3.4vw,3rem);line-height:1.05;font-weight:800;letter-spacing:-.02em;margin:0 0 20px;color:#fff}.brand-tagline .underline-accent{position:relative;white-space:nowrap}.brand-tagline .underline-accent:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:10px;background:#e63946;opacity:.85;z-index:-1;border-radius:2px}.brand-tagline p{color:#ffffffb8;font-size:1.0625rem;line-height:1.6;margin:0;max-width:460px}.brand-foot{position:relative;z-index:6;display:flex;flex-wrap:wrap;gap:32px;margin-top:56px;color:#ffffff8c;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;animation:auth-fade-up 1s ease-out .5s both}.brand-foot span{display:inline-flex;align-items:center;gap:8px}.brand-foot svg{color:#ffd23f;width:16px;height:16px;flex:none}.deco{position:absolute;top:50%;left:51.2%;transform:translate(-50%,-50%);width:460px;height:460px;z-index:5;pointer-events:none;display:none}@media(min-width:992px){.deco{display:block}}.arc{position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);border-radius:50%}.arc:before,.arc:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%}.arc:before{inset:46px}.arc:after{inset:92px;border-color:#ffd23f38}.orbit-rotator{position:absolute;inset:0;animation:auth-orbit 8s linear infinite;will-change:transform}.dot{position:absolute;display:block;top:50%;left:100%;width:18px;height:18px;margin-top:-9px;margin-left:-9px;border-radius:50%;background:#ffd23f;box-shadow:0 0 32px 6px #ffd23fa6,0 0 16px 3px #e639468c,0 0 4px 1px #ffffffe6}@keyframes auth-orbit{to{transform:rotate(360deg)}}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-form{position:relative;z-index:10;background:#f8fafc;display:flex;align-items:center;justify-content:center;padding:32px 20px}@media(min-width:640px){.auth-form{padding:48px 32px}}@media(min-width:992px){.auth-form{padding:56px 64px}}.auth-formwrap{width:100%;max-width:420px}.auth-logo{display:flex;justify-content:center;margin-bottom:32px}.auth-logo img{height:70px;width:auto}@media(min-width:992px){.auth-logo{margin-bottom:40px}}.auth-heading{margin:0 0 6px;font-size:1.4rem;font-weight:800;color:#0f172a;letter-spacing:-.02em}.auth-sub{margin:0 0 28px;color:#6b7280;font-size:.9375rem}.btn-sso{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:46px;padding:0 16px;margin-bottom:18px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;color:#1f2937;font-weight:600;font-size:.9375rem;text-decoration:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.btn-sso:hover{border-color:#1a2547;box-shadow:0 4px 12px #0f172a0f}.divider{display:flex;align-items:center;gap:12px;margin:6px 0 18px;color:#9ca3af;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.field{margin-bottom:18px}.field label{display:block;margin-bottom:8px;font-size:.8125rem;font-weight:600;color:#1f2937;letter-spacing:.01em}.field input[type=email],.field input[type=password],.field input[type=text]{display:block;width:100%;height:48px;padding:12px 14px;font-size:.9375rem;font-family:inherit;color:#0f172a;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder{color:#8b919e}.field input:focus{outline:none;border-color:#1a2547;box-shadow:0 0 0 4px #1a25471f}.field-error{display:block;margin-top:6px;font-size:.8125rem;color:#c92c39;font-weight:600}.pw-wrap{position:relative}.pw-wrap input{padding-right:44px}.pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;color:#6b7280;border-radius:8px;cursor:pointer;transition:color .15s ease,background .15s ease}.pw-toggle:hover{color:#1a2547;background:#1a25470f}.pw-toggle:focus-visible{outline:2px solid rgba(26,37,71,.4);outline-offset:1px}.row-extra{display:flex;align-items:center;justify-content:space-between;margin:6px 0 22px;font-size:.875rem}.remember{display:inline-flex;align-items:center;gap:8px;margin:0;color:#1f2937;cursor:pointer}.remember input[type=checkbox]{width:16px;height:16px;accent-color:#1a2547;margin:0}.forgot{color:#1a2547;font-weight:600;text-decoration:none}.forgot:hover{color:#e63946;text-decoration:underline}.btn-login{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;padding:0 16px;border:0;border-radius:10px;background:#1a2547;color:#fff;font-weight:700;font-size:.9375rem;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:background .15s ease,transform .05s ease,box-shadow .15s ease;box-shadow:0 6px 16px #1a254740}.btn-login:hover{background:#e63946;box-shadow:0 8px 20px #e639464d}.btn-login:active{transform:translateY(1px)}.btn-login:focus-visible{outline:2px solid rgba(26,37,71,.4);outline-offset:2px}.btn-login:disabled{opacity:.6;cursor:not-allowed}.auth-status{margin-bottom:18px;padding:12px 14px;border-radius:10px;background:#ffd23f2e;border:1px solid rgba(255,210,63,.5);color:#0f172a;font-size:.875rem;font-weight:600}.back-wrap{margin-top:18px;text-align:center}.back-link{display:inline-flex;align-items:center;gap:6px;color:#6b7280;font-weight:600;text-decoration:none;font-size:.875rem}.back-link:hover{color:#1a2547}.footer-note{margin-top:24px;text-align:center;font-size:.875rem;color:#6b7280}.footer-note a{color:#1a2547;font-weight:700;text-decoration:none}.footer-note a:hover{color:#e63946}
