.access-entry { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--line); text-align: center; color: var(--ink-soft); font-size: 13px; }
.access-entry a { margin-left: 8px; color: var(--accent); font-weight: 600; text-decoration: none; }
#access-request-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 26px; overflow-y: auto; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 18px; }
#access-request-dialog::backdrop { background: rgb(12 32 25 / 38%); }
.access-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.access-modal-head h2 { margin: 0; font-size: 22px; }
.access-close { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--sunken); font-size: 26px; color: var(--ink-soft); }
.access-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.access-fields .field { min-width: 0; max-width: none; gap: 7px; }
.access-fields .field input { width: 100%; min-width: 0; height: 44px; font-size: 16px; }
.access-fields textarea { min-height: 100px; font-size: 16px; }
.access-wide { grid-column: 1 / -1; }
.access-form-actions { display: flex; justify-content: flex-end; margin-top: 22px; }
.access-form-actions .btn { min-height: 44px; }
.access-status { margin-bottom: 16px; padding: 10px 12px; border-radius: 8px; background: var(--warn-tint); color: var(--warn); font-size: 13px; overflow-wrap: anywhere; }
.access-status p { margin: 0 0 4px; }
.access-status.is-success { background: var(--accent-tint); color: var(--accent); }
body.access-request-open { overflow: hidden; }
.access-detail dl { display: grid; gap: 18px; margin: 0 0 24px; }
.access-detail dl > div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 14px; }
.access-detail dt { color: var(--ink-soft); }
.access-detail dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 599px) { #access-request-dialog { padding: 22px; } .access-fields { grid-template-columns: 1fr; } .access-form-actions .btn { width: 100%; } .access-detail dl > div { grid-template-columns: 1fr; gap: 5px; } }

/* 申请访问弹窗手机紧凑布局 */
@media (max-width: 599px) {
  #access-request-dialog {
    width: min(480px, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    padding: 14px;
  }
  #access-request-dialog .access-modal-head { gap: 8px; margin-bottom: 10px; }
  #access-request-dialog .access-modal-head h2 { font-size: 18px; }
  #access-request-dialog .access-close { width: 36px; height: 36px; font-size: 22px; }
  #access-request-dialog .access-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
  }
  #access-request-dialog .access-fields .field { gap: 3px; font-size: 13px; }
  #access-request-dialog .access-fields input { height: 40px; font-size: 16px; }
  #access-request-dialog .access-fields textarea {
    min-height: 60px;
    height: 60px;
    font-size: 16px;
  }
  #access-request-dialog .access-form-actions { margin-top: 12px; }
  #access-request-dialog .access-form-actions .btn { min-height: 42px; }
  #access-request-dialog .access-status {
    margin-bottom: 8px;
    padding: 7px 9px;
    font-size: 12px;
  }
}
