.auth-root{background:var(--white);grid-template-columns:1fr 1fr;min-height:100vh;display:grid;overflow:hidden}.auth-hero{background:linear-gradient(155deg, var(--teal) 0%, #0d6e69 40%, #1d4ed8 100%);flex-direction:column;justify-content:space-between;padding:40px 48px;display:flex;position:relative;overflow:hidden}.auth-hero:before{content:"";border:60px solid #ffffff0f;border-radius:50%;width:340px;height:340px;position:absolute;top:-80px;right:-80px}.auth-hero:after{content:"";border:50px solid #ffffff0d;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-60px;left:-60px}.auth-hero__brand{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.auth-hero__brand-mark{color:#fff;background:#ffffff2e;border:1.5px solid #ffffff4d;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.auth-hero__brand-name{color:#fff;letter-spacing:-.5px;font-size:22px;font-weight:800}.auth-hero__brand-name em{opacity:.7;font-style:normal}.auth-hero__body{z-index:1;position:relative}.auth-hero__tagline{color:#fff;letter-spacing:-.6px;margin-bottom:16px;font-size:28px;font-weight:800;line-height:1.25}.auth-hero__sub{color:#ffffffa6;max-width:380px;font-size:14px;line-height:1.7}.auth-hero__cards{flex-direction:column;gap:10px;margin-top:28px;display:flex}.auth-hero__card{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:12px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.auth-hero__card-ico{color:#fff;background:#ffffff26;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.auth-hero__card-title{color:#fff;margin-bottom:3px;font-size:13px;font-weight:700}.auth-hero__card-desc{color:#fff9;font-size:11.5px;line-height:1.6}.auth-hero__footer{color:#fff6;z-index:1;justify-content:space-between;font-size:11px;display:flex;position:relative}.auth-form-panel{background:var(--white);justify-content:center;align-items:center;padding:48px 52px;display:flex;overflow-y:auto}.auth-form-wrap{width:100%;max-width:400px}.auth-form-wrap__title{color:var(--text-900);letter-spacing:-.4px;margin-bottom:5px;font-size:22px;font-weight:800}.auth-form-wrap__sub{color:var(--text-500);margin-bottom:32px;font-size:13px;line-height:1.6}.role-tabs{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-bottom:24px;padding:4px;display:grid}.role-tab-btn{color:var(--text-500);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:7px;padding:9px 0;font-size:12px;font-weight:600;transition:all .15s}.role-tab-btn:hover{color:var(--text-900);background:#ffffffb3}.role-tab-btn.active{background:var(--white);color:var(--teal);font-weight:700;box-shadow:0 1px 6px #00000017}.role-tab-btn svg{margin:0 auto 4px;display:block}.cred-hint{background:var(--teal-100);border:1.5px solid var(--teal-200);color:var(--text-700);border-radius:9px;margin-bottom:20px;padding:11px 14px;font-size:11.5px;line-height:1.65;display:none}.cred-hint.visible{display:block}.cred-hint strong{color:var(--teal)}.auth-field{margin-bottom:16px}.auth-field__label{color:var(--text-700);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-field__input{border:1.5px solid var(--border);background:var(--white);width:100%;color:var(--text-900);box-sizing:border-box;border-radius:9px;padding:11px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-field__input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #10847e1a}.auth-field__input--error{border-color:var(--danger)!important}.auth-field__hint{color:var(--text-400);margin-top:5px;font-size:11px}.auth-field__pw-wrap{position:relative}.auth-field__pw-wrap .auth-field__input{padding-right:42px}.auth-field__pw-toggle{color:var(--text-400);cursor:pointer;background:0 0;border:none;padding:0;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.auth-field__pw-toggle:hover{color:var(--teal)}.auth-options{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.auth-checkbox{color:var(--text-700);cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:flex}.auth-checkbox input{accent-color:var(--teal);width:14px;height:14px}.auth-link{color:var(--teal);font-size:12.5px;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-submit{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:9px;width:100%;padding:13px;font-family:Inter,sans-serif;font-size:14px;font-weight:700;transition:background .15s,transform .1s}.auth-submit:hover{background:var(--teal-d)}.auth-submit:active{transform:scale(.99)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:var(--danger-bg);color:var(--danger);border:1.5px solid #fca5a5;border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:12.5px;font-weight:500;display:flex}.auth-error.hidden{display:none}.auth-error svg{flex-shrink:0;margin-top:1px}.auth-loading-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:none;position:fixed;inset:0}.auth-loading-overlay.visible{display:flex}.auth-loading-spinner{border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;width:40px;height:40px;animation:.75s linear infinite spin}.auth-loading-text{color:var(--text-700);font-size:13px;font-weight:600}.auth-success{text-align:center;padding:24px 0}.auth-success__ico{background:var(--success-bg);width:64px;height:64px;color:var(--success);border:3px solid #a7f3d0;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.auth-success__title{color:var(--text-900);margin-bottom:8px;font-size:18px;font-weight:800}.auth-success__sub{color:var(--text-500);font-size:13px;line-height:1.65}.auth-divider{color:var(--text-400);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:12px;margin:22px 0;font-size:11px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-sso{background:var(--bg);border:1.5px solid var(--border);width:100%;color:var(--text-700);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:11px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex}.auth-sso:hover{border-color:var(--teal);box-shadow:0 2px 8px #0000000f}.session-expiry-banner{z-index:500;background:var(--white);border:1.5px solid var(--warning);border-radius:12px;max-width:320px;padding:16px 20px;display:none;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 32px #0000001f}.session-expiry-banner.visible{display:block}.session-expiry-banner__title{color:var(--text-900);margin-bottom:4px;font-size:13px;font-weight:700}.session-expiry-banner__sub{color:var(--text-500);margin-bottom:12px;font-size:11.5px}.session-expiry-banner__countdown{color:var(--warning);margin-bottom:14px;font-family:monospace;font-size:22px;font-weight:800}.session-expiry-banner__actions{gap:8px;display:flex}@media (max-width:900px){.auth-root{grid-template-columns:1fr}.auth-hero{display:none}.auth-form-panel{padding:40px 28px}}.auth-og-shell{--white:#fff;--bg:#f3f7fb;--teal:#10847e;--teal-d:#0d6e69;--teal-100:#e6f3f2;--teal-200:#c2dedd;--border:#e2ecf4;--text-900:#111827;--text-700:#374151;--text-500:#6b7280;--text-400:#9ca3af;--danger:#dc2626;--danger-bg:#fef2f2;--success:#059669;background:var(--bg);flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;display:flex}.auth-og-shell *,.auth-og-shell :before,.auth-og-shell :after{box-sizing:border-box}.auth-og-shell .hidden{display:none!important}.auth-og-shell .auth-shell{flex:1;align-items:stretch;min-height:100vh;display:flex}.auth-og-shell .auth-hero{background:var(--teal);flex-direction:column;flex:0 0 420px;justify-content:center;align-items:center;padding:48px 40px;display:flex;position:relative;overflow:hidden}.auth-og-shell .auth-hero:before{content:"";border:60px solid #ffffff0f;border-radius:50%;width:300px;height:300px;position:absolute;top:-80px;right:-80px}.auth-og-shell .auth-hero:after{content:"";border:50px solid #ffffff0a;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-100px;left:-60px}.auth-og-shell .hero-logo{z-index:1;background:#ffffff26;border:1px solid #fff3;border-radius:14px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:24px;display:flex;position:relative}.auth-og-shell .hero-logo svg{color:#fff}.auth-og-shell .hero-name{color:#fff;letter-spacing:-.5px;z-index:1;text-align:center;margin-bottom:8px;font-size:26px;font-weight:800;position:relative}.auth-og-shell .hero-name span{color:#a7f3f0}.auth-og-shell .hero-tagline{color:#fff9;letter-spacing:.3px;text-align:center;z-index:1;margin-bottom:36px;font-size:12px;font-weight:400;position:relative}.auth-og-shell .hero-features{z-index:1;flex-direction:column;gap:12px;width:100%;display:flex;position:relative}.auth-og-shell .hero-feat{background:#ffffff17;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;display:flex}.auth-og-shell .hero-feat__icon{background:#ffffff26;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.auth-og-shell .hero-feat__icon svg{color:#a7f3f0}.auth-og-shell .hero-feat__title{color:#fff;font-size:12px;font-weight:700}.auth-og-shell .hero-feat__sub{color:#ffffff8c;margin-top:1px;font-size:11px}.auth-og-shell .auth-form-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 32px;display:flex;overflow-y:auto}.auth-og-shell .auth-box{width:100%;max-width:440px}.auth-og-shell .auth-box__header{margin-bottom:28px}.auth-og-shell .auth-box__title{color:var(--text-900);letter-spacing:-.4px;margin-bottom:4px;font-size:22px;font-weight:800}.auth-og-shell .auth-box__sub{color:var(--text-500);font-size:13px}.auth-og-shell .role-tabs{background:var(--bg);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:24px;padding:4px;display:grid}.auth-og-shell .role-tab{color:var(--text-400);letter-spacing:.2px;cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;font-size:11px;font-weight:600;transition:all .18s;display:flex}.auth-og-shell .role-tab svg{opacity:.5;transition:opacity .18s}.auth-og-shell .role-tab.active{background:var(--white);color:var(--teal);box-shadow:0 1px 4px #11182714}.auth-og-shell .role-tab.active svg{opacity:1}.auth-og-shell .role-tab:hover:not(.active){color:var(--teal);background:#10847e0d}.auth-og-shell .cred-hint{background:var(--teal-100);border:1px solid var(--teal-200);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:10px 14px;display:flex}.auth-og-shell .cred-hint svg{color:var(--teal);flex-shrink:0;margin-top:1px}.auth-og-shell .cred-hint__text{color:var(--teal);font-size:11px;font-weight:500;line-height:1.7}.auth-og-shell .cred-hint__text strong{font-weight:700}.auth-og-shell .auth-error{background:var(--danger-bg);color:var(--danger);border:1px solid #fca5a5;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 13px;font-size:12px;font-weight:500;display:flex}.auth-og-shell .field{width:100%}.auth-og-shell .field-label{color:var(--text-700);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-og-shell .field-wrap{position:relative}.auth-og-shell .field-icon{color:var(--text-400);pointer-events:none;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-og-shell .field-input{border:1.5px solid var(--border);background:var(--white);width:100%;color:var(--text-900);border-radius:9px;padding:11px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-og-shell .field-input--icon{padding-left:38px}.auth-og-shell .field-input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #10847e1a}.auth-og-shell .btn-submit{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px;font-size:14px;font-weight:700;transition:background .18s,transform .1s,box-shadow .18s;display:flex;box-shadow:0 3px 10px #10847e47}.auth-og-shell .btn-submit:hover{background:var(--teal-d);box-shadow:0 5px 16px #10847e59}.auth-og-shell .btn-submit:active{transform:scale(.98)}.auth-og-shell .btn-submit:disabled{opacity:.65;cursor:not-allowed}.auth-og-shell .auth-legal{text-align:center;color:var(--text-400);margin-top:16px;font-size:11px;line-height:1.7}.auth-og-shell .auth-footer{background:var(--white);border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.auth-og-shell .footer-status{color:var(--text-500);align-items:center;gap:7px;font-size:11px;display:flex}.auth-og-shell .status-dot{background:var(--success);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}.auth-og-shell .footer-copy{color:var(--text-400);font-size:11px}.auth-og-shell .loading-overlay{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.auth-og-shell .loading-spinner{border:3px solid var(--teal-200);border-top-color:var(--teal);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.auth-og-shell .loading-text{color:var(--teal);font-size:13px;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (max-width:860px){.auth-og-shell .auth-hero{display:none}.auth-og-shell .auth-form-wrap{padding:32px 20px}.auth-og-shell .auth-footer{text-align:center;flex-direction:column;gap:5px;padding:10px 14px}}.auth-og-page{background:var(--grey-bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.auth-og-wrap{width:100%;max-width:400px}.auth-og-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:32px;display:flex}.auth-og-logo-icon{background:var(--teal);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.auth-og-logo-text{color:var(--dark);letter-spacing:-.2px;font-size:20px;font-weight:700}.auth-og-logo-text span{color:var(--teal)}.auth-og-box{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--grey-border);box-shadow:var(--shadow-md);padding:36px 32px}.auth-og-box-header h2{color:var(--dark);margin-bottom:4px;font-size:22px;font-weight:700}.auth-og-box-header p{color:var(--grey-text);margin-bottom:28px;font-size:13px}.auth-og-group{margin-bottom:16px}.auth-og-pass-group{margin-bottom:28px}.auth-og-group label{letter-spacing:.3px;color:var(--dark-mid);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-og-input-wrap{position:relative}.auth-og-input-icon{color:var(--grey-text);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-og-input{border:1.5px solid var(--grey-border);border-radius:var(--radius-sm);width:100%;height:42px;color:var(--dark);background:var(--white);padding:10px 12px 10px 38px;font-size:14px;transition:border-color .2s}.auth-og-input:focus{border-color:var(--teal);outline:none}.auth-og-input-pass{padding-right:42px}.auth-og-eye-btn{color:var(--grey-text);cursor:pointer;background:0 0;border:none;padding:0;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.auth-og-eye-btn:hover{color:var(--teal)}.auth-og-submit{background:var(--teal);color:#fff;border-radius:var(--radius-sm);letter-spacing:.3px;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:background .2s,transform .1s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 12px #10847e4d}.auth-og-submit:hover{background:var(--teal-dark);box-shadow:0 6px 16px #10847e66}.auth-og-submit:active{transform:scale(.98)}.auth-og-submit:disabled{opacity:.75;cursor:not-allowed}.auth-og-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);border:1px solid #f5c6ca;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:12px;font-weight:500;display:flex}.auth-og-footer-note{text-align:center;color:var(--grey-text);margin-top:24px;font-size:11px}.auth-og-loading-overlay{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f3f7fbdb;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.auth-og-loading-spinner{border:3px solid var(--teal-mid);border-top-color:var(--teal);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.auth-og-loading-text{color:var(--teal);font-size:13px;font-weight:600}@media (max-width:480px){.auth-og-page{padding:14px}.auth-og-box{padding:28px 20px}}.auth-pinned-page{background:#f3f7fb;justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Montserrat,sans-serif;display:flex;position:relative}.auth-pinned-wrap{width:100%;max-width:400px}.auth-pinned-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:32px;display:flex}.auth-pinned-logo-icon{color:#fff;background:#10847e;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.auth-pinned-logo-text{color:#1a2733;font-size:20px;font-weight:700}.auth-pinned-logo-text span{color:#10847e}.auth-pinned-box{background:#fff;border:1px solid #e2eaf0;border-radius:16px;padding:36px 32px;box-shadow:0 4px 20px #10847e1f}.auth-pinned-box h2{color:#1a2733;margin-bottom:4px;font-size:22px;font-weight:700}.auth-pinned-box p{color:#8a9bb0;margin-bottom:28px;font-size:13px}.auth-pinned-group{margin-bottom:16px}.auth-pinned-group-pass{margin-bottom:22px}.auth-pinned-group label{color:#2e3f50;letter-spacing:.3px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-pinned-input-wrap{position:relative}.auth-pinned-input-icon{color:#8a9bb0;pointer-events:none;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-pinned-input{color:#1a2733;background:#fff;border:1.5px solid #e2eaf0;border-radius:8px;width:100%;padding:10px 40px 10px 38px;font-size:14px;transition:border-color .2s}.auth-pinned-input[type=password]{color:#1a2733;-webkit-text-fill-color:#1a2733;caret-color:#1a2733}.auth-pinned-pass-toggle{color:#8a9bb0;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-pinned-pass-toggle:hover{color:#10847e}.auth-pinned-pass-toggle:disabled{cursor:not-allowed;opacity:.6}.auth-pinned-input:focus{border-color:#10847e;outline:none}.auth-pinned-submit{color:#fff;letter-spacing:.3px;background:#10847e;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:background .2s,transform .1s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 12px #10847e4d}.auth-pinned-submit:hover{background:#0a6560;box-shadow:0 6px 16px #10847e66}.auth-pinned-submit:active{transform:scale(.98)}.auth-pinned-submit:disabled{opacity:.75;cursor:not-allowed}.auth-pinned-error{color:#e85d6a;background:#fdf0f1;border:1px solid #f5c6ca;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:12px;font-weight:500;display:flex}.auth-pinned-footer{text-align:center;color:#8a9bb0;margin-top:24px;font-size:11px}.auth-pinned-loading{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f3f7fbdb;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.auth-pinned-loading-spinner{border:3px solid #c2e4e2;border-top-color:#10847e;border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.auth-pinned-loading-text{color:#10847e;font-size:13px;font-weight:600}@media (max-width:480px){.auth-pinned-page{padding:14px}.auth-pinned-box{padding:28px 20px}}
