/* Malach MFA Experience Repair 2
   Six-digit TOTP verification with automatic submit, accessible status, and
   theme-safe glass surfaces. No credential value is retained in the DOM after
   the modal closes. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mfa-modern-layer{padding:clamp(14px,3vw,42px);background:rgba(8,7,10,.72);backdrop-filter:blur(30px) saturate(115%);-webkit-backdrop-filter:blur(30px) saturate(115%)}
.mfa-modern-layer::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 18%,rgba(205,108,57,.18),transparent 32%),radial-gradient(circle at 82% 76%,rgba(119,75,211,.22),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.025),transparent 36%)}
.mfa-modern-modal{width:min(620px,calc(100vw - 28px));max-height:min(780px,calc(100dvh - 28px));overflow:auto;border:1px solid color-mix(in srgb,var(--border-strong) 82%,rgba(255,255,255,.22));border-radius:34px;background:linear-gradient(145deg,color-mix(in srgb,var(--glass-strong) 94%,transparent),color-mix(in srgb,var(--surface) 88%,rgba(119,75,211,.08)));box-shadow:0 38px 110px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.05) inset;backdrop-filter:blur(34px) saturate(135%);-webkit-backdrop-filter:blur(34px) saturate(135%)}
.mfa-modern-modal .modal-head{padding:28px 30px 18px;border-bottom:0;align-items:flex-start}
.mfa-modern-modal .modal-head h2{font-size:13px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:760}
.mfa-modern-modal .modal-head p{margin-top:7px;font-size:12px;color:var(--text-4)}
.mfa-modern-modal .modal-head .icon-button{width:44px;height:44px;border-radius:15px;background:color-mix(in srgb,var(--glass-soft) 86%,transparent)}
.mfa-modern-modal .modal-body{padding:0 30px 22px}
.mfa-modern-modal .modal-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 30px 28px;border-top:1px solid var(--border);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--glass-soft) 72%,transparent))}
.mfa-modern-form{display:grid;gap:22px}
.mfa-modern-hero{text-align:center;display:grid;justify-items:center;gap:9px;padding:2px 18px 0}
.mfa-modern-mark{position:relative;width:70px;height:70px;display:grid;place-items:center;margin-bottom:4px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#d87a42 0%,#9b573c 47%,#7049ce 100%);box-shadow:0 18px 48px rgba(135,73,49,.30),0 0 0 1px rgba(255,255,255,.18) inset;overflow:hidden}
.mfa-modern-mark::before{content:"";position:absolute;inset:-35%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.33) 50%,transparent 65%);transform:translateX(-55%) rotate(8deg);animation:mfa-sheen 3.8s ease-in-out infinite}
.mfa-modern-mark i{position:absolute;inset:8px;border:1px solid rgba(255,255,255,.2);border-radius:18px}
.mfa-modern-mark svg{position:relative;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mfa-modern-kicker{margin:0;color:var(--prism-3);font-size:8px;line-height:1.2;letter-spacing:.2em;font-weight:800}
.mfa-modern-hero h3{margin:0;font-size:clamp(27px,4vw,38px);line-height:1.03;letter-spacing:-.045em;color:var(--text)}
.mfa-modern-hero p{max-width:460px;margin:0;color:var(--text-3);font-size:13px;line-height:1.65}
.mfa-modern-hero strong{color:var(--text);font-weight:690}
.mfa-code-shell{position:relative;isolation:isolate;width:min(100%,510px);margin:2px auto 0;padding:12px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--glass-soft) 92%,transparent),color-mix(in srgb,var(--surface) 86%,rgba(119,75,211,.04)));box-shadow:0 16px 42px rgba(0,0,0,.12),0 0 0 1px rgba(255,255,255,.025) inset;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.mfa-code-shell:focus-within{border-color:color-mix(in srgb,var(--prism-3) 60%,var(--border));box-shadow:0 18px 50px rgba(0,0,0,.15),0 0 0 4px color-mix(in srgb,var(--prism-3) 13%,transparent)}
.mfa-code-input{position:absolute;z-index:3;inset:0;width:100%;height:100%;margin:0;padding:0;border:0!important;outline:0!important;opacity:.001;background:transparent!important;color:transparent!important;caret-color:transparent;font-size:16px;cursor:text}
.mfa-code-cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.mfa-code-cell{position:relative;display:grid;place-items:center;min-width:0;height:72px;border:1px solid color-mix(in srgb,var(--border) 92%,transparent);border-radius:17px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 8px 22px rgba(0,0,0,.07),0 1px 0 rgba(255,255,255,.05) inset;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.mfa-code-input:focus-visible + .mfa-code-cells .mfa-code-cell.is-active{border-color:color-mix(in srgb,var(--prism-3) 78%,var(--border));box-shadow:0 12px 28px rgba(112,73,206,.12),0 0 0 3px color-mix(in srgb,var(--prism-3) 16%,transparent)}
.mfa-code-cell b{font-size:29px;line-height:1;font-weight:680;font-variant-numeric:tabular-nums;color:var(--text);transform:translateY(1px)}
.mfa-code-cell.is-active{transform:translateY(-2px);border-color:color-mix(in srgb,var(--prism-3) 68%,var(--border));background:color-mix(in srgb,var(--prism-3) 7%,var(--surface));box-shadow:0 12px 28px rgba(112,73,206,.12),0 0 0 3px color-mix(in srgb,var(--prism-3) 10%,transparent)}
.mfa-code-cell.is-filled{border-color:color-mix(in srgb,var(--copper) 42%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,var(--copper) 8%,var(--surface)),color-mix(in srgb,var(--prism-2) 5%,var(--surface)))}
.mfa-code-shell[data-state="verifying"] .mfa-code-cell{border-color:color-mix(in srgb,var(--prism-3) 48%,var(--border));animation:mfa-verify-pulse 1.05s ease-in-out infinite alternate}
.mfa-code-shell[data-state="verifying"],.mfa-code-shell[data-state="verifying"] .mfa-code-input{cursor:progress}
.mfa-code-shell[data-state="verifying"] .mfa-code-cell:nth-child(2){animation-delay:.08s}.mfa-code-shell[data-state="verifying"] .mfa-code-cell:nth-child(3){animation-delay:.16s}.mfa-code-shell[data-state="verifying"] .mfa-code-cell:nth-child(4){animation-delay:.24s}.mfa-code-shell[data-state="verifying"] .mfa-code-cell:nth-child(5){animation-delay:.32s}.mfa-code-shell[data-state="verifying"] .mfa-code-cell:nth-child(6){animation-delay:.40s}
.mfa-code-shell[data-state="success"]{border-color:rgba(51,176,125,.5);box-shadow:0 18px 48px rgba(37,140,98,.14),0 0 0 4px rgba(51,176,125,.09)}
.mfa-code-shell[data-state="success"] .mfa-code-cell{border-color:rgba(51,176,125,.48);background:rgba(51,176,125,.08)}
.mfa-code-shell[data-state="error"]{border-color:rgba(215,85,103,.55);box-shadow:0 18px 48px rgba(180,58,74,.12),0 0 0 4px rgba(215,85,103,.08)}
.mfa-code-shell[data-state="error"] .mfa-code-cell{border-color:rgba(215,85,103,.42);background:rgba(215,85,103,.06)}
.mfa-code-input[aria-invalid="true"] + .mfa-code-cells .mfa-code-cell{border-color:rgba(215,85,103,.56)}
.mfa-code-shell.is-shaking{animation:mfa-shake .34s ease-in-out}
.mfa-modern-feedback{width:min(100%,510px);margin:-9px auto 0;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--text-4);font-size:10px;line-height:1.4}
#mfaSignInStatus{font-weight:680;color:var(--text-3);text-align:right}
.mfa-code-shell[data-state="verifying"] + .mfa-modern-feedback #mfaSignInStatus{color:var(--prism-3)}
.mfa-code-shell[data-state="success"] + .mfa-modern-feedback #mfaSignInStatus{color:var(--positive)}
.mfa-code-shell[data-state="error"] + .mfa-modern-feedback #mfaSignInStatus{color:var(--negative)}
.mfa-cancel{min-width:104px}
html[data-theme="light"] .mfa-modern-layer{background:rgba(39,30,27,.38)}
html[data-theme="light"] .mfa-modern-modal{background:linear-gradient(145deg,rgba(255,251,247,.94),rgba(248,241,238,.90));box-shadow:0 38px 110px rgba(75,52,42,.26),0 0 0 1px rgba(255,255,255,.72) inset}
html[data-theme="light"] .mfa-code-cell{background:rgba(255,255,255,.72);box-shadow:0 8px 22px rgba(78,51,38,.06),0 1px 0 #fff inset}
html[data-theme="light"] .mfa-modern-mark{box-shadow:0 18px 48px rgba(150,79,45,.24),0 0 0 1px rgba(255,255,255,.42) inset}
.action-center-empty-guidance,.readiness-empty-proof,.readiness-ledger-unavailable{gap:12px;padding:clamp(22px,4vw,38px);border:1px solid color-mix(in srgb,var(--border-strong) 74%,transparent);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--glass-soft) 86%,transparent),color-mix(in srgb,var(--surface) 91%,rgba(112,73,206,.04)));box-shadow:0 16px 42px rgba(0,0,0,.09)}
.action-center-empty-guidance>svg,.readiness-empty-proof>svg,.readiness-ledger-unavailable>svg{width:30px;height:30px;color:var(--prism-3)}
.action-center-empty-guidance>p,.readiness-empty-proof>p,.readiness-ledger-unavailable>p{max-width:660px;margin-inline:auto;line-height:1.65}
.action-center-blocker{width:min(100%,620px);margin:2px auto;display:grid;gap:5px;padding:14px 16px;text-align:left;border:1px solid color-mix(in srgb,var(--negative) 34%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--negative) 6%,var(--surface))}
.action-center-blocker small{font-size:8px;letter-spacing:.14em;color:var(--negative);font-weight:800}.action-center-blocker b{color:var(--text);font-size:12px}.action-center-blocker span{color:var(--text-3);font-size:10px;line-height:1.5}
.readiness-ledger-unavailable{border-color:color-mix(in srgb,var(--negative) 40%,var(--border));background:color-mix(in srgb,var(--negative) 5%,var(--surface))}.readiness-ledger-unavailable>svg{color:var(--negative)}
.readiness-proof-summary{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--positive) 42%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--positive) 7%,var(--surface));color:var(--positive)}
.readiness-proof-summary>svg{width:22px;height:22px;flex:0 0 auto}.readiness-proof-summary>span{display:grid;gap:3px}.readiness-proof-summary b{color:var(--text);font-size:11px}.readiness-proof-summary small{color:var(--text-3);font-size:9px;line-height:1.45}
html[data-theme="light"] .action-center-empty-guidance,html[data-theme="light"] .readiness-empty-proof,html[data-theme="light"] .readiness-ledger-unavailable{box-shadow:0 14px 36px rgba(78,51,38,.08)}
@keyframes mfa-sheen{0%,28%{transform:translateX(-70%) rotate(8deg)}68%,100%{transform:translateX(70%) rotate(8deg)}}
@keyframes mfa-verify-pulse{from{transform:translateY(0);filter:brightness(1)}to{transform:translateY(-2px);filter:brightness(1.12)}}
@keyframes mfa-shake{0%,100%{transform:translateX(0)}22%{transform:translateX(-7px)}44%{transform:translateX(6px)}66%{transform:translateX(-4px)}82%{transform:translateX(2px)}}
@media(max-width:640px){
  .mfa-modern-layer{padding:10px;align-items:end}
  .mfa-modern-modal{width:100%;max-height:calc(100dvh - 10px);border-radius:28px 28px 20px 20px}
  .mfa-modern-modal .modal-head{padding:22px 20px 13px}.mfa-modern-modal .modal-body{padding:0 18px 18px}.mfa-modern-modal .modal-foot{padding:17px 18px 22px}
  .mfa-modern-form{gap:18px}.mfa-modern-hero{padding-inline:4px}.mfa-modern-mark{width:60px;height:60px;border-radius:20px}.mfa-modern-mark svg{width:30px;height:30px}
  .mfa-modern-hero h3{font-size:29px}.mfa-modern-hero p{font-size:12px}
  .mfa-code-shell{padding:8px;border-radius:19px}.mfa-code-cells{gap:6px}.mfa-code-cell{height:58px;border-radius:13px}.mfa-code-cell b{font-size:24px}
  .mfa-modern-feedback{font-size:9px;align-items:flex-start}.mfa-modern-feedback span:first-child{max-width:45%}
  .mfa-cancel{min-width:88px}
  .action-center-empty-guidance,.readiness-empty-proof,.readiness-ledger-unavailable{padding:20px 14px}.empty-state-actions{flex-wrap:wrap;justify-content:center}.empty-state-actions>button{max-width:100%}
}
@media(max-width:390px){.mfa-code-cell{height:52px}.mfa-code-cell b{font-size:22px}.mfa-code-cells{gap:4px}.mfa-modern-modal .modal-head p{display:none}}
@media(prefers-reduced-motion:reduce){.mfa-modern-mark::before,.mfa-code-shell[data-state="verifying"] .mfa-code-cell,.mfa-code-shell.is-shaking{animation:none!important}.mfa-code-cell,.mfa-code-shell{transition:none!important}}
@media(forced-colors:active){.mfa-modern-layer,.mfa-modern-modal,.mfa-code-shell,.mfa-code-cell,.action-center-empty-guidance,.readiness-empty-proof,.readiness-ledger-unavailable,.action-center-blocker,.readiness-proof-summary{forced-color-adjust:auto}.mfa-code-shell:focus-within{outline:3px solid Highlight;outline-offset:3px}.mfa-code-shell[data-state="error"],.mfa-code-input[aria-invalid="true"] + .mfa-code-cells .mfa-code-cell{border-color:Mark}.mfa-code-shell[data-state="success"]{border-color:Highlight}}
/* Authentication is a whole-application boundary. Keyboard shortcuts and any
   stale detached handler cannot expose protected overlays above the login UI. */
body.is-auth-locked #commandPalette,
body.is-auth-locked .malach-voice-dock,
body.is-auth-locked .malach-voice-mini,
body.is-auth-locked #productTourLayer,
body.is-auth-locked #setupCoach {
  display: none !important;
}

/* A late protected renderer is never paintable after the authentication
   boundary closes. The observer in x1.js replaces it with the login surface
   before the next frame; this rule is the synchronous visual backstop. */
body.is-auth-locked #mainContent > :not([data-auth-surface="true"]) {
  visibility: hidden !important;
}

/* Keep the previous tenant's renderer physically undisplayable while the new
   workspace context, onboarding state, and first route are being loaded. */
body.is-workspace-transition .main-content {
  visibility: hidden !important;
}
