*,:before,:after{box-sizing:border-box;margin:0;padding:0}body.login-page{min-height:100vh;font-family:var(--font-sans);letter-spacing:.1px;color:var(--primary-text);-webkit-font-smoothing:antialiased;overflow:hidden}.login-split{height:100vh;display:flex}.left-panel{z-index:5;background:#0a0f1a;flex:0 0 45%;justify-content:center;align-items:center;padding:3rem;display:flex;position:relative;overflow:hidden;box-shadow:4px 0 16px #00000026}.left-bg-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-position:100% 0;background-size:40px 40px;position:absolute;inset:0}.glow-orb{filter:blur(80px);opacity:.22;pointer-events:none;z-index:0;mix-blend-mode:screen;border-radius:50%;animation:12s ease-in-out infinite alternate orbFloat;position:absolute}.orb-1{background:radial-gradient(circle,#00a350 0%,#0000 70%);width:250px;height:250px;top:15%;left:10%}.orb-2{background:radial-gradient(circle,#2563eb 0%,#0000 70%);width:300px;height:300px;animation-delay:-6s;bottom:15%;right:10%}@keyframes orbFloat{0%{transform:translate(0)scale(1)}50%{transform:translate(15px,-20px)scale(1.1)}to{transform:translate(-10px,10px)scale(.95)}}.floating-icons{pointer-events:none;z-index:1;position:absolute;inset:0}.float-icon{color:#ffffff38;will-change:transform, opacity;transition:transform .35s cubic-bezier(.25,.8,.25,1),color .3s,opacity .3s;animation:25s ease-in-out infinite alternate floatSlow;position:absolute}.float-icon.hovered{color:#00a350!important;opacity:.95!important}.fi-1{animation-delay:0s;top:8%;left:8%}.fi-2{animation-delay:-3s;top:14%;right:10%}.fi-3{animation-delay:-6s;top:58%;left:8%}.fi-4{animation-delay:-9s;top:12%;left:32%}.fi-5{animation-delay:-2s;top:58%;right:12%}.fi-6{animation-delay:-12s;top:36%;right:10%}.fi-7{animation-delay:-4s;bottom:18%;left:34%}.fi-8{animation-delay:-7s;top:10%;right:30%}.fi-9{animation-delay:-10s;bottom:10%;left:12%}.fi-10{animation-delay:-5s;top:34%;left:10%}.fi-11{animation-delay:-8s;bottom:16%;right:32%}.fi-12{animation-delay:-1s;bottom:10%;right:10%}@keyframes floatSlow{0%{opacity:.35;transform:translate(0)rotate(0)}25%{opacity:.65;transform:translate(10px,-15px)rotate(5deg)}50%{opacity:.45;transform:translate(-8px,10px)rotate(-3deg)}75%{opacity:.75;transform:translate(15px,8px)rotate(4deg)}to{opacity:.35;transform:translate(0)rotate(0)}}.left-content{z-index:1;text-align:center;flex-direction:column;align-items:center;max-width:380px;margin:0 auto;display:flex;position:relative}.left-brand{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin-bottom:0;display:flex}.left-logo-icon{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:1.5px solid #fff3;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 8px 24px #05966959}.left-brand-name{letter-spacing:-.03em;margin-top:4px;font-size:2.2rem;font-weight:900;line-height:1.1}.lbn-hcl{background:linear-gradient(135deg,#34d399 0%,#059669 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.lbn-guvi{color:#fff}.left-brand-sub{color:#cbd5e1;text-transform:uppercase;letter-spacing:.12em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;margin-top:0;padding:5px 14px;font-size:.75rem;font-weight:600;display:inline-block}.left-heading{color:#fff;letter-spacing:-.03em;text-align:center;margin-bottom:1.5rem;font-size:2.25rem;font-weight:900;line-height:1.15}.left-desc{color:#64748b;margin-bottom:2rem;font-size:.9rem;line-height:1.6}.left-features{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.left-feature{color:#cbd5e1;text-align:left;align-items:center;gap:10px;width:100%;max-width:280px;font-size:.825rem;font-weight:500;display:flex}.left-feature svg{color:#00a350;flex-shrink:0}.right-panel{z-index:1;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);flex-direction:column;flex:1;align-items:center;padding:3rem 1.5rem 1.5rem;display:flex;position:relative;overflow-y:auto}.right-bg-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#00a35004 1px,#0000 1px),linear-gradient(90deg,#00a35004 1px,#0000 1px);background-position:0 0;background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#0000 15%,#000 55%);mask-image:radial-gradient(circle,#0000 15%,#000 55%)}.right-inner{z-index:1;width:100%;max-width:360px;margin-top:auto;margin-bottom:auto;position:relative}.login-card{box-shadow:none;background:0 0;border:none;width:100%;padding:0}.secure-access-info{color:#64748b;letter-spacing:.01em;text-align:center;justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:.72rem;font-weight:500;display:flex}.secure-access-info svg{flex-shrink:0}.login-card-header{margin-bottom:1.75rem}.login-card-header h1{color:#0f172a;margin:0 0 6px;font-size:1.8rem;font-weight:800;line-height:1.2}.login-card-header p{color:#64748b;margin:0;font-size:.85rem;font-weight:500}.login-alert{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:10px;margin-bottom:1.25rem;padding:12px 14px;font-size:.825rem;font-weight:600;display:flex}.login-alert svg{color:#dc2626;flex-shrink:0}.login-form{flex-direction:column;gap:1.25rem;display:flex}.input-group label{color:#334155;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{color:#94a3b8;pointer-events:none;z-index:2;transition:color .15s;display:flex;position:absolute;left:14px}.input-wrap input{color:#0f172a;background:#fff;border:1px solid #94a3b8;border-radius:10px;outline:none;width:100%;height:46px;padding:0 14px 0 44px;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .15s}.input-wrap input::placeholder{color:#94a3b8;font-weight:400}.input-wrap input:focus{background:#fff;border-color:#00a350;box-shadow:0 0 0 3px #00a3501f}.input-wrap:focus-within .input-icon{color:#00a350}.toggle-pw-btn{cursor:pointer;color:#94a3b8;z-index:2;background:0 0;border:none;padding:0;transition:color .15s;display:flex;position:absolute;right:14px}.toggle-pw-btn:hover{color:#0f172a}.form-options{justify-content:space-between;align-items:center;margin-top:-.25rem;display:flex}.checkbox-wrap{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.825rem;font-weight:500;display:flex}.checkbox-wrap input[type=checkbox]{accent-color:#00a350;cursor:pointer;width:16px;height:16px}.forgot-link{color:#00a350;font-size:.825rem;font-weight:600;text-decoration:none;transition:color .15s}.forgot-link:hover{color:#008a42;text-decoration:underline}.btn-signin{background:var(--primary-solid);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:46px;margin-top:.25rem;font-family:inherit;font-size:.925rem;font-weight:700;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00a35040}.btn-signin:hover{background:var(--primary-solid-hover);transform:translateY(-1px);box-shadow:0 4px 16px #00a35059}.btn-signin:active{transform:translateY(0)}.btn-signin:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-signin:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:50%;height:100%;position:absolute;top:0;left:-100%;transform:skew(-25deg)}.btn-signin:hover:after{animation:1.8s infinite shimmer}@keyframes shimmer{to{left:200%}}.spin-icon{width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-divider{color:#94a3b8;align-items:center;gap:14px;margin:1.5rem 0;font-size:.78rem;font-weight:500;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.btn-sso{color:#3c3c3c;letter-spacing:.1px;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;height:46px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.btn-sso:hover{background:#f8fafc;border-color:#94a3b8;box-shadow:0 2px 8px #00000014}.btn-sso:focus-visible{border-color:#00a350;outline:none;box-shadow:0 0 0 3px #00a35026}.btn-sso:disabled{opacity:.6;cursor:not-allowed}.btn-sso .spinner{border:2px solid #3c3c3c;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.login-footer{color:#94a3b8;text-align:center;z-index:1;width:100%;max-width:360px;margin-top:2rem;padding-top:1rem;font-size:.72rem;font-weight:500;position:relative}.sso-btn-row{gap:10px;margin-bottom:0;display:flex}.sso-btn-row .btn-sso{flex:1}.btn-jumpcloud{color:#0c2340;letter-spacing:.1px;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:10px;height:44px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.btn-jumpcloud:hover{color:#0c2340;background:#0c23400d;border-color:#0c2340;box-shadow:0 2px 12px #0c23401f}.btn-jumpcloud:active{transform:scale(.98)}.btn-jumpcloud:disabled{opacity:.6;cursor:not-allowed}.shake{animation:.45s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.toast-container{z-index:10000;flex-direction:column;gap:8px;display:flex;position:fixed;top:auto;bottom:1.5rem;right:1.5rem}@media (width<=900px){.left-panel{display:none}.right-panel{flex:1;padding:2rem 1.25rem}}@media (width<=480px){.right-inner{max-width:100%}.login-card-header h1{font-size:1.35rem}}[data-theme=dark] body.login-page{color:#f8fafc;background:#0b0f19}[data-theme=dark] .right-panel{background:linear-gradient(135deg,#0b0f19 0%,#111827 100%);border-left:1px solid #1f2937}[data-theme=dark] .right-bg-grid{background-image:linear-gradient(#00a3500d 1px,#0000 1px),linear-gradient(90deg,#00a3500d 1px,#0000 1px)}[data-theme=dark] .login-card-header h1{color:#f8fafc}[data-theme=dark] .login-card-header p{color:#94a3b8}[data-theme=dark] .input-group label{color:#cbd5e1}[data-theme=dark] .input-wrap input{color:#f8fafc;background:#1f2937;border-color:#374151}[data-theme=dark] .input-wrap input:focus{background:#1f2937;border-color:#00a350}[data-theme=dark] .checkbox-wrap{color:#cbd5e1}[data-theme=dark] .secure-access-info{color:#94a3b8}[data-theme=dark] .login-divider{color:#4b5563}[data-theme=dark] .login-divider:before,[data-theme=dark] .login-divider:after{background:#1f2937}[data-theme=dark] .btn-sso,[data-theme=dark] .btn-jumpcloud{color:#cbd5e1;background:#1f2937;border-color:#374151}[data-theme=dark] .btn-sso:hover,[data-theme=dark] .btn-jumpcloud:hover{color:#f8fafc;background:#273549;border-color:#4b5563}[data-theme=dark] .toggle-pw-btn:hover{color:#f8fafc}@media (prefers-reduced-motion:reduce){.float-icon{animation:none!important;transform:none!important}.glow-orb{animation:none!important}.btn-signin:after{display:none!important}}.left-brand-block{text-align:left;flex-direction:column;align-items:flex-start;width:100%;padding:0 20px;display:flex}.left-brand-row{align-items:center;gap:16px;margin-bottom:16px;display:flex}.left-brand-logo{object-fit:contain;width:48px;height:48px}.left-brand-text{flex-direction:column;display:flex}.left-brand-title{color:#fff;letter-spacing:-.02em;font-size:1.8rem;font-weight:800;line-height:1.1}.left-brand-tag{color:#34d399;margin-top:2px;font-size:.9rem;font-weight:700}.left-brand-desc{color:#94a3b8;max-width:300px;margin:0;font-size:.925rem;font-weight:500;line-height:1.4}.sso-stack{flex-direction:column;gap:10px;display:flex}.btn-sso:active:not(:disabled){transform:scale(.98)}.link-button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.guest-toggle{border-radius:var(--radius-sm,6px);min-height:44px;font:inherit;color:var(--text-3);cursor:pointer;background:0 0;border:none;align-self:center;align-items:center;gap:6px;padding:0 8px;font-size:.825rem;font-weight:600;transition:color .15s;display:inline-flex}.guest-toggle:hover{color:var(--text-1)}.guest-toggle:focus-visible,.link-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.guest-toggle .chevron{transition:transform .2s cubic-bezier(.16,1,.3,1)}.guest-toggle .chevron.open{transform:rotate(180deg)}.local-login-fields{flex-direction:column;gap:1.25rem;animation:.2s ease-out fadeIn;display:flex}.form-options-end{justify-content:flex-end}.text-link{color:var(--primary);align-self:flex-start;font-size:.8rem;font-weight:600}.text-link:hover{text-decoration:underline}.input-hint{color:var(--text-3);margin:6px 0 0;font-size:.75rem;line-height:1.45}.otp-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.otp-cell{text-align:center;border:1px solid var(--border);background:var(--bg-surface-2);width:100%;min-width:0;height:48px;color:var(--text-1);border-radius:8px;font-size:1.25rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.otp-cell.filled{border:2px solid var(--primary)}.otp-cell:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #00a3502e}.recovery-input{letter-spacing:2px;text-transform:uppercase}.mfa-actions{gap:10px;display:flex}.mfa-actions .btn{border-radius:10px;height:46px}.mfa-actions .btn-secondary{flex:1}.mfa-actions .btn-primary{flex:2;font-weight:700}.login-alert-info{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.login-alert-info svg{color:#047857}.login-modal{background:var(--bg-surface-1);border-radius:12px;flex-direction:column;gap:14px;width:calc(100% - 32px);max-width:440px;padding:24px;display:flex}.login-modal-title{color:var(--text-1);margin:0;font-size:1.2rem;font-weight:800}.login-modal-text{color:var(--text-3);margin:0;font-size:.85rem;line-height:1.5}.login-modal-strong{color:var(--text-1);margin:0 0 6px;font-size:.85rem;font-weight:700;line-height:1.5}.login-modal-box{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:8px;padding:16px}.login-modal-form{flex-direction:column;gap:14px;display:flex}.login-modal-form .input-wrap input{padding-left:14px}.login-modal-actions{justify-content:flex-end;gap:10px;display:flex}.btn-signin.as-link{text-decoration:none}.skeleton-stack{flex-direction:column;gap:14px;display:flex}.skeleton-line{border-radius:6px;width:70%;height:14px}.skeleton-field{border-radius:10px;height:46px}.setup-intro{color:var(--text-2,#475569);margin:0;font-size:.85rem;line-height:1.55}.setup-step{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1rem;min-width:0;margin:0;padding:16px;display:flex}.setup-step legend{color:var(--text-1);padding:0 6px;font-size:.85rem;font-weight:700}.totp-setup{align-items:center;gap:16px;display:flex}.totp-qr{border:1px solid var(--border);background:#fff;border-radius:8px;flex-shrink:0;width:168px;height:168px}.totp-secret{flex-direction:column;gap:6px;min-width:0;display:flex}.secret-code{color:var(--text-1);background:var(--bg-surface-2);border:1px solid var(--border);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:6px;padding:6px 8px;font-size:.8rem;font-weight:600}.otp-single{letter-spacing:.4em;font-weight:700;padding-left:14px!important}.recovery-block{flex-direction:column;gap:8px;display:flex}.recovery-grid{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:10px;list-style:none;display:grid}.recovery-grid code{color:var(--text-1);-webkit-user-select:all;user-select:all;font-size:.8rem;font-weight:600}@media (width<=420px){.totp-setup{flex-direction:column;align-items:flex-start}.otp-cell{height:44px}}[data-theme=dark] .login-alert{color:#fca5a5;background:#ef44441f;border-color:#f8717159}[data-theme=dark] .login-alert svg{color:#fca5a5}[data-theme=dark] .login-alert-info{color:#6ee7b7;background:#10b9811f;border-color:#10b98159}[data-theme=dark] .login-alert-info svg{color:#6ee7b7}[data-theme=dark] .setup-intro{color:#cbd5e1}@media (prefers-reduced-motion:reduce){.local-login-fields{animation:none}.guest-toggle .chevron{transition:none}}
