/* Shared entry and invitation flow, using ProLab's existing type and color system. */
.auth-experience .auth-card{width:min(100%,520px);max-width:520px}
.access-label{font-size:12px;font-weight:750;color:#526e7a;letter-spacing:.025em;margin:0 0 12px}
.access-environments{margin-bottom:28px;text-align:start}
.access-environment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.access-environment{display:flex;align-items:center;gap:10px;min-height:112px;padding:15px 12px;border:1px solid #cfdee5;border-radius:18px;background:#f9fcfd;color:#244956;text-decoration:none;transition:background .15s,border-color .15s}
.access-environment:hover{background:#eef9fc;border-color:#1396b9}
.access-environment.is-current{background:#e6f7fc;border:2px solid #079ec7;padding:14px 11px;color:#075f7a;box-shadow:0 5px 16px #079ec710}
.access-environment strong{display:block;font-size:16px;line-height:1.45}
.access-environment small{display:block;margin-top:5px;font-size:12px;line-height:1.6;color:#506f7c}
.access-env-icon{font-size:26px;line-height:1;flex-shrink:0}.access-env-check{margin-inline-start:auto;align-self:flex-start;font-size:17px;font-weight:800}
.access-demo-note{display:flex;flex-direction:column;gap:4px;margin:14px 0 0;padding:13px 16px;border-inline-start:3px solid #07a1c8;border-radius:8px;background:#f0fafc;font-size:13px;line-height:1.7;color:#355e6e}
.access-demo-note b{font-size:14px;color:#08728e}
.access-page .auth-stage{padding-top:16px;padding-bottom:40px}
.access-page .auth-card{padding:30px}
.access-badge{display:table;margin:0 auto 22px;padding:7px 13px;border:1px solid #d7e7ed;border-radius:999px;background:#f2f7f9;font-size:12px;font-weight:750;color:#3c606e}
.access-badge.is-demo{color:#087691;background:#e7f8fc;border-color:#b6e8f3}
.access-steps{display:flex;list-style:none;gap:10px;padding:0;margin:0 0 26px;text-align:center}
.access-steps li{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:#677e88;line-height:1.5}
.access-steps li:before{content:"";position:absolute;top:16px;inset-inline-start:calc(-50% - 5px);width:100%;height:2px;background:#e1edf1;z-index:0}
.access-steps li:first-child:before{display:none}
.access-steps li>span{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid #dfeaf0;background:#fff;font-size:13px;font-weight:750;z-index:1}
.access-steps li.is-current{color:#08738e}.access-steps li.is-current>span{background:#079dc5;border-color:#079dc5;color:#fff;box-shadow:0 0 0 4px #e8f7fb}
.access-steps li.is-done{color:#167a64}.access-steps li.is-done>span{border-color:#c4e9df;background:#e9f8f3;color:#167a64}
.access-heading{text-align:center;margin-bottom:25px}.access-heading h1{font-size:27px;line-height:1.4;margin:12px 0 8px;letter-spacing:normal;color:#153d49}.access-heading p{font-size:14px;line-height:1.85;color:#567380;margin:0;max-width:40ch;margin-inline:auto}
.access-hero-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#eaf8fc;color:#0997b9;font-size:26px}.access-hero-icon svg{width:26px;height:26px}
.access-page .auth-form{display:grid;gap:18px}.access-page .auth-form input{font-size:16px;min-width:0}.access-page .field-shell{min-height:54px}.access-page .button-wide{min-height:52px;font-size:15px;line-height:1.6;white-space:normal;text-align:center}
.access-caption{font-size:12px;line-height:1.8;color:#597783;margin:0;text-align:start}.access-next>.access-caption{text-align:center}
.access-next{display:grid;gap:15px}.access-install-card{padding:20px;border-radius:18px;background:#f1fafd;border:1px solid #cbeaf3;text-align:start}.access-install-card h2{font-size:20px;margin:6px 0 10px;line-height:1.5}.access-install-card p,.access-install-guide p{font-size:14px;line-height:1.9;color:#496c7b}.access-tip{margin-bottom:0}.access-install-guide{padding:16px;border:1px solid #d6e4eb;border-radius:15px;text-align:start}.access-install-guide summary{cursor:pointer;font-size:14px;font-weight:750;min-height:28px;color:#234e60}.access-install-guide a{color:#007b9b;font-size:14px;font-weight:700}
.access-page .auth-alert{font-size:14px;line-height:1.8;margin-bottom:18px}
.access-environment:focus-visible,.access-install-guide summary:focus-visible{outline:3px solid #06a3cd;outline-offset:4px}
@media(max-width:560px){.auth-experience .auth-stage{padding:12px 0 30px}.auth-experience .auth-card{padding:22px 18px}.access-environment-grid{grid-template-columns:1fr}.access-environment{min-height:82px;padding:13px 16px}.access-environment.is-current{padding:12px 15px}.access-environment strong{font-size:17px}.access-env-icon{width:30px}.access-environments{margin-bottom:23px}.access-heading h1{font-size:25px}.access-page .auth-topbar{margin-bottom:14px}.access-install-card{padding:17px}.access-steps{gap:6px}.access-steps li{font-size:11px}}
@media(prefers-reduced-motion:reduce){.access-environment{transition:none}}

.access-demo-secondary{margin-top:24px;padding-top:16px;border-top:1px solid #dce8ec;text-align:center;color:#536b75}
.access-demo-secondary a{display:inline-flex;align-items:center;min-height:44px;padding:4px 10px;font-size:13px;font-weight:500;color:#486773;text-decoration:underline;text-underline-offset:3px}
.access-demo-secondary small{display:block;font-size:12px;line-height:1.6}
.access-demo-secondary a:focus-visible{outline:2px solid #087b93;outline-offset:3px;border-radius:5px}
