/* Shared public popup titles and login-only controls; embedded PUS is untouched. */
.public-panel #contactdiv.login-overlay,
.public-panel #logindiv.login-overlay {
    position: fixed; inset: 0; box-sizing: border-box; width: 100%; height: 100%;
    padding: 40px 16px; overflow-y: auto; z-index: 10000;
    background: rgba(0, 0, 0, 0.75); opacity: 1;
}
.public-panel #login.login-form,
.public-panel #login-error.login-form {
    position: relative; top: auto; left: auto; width: 452px; max-width: 100%;
    margin: 0 auto; color: #dfcfad;
    font: 14px/1.5 serverdetails, Georgia, "Times New Roman", serif;
}
.public-panel .login-form > table { width: 100%; }
.public-panel .login-form td[class$="FormTitle"],
.public-panel .account-dialog td[class$="FormTitle"] {
    /* Header artwork is 452x124; its title plaque is centred at y=50.
       Include padding in the 124px cell instead of adding a gap below it. */
    box-sizing: border-box; height: 124px; position: static; top: auto; left: auto;
    padding: 0 76px 24px; vertical-align: middle;
    color: #dfcfad; text-align: center;
    font: normal 23px/30px serverdetails, Georgia, "Times New Roman", serif;
}
.public-panel .login-overlay .registrationField {
    box-sizing: border-box; width: 80%; height: 36px; margin: 0; padding: 8px 10px;
    border: 1px solid #786c5c; border-radius: 0; background: #241b15;
    color: #e8dcc0; text-align: left; box-shadow: inset 0 1px 4px #0006;
    font: inherit;
}
.public-panel .login-overlay .registrationField::placeholder { color: #bfb8ac; opacity: 1; }
.public-panel .login-overlay .registrationField:-webkit-autofill {
    -webkit-text-fill-color: #e8dcc0; caret-color: #e8dcc0;
    box-shadow: inset 0 0 0 1000px #241b15;
}
.public-panel .login-overlay .login-remember {
    display: inline-flex; align-items: center; gap: 9px; margin: 16px 0 2px;
    cursor: pointer; font: 13px/1.5 serverdetails, Georgia, "Times New Roman", serif;
}
.public-panel .login-overlay .login-remember input[type="checkbox"] {
    appearance: auto; position: static; flex: 0 0 16px; width: 16px; height: 16px;
    margin: 0; padding: 0; accent-color: #b69a69;
}
.public-panel .login-overlay .login-remember input[type="checkbox"]::before { content: none; display: none; }
.public-panel #login .buttonPopup,
.public-panel #login-error .buttonPopup {
    box-sizing: border-box; position: static; width: 26%; min-width: 0;
    height: 36px; min-height: 36px; padding: 7px 3px; margin: 0 1px 10px;
    border: 1px solid #786c5c; border-radius: 0; box-shadow: none;
    background: #2d1f17 url(images/button.png) center / 100% 100% no-repeat;
    color: #e8dcc0; font: normal 12px/1.4 serverdetails, Georgia, "Times New Roman", serif;
    cursor: pointer;
}
.public-panel #login .buttonPopup:hover,
.public-panel #login-error .buttonPopup:hover {
    background: #422d22 url(images/button_hover.png) center / 100% 100% no-repeat;
    border-color: #958363; color: #fff0d1;
}
.public-panel .saved-logins-table { min-width: 460px; }
.public-panel .saved-login-detail { margin-top: 4px; color: #bfb8ac; font-size: 11px; }
.public-panel .saved-login-current { color: #a8bf80; font-size: 11px; }
