.private-access-dialog {
  width: min(720px, calc(100% - 28px));
  max-height: min(780px, calc(100dvh - 28px));
  padding: 0;
  overflow: auto;
  color: #17343d;
  background: #f6f2e7;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 18px;
  box-shadow: 0 28px 90px rgba(0,0,0,.46);
}

.private-access-dialog::backdrop {
  background: rgba(2,18,24,.76);
  backdrop-filter: blur(5px);
}

.private-access-dialog form { padding: 28px; }
.private-dialog-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.private-lock-symbol { display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; font-size: 1.35rem; background: #e3ece7; border-radius: 14px; }
.private-eyebrow { margin: 0 0 4px; color: #0a6877; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.private-dialog-heading h2 { margin: 0; color: #17343d; font-size: 1.35rem; line-height: 1.18; }
.private-reasons { display: grid; gap: 11px; }
.private-reasons p, .private-session-note { margin: 0; font-size: .84rem; line-height: 1.55; }
.private-reasons p { padding: 13px 14px; background: #eceee5; border-left: 4px solid #d59135; border-radius: 0 10px 10px 0; }
.private-session-note { margin-top: 15px; color: #526a71; }
.private-password-label { display: block; margin: 18px 0 6px; color: #17343d; font-size: .76rem; font-weight: 800; }
.private-access-dialog input[type=password] { width: 100%; min-height: 44px; padding: 9px 11px; color: #17343d; font: inherit; background: white; border: 1px solid rgba(23,52,61,.28); border-radius: 9px; }
.private-access-dialog input[type=password]:focus { outline: 3px solid rgba(22,123,139,.25); border-color: #167b8b; }
.private-password-error { margin: 7px 0 0; color: #a31f35; font-size: .78rem; font-weight: 750; }
.private-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.private-dialog-actions button { min-height: 42px; padding: 8px 13px; color: #17343d; font: inherit; font-size: .78rem; font-weight: 760; background: white; border: 1px solid rgba(23,52,61,.2); border-radius: 9px; cursor: pointer; }
.private-dialog-actions .private-unlock-button { color: white; background: linear-gradient(115deg,#0a596b,#167b8b); border-color: transparent; }
.private-dialog-actions button:hover, .private-dialog-actions button:focus-visible { outline: 3px solid rgba(22,123,139,.22); }
.private-dialog-actions button:disabled { cursor: wait; opacity: .65; }

.access-lock-mark { display: inline-grid; place-items: center; flex: 0 0 auto; width: 22px; height: 22px; color: #7a4a0f; font-size: .7rem; background: rgba(213,145,53,.16); border-radius: 7px; }
.access-button.is-unlocked .access-button-locked { display: none; }
.access-button:not(.is-unlocked) .access-button-unlocked { display: none; }

@media (max-width: 620px) {
  .private-access-dialog form { padding: 20px; }
  .private-dialog-heading { align-items: flex-start; }
  .private-dialog-heading h2 { font-size: 1.17rem; }
  .private-reasons p, .private-session-note { font-size: .79rem; }
  .private-dialog-actions { flex-direction: column-reverse; }
  .private-dialog-actions button { width: 100%; }
}
