[hidden] { display: none !important; }
.account-links { display: grid; gap: 10px; margin-block: 14px; }
.account-links a { color: #b8e8ff; text-decoration: underline; text-underline-offset: 3px; }
#site-account-status:empty { display: none; }
#site-account .account-error, #account-form-status { color: #ffcfb1; }
#account-dialog { width: min(480px, calc(100% - 24px)); padding: 30px; max-height: calc(100dvh - 30px); overflow-y: auto; }
#account-dialog h2 { margin-bottom: 12px; }
#account-form { margin-top: 18px; display: grid; gap: 10px; }
#account-form label { display: block; color: #f1eedc; font-size: 14px; }
#account-form input:not([type=checkbox]) { display: block; width: 100%; min-width: 0; min-height: 42px; padding: 9px 10px; border: 1px solid #a2bbc9; border-radius: 2px; color: #14212c; background: #fffdf0; font: inherit; }
.account-password-row { display: flex; gap: 6px; }
.account-password-row button { color: #eef7ff; background: #203d51; border: 1px solid #819eae; padding: 8px; }
#account-form .account-checkbox { display: flex; gap: 10px; align-items: center; }
#account-form .account-checkbox input { width: 17px; height: 17px; }
.account-actions { display: flex; flex-wrap: wrap; gap: 10px; }
#account-dialog .small-note { margin-top: 4px; font-size: 12px; }
#account-confirm-row label { margin-bottom: 10px; }
button:disabled { cursor: wait; opacity: .7; }
