.rusdtp-tga-profile { margin-top: 24px; padding: 20px; background: #fff; border-radius: 6px; box-shadow: 0 0 7px rgba(188,188,188,.25); }
.rusdtp-tga-profile h2 { margin: 0 0 12px; font-size: 18px; }
.rusdtp-tga { margin: 16px 0; display: grid; gap: 12px; font-size: 14px; line-height: 1.5; }
.rusdtp-tga label { display: grid; gap: 6px; }
.rusdtp-tga input[type="password"] { box-sizing: border-box; width: 100%; min-height: var(--control-height, 46px); padding: 10px; border: 1px solid #767676; border-radius: 4px; }
.rusdtp-tga button, .rusdtp-tga [data-tga-bot] { box-sizing: border-box; display: inline-block; min-height: var(--control-height, 46px); padding: 10px 16px; border: 0; border-radius: var(--control-radius, 8px); background: var(--button-secondary-bg, #f0f3f5); color: #222; font: inherit; text-align: center; text-decoration: none; cursor: pointer; }
.rusdtp-tga button:hover { background: #f2f2f2; }
.rusdtp-tga button:active { background: #e5e5e5; }
.rusdtp-tga:not([data-tga-purpose="unlink"]) [data-tga-start],
.rusdtp-tga [data-tga-bot],
.rusdtp-tga [data-tga-finish] { background: var(--button-telegram-bg, #279ad1); color: var(--button-telegram-text, #fff); border: 0; font-weight: 600; }
.rusdtp-tga:not([data-tga-purpose="unlink"]) [data-tga-start]:enabled:hover,
.rusdtp-tga [data-tga-bot]:hover,
.rusdtp-tga [data-tga-finish]:enabled:hover { background: var(--button-telegram-hover, #238abd); }
.rusdtp-tga:not([data-tga-purpose="unlink"]) [data-tga-start]:enabled:active,
.rusdtp-tga [data-tga-bot]:active,
.rusdtp-tga [data-tga-finish]:enabled:active { background: var(--button-telegram-active, #1f7ba8); }
.rusdtp-tga :focus-visible { outline: 3px solid #279ad1; outline-offset: 3px; }
.rusdtp-tga button:disabled, .rusdtp-tga [data-tga-start]:disabled, .rusdtp-tga [data-tga-finish]:disabled { opacity: 1; background: #e9eef2; border: 0; color: #52616d; cursor: wait; }
.rusdtp-tga [hidden] { display: none !important; }
.rusdtp-tga p { margin: 8px 0; }
.rusdtp-tga .rusdtp-tga__hint { font-size: 13px; color: #52616d; }
.rusdtp-tga [data-tga-status] { overflow-wrap: anywhere; }
.rusdtp-tga [data-tga-status]:empty { display: none; }
.rusdtp-tga [data-tga-status][role="alert"] { display: grid; gap: 12px; padding: 14px; border-radius: var(--control-radius, 8px); background: var(--auth-error-bg, #fff1f0); color: var(--auth-error-text, #a32921); text-align: left; }
.rusdtp-tga [data-tga-status] .rusdtp-tga__error-text { margin: 0; font-size: 14px; line-height: 1.5; }
.rusdtp-tga__error-actions { display: grid; gap: 8px; min-width: 0; }
.rusdtp-tga .rusdtp-tga__error-actions button,
.rusdtp-tga .rusdtp-tga__error-actions a { width: 100%; margin: 0; display: flex; align-items: center; justify-content: center; padding: 10px 12px; min-height: var(--control-height, 46px); box-sizing: border-box; border: 0; border-radius: var(--control-radius, 8px); background: #fff; color: #343b42; text-decoration: none; }
.rusdtp-tga .rusdtp-tga__error-actions button:hover,
.rusdtp-tga .rusdtp-tga__error-actions a:hover { background: #f5f7f9; }
.rusdtp-tga .rusdtp-tga-recovery { display: inline-block; min-height: var(--control-height, 46px); color: #177da9; text-decoration: underline; }
.login .rusdtp-tga { max-width: 320px; margin: 20px auto; }
@media (max-width: 600px) { .rusdtp-tga button, .rusdtp-tga [data-tga-bot] { width: 100%; margin-bottom: 8px; } }

/* The provider flow replaces the dialog body while preserving entered email fields. */
.auth-panel--telegram [hidden] { display: none !important; }
.auth-panel--telegram .auth-providers { display: block; }
.auth-panel--telegram .rusdtp-tga { margin: 0; gap: 16px; }
.auth-panel--telegram .rusdtp-tga > [data-tga-start] { display: none; }
.rusdtp-tga [data-tga-next] { display: grid; gap: 12px; }
.rusdtp-tga [data-tga-next] p { margin: 0; color: #52616d; font-size: 14px; }
.rusdtp-tga [data-tga-next] [data-tga-bot],
.rusdtp-tga [data-tga-next] button { width: 100%; margin: 0; }
.auth-panel--telegram [data-tga-cancel] { display: none; }
.rusdtp-tga .rusdtp-tga__back { justify-self: stretch; width: 100%; min-height: var(--control-height, 46px); margin: 0; padding: 10px 16px; background: var(--button-back-bg, #f2f4f6); color: var(--button-back-text, #596570); font-weight: 500; }
.rusdtp-tga .rusdtp-tga__back:hover { background: #e8ecf0; color: #36424d; }
.rusdtp-tga .rusdtp-tga__back:active { background: #dfe5ea; }
.rusdtp-tga__code-control { position: relative; display: block; width: 100%; border-radius: 8px; }
.rusdtp-tga__code-slots { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; padding: 12px 6px; }
.rusdtp-tga__code-slots > span { display: flex; align-items: center; justify-content: center; height: 42px; color: #8996a2; font: 500 28px/1 monospace; border-bottom: 2px solid transparent; }
.rusdtp-tga__code-slots > .is-filled { color: #202a33; border-bottom-color: #b9c5cf; }
.rusdtp-tga .rusdtp-tga__code-control [data-tga-code] { position: absolute; inset: 0; z-index: 1; box-sizing: border-box; width: 100%; height: 100%; min-height: 46px; margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; color: transparent; caret-color: transparent; font-size: 20px; }
.rusdtp-tga__code-control:focus-within { outline: 2px solid #279ad1; outline-offset: 3px; }
.rusdtp-tga .rusdtp-tga__code-control [data-tga-code]:focus-visible { outline: none; }

.rusdtp-tga [data-tga-status][data-kind="info"] { display: grid; gap: 12px; padding: 14px; border-radius: 8px; background: #f2f6f9; color: #344553; }
