.tg-dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:480px;
  max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line-strong);
  border-radius:18px;padding:24px;background:var(--card);color:var(--ink);
  box-shadow:0 20px 60px #0004;font:15px/1.55 var(--font)}
.tg-dialog::backdrop{background:var(--overlay)}
.tg-dialog h2{font-size:19px;line-height:1.3;margin:0}
.tg-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.tg-dialog button,.tg-dialog .tg-file-label{min-height:44px;cursor:pointer;border-radius:10px;padding:10px 14px;
  border:1px solid var(--line-strong);font:inherit;font-weight:600;white-space:normal}
.tg-dialog button:disabled{cursor:wait;opacity:.65}
.tg-dialog .tg-close{width:44px;min-width:44px;padding:8px;font-size:24px;line-height:1}
.tg-methods{display:flex;gap:6px;margin-bottom:20px}
.tg-methods button{flex:1;min-width:0;padding:8px;font-size:14px}
.tg-dialog button[aria-pressed=true],.tg-dialog .tg-primary{background:#1E6B4F;color:#fff;border-color:#1E6B4F}
[data-theme=dark] .tg-dialog button[aria-pressed=true],[data-theme=dark] .tg-dialog .tg-primary{
  background:#5FC79A;color:#17150F;border-color:#5FC79A}
.tg-dialog button:hover:not(:disabled){border-color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.tg-dialog :is(button,input,a):focus-visible{outline:3px solid var(--accent-dark);outline-offset:3px}
.tg-dialog label{display:block;font-weight:600;margin:0 0 6px}
.tg-dialog input:not([type=file]){display:block;width:100%;min-width:0;min-height:48px;border-radius:10px;
  border:1px solid var(--line-strong);background:var(--field);padding:10px 12px;font-size:16px}
.tg-dialog input::placeholder{color:#625F55}
.tg-dialog .tg-hint,.tg-dialog .tg-status{color:#625F55;font-size:14px;overflow-wrap:anywhere}
[data-theme=dark] .tg-dialog .tg-hint,[data-theme=dark] .tg-dialog .tg-status,
[data-theme=dark] .tg-dialog input::placeholder{color:#BBB8AA}
.tg-dialog .tg-status{background:var(--bg);border-radius:10px;padding:12px;margin-bottom:16px}
.tg-dialog .tg-error{color:var(--error);margin:12px 0;overflow-wrap:anywhere}
.tg-dialog .tg-action{width:100%;margin-top:16px}
.tg-dialog .tg-qr{width:248px;max-width:100%;margin:0 auto 14px;background:#fff;border-radius:12px;overflow:hidden}
.tg-dialog .tg-qr svg{display:block;width:100%;height:auto}
.tg-dialog .tg-qr-note{text-align:center;margin-bottom:12px}
.tg-dialog .tg-upload{border:2px dashed var(--line-strong);border-radius:12px;padding:20px;text-align:center}
.tg-dialog .tg-upload.over{border-color:var(--accent);background:var(--accent-soft)}
.tg-dialog .tg-upload button{margin-top:12px;width:100%}
.tg-dialog .tg-footer{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}
#card-accounts [data-add=tg]{min-height:44px;min-width:44px}
@media(max-width:420px){.tg-dialog{padding:18px 16px}.tg-dialog h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.tg-dialog *{animation:none!important;transition:none!important}}
