:root{font:16px/1.5 system-ui,sans-serif;color-scheme:light dark;background:var(--tg-theme-bg-color,#f4f6f8);color:var(--tg-theme-text-color,#14232d)}*{box-sizing:border-box}body{margin:0;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);max-width:900px;margin-inline:auto}header{display:flex;gap:12px;align-items:center;border-bottom:1px solid #81919a45;padding:12px 0}h1{font-size:21px;margin:0}header span{margin-left:auto;font-size:12px;opacity:.7}button,select,textarea{font:inherit;border:1px solid #80929b60;border-radius:9px;padding:10px;background:var(--tg-theme-secondary-bg-color,#fff);color:inherit}button{cursor:pointer}button:disabled{opacity:.5}button[type=submit]{background:#126a59;color:white;border:0;min-width:120px}.filters,.actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0}.card{display:block;width:100%;text-align:left;margin:10px 0;padding:15px}.card strong,.card small{display:block}.card small{opacity:.7}#error{color:#bb3535;white-space:pre-wrap}#details{padding-top:14px;font-weight:600}#messages{display:flex;flex-direction:column;gap:10px;padding:16px 0}.message{padding:12px 15px;background:var(--tg-theme-secondary-bg-color,#fff);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere}.message small{display:block;font-size:12px;opacity:.65;margin-bottom:5px}.message img{max-width:100%;max-height:400px;display:block}.message.outgoing{border-left:3px solid #248b74}form{position:sticky;bottom:0;background:var(--tg-theme-bg-color,#f4f6f8);padding:10px 0 20px}label,textarea{display:block;width:100%;margin-bottom:8px}[hidden]{display:none!important}:focus-visible{outline:3px solid #4c9cff;outline-offset:2px}

body{height:var(--app-height,100dvh);display:flex;flex-direction:column;overflow:hidden;padding-top:max(env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px));padding-bottom:max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px))}header{flex:none}main{flex:1;min-height:0;display:flex;flex-direction:column}#inbox{overflow:auto}#chat{display:flex;flex:1;min-height:0;flex-direction:column;position:relative}#details{font-size:14px}.actions{flex:none}.actions button{font-size:14px}#viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;background:var(--tg-theme-secondary-bg-color,#f3f4f6);border-radius:10px;padding:12px}#messages{padding:0;gap:16px}.history-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:13px;margin-bottom:12px}.message{align-self:flex-start;max-width:85%;border:1px solid #81919a30;background:var(--tg-theme-bg-color,#fff);white-space:normal}.message-body{white-space:pre-wrap}.message.outgoing{align-self:flex-end;border:1px solid #248b7455;background:color-mix(in srgb,var(--tg-theme-bg-color,#fff) 92%,#248b74)}.message time{display:block;text-align:right;opacity:.65;font-size:12px;margin-top:10px}.message small{overflow-wrap:anywhere}.message .delivery{margin:8px 0 0;opacity:1;font-size:12px}.status-succeeded{color:var(--tg-theme-link-color,#19745d)}.status-failed,.status-unknown{color:var(--tg-theme-destructive-text-color,#b9533a)}#new-messages{align-self:center;margin:6px;flex:none;font-size:14px}#reply{position:static;flex:none;padding:10px 0;display:grid;grid-template-columns:1fr auto;gap:8px}#reply label{grid-column:1/-1;font-size:13px;margin:0}#reply textarea{margin:0;resize:none;min-height:60px;max-height:140px}#reply button{align-self:end}#error:empty{display:none}#error{flex:none;margin:6px 0;max-height:72px;overflow:auto;font-size:13px}.attachment{margin-top:8px;font-size:13px}
@media(max-width:540px){body{padding-inline:8px}header{gap:8px}h1{font-size:18px}header span{font-size:11px}header button{font-size:13px;padding:7px}.actions{gap:5px;padding:8px 0}.actions button{padding:8px;font-size:12px}.message{max-width:92%;padding:10px 12px}#reply{gap:6px}#reply button{min-width:0;padding:10px;font-size:14px}#details{font-size:12px}#viewport{padding:8px}}

:root[data-theme=dark] .status-succeeded{color:var(--tg-theme-link-color,#8bdcc2)}:root[data-theme=dark] .status-failed,:root[data-theme=dark] .status-unknown{color:var(--tg-theme-destructive-text-color,#ffab99)}
