/* Envio Telegram (admin). Prefixo .tga-* */
.tga-shell { margin-left: var(--sb-width-expanded); padding: 26px 30px 60px; max-width: 760px; animation: coreFadeIn .35s ease both; }
body[data-app-sidebar-collapsed="true"] .tga-shell { margin-left: var(--sb-width-collapsed); }
.tga-header h1 { margin: 0; font-size: 22px; font-weight: 700; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tga-header h1 .ic { width: 30px; height: 30px; border-radius: var(--radius-md); background: linear-gradient(135deg, #229ed9, var(--accent)); color: #fff; display: grid; place-items: center; }
.tga-header h1 .ic svg { width: 17px; height: 17px; }
.tga-adm { font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; background: var(--bg2); border: 1px solid var(--border); color: var(--text2); padding: 3px 9px; border-radius: 999px; }
.tga-sub { color: var(--text2); font-size: 13px; margin: 8px 0 18px; line-height: 1.55; }

.tga-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.tga-ch { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.tga-ch h2 { font-size: 15px; font-weight: 800; }
.tga-stat { font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.tga-stat.on { color: var(--success); background: var(--success-bg); border: 1px solid rgba(52,211,153,.4); }
.tga-stat.off { color: var(--text3); background: var(--bg2); border: 1px solid var(--border); }
.tga-body { padding: 16px 18px; }

.tga-master { display: flex; align-items: center; gap: 12px; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 12px 14px; margin-bottom: 16px; }
.tga-master .txt { font-size: 13px; font-weight: 700; } .tga-master .txt small { display: block; font-weight: 500; color: var(--text3); font-size: 11.5px; margin-top: 2px; }
/* switch */
.tga-sw { position: relative; width: 46px; height: 26px; flex: 0 0 auto; margin-left: auto; }
.tga-sw input { opacity: 0; width: 0; height: 0; }
.tga-sw .sl { position: absolute; inset: 0; background: var(--bg3); border: 1px solid var(--border); border-radius: 999px; cursor: pointer; transition: .2s; }
.tga-sw .sl:before { content: ""; position: absolute; width: 20px; height: 20px; left: 3px; top: 2px; background: var(--text3); border-radius: 50%; transition: .2s; }
.tga-sw input:checked + .sl { background: var(--accent); border-color: var(--accent); }
.tga-sw input:checked + .sl:before { transform: translateX(20px); background: #fff; }

.tga-fld { margin-bottom: 14px; }
.tga-fld label { display: block; font-size: 10px; font-weight: 800; text-transform: uppercase; color: var(--text3); margin-bottom: 5px; }
.tga-fld input[type="text"], .tga-fld input[type="password"] { width: 100%; background: var(--bg2); border: 1px solid var(--border); border-radius: 9px; padding: 10px 12px; color: var(--text); font-size: 13px; }
.tga-fld .hint { font-size: 11px; color: var(--text3); margin-top: 4px; }

.tga-types-lbl { font-size: 10px; font-weight: 800; text-transform: uppercase; color: var(--text3); margin: 4px 0 8px; }
.tga-chk { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--bg2); border: 1px solid var(--border); border-radius: 9px; margin-bottom: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.tga-chk input { width: 17px; height: 17px; accent-color: var(--accent); cursor: pointer; }
.tga-chk .desc { margin-left: auto; font-size: 11px; color: var(--text3); font-weight: 500; }

.tga-acts { display: flex; gap: 10px; margin-top: 8px; }
.tga-acts button { flex: 1; border: none; border-radius: 10px; padding: 12px; font-size: 13px; font-weight: 800; cursor: pointer; }
.tga-acts .save { background: var(--accent); color: #fff; }
.tga-acts .test { background: var(--bg2); color: var(--text); border: 1px solid var(--border); }
.tga-acts button[disabled] { opacity: .6; cursor: default; }
.tga-msg { margin-top: 12px; font-size: 12.5px; padding: 10px 12px; border-radius: 9px; display: none; }
.tga-msg.show { display: block; }
.tga-msg.ok { color: var(--success); background: var(--success-bg); border: 1px solid rgba(52,211,153,.4); }
.tga-msg.err { color: var(--danger); background: rgba(248,113,113,.12); border: 1px solid rgba(248,113,113,.4); }

.tga-steps { font-size: 12px; color: var(--text3); line-height: 1.8; background: var(--bg2); border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; margin-top: 16px; }
.tga-steps b { color: var(--text2); }
