/* Shared login appearance across Viewer, Master, Developer and Calculations. */
.auth-modal{position:fixed;inset:0;padding:20px;background:rgba(3,25,43,.58);backdrop-filter:blur(3px);align-items:center;justify-content:center}
.auth-modal .modalbox{box-sizing:border-box;width:min(360px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 25px 70px rgba(0,0,0,.28);text-align:center;display:block;color:#23435b}
.auth-modal .lockicon{font-size:34px;line-height:1.25}
.auth-modal h3{margin:7px 0 5px;font-size:21px;font-weight:800;line-height:1.25}
.auth-modal .small{font-size:12px;color:#718599;line-height:1.4}
.auth-modal .pass{box-sizing:border-box;width:100%;height:56px;padding:13px;border:1px solid #cad8e2;border-radius:10px;font-size:21px;text-align:center;letter-spacing:5px;outline:none;margin:12px 0;background:#fff;color:#23435b}
.auth-modal .pass:focus{outline:none;border-color:#0a7be5;box-shadow:0 0 0 3px #e5f2ff}
.auth-modal .modal-actions{display:flex;gap:8px}
.auth-modal .modal-actions button{flex:1;min-width:0;height:36px;padding:8px 12px;border:1px solid #087ddb;border-radius:11px;background:#087ddb;color:#fff;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 5px 12px #087ddb24}
.auth-modal .modal-actions button.quiet,.auth-modal .modal-actions button.gray{background:#f5faff;border-color:#d5e3ee;color:#36546b;box-shadow:none}
.auth-modal .msg{min-height:16px;line-height:16px;color:#d33;font-size:11px;margin-top:8px}
.overlay.auth-modal:not([hidden]){display:flex}

/* Resolve the stored session before revealing an authentication surface. */
body.auth-pending .app,body.access-locked .app{visibility:hidden}
body.auth-pending .auth-modal{display:none!important}
.auth-modal[hidden]{display:none!important}
