.source-tabs { flex-wrap: wrap; }
#tabTelegram { flex: 1; padding: .75rem 1rem; border: 0; cursor: pointer; font-weight: 600; font-size: .85rem; background: rgba(255,255,255,.03); color: #888; white-space: nowrap; }
.tg-panel { color: #e8e8ee; font-size: .9rem; line-height: 1.55; }
.tg-panel h2 { font-size: 1.35rem; margin: 0 0 .35rem; }
.tg-panel p { margin: .6rem 0; }
.tg-panel .tg-muted { color: #aaaabd; }
.tg-panel a { color: #bba4ff; }
.tg-panel .tg-row { display: flex; flex-wrap: wrap; align-items: end; gap: .8rem; margin: 1rem 0; }
.tg-panel label { display: grid; gap: .35rem; flex: 1; min-width: 135px; }
.tg-panel input, .tg-panel select { width: 100%; min-height: 42px; box-sizing: border-box; background: #191925; border: 1px solid #535367; color: #fff; padding: .6rem .75rem; border-radius: 8px; font: inherit; }
.tg-panel input:focus, .tg-panel select:focus { outline: 2px solid #a78bfa; outline-offset: 2px; }
.tg-panel button { padding: .65rem 1rem; border: 1px solid #646478; border-radius: 8px; background: #292937; color: #eee; cursor: pointer; font: inherit; min-height: 42px; }
.tg-panel button.tg-primary { background: #7553c6; border-color: #a78bfa; color: #fff; }
.tg-panel button:disabled { opacity: .45; cursor: default; }
.tg-panel [hidden] { display: none !important; }
.tg-panel .tg-note { padding: .9rem 1rem; background: #242134; border: 1px solid #49415e; border-radius: 10px; }
.tg-panel .tg-status { padding: .75rem 0; min-height: 2.5rem; overflow-wrap: anywhere; }
.tg-panel .tg-status[data-error="true"] { color: #ffb2a8; }
.tg-panel .tg-qr { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; margin: 1rem 0; }
.tg-panel canvas { max-width: 240px; height: auto; border-radius: 12px; }
.tg-panel .tg-list { display: grid; gap: .8rem; max-height: 580px; overflow: auto; padding: 3px; }
.tg-panel .tg-album { border: 1px solid #414152; border-radius: 12px; padding: 1rem; background: #191923; }
.tg-panel .tg-album-head { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.tg-panel label.tg-check { display: flex; flex: 0 0 auto; align-items: center; min-width: 0; }
.tg-panel input[type="checkbox"] { width: 19px; height: 19px; min-height: 0; accent-color: #a78bfa; }
.tg-panel .tg-caption { white-space: pre-wrap; max-height: 110px; overflow: auto; color: #bbb; font-size: .85rem; overflow-wrap: anywhere; }
.tg-panel .tg-folder-preview { color: #bba4ff; overflow-wrap: anywhere; font-size: .8rem; }
@media (max-width: 600px) { .source-tabs .source-tab { flex-basis: 50% !important; } .tg-panel .tg-row > button { flex: 1; } }
