:root{--tg-bg: #e6ebee;--tg-header: #517da2;--tg-header-text: #ffffff;--tg-bubble-in: #ffffff;--tg-bubble-out: #eeffde;--tg-text: #000000;--tg-text-secondary: #708499;--tg-time: #a1adb6;--tg-time-out: #6cc264;--tg-link: #168acd;--tg-success: #4fae4e;--tg-danger: #df3f40;--tg-warning: #e9952c;--tg-input-bg: #ffffff;--tg-input-border: #d6dee5;--tg-btn-bg: #f0f1f3;--tg-btn-hover: #e4e6ea;--tg-btn-divider: #dadde1;--tg-action-bg: rgba(61, 160, 214, .75);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.375;color:var(--tg-text)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--tg-bg);-webkit-text-size-adjust:100%;overscroll-behavior:none}#app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.screen{flex:1;display:flex;flex-direction:column;max-width:480px;width:100%;margin:0 auto;min-height:0;overflow:hidden}.header{position:sticky;top:0;z-index:10;background:var(--tg-header);color:var(--tg-header-text);padding:10px 16px;display:flex;align-items:center;gap:12px}.header h1{font-size:17px;font-weight:600;margin:0}.header-subtitle{font-size:13px;opacity:.7}.feed{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:6px 0;background:var(--tg-bg)}.bubble{max-width:85%;padding:7px 9px 5px;margin:1px 10px;box-shadow:0 1px 2px #00000021;position:relative;word-break:break-word;font-size:15px;line-height:1.375}.bubble-in{background:var(--tg-bubble-in);border-radius:12px 12px 12px 4px;align-self:flex-start}.bubble-out{background:var(--tg-bubble-out);border-radius:12px 12px 4px;align-self:flex-end}.bubble-cancelled{opacity:.6}.bubble+.bubble{margin-top:1px}.event-group{display:flex;flex-direction:column;margin-bottom:6px}.bubble-time{font-size:11px;color:var(--tg-time);float:right;margin:4px 0 -2px 12px;line-height:1}.bubble-out .bubble-time{color:var(--tg-time-out)}.inline-keyboard{display:flex;margin:2px 10px 6px;max-width:85%;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px #00000021;align-self:flex-start}.inline-btn{flex:1;background:var(--tg-btn-bg);color:var(--tg-link);border:none;padding:11px 8px;font-size:14px;font-weight:500;min-height:44px;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;transition:background .1s}.inline-btn+.inline-btn{border-left:1px solid var(--tg-btn-divider)}.inline-btn:active{background:var(--tg-btn-hover)}.inline-btn:disabled{opacity:.5;pointer-events:none}.inline-error{font-size:13px;color:var(--tg-danger);padding:4px 10px;max-width:85%}.order-item{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;gap:8px;flex-wrap:wrap}.order-item-name{font-weight:400}.order-item-qty{color:var(--tg-text-secondary);white-space:nowrap;font-size:14px}.order-item-alternatives{width:100%;font-size:12px;color:var(--tg-text-secondary);padding-left:20px}.confidence-high{color:var(--tg-success)}.confidence-medium{color:var(--tg-warning)}.confidence-low{color:var(--tg-danger)}.order-title{font-weight:500;margin-bottom:4px}.order-status-line{margin-top:6px;font-size:14px}.order-status-confirmed{color:var(--tg-success)}.order-status-cancelled{color:var(--tg-text-secondary)}.order-unknown{margin-top:6px;font-size:14px;color:var(--tg-danger)}.order-hint{margin-top:6px;font-size:13px;color:var(--tg-text-secondary)}.date-divider{text-align:center;margin:8px 0}.date-divider span{background:var(--tg-action-bg);color:#fff;padding:3px 10px;border-radius:10px;font-size:13px;font-weight:500}.composer{position:sticky;bottom:0;background:var(--tg-input-bg);border-top:1px solid var(--tg-input-border);padding:5px 8px;padding-bottom:max(5px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:6px}.composer textarea{flex:1;min-height:40px;max-height:120px;padding:9px 14px;border:1px solid var(--tg-input-border);border-radius:21px;font-size:16px;font-family:inherit;resize:none;outline:none;line-height:1.35;background:#fff}.composer textarea:focus{border-color:var(--tg-link)}.composer-action-btn{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;-webkit-tap-highlight-color:transparent;transition:background .15s}.composer-mic{background:none;color:var(--tg-text-secondary)}.composer-mic:active{color:var(--tg-link)}.composer-mic-active{transform:scale(1.3);color:var(--tg-link);background:#168acd1a;box-shadow:0 0 0 4px #168acd26;animation:mic-pulse 1.3s infinite}@keyframes mic-pulse{0%{box-shadow:0 0 #168acd4d}70%{box-shadow:0 0 0 12px #168acd00}to{box-shadow:0 0 #168acd00}}.composer-send{background:var(--tg-link);color:#fff}.composer-send:active{opacity:.8}.composer-action-btn:disabled{opacity:.4;cursor:not-allowed}.composer-edit-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--tg-btn-bg);border-top:1px solid var(--tg-input-border);font-size:14px;color:var(--tg-link)}.composer-edit-bar button{background:none;border:none;color:var(--tg-text-secondary);font-size:18px;cursor:pointer;padding:4px;-webkit-tap-highlight-color:transparent}.recording-bar{flex:1;display:flex;align-items:center;gap:8px;padding:0 8px}.recording-indicator{width:10px;height:10px;border-radius:50%;background:var(--tg-danger);animation:rec-pulse 1.5s infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.recording-timer{font-size:15px;font-weight:500;color:var(--tg-text);min-width:36px}.recording-hint{font-size:13px;color:var(--tg-text-secondary);margin-left:auto}.recording-cancel{font-size:13px;color:var(--tg-danger);font-weight:500}.spinner{width:24px;height:24px;border:3px solid var(--tg-input-border);border-top-color:var(--tg-link);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:var(--tg-text-secondary);text-align:center;gap:12px}.empty-state-icon{font-size:48px;opacity:.5}.loading{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.auth-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;gap:24px;background:var(--tg-bg)}.auth-screen h1{font-size:24px;font-weight:600;color:var(--tg-text)}.auth-screen p{color:var(--tg-text-secondary);max-width:300px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:15px;font-weight:500;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn:active{opacity:.8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--tg-link);color:#fff}.btn-outline{background:transparent;border:1px solid var(--tg-input-border);color:var(--tg-text)}.transcription{font-size:14px;color:var(--tg-text-secondary);font-style:italic;margin-bottom:6px}.bubble-error{color:var(--tg-danger);font-size:14px}.scroll-to-bottom{position:absolute;bottom:72px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--tg-bubble-in);border:none;box-shadow:0 2px 6px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--tg-text-secondary);z-index:5;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.scroll-to-bottom:active{opacity:.7}.event-group{animation:msg-appear .15s cubic-bezier(.4,0,.2,1)}@keyframes msg-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.typing-dots{display:flex;align-items:center;gap:4px;height:20px}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--tg-text-secondary);animation:typing-bounce 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.scroll-sentinel{height:1px;width:100%}
