body.authentication-pending .app-shell,
body.authentication-pending #modal { visibility: hidden; }
#authentication-dialog { width: min(28rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; border: 1px solid #dce5df; border-radius: 20px; padding: 2rem; color: #142c32; box-shadow: 0 24px 80px #142c3233; }
#authentication-dialog::backdrop { background: #142c32e8; }
#authentication-dialog h1 { font-size: 1.6rem; margin: .6rem 0; }
#authentication-dialog .field { margin-top: 1rem; }
#authentication-dialog .notice { margin-top: 1rem; }
.authentication-brand { border: 1px solid #6b9482; color: #187b6d; width: 48px; height: 48px; border-radius: 14px; display: grid; place-content: center; font-size: 1.6rem; font-weight: 800; position: relative; margin-bottom: 1.2rem; }
.authentication-brand span { position: absolute; font-size: 1rem; right: -3px; top: -9px; background: white; }
.authentication-note, .authentication-hint { color: #567279; font-size: .92rem; line-height: 1.55; }
.authentication-hint { font-size: .82rem; margin: .5rem 0; }
.authentication-submit { width: 100%; margin-top: 1.4rem; }
.authentication-controls { display: inline-flex; align-items: center; gap: .8rem; font-size: .85rem; }
.authentication-controls[hidden] { display: none; }
@media (max-width: 500px) { #authentication-dialog { padding: 1.4rem; } .authentication-controls { gap: .4rem; } }
