.access-section { max-width:640px; width:90%; margin:0 auto; padding:36px 0 48px; text-align:center; color:#111c3b; font-family:Inter,"Segoe UI",Arial,sans-serif; }
.access-section h2 { font-size:24px; margin:0 0 10px; font-weight:600; }
.access-section>p { color:#536c8d; line-height:1.5; }
#open-login,#login-submit { min-height:48px; background:#243d53; color:#fff; border:1px solid #243d53; border-radius:8px; font-weight:600; padding:14px 28px; cursor:pointer; }
#open-login { margin-top:10px; min-width:240px; }
#open-login span { margin-left:18px; }
#entry-form-panel { text-align:left; max-width:440px; margin:24px auto 0; background:white; border:1px solid #e1e8f3; border-radius:18px; padding:28px; }
#entry-form-panel h3 { font-size:24px; margin:0 0 24px; }
#entry-form-panel label { display:block; color:#536c8d; margin:18px 0 8px; }
#entry-form-panel input { display:block; width:100%; min-width:0; padding:12px; min-height:48px; border:1px solid #cbd8eb; border-radius:8px; background:#fff; color:#111c3b; }
.entry-password { position:relative; }
.entry-password input { padding-right:88px!important; }
#toggle-password { position:absolute; right:5px; top:5px; min-height:38px; padding:6px 10px; border:0; border-radius:8px; background:white; color:#243d53; font-size:12px; font-weight:600; }
#login-submit { width:100%; margin-top:24px; }
#login-submit:disabled { opacity:.6; cursor:wait; }
#login-status { text-align:left; background:#fff8e6; border:1px solid #c8a04b; border-radius:10px; padding:12px; color:#684e17; overflow-wrap:anywhere; }
#login-checking,.access-help { color:#536c8d; font-size:12px; }
.access-help { text-align:center; line-height:1.5; margin:20px 0 0; }
@media(max-width:550px){ .access-section { padding-top:28px; } #entry-form-panel { padding:22px; } }
