:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #111111);--hint: var(--tg-theme-hint-color, #8a8a8a);--link: var(--tg-theme-link-color, #2481cc);--button: var(--tg-theme-button-color, #2481cc);--button-text: var(--tg-theme-button-text-color, #ffffff);--card: var(--tg-theme-secondary-bg-color, #f2f3f5);--danger: #d33d2e}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{padding:12px 12px 76px;max-width:640px;margin:0 auto}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--card);border-top:1px solid rgba(128,128,128,.25)}.tabs button{flex:1;padding:10px 4px 12px;border:0;background:none;color:var(--hint);font-size:12px;cursor:pointer}.tabs button.active{color:var(--link);font-weight:600}.tabs .icon{display:block;font-size:20px;margin-bottom:2px}.card{background:var(--card);border-radius:12px;padding:12px;margin-bottom:10px}.card h3{margin:0 0 4px;font-size:15px}.meta{color:var(--hint);font-size:12px;margin-bottom:8px}.row{display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:8px;padding:8px 12px;font-size:13px;background:var(--button);color:var(--button-text);cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:transparent;color:var(--link)}.btn.danger{background:transparent;color:var(--danger)}.btn:disabled{opacity:.5}.btn.block{width:100%;padding:12px;font-size:15px}.badge{font-size:11px;padding:2px 8px;border-radius:10px}.badge.active{background:#2e9e4f22;color:#2e9e4f}.badge.paused{background:#8a8a8a22;color:var(--hint)}.badge.broken_destination{background:#d33d2e22;color:var(--danger)}.field{margin-bottom:10px}.field label{display:block;font-size:12px;color:var(--hint);margin-bottom:4px}.field input,.field select{width:100%;padding:10px;border-radius:8px;font-size:15px;border:1px solid rgba(128,128,128,.35);background:var(--bg);color:var(--text)}.segment{display:flex;background:var(--card);border-radius:10px;padding:3px;margin-bottom:12px}.segment button{flex:1;border:0;background:none;padding:8px;border-radius:8px;color:var(--text);font-size:13px;cursor:pointer}.segment button.active{background:var(--bg);font-weight:600}.error{color:var(--danger);font-size:13px;margin:8px 0}.empty{text-align:center;color:var(--hint);padding:40px 16px}.preview{font-size:12px;word-break:break-all;color:var(--hint);background:var(--card);border-radius:8px;padding:8px;margin:8px 0}
