/* Integration components reuse the account's existing palette and theme. */
.telegram-mini{--gym-scroll-top:calc(var(--telegram-top,0px) + var(--gym-header-height) + var(--gym-pin-height,0px) + 16px);--plan-canvas-top-reserve:calc(var(--telegram-top,0px) + var(--gym-pin-height,0px) + 16px)}
.telegram-chrome-shell{position:sticky;top:var(--telegram-top,0px);z-index:40;pointer-events:none}
.telegram-chrome-layer{background:var(--surface);transform:translate3d(0,0,0);transition:transform 280ms cubic-bezier(.4,0,.2,1);will-change:transform;pointer-events:none}
.telegram-mini .telegram-chrome-layer>.site-header,.telegram-mini .telegram-chrome-layer>.current-progress{position:relative;top:auto;margin:0;transform:none;transition:none;pointer-events:auto}
.telegram-mini.telegram-header-collapsed .telegram-chrome-layer{transform:translate3d(0,calc(-1 * var(--telegram-header-expanded-height,74px)),0)}
.telegram-mini.telegram-header-collapsed .site-header{pointer-events:none}
.telegram-mini:is(.profile-open,.telegram-keyboard-open)>.current-progress-next{display:none}
body.telegram-mini::before{content:"";position:fixed;inset:0 0 auto;height:var(--telegram-top,0px);background:var(--surface);z-index:41;pointer-events:none}
@media(prefers-reduced-motion:reduce){.telegram-chrome-layer{transition:none}}
@media print{.telegram-chrome-shell,.telegram-mini>.current-progress-next{display:none!important}}
.telegram-icon{display:block;width:20px;height:20px;flex:none}
.telegram-auth-option{margin-top:20px}
.telegram-auth-option>p:last-child{margin:10px 0 0;text-align:center}
.telegram-auth-option [data-telegram-status]:empty,.linked-services [data-telegram-status]:empty{display:none}
.telegram-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin-bottom:18px}
.telegram-divider::before,.telegram-divider::after{content:"";height:1px;flex:1;background:var(--border)}
.telegram-browser-hint{margin-top:18px}
.linked-services{border-top:1px solid var(--border);padding-top:22px;margin-top:24px}
.linked-service{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:44px}
.linked-service-brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px}
.linked-service-brand .telegram-icon{width:24px;height:24px}
.linked-service-account{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted)}
.linked-service-unlinked{font-size:12px}
.linked-service-form{display:contents}
.linked-service-action{white-space:nowrap;min-height:44px}
.linked-service [data-telegram-status]{grid-column:1/-1;overflow-wrap:anywhere;margin:8px 0 0}
.telegram-identity,.telegram-identity-card{display:grid;gap:4px;overflow-wrap:anywhere}
.telegram-identity-card{padding:16px;border:1px solid var(--border);background:var(--surface-raised);border-radius:12px;margin:20px 0}
.telegram-card h2{font-size:20px}
.telegram-card strong{overflow-wrap:anywhere}
.telegram-card form+p{margin-top:16px}
.telegram-card form+form{margin-top:12px}
.telegram-status{padding:15px 16px;border:1px solid var(--border);border-radius:12px;background:var(--soft);margin:22px 0 16px;overflow-wrap:anywhere}
.telegram-status.error{color:var(--danger)}
.telegram-fallback{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}
.telegram-fallback .auth-links{margin-top:16px;margin-bottom:20px}
.telegram-actions{display:grid;gap:10px;margin:24px 0 16px}
.telegram-confirm{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5}
.telegram-confirm input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent)}
.telegram-confirm label{cursor:pointer}
.telegram-linked{text-align:center;padding:36px 32px 28px}
.telegram-linked-check{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 24px;border:1px solid color-mix(in srgb,var(--success) 24%,var(--surface));border-radius:50%;color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface))}
.telegram-linked-check svg{display:block;width:48px;height:48px}
.telegram-linked h1{margin-bottom:14px}
.telegram-linked-copy{line-height:1.65;max-width:340px;margin:0 auto}
.telegram-linked-actions{margin-top:28px}
.telegram-linked-actions a{min-height:46px}
@media(max-width:760px){
 .telegram-linked{padding:28px 22px 24px}
 body.telegram-mini{--telegram-top:max(env(safe-area-inset-top,0px),calc(var(--telegram-safe-top,0px) + var(--telegram-content-top,0px)));--telegram-bottom:max(env(safe-area-inset-bottom,0px),calc(var(--telegram-safe-bottom,0px) + var(--telegram-content-bottom,0px)));--telegram-left:max(env(safe-area-inset-left,0px),calc(var(--telegram-safe-left,0px) + var(--telegram-content-left,0px)));--telegram-right:max(env(safe-area-inset-right,0px),calc(var(--telegram-safe-right,0px) + var(--telegram-content-right,0px)));padding-top:var(--telegram-top);padding-left:var(--telegram-left);padding-right:var(--telegram-right)}
 .telegram-mini .site-header{top:var(--telegram-top)}
 body.telegram-mini.mobile-navigation-ready{--mobile-navigation-height:calc(58px + var(--telegram-bottom))}
 .telegram-mini.mobile-navigation-ready .mobile-bottom-nav{left:var(--telegram-left);right:var(--telegram-right);padding-bottom:calc(6px + var(--telegram-bottom))}
 .telegram-mini .mobile-nav-sheet{padding-bottom:calc(22px + var(--telegram-bottom));max-height:calc(100dvh - var(--telegram-top) - 40px)}
 .telegram-mini.profile-open .profile-panel{padding-bottom:calc(55px + var(--telegram-bottom))}
 .telegram-mini.telegram-keyboard-open .mobile-bottom-nav{display:none}
 .telegram-mini.telegram-keyboard-open .toast{bottom:12px}
 .telegram-mini.telegram-keyboard-open .page-layout>main{padding-bottom:26px}
 .telegram-mini input,.telegram-mini select,.telegram-mini textarea{scroll-margin-bottom:90px;scroll-margin-top:calc(90px + var(--telegram-top))}
 .telegram-card input:not([type=checkbox]),.telegram-card select,.telegram-entry input{font-size:16px}
 .linked-service .secondary-button,.telegram-entry .primary-button,.telegram-entry .secondary-button{min-height:46px}
}
