.profile-dialog { box-sizing: border-box; width: min(420px, calc(100vw - 32px)); max-height: calc(100svh - 32px); overflow: auto; padding: 32px; border: 1px solid #dce8f8; border-radius: 16px; background: #fafdff; color: #122c50; box-shadow: 0 24px 80px #102a4d30; font-family: inherit; }
.profile-dialog::backdrop { background: #0a1c3866; backdrop-filter: blur(5px); }
.profile-dialog h2 { margin: 0 40px 24px 0; font-size: 22px; }
.profile-close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border: 0; border-radius: 10px; background: transparent; color: inherit; font-family: inherit; font-size: 32px; line-height: 1; cursor: pointer; }
.profile-close:hover { background: #e8f1fc; }
.profile-dialog label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.profile-dialog input { box-sizing: border-box; width: 100%; height: 44px; padding: 10px 12px; border: 1px solid #bacee8; border-radius: 8px; background: white; color: inherit; font: inherit; }
.profile-dialog input:focus-visible { outline: 2px solid #2678d4; outline-offset: 2px; }
.profile-dialog .profile-hint { margin: 8px 0 18px; color: #59718f; font-size: 12px; line-height: 1.6; }
.profile-dialog #profile-email { margin: 0 0 22px; overflow-wrap: anywhere; font-size: 14px; }
.profile-dialog #profile-error { color: #ad2c3c; font-size: 13px; }
.profile-save { width: 100%; min-height: 44px; border: 0; border-radius: 8px; background: #1266d5; color: white; font: inherit; font-weight: 600; cursor: pointer; }
.profile-save:disabled { opacity: .55; cursor: wait; }
:root[data-theme="dark"] .profile-dialog { background: #11243c; color: #e0eaff; border-color: #2b4668; }
:root[data-theme="dark"] .profile-dialog input { background: #0b1b2e; border-color: #365778; }
:root[data-theme="dark"] .profile-dialog .profile-hint { color: #aac0dc; }
:root[data-theme="dark"] .profile-dialog #profile-error { color: #ffb4b4; }
:root[data-theme="dark"] .profile-close:hover { background: #203b5b; }
.auth-name-label { display: flex; align-items: center; gap: 4px; margin: 0 0 8px; }
.auth-name-label label { margin: 0; }
.auth-name-help { position: relative; display: inline-flex; }
.auth-name-help > button { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #38689e; font: 600 13px/1 sans-serif; cursor: help; }
.auth-name-help > button:hover, .auth-name-help > button:focus-visible { background: #e3edfa; outline: 2px solid #38689e; outline-offset: -2px; }
.auth-name-tooltip { display: none; position: absolute; z-index: 5; top: calc(100% + 4px); left: -60px; box-sizing: border-box; width: 240px; max-width: calc(100vw - 80px); padding: 10px 12px; border-radius: 8px; background: #153c6b; color: #fff; box-shadow: 0 4px 16px #122c5033; font-size: 12px; line-height: 1.6; font-weight: 400; pointer-events: none; }
.auth-name-help:hover .auth-name-tooltip, .auth-name-help:focus-within .auth-name-tooltip { display: block; }
:root[data-theme="dark"] .auth-name-help > button { color: #b2cff2; }
:root[data-theme="dark"] .auth-name-help > button:hover, :root[data-theme="dark"] .auth-name-help > button:focus-visible { background: #203b5b; outline-color: #b2cff2; }
