.member-login-modal { width: min(1152px, calc(100vw - 40px)); max-width: none; max-height: calc(100dvh - 40px); padding: 0; overflow: auto; border: 1px solid #dbe5ef; border-radius: 14px; background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.25); }
.member-login-modal::backdrop { background: rgba(10,20,35,.55); backdrop-filter: blur(3px); }
.member-login-close { position: sticky; z-index: 2; float: right; top: 8px; right: 8px; margin: 8px 8px -40px 0; width: 32px; height: 32px; border: 0; background: #edf2f7; color: #364658; border-radius: 50%; cursor: pointer; }
.member-login-close:focus-visible { outline: 2px solid #0071e3; outline-offset: 2px; }
@media (max-width: 900px) { .member-login-modal { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); } }
.member-public-record { margin-top: auto; padding: 8px 16px; text-align: center; font-size: 12px; }
.member-public-record a { color: #708399; text-decoration: none; }

.member-login-content { display:block; clear:none; background:#fff; }
.member-login-ending { width:100%; padding:14px 24px; background:#fff; border-top:1px solid #edf0f4; color:#7b8697; text-align:center; font-size:12px; box-sizing:border-box; }
.main-area:has(> .member-public-record) { display:flex !important; flex-direction:column; }
.member-public-record { width:100%; flex-shrink:0; padding:18px 16px; border-top:1px solid #e6e9ef; background:var(--surface,#f8fafc); }
.member-public-record a { display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:12px; line-height:1.7; color:#738096; transition:color 0.2s ease; }
.member-public-record a:hover { color:#087cf0; }
.icp-gov-badge { flex-shrink:0; display:inline-block; vertical-align:middle; }

:root[data-theme="dark"] .member-login-modal {
  border-color: rgba(137, 166, 205, 0.2);
  background: #0d1e33;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.65);
}
:root[data-theme="dark"] .member-login-modal::backdrop {
  background: rgba(4, 10, 18, 0.75);
}
:root[data-theme="dark"] .member-login-close {
  background: rgba(255, 255, 255, 0.1);
  color: #c9d8e8;
}
:root[data-theme="dark"] .member-login-close:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}
:root[data-theme="dark"] .member-login-content {
  background: #0d1e33;
}
:root[data-theme="dark"] .member-login-ending {
  background: #091626;
  border-top-color: rgba(137, 166, 205, 0.15);
  color: #8fa2b8;
}
:root[data-theme="dark"] .member-public-record {
  border-top-color: rgba(137, 166, 205, 0.15);
  background: #061321;
}
:root[data-theme="dark"] .member-public-record a {
  color: #8fa2b8;
}

/* The authentication panel keeps its reference black/white surfaces in both site themes. */
.member-login-modal .member-login-content {background:#fff;}
.member-login-modal .member-login-close {position:sticky;float:right;right:8px;top:8px;margin:8px 8px -40px 0;background:transparent;color:#777;font-size:18px;}
html:has(.member-login-modal[open]),body:has(.member-login-modal[open]) {overflow:hidden;}
:root[data-theme="dark"] .member-login-modal .member-login-close {background:transparent;color:#777;}
@media(max-width:980px) {
  .sidebar #sidebarAccountTrigger {display:flex !important;padding:4px !important;flex:0 0 auto !important;}
}
@media(min-width:901px) and (max-height:680px) {
  .member-login-modal {width:min(1152px,calc(100vw - 18px));max-height:calc(100dvh - 18px);}
}

/* 窄屏弹层使用自身滚动，软键盘/短屏下仍能访问完整表单。 */
@media (max-width: 600px) {
  .member-login-modal {
    box-sizing: border-box;
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    margin: auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .member-login-content { min-width: 0; }
}
