/* R124.2.3.221: refresh paint, registration and chrome single-owner stabilization. */
:root{--xm-first-paint-bg:#f4f7fb;--xm-selected-domain-color:var(--xm-domain-active,#397863)}
html.xm-boot-dark{--xm-first-paint-bg:#0c1526}
html,body{background:var(--xm-first-paint-bg)!important}
html.xm-boot-pending body{visibility:hidden!important}
html.xm-boot-pending.xm-boot-app body{visibility:visible!important}
html.xm-boot-pending.xm-boot-app #login{display:none!important}
html.xm-boot-pending.xm-boot-app #app{display:block!important;visibility:visible!important}
html.xm-boot-pending:not(.xm-boot-app) body{visibility:visible!important}
html.xm-boot-pending:not(.xm-boot-app) #app{display:none!important}
html.xm-boot-pending:not(.xm-boot-app) #login{display:block!important;visibility:visible!important}
/* Registration opens atomically. Hidden backdrop/content can never paint or receive events. */
#registerModal.hidden{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
#registerModal:not(.hidden){visibility:visible!important;opacity:1!important}
#registerModal .registerBox{animation:none!important;transition:none!important}
/* Registration domain control uses the saved domain palette, never a historical orange constant. */
#registerModal #regDomain{--_accent:var(--xm-selected-domain-color)!important;border-color:var(--xm-selected-domain-color)!important;box-shadow:none!important;background:transparent!important;color:inherit!important}
#registerModal #regDomain:focus{outline:0!important;border-color:var(--xm-selected-domain-color)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--xm-selected-domain-color) 18%,transparent)!important}
/* Turnstile owns only its embedded widget. Remove the host frame and host fill. */
#turnstilePanel,#turnstilePanel.turnstileChallenge,#turnstilePanel.turnstileReady,#turnstilePanel.turnstileError{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;background-color:transparent!important;background-image:none!important;border-radius:0!important;padding-left:0!important;padding-right:0!important}
/* Top app island and navigation rails have no historical outer frame during first or hydrated paint. */
body.appMode #app>.side,#adminView .adminTabs,#systemSettingsView .settingsMenu,#settingsMenuButtons{border:0!important;outline:0!important;box-shadow:none!important}
/* Buttons never paint fallback green/deep-gray before settings hydration. */
html:not(.xm-button-theme-ready) :is(button,.btn,.iconBtn,.settingsMenuBtn,.adminTabs .btn,.mobileOverflow button)[data-xm-button-role],
html:not(.xm-button-theme-ready) :is(#compose,#sendMailButton,#newUser,#newDomain,#newProvider,#newMailbox){border-color:transparent!important;box-shadow:none!important}
/* Remove feedback remnants that created transient frames on refresh. */
body.appMode #app>.side:is(:focus,:focus-within,:active),#adminView .adminTabs:is(:focus,:focus-within,:active),#settingsMenuButtons:is(:focus,:focus-within,:active){border-color:transparent!important;outline:0!important;box-shadow:none!important}
@supports not (color:color-mix(in srgb,red 50%,blue)){#registerModal #regDomain:focus{box-shadow:none!important}}
