*{margin:0;padding:0;box-sizing:border-box}.page-loader{position:fixed;top:0;left:0;width:100%;height:3px;z-index:9999;background:transparent;display:none;overflow:hidden}.page-loader.loading{display:block}.page-loader-bar{height:100%;background:linear-gradient(90deg,var(--sd-accent),var(--sd-primary-2),var(--sd-accent));background-size:200% 100%;box-shadow:0 1px 8px rgba(29,78,216,.45);animation:pageLoaderAnim 1.2s ease-in-out infinite;width:0}@keyframes pageLoaderAnim{0%{width:0;background-position:0% 50%}45%{width:72%}100%{width:100%;background-position:200% 50%}}body.auth-body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--sd-bg-body);min-height:100vh;min-height:100dvh;color:var(--sd-text-primary)}.auth-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:14px 18px}.auth-card-wrapper{display:flex;width:100%;max-width:900px;min-height:380px;background:var(--sd-bg-card);border:1px solid var(--sd-border);border-radius:var(--sd-radius);box-shadow:var(--sd-shadow-lg);overflow:hidden}.auth-branding{flex:1;background:linear-gradient(145deg,var(--sd-primary-dark) 0%,var(--sd-primary) 48%,var(--sd-primary-2) 100%);display:flex;align-items:center;justify-content:center;padding:24px 30px;color:#fff;position:relative;overflow:hidden}.auth-branding::before{content:none}.auth-branding-content{position:relative;z-index:1}.auth-logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;margin-bottom:18px}.auth-logo img{width:32px;height:32px;border-radius:var(--sd-radius);background:rgba(255,255,255,.12);padding:3px}.auth-tagline{font-size:22px;font-weight:700;line-height:1.25;margin-bottom:12px}.auth-description{font-size:13px;line-height:1.4;opacity:.8;margin-bottom:18px}.auth-features{display:flex;flex-direction:column;gap:8px}.auth-feature-item{display:flex;align-items:center;gap:8px;font-size:13px}.auth-feature-item i{color:var(--sd-accent);font-size:14px}.auth-banner-visual{display:block;width:100%;max-width:280px;height:auto;aspect-ratio:20/7;object-fit:cover;margin-top:14px;border-radius:var(--sd-radius);box-shadow:0 18px 40px rgba(2,6,23,.24)}.auth-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:28px 36px}.auth-form-container{width:100%;max-width:340px}.auth-form-header{margin-bottom:16px}.auth-form-header h2{font-size:20px;font-weight:700;margin-bottom:4px;line-height:1.2}.auth-form-header p{color:var(--sd-text-secondary);font-size:13px;line-height:1.3}.auth-form .form-floating{position:relative}.auth-form .form-floating>.form-control{height:48px;min-height:48px;border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);font-size:13px;line-height:1.15;padding:1.25rem 2.5rem .35rem 14px}.auth-form .form-floating>.form-control:focus{border-color:var(--sd-primary-2);box-shadow:0 0 0 3px rgba(29,78,216,.12)}.auth-form .form-floating>label{height:auto;padding:.85rem 14px;color:var(--sd-text-secondary);line-height:1.05;pointer-events:none;font-size:13px}.auth-form .form-floating>.form-control:focus~label,.auth-form .form-floating>.form-control:not(:placeholder-shown)~label,.auth-form .form-floating>.form-control:-webkit-autofill~label{color:var(--sd-text-secondary);opacity:.82;transform:scale(.85) translateY(-.72rem) translateX(.15rem)}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--sd-text-secondary);cursor:pointer;z-index:10;padding:4px}.password-toggle:hover{color:var(--sd-text-primary)}.auth-submit-btn{height:42px;font-size:14px;font-weight:600;border-radius:var(--sd-radius-sm);background:var(--sd-primary-2);border:0;transition:all .2s ease}.auth-submit-btn:hover{background:var(--sd-primary);transform:translateY(-1px);box-shadow:0 4px 12px rgba(13,43,107,.28)}.auth-divider{display:flex;align-items:center;margin:14px 0;color:var(--sd-text-secondary);font-size:13px}.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--sd-border)}.auth-divider span{padding:0 16px}.auth-google-btn{height:40px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:500;border-radius:var(--sd-radius-sm);border:1px solid var(--sd-border);background:#fff;color:var(--sd-text-primary);text-decoration:none}.auth-google-btn:hover{background:var(--sd-bg-body);border-color:#ccc}.google-icon{width:20px;height:20px}.auth-link{color:var(--sd-primary-2);text-decoration:none;font-weight:500;font-size:13px}.auth-link:hover{color:var(--sd-primary);text-decoration:underline}.auth-footer{margin-top:12px;text-align:center;color:var(--sd-text-secondary);font-size:12px}.auth-footer-content{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.auth-footer p,.auth-signup-link p{margin-bottom:0}.auth-footer-controls{display:flex;align-items:center;gap:8px}.auth-footer-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);color:var(--sd-text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease}.auth-footer-btn:hover{background:var(--sd-bg-body);color:var(--sd-text-primary);border-color:var(--sd-primary)}.auth-footer-btn i{font-size:14px}.auth-current-lang{font-weight:600;font-size:12px}.auth-language-dropdown .dropdown-menu{min-width:140px;padding:6px}.auth-language-dropdown .dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;border-radius:var(--sd-radius-sm)}.auth-language-dropdown .dropdown-item:hover{background:var(--sd-bg-body)}.auth-language-dropdown .dropdown-item.active{background:var(--sd-primary);color:#fff}.auth-language-dropdown .lang-flag{width:18px;height:13px;border-radius:2px;object-fit:cover}.auth-form .mb-3{margin-bottom:.6rem!important}.auth-form .mb-4{margin-bottom:.75rem!important}.auth-signup-link.mt-4{margin-top:.85rem!important}.auth-form .cf-turnstile{transform:scale(.86);transform-origin:top center;margin-bottom:-10px}.auth-footer a{color:var(--sd-primary);text-decoration:none}body.auth-body.auth-login-page{height:100vh;height:100dvh;min-height:0;overflow:hidden}.auth-login-page .auth-container{height:100%;min-height:0;gap:clamp(6px,1.5dvh,12px);padding:clamp(8px,2.2dvh,18px) clamp(12px,1.6vw,18px)}.auth-login-page .auth-card-wrapper{flex:0 1 auto;min-height:min(380px,calc(100dvh - 84px));max-height:100%}.auth-login-page .auth-branding,.auth-login-page .auth-form-panel{min-width:0;min-height:0}.auth-login-page .auth-branding{padding:clamp(16px,4dvh,24px) clamp(20px,3vw,30px)}.auth-login-page .auth-logo{margin-bottom:clamp(8px,2.8dvh,18px)}.auth-login-page .auth-tagline{font-size:clamp(18px,3.4dvh,22px);margin-bottom:clamp(7px,1.8dvh,12px)}.auth-login-page .auth-description{margin-bottom:clamp(9px,2.5dvh,18px)}.auth-login-page .auth-features{gap:clamp(4px,1.2dvh,8px)}.auth-login-page .auth-banner-visual{width:clamp(170px,38dvh,280px);max-width:100%;margin-top:clamp(8px,2.2dvh,14px)}.auth-login-page .auth-form-panel{padding:clamp(14px,4.5dvh,28px) clamp(20px,3vw,36px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.auth-login-page .auth-form-header{margin-bottom:clamp(8px,2.4dvh,16px)}.auth-login-page .auth-footer{flex:0 0 auto;margin-top:0}@media(max-height:540px) and (min-width:769px){.auth-login-page .auth-banner-visual{width:clamp(145px,31dvh,190px)}.auth-login-page .auth-form .form-floating>.form-control{height:44px;min-height:44px}.auth-login-page .auth-form .mb-3{margin-bottom:.4rem!important}.auth-login-page .auth-form .mb-4{margin-bottom:.5rem!important}.auth-login-page .auth-divider{margin:8px 0}.auth-login-page .auth-signup-link.mt-4{margin-top:.5rem!important}}.tenant-login-shell{width:100%;min-height:520px;display:grid;grid-template-columns:minmax(260px,.92fr) minmax(320px,1fr);background:#fff}.tenant-login-brand{display:flex;align-items:center;justify-content:center;padding:42px;background:color-mix(in srgb,var(--tenant-theme) 12%,#f8fafc);border-right:1px solid var(--sd-border)}.tenant-login-logo{width:clamp(150px,18vw,220px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#fff;border:8px solid color-mix(in srgb,var(--tenant-theme) 28%,#fff);box-shadow:0 22px 54px rgba(15,23,42,.14)}.tenant-login-logo img{width:100%;height:100%;object-fit:cover}.tenant-login-logo span{font-size:clamp(34px,5vw,58px);font-weight:800;color:var(--tenant-theme)}.tenant-login-form{display:flex;align-items:center;justify-content:center;padding:40px}.tenant-login-form .auth-form-header h2{color:var(--tenant-theme);overflow-wrap:anywhere}.tenant-login-form .auth-form .form-control:focus{border-color:var(--tenant-theme);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-theme) 18%,transparent)}.tenant-login-form .auth-link{color:var(--tenant-theme)}.tenant-submit-btn{background:var(--tenant-theme)}.tenant-submit-btn:hover{background:color-mix(in srgb,var(--tenant-theme) 84%,#020617)}.mfa-otp-inputs{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.mfa-otp-inputs input{width:56px;height:56px;text-align:center;font-size:24px;font-weight:600;border:2px solid var(--sd-border);border-radius:var(--sd-radius)}.mfa-otp-inputs input:focus{border-color:var(--sd-primary-2);box-shadow:0 0 0 3px rgba(29,78,216,.12);outline:0}@media(max-width:768px){.auth-container{padding:12px}.auth-branding{display:none}.auth-form-panel{padding:28px 20px}.auth-card-wrapper{min-height:auto;max-width:420px}.tenant-login-shell{min-height:auto;grid-template-columns:1fr}.tenant-login-brand{min-height:190px;padding:28px;border-right:0;border-bottom:1px solid var(--sd-border)}.tenant-login-logo{width:132px}.tenant-login-form{padding:28px 20px}}html[data-bs-theme="dark"] .auth-body,html[data-bs-theme="dark"] body{background:#0b1220;color:#e8eaed}html[data-bs-theme="dark"] .auth-form-panel{background:#111a2c;color:#e8eaed}html[data-bs-theme="dark"] .auth-form-panel .form-control,html[data-bs-theme="dark"] .auth-form-panel .form-select{background-color:#0b1220;border-color:#334155;color:#e8eaed}html[data-bs-theme="dark"] .auth-footer{color:#94a3b8}html[data-bs-theme="dark"] .auth-card-wrapper,html[data-bs-theme="dark"] .tenant-login-shell{background:var(--sd-bg-card);border-color:var(--sd-border)}html[data-bs-theme="dark"] .tenant-login-brand{background:color-mix(in srgb,var(--tenant-theme) 14%,#0b1220)}html[data-bs-theme="dark"] .auth-google-btn{background:#0b1220;border-color:#334155;color:#e8eaed}html[data-bs-theme="dark"] .auth-google-btn:hover{background:#182235}