@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;src:url(/build/fonts/ibm-plex-sans-latin.7af7c608.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;src:url(/build/fonts/ibm-plex-sans-latin-ext.88f06749.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/build/fonts/ibm-plex-mono-400-latin.06fca3e5.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/build/fonts/ibm-plex-mono-400-latin-ext.8f32688b.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(/build/fonts/ibm-plex-mono-500-latin.022cb9ca.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(/build/fonts/ibm-plex-mono-500-latin-ext.29020a16.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:600;src:url(/build/fonts/ibm-plex-mono-600-latin.34c0c730.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:600;src:url(/build/fonts/ibm-plex-mono-600-latin-ext.d987923d.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:normal;font-weight:500;src:url(/build/fonts/ibm-plex-serif-500-latin.fe9fb88d.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:normal;font-weight:500;src:url(/build/fonts/ibm-plex-serif-500-latin-ext.8a37fd74.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:normal;font-weight:600;src:url(/build/fonts/ibm-plex-serif-600-latin.94b6b70a.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:normal;font-weight:600;src:url(/build/fonts/ibm-plex-serif-600-latin-ext.e8517b13.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:normal;font-weight:700;src:url(/build/fonts/ibm-plex-serif-700-latin.3aa40cd2.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:normal;font-weight:700;src:url(/build/fonts/ibm-plex-serif-700-latin-ext.08de5eec.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}.mg-pw-meter{--pw-color:var(--mg-text-muted);font-size:.8125rem;margin-top:.5rem}.mg-pw-meter[data-level=breached],.mg-pw-meter[data-level=very_weak],.mg-pw-meter[data-level=weak]{--pw-color:var(--mg-danger)}.mg-pw-meter[data-level=medium]{--pw-color:var(--mg-warning)}.mg-pw-meter[data-level=good],.mg-pw-meter[data-level=strong]{--pw-color:var(--mg-success)}.mg-pw-meter[data-level=very_weak]{--pw-fill:20%}.mg-pw-meter[data-level=weak]{--pw-fill:40%}.mg-pw-meter[data-level=medium]{--pw-fill:60%}.mg-pw-meter[data-level=good]{--pw-fill:80%}.mg-pw-meter[data-level=breached],.mg-pw-meter[data-level=strong]{--pw-fill:100%}.mg-pw-meter__bar{background:var(--mg-border);border-radius:3px;height:6px;overflow:hidden}.mg-pw-meter__bar span{background:var(--pw-color);display:block;height:100%;transition:width .2s ease,background-color .2s ease;width:var(--pw-fill,0)}.mg-pw-meter__level{color:var(--pw-color);font-weight:600;margin-top:.25rem}.mg-pw-meter__hints,.mg-pw-meter__rules{list-style:none;margin:.375rem 0 0;padding:0}.mg-pw-meter__hints li,.mg-pw-meter__rules li{align-items:baseline;color:var(--mg-text-muted);display:flex;gap:.375rem;line-height:1.5}.mg-pw-meter__rules li i{font-size:6px;position:relative;text-align:center;top:-1px;width:12px}.mg-pw-meter__rules li.is-ok{color:var(--mg-success-text)}.mg-pw-meter__rules li.is-ok i{font-size:inherit;top:0}.mg-pw-meter__hints li i{color:var(--mg-warning);text-align:center;width:12px}.mg-pw-meter__breach:empty{display:none}.mg-pw-meter__breach{align-items:baseline;border:1px solid var(--mg-border);border-radius:6px;color:var(--mg-text-muted);display:flex;gap:.5rem;margin-top:.5rem;padding:.5rem .625rem}.mg-pw-meter__breach[data-state=clean]{background:var(--mg-success-bg);border-color:var(--mg-success-border);color:var(--mg-success-text)}.mg-pw-meter__breach[data-state=found]{background:var(--mg-danger-bg);border-color:var(--mg-danger-border);color:var(--mg-danger-text);font-weight:600}.mg-pw-match{font-size:.8125rem;margin-top:.375rem}.mg-pw-match:empty{display:none}.mg-pw-match i{margin-right:.25rem}.mg-pw-match[data-state=ok]{color:var(--mg-success-text)}.mg-pw-match[data-state=mismatch]{color:var(--mg-danger-text)}:root{--lg-primary:#12805f;--lg-primary-hover:#0e6b4f;--lg-primary-rgb:18,128,95;--lg-gold:#ddbc6a;--lg-ink:#0f172a;--lg-text:#1e293b;--lg-muted:#64748b;--lg-border:#d8e0dd;--lg-bg:#f6f8f7;--lg-panel-1:#1a6467;--lg-panel-2:#135052;--lg-panel-3:#0d3c3e;--lg-font:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--lg-font-brand:"IBM Plex Serif",Georgia,"Times New Roman",serif;--lg-font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Consolas,monospace;--mg-border:#e2e8f0;--mg-text-muted:#64748b;--mg-success:#16a34a;--mg-success-text:#15803d;--mg-success-bg:#f0fdf4;--mg-success-border:#bbf7d0;--mg-warning:#ea580c;--mg-danger:#dc2626;--mg-danger-text:#b91c1c;--mg-danger-bg:#fef2f2;--mg-danger-border:#fecaca}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body.login-page{background:var(--lg-bg);color:var(--lg-text);font-family:var(--lg-font);min-height:100vh;-webkit-font-smoothing:antialiased}.login-shell{display:grid;grid-template-columns:minmax(380px,46%) minmax(0,1fr);min-height:100vh}.login-panel{align-items:flex-end;background:radial-gradient(60% 50% at 18% 12%,rgba(72,168,162,.38) 0,rgba(72,168,162,0) 70%),radial-gradient(40% 35% at 92% 92%,rgba(221,188,106,.16) 0,rgba(221,188,106,0) 70%),linear-gradient(160deg,var(--lg-panel-1) 0,var(--lg-panel-2) 58%,var(--lg-panel-3) 100%);color:#fff;display:flex;overflow:hidden;padding:56px;position:relative}.login-panel:after{background:linear-gradient(115deg,hsla(0,0%,100%,0) 55%,hsla(0,0%,100%,.045) 55.2%,hsla(0,0%,100%,.045));content:"";inset:0;pointer-events:none;position:absolute}.login-panel-inner{max-width:440px;position:relative;z-index:2}.login-panel-logo{display:block;height:36px;margin-bottom:40px;width:auto}.login-panel-tagline{color:#fff;font-family:var(--lg-font-brand);font-size:28px;font-weight:500;letter-spacing:-.005em;line-height:1.3;margin-bottom:28px}.login-panel-points{color:hsla(0,0%,100%,.72);display:grid;font-family:var(--lg-font-brand);font-size:15px;gap:14px;line-height:1.55;list-style:none}.login-panel-points li{padding-left:22px;position:relative}.login-panel-points li:before{background:var(--lg-gold);border-radius:50%;box-shadow:0 0 0 4px rgba(221,188,106,.16);content:"";height:8px;left:0;position:absolute;top:7px;width:8px}.login-panel-mark{color:hsla(0,0%,100%,.035);max-width:640px;pointer-events:none;position:absolute;right:-12%;top:-6%;width:78%;z-index:1}.login-panel-mark-spark{fill:rgba(221,188,106,.1)}.login-main{align-items:center;display:flex;justify-content:center;min-width:0;padding:48px 24px}.login-card{animation:fadeInUp .4s ease-out;max-width:400px;width:100%}.login-brand{display:none;justify-content:center;margin-bottom:24px}.login-brand-logo{height:30px;width:auto}.login-office{align-items:center;color:var(--lg-muted);display:flex;font-size:12px;gap:8px;letter-spacing:.04em;margin-bottom:28px;text-transform:uppercase}.login-office:before{background:var(--lg-primary);border-radius:2px;content:"";height:2px;width:18px}.login-office-label{font-weight:600}.login-office-name{color:var(--lg-text);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.login-divider{background:var(--lg-border);height:1px;margin:24px 0}.login-welcome{margin-bottom:28px}.login-welcome h1{color:var(--lg-ink);font-size:26px;font-weight:600;letter-spacing:-.02em;margin-bottom:6px}.login-welcome p{color:var(--lg-muted);font-size:14px;font-weight:450;line-height:1.5}.login-error{align-items:center;background:#fee2e2;border-radius:10px;color:#b91c1c;display:flex;font-size:13px;gap:10px;line-height:1.45;margin-bottom:20px;padding:12px 14px}.login-error i{flex-shrink:0;font-size:16px}.login-form{margin-bottom:0}.login-input-group{margin-bottom:18px;position:relative}.login-input-group label{color:#334155;display:block;font-size:13px;font-weight:550;margin-bottom:7px}.login-input-group .input-icon{bottom:15px;color:#94a3b8;font-size:14px;left:15px;pointer-events:none;position:absolute;transition:color .15s}.login-input-group input{background:#fff;border:1px solid var(--lg-border);border-radius:10px;color:var(--lg-ink);font-family:inherit;font-size:14px;height:46px;padding:0 44px;transition:border-color .15s,box-shadow .15s;width:100%}.login-input-group input:hover{border-color:#b9c6c1}.login-input-group input:focus{border-color:var(--lg-primary);box-shadow:0 0 0 4px rgba(var(--lg-primary-rgb),.14);outline:none}.login-input-group input:focus+.input-icon,.login-input-group input:focus~.input-icon{color:var(--lg-primary)}.login-input-group input::placeholder{color:#94a3b8}.login-input-field{position:relative}.login-input-group .mg-pw-match,.login-input-group .mg-pw-meter{font-size:12.5px}.password-toggle{background:none;border:none;border-radius:8px;bottom:7px;color:#94a3b8;cursor:pointer;font-size:14px;height:32px;position:absolute;right:8px;transition:color .15s,background .15s;width:32px}.password-toggle:hover{background:var(--lg-bg);color:var(--lg-text)}.login-options{font-size:13px;justify-content:space-between;margin-bottom:24px}.login-options,.login-remember{align-items:center;display:flex}.login-remember{color:#334155;cursor:pointer;gap:8px;user-select:none}.login-remember input[type=checkbox]{accent-color:var(--lg-primary);cursor:pointer;height:16px;margin:0;width:16px}.login-remember label{cursor:pointer;font-weight:450}.login-forgot{color:var(--lg-primary);font-weight:550;text-decoration:none;transition:color .15s}.login-forgot:hover{color:var(--lg-primary-hover);text-decoration:underline}.login-btn{align-items:center;background:var(--lg-primary);border:none;border-radius:10px;box-shadow:0 8px 18px -8px rgba(var(--lg-primary-rgb),.55);color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:9px;height:48px;justify-content:center;letter-spacing:.005em;padding:0 16px;transition:background .15s,transform .1s ease,box-shadow .15s;width:100%}.login-btn:hover{background:var(--lg-primary-hover);box-shadow:0 10px 22px -8px rgba(var(--lg-primary-rgb),.6)}.login-btn:active{box-shadow:none;transform:translateY(1px)}.login-btn:focus-visible{box-shadow:0 0 0 4px rgba(var(--lg-primary-rgb),.24);outline:none}.login-btn i{font-size:15px}.login-footer{border-top:1px solid var(--lg-border);color:var(--lg-muted);font-size:12px;line-height:1.6;margin-top:36px;padding-top:20px;text-align:center}.login-footer-version{color:#b6c0bc;font-size:11px;margin-top:2px}@media(max-width:1100px){.login-shell{grid-template-columns:minmax(340px,42%) minmax(0,1fr)}.login-panel{padding:40px}.login-panel-tagline{font-size:24px}}@media(max-width:860px){.login-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.login-panel{align-items:center;min-height:0;padding:28px 24px}.login-panel-logo{height:28px;margin-bottom:0}.login-panel-points,.login-panel-tagline{display:none}.login-panel-mark{right:-40px;top:-70px;width:220px}.login-main{align-items:flex-start;padding:32px 20px 40px}.login-options{align-items:flex-start;flex-direction:column;gap:12px}.login-forgot{align-self:flex-end}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.login-btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}a.login-btn{display:block;text-align:center;text-decoration:none}.login-link-btn{background:none;border:none;color:var(--lg-primary);cursor:pointer;font-size:13px;padding:0}.login-link-btn:hover{text-decoration:underline}.login-resend,.tfa-resend{margin-top:12px;text-align:center}.login-2fa-cancel{font-size:13px;margin-top:18px;text-align:center}.login-2fa-cancel a{color:#6b7280;text-decoration:none}.login-2fa-cancel a:hover{text-decoration:underline}.login-2fa-hint{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:12px;margin-top:12px;padding:10px 14px}.login-flash-success{background:#ecfdf5;color:#059669}.login-flash-warning{background:#fef3c7;color:#92400e}.tfa-method{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:0 0 20px;padding:16px}.tfa-method-title{color:#1f2937;font-size:15px;font-weight:600;margin:0 0 10px}.tfa-steps{line-height:1.6;margin:0 0 14px 18px;padding:0}.tfa-hint,.tfa-steps{color:#374151;font-size:13px}.tfa-hint{margin:0 0 12px}.tfa-qr{margin:12px 0;text-align:center}.tfa-qr img{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:inline-block;max-width:100%;padding:6px}.tfa-secret{font-size:13px;margin:8px 0 16px}.tfa-secret code{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:block;margin-top:6px;padding:8px;user-select:all;word-break:break-all}.tfa-backup-warning{background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;font-size:13px;margin:0 0 16px;padding:12px 14px}.tfa-backup-warning div{margin-top:4px}.tfa-backup-codes{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:12px 0;padding:14px}.tfa-backup-codes ul{color:#1f2937;column-count:2;column-gap:24px;font-family:var(--lg-font-mono);font-size:16px;line-height:1.8;list-style:none;margin:0;padding:0;user-select:all}.tfa-backup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tfa-backup-action{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;flex:1 1 auto;font-size:13px;padding:10px}.tfa-ack{align-items:flex-start;color:#374151;display:flex;font-size:13px;gap:10px;margin-bottom:14px}.tfa-ack input{margin-top:4px}