/* Password entrance, kept separate from the clinical dashboard layout. */
#access-screen[hidden],#dashboard-root[hidden]{display:none!important}
.opening-pending #access-screen{visibility:hidden}
.access-noscript{position:fixed;bottom:20px;left:20px;right:20px;text-align:center;font:14px system-ui,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif}
#access-screen.access-screen{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:38px;width:100%;max-width:none;min-width:320px;min-height:100vh;min-height:100dvh;margin:0;padding:100px 28px 95px;overflow:hidden;background:radial-gradient(ellipse at 16% 18%,#b78e9612 0,transparent 53%),radial-gradient(ellipse at 88% 82%,#8a566212 0,transparent 50%),#faf9f6;color:#282426;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif}
.access-screen::before{content:"";position:absolute;z-index:-1;left:50%;top:49%;width:min(900px,110vw);aspect-ratio:1;border:1px solid #8659640b;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 65px #86596403,0 0 0 130px #86596403;pointer-events:none}
.access-topline,.access-bottomline{position:absolute;left:42px;right:42px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:9px;letter-spacing:2.1px;line-height:1.7;color:#9b8d90}
.access-topline{top:max(30px,env(safe-area-inset-top));border-bottom:1px solid #e8e1df;padding-bottom:20px}
.access-topline span:first-child{color:#784852;font-weight:700;letter-spacing:3px}
.access-bottomline{bottom:max(27px,env(safe-area-inset-bottom));font-size:8px;letter-spacing:1.8px}
.access-bottomline img{display:block;width:138px;height:auto;flex-shrink:0;opacity:.76}
.access-card{width:100%;max-width:430px;text-align:center}
.access-brand{display:block;width:260px;max-width:75%;height:auto;margin:0 auto}
.access-divider{width:28px;height:1px;background:#b98f97;margin:34px auto 29px}
.access-eyebrow{margin:0 0 13px;color:#a18289;font-size:8px;letter-spacing:3px;font-weight:700}
#access-title{font-size:26px;font-weight:400;letter-spacing:-1px;line-height:1.45;margin:0;color:#3a3034;word-break:keep-all}
.access-help{font-size:12px;line-height:1.85;color:#8a7b80;margin:14px 0 31px;word-break:keep-all}
.access-form{text-align:left;width:100%;padding:27px 30px 10px;border:1px solid #e7dfe0;border-radius:14px;background:#ffffffc9;box-shadow:0 18px 60px #66404a07}
.access-form label{display:block;font-size:11px;line-height:1.5;color:#856a72;margin:0 0 11px;letter-spacing:.1px}
#access-pin{display:block;box-sizing:border-box;width:100%;height:67px;padding:10px 12px 10px 27px;border:1px solid #d9c9cd;border-radius:7px;background:#fdfbf9;color:#633b47;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;font-size:32px;line-height:1.2;letter-spacing:15px;text-align:center;outline:none;transition:border-color .2s,box-shadow .2s}
#access-pin:focus{border-color:#986b77;box-shadow:0 0 0 3px #986b7719}
#access-pin[aria-invalid="true"]{border-color:#b54f5e;box-shadow:0 0 0 3px #b54f5e10}
.access-error{min-height:20px;margin:9px 0 13px;color:#a33d50;font-size:11px;line-height:1.6;word-break:keep-all}
#access-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:14px 21px;border:1px solid #784852;border-radius:7px;background:#784852;color:#fff;font:400 13px system-ui,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;letter-spacing:.3px;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
#access-submit span:last-child{font-family:Arial,sans-serif;font-size:21px;line-height:1}
#access-submit:hover{background:#643843;border-color:#643843;box-shadow:0 5px 15px #78485219}
#access-submit:active{transform:translateY(1px)}
#access-submit:focus-visible{outline:3px solid #b78b97;outline-offset:4px}
#access-submit:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}
.access-status{min-height:19px;margin:11px 0 0;font-size:10px;line-height:1.7;text-align:center;color:#8b727a}
@media(max-width:600px){#access-screen.access-screen{padding:100px 24px 88px;gap:25px}.access-topline,.access-bottomline{left:24px;right:24px;gap:15px}.access-topline{top:max(24px,env(safe-area-inset-top));font-size:7px;letter-spacing:1.2px;padding-bottom:16px}.access-topline span:first-child{letter-spacing:2px}.access-bottomline{bottom:max(22px,env(safe-area-inset-bottom));font-size:6px;letter-spacing:.9px}.access-bottomline img{width:112px}.access-card{max-width:380px}.access-brand{width:235px}.access-divider{margin:27px auto 24px}#access-title{font-size:23px;letter-spacing:-.8px}.access-help{font-size:11px;margin:12px 0 25px}.access-form{padding:24px 23px 9px}.access-eyebrow{font-size:7px;letter-spacing:2.7px}}
@media(max-width:360px){#access-screen.access-screen{padding-left:18px;padding-right:18px}.access-topline,.access-bottomline{left:18px;right:18px}.access-topline span:last-child{font-size:6px;letter-spacing:.6px}#access-title{font-size:21px}.access-form{padding-left:20px;padding-right:20px}}
@media(max-height:700px) and (min-width:601px){#access-screen.access-screen{padding-top:90px;padding-bottom:80px}.access-brand{width:220px}.access-divider{margin:23px auto 20px}.access-help{margin-bottom:22px}.access-form{padding-top:22px}}
@media(prefers-reduced-motion:reduce){#access-pin,#access-submit{transition:none}}
@media print{#access-screen.access-screen{display:none!important}}

/* Larger entrance labels match the dashboard typography. */
.access-topline{font-size:12px}.access-bottomline{font-size:11px}.access-eyebrow{font-size:12px}.access-help{font-size:16px;color:#695961}.access-form label{font-size:15px}.access-error{font-size:14px}.access-status{font-size:13px}#access-submit{font-size:16px;min-height:56px}#access-title{font-size:30px}
@media(max-width:600px){.access-topline{font-size:10px;letter-spacing:1px}.access-bottomline{font-size:9px;letter-spacing:.6px}.access-eyebrow{font-size:11px}.access-help{font-size:15px}#access-title{font-size:27px}.access-form label{font-size:14px}.access-bottomline img{width:112px}}
@media(max-width:360px){.access-topline span:last-child{font-size:9px;letter-spacing:.4px}#access-title{font-size:26px}}

/* The entrance uses the same raised wine finish as dashboard controls. */
#access-submit{background:linear-gradient(175deg,#ab7b88,#875360 45%,#683c4a);border-color:#865260;border-top-color:#cda8ad;box-shadow:inset 0 1px 0 #eed2d7b3,0 4px 0 #532a39,0 10px 20px #70404c35;text-shadow:0 1px 1px #4b24365c}
#access-submit:not(:disabled):hover{background:linear-gradient(175deg,#b68b97,#905d6c 45%,#724353);transform:translateY(-1px);box-shadow:inset 0 1px 0 #eed2d7b3,0 5px 0 #532a39,0 12px 22px #70404c35}
#access-submit:not(:disabled):active{transform:translateY(3px);box-shadow:inset 0 2px 4px #44232d33,0 1px 0 #532a39,0 3px 8px #70404c24}
