:root{--status-open-color: #34c759;--status-in-progress-color: #ff9500;--status-closed-color: #8e8e93;--touch-target: 44px;--font-size-base: 15px;--line-height-base: 1.4;--space-sm: 8px;--space-md: 16px;--app-height: 100vh}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-base);overflow-x:hidden}a{color:var(--tg-theme-link-color, #2481cc)}button{min-height:var(--touch-target);min-width:var(--touch-target);font-size:var(--font-size-base);font-family:inherit;border:none;border-radius:10px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:active{opacity:.8}.app-shell__skip-link{position:absolute;top:-100%;left:var(--space-sm);z-index:10;padding:var(--space-sm) var(--space-md);border-radius:8px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);text-decoration:none}.app-shell__skip-link:focus{top:var(--space-sm)}.app-shell{position:relative;display:flex;flex-direction:column;height:var(--app-height);overflow:hidden}.app-shell__header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-bottom:1px solid color-mix(in srgb,var(--tg-theme-hint-color, #999999) 25%,transparent)}.app-shell__title{margin:0;font-size:var(--font-size-base);font-weight:600}.app-shell__operator{color:var(--tg-theme-hint-color, #999999);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell__dev-badge{flex:0 0 auto;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--status-in-progress-color);color:#fff}.app-shell__content{flex:1 1 auto;overflow-y:auto;min-height:0}.app-shell__footer{flex:0 0 auto;padding:var(--space-sm) var(--space-md);background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-top:1px solid color-mix(in srgb,var(--tg-theme-hint-color, #999999) 25%,transparent)}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:60vh;padding:var(--space-md);text-align:center;color:var(--tg-theme-text-color, #000000)}.state p{margin:0;max-width:32ch}.state--forbidden p,.state--empty p{color:var(--tg-theme-hint-color, #999999)}.state--loading{align-items:stretch;justify-content:flex-start;padding-top:var(--space-md);min-height:0}.skeleton{height:56px;border-radius:10px;margin-bottom:var(--space-sm);background:linear-gradient(90deg,var(--tg-theme-secondary-bg-color, #f0f0f0) 25%,color-mix(in srgb,var(--tg-theme-secondary-bg-color, #f0f0f0) 60%,var(--tg-theme-bg-color, #ffffff)) 37%,var(--tg-theme-secondary-bg-color, #f0f0f0) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}.skeleton--line{height:18px}.skeleton--short{width:60%}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.toast-stack{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-md));display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:0 var(--space-md);pointer-events:none;z-index:20}.toast{max-width:90%;padding:10px var(--space-md);border-radius:10px;background:var(--tg-theme-text-color, #000000);color:var(--tg-theme-bg-color, #ffffff);font-size:var(--font-size-base);box-shadow:0 4px 16px #0003;animation:toast-in .15s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.filter-tabs{display:flex;gap:4px;padding:var(--space-sm) var(--space-md);overflow-x:auto;flex:0 0 auto}.filter-tab{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:36px;min-width:0;padding:0 var(--space-md);border-radius:18px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000);font-size:14px;white-space:nowrap}.filter-tab--active{background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.filter-tab__count{font-size:12px;opacity:.75}.chat-list-screen{display:flex;flex-direction:column;min-height:100%}.chat-list{list-style:none;margin:0;padding:0}.offline-banner{margin:0 var(--space-md) var(--space-sm);padding:6px var(--space-md);border-radius:8px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-hint-color, #999999);font-size:13px;text-align:center}.chat-item{position:relative;display:flex;align-items:stretch;gap:var(--space-sm);padding:0 var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--tg-theme-hint-color, #999999) 15%,transparent)}.chat-item__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;padding:10px 0;background:none;border-radius:0;color:inherit;text-align:left}.chat-item__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-width:0}.chat-item__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-item__number{font-weight:400;color:var(--tg-theme-hint-color, #999999)}.chat-item__time{flex:0 0 auto;font-size:12px;color:var(--tg-theme-hint-color, #999999)}.chat-item__preview{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--tg-theme-hint-color, #999999)}.chat-item__unread{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.chat-item__badge{flex:0 0 auto;font-size:12px;padding:2px 8px;border-radius:6px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-hint-color, #999999)}.chat-item__waiting{flex:0 0 auto;font-size:12px;color:var(--tg-theme-hint-color, #999999)}.chat-item__waiting--accent{color:var(--tg-theme-button-color, #2481cc);font-weight:600}.chat-item__holder{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--tg-theme-hint-color, #999999);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-item__claim{flex:0 0 auto;align-self:center;height:36px;min-width:72px;padding:0 var(--space-md);font-size:14px}.chat-item--mine{box-shadow:inset 3px 0 0 var(--status-in-progress-color)}.chat-item--locked-other{opacity:.6}.chat-item--closed{opacity:.55}.chat-item--closed .chat-item__body,.chat-item--locked-other .chat-item__body{cursor:default}.thread{position:relative;display:flex;flex-direction:column;height:var(--app-height);overflow:hidden}.thread__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-bottom:1px solid color-mix(in srgb,var(--tg-theme-hint-color, #999999) 25%,transparent)}.thread__back{flex:0 0 auto;height:36px;padding:0 10px;background:none;color:var(--tg-theme-link-color, #2481cc);font-weight:500}.thread__title{flex:1 1 auto;min-width:0;margin:0;font-size:var(--font-size-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread__ticket-number{font-weight:400;color:var(--tg-theme-hint-color, #999999)}.chat-actions{flex:0 0 auto;display:flex;gap:6px}.chat-actions__button{height:32px;padding:0 10px;font-size:13px;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tg-theme-hint-color, #999999) 40%,transparent)}.client-card{flex:0 0 auto;border-bottom:1px solid color-mix(in srgb,var(--tg-theme-hint-color, #999999) 25%,transparent)}.client-card__summary{display:block;width:100%;min-height:32px;padding:6px var(--space-md);background:none;color:var(--tg-theme-hint-color, #999999);font-size:13px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-card__table{width:100%;padding:0 var(--space-md) var(--space-sm);border-collapse:collapse;font-size:13px}.client-card__table th{padding:3px var(--space-sm) 3px 0;color:var(--tg-theme-hint-color, #999999);font-weight:400;text-align:left;white-space:nowrap}.client-card__table td{padding:3px 0;color:var(--tg-theme-text-color, #000000)}.client-card__copy{min-height:28px;padding:4px 8px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000);border-radius:4px;font-size:13px}.thread__messages{flex:1 1 auto;overflow-y:auto;min-height:0;padding:var(--space-sm) var(--space-md)}.thread__new-messages{position:absolute;left:50%;bottom:76px;transform:translate(-50%);height:32px;padding:0 var(--space-md);border-radius:16px;font-size:13px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);box-shadow:0 2px 8px #0003}.message-date-separator{display:flex;justify-content:center;margin:var(--space-md) 0 var(--space-sm)}.message-date-separator span{padding:2px 10px;border-radius:10px;font-size:12px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-hint-color, #999999)}.message{display:flex;margin-bottom:6px}.message--in{justify-content:flex-start}.message--out{justify-content:flex-end}.message--system{justify-content:center;text-align:center;font-size:13px;color:var(--tg-theme-hint-color, #999999);margin:var(--space-sm) 0}.message__bubble{max-width:78%;padding:8px 10px;border-radius:14px;overflow-wrap:break-word}.message--in .message__bubble{background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000);border-bottom-left-radius:4px}.message--out .message__bubble{background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);border-bottom-right-radius:4px}.message__author{font-size:12px;font-weight:600;opacity:.85;margin-bottom:2px}.message__text{white-space:pre-wrap;font-size:14px}.message__meta{display:flex;gap:6px;justify-content:flex-end;margin-top:2px;font-size:11px;opacity:.75}.message__retry{height:24px;margin-top:4px;padding:0 8px;font-size:12px;background:#00000026;color:inherit}.composer{flex:0 0 auto;padding:var(--space-sm) var(--space-md);padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-sm));background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-top:1px solid color-mix(in srgb,var(--tg-theme-hint-color, #999999) 25%,transparent)}.composer--info p,.composer--locked p{margin:0;padding:8px 0;text-align:center;color:var(--tg-theme-hint-color, #999999);font-size:14px}.composer__claim-button{width:100%}.composer--active{display:flex;flex-direction:column;gap:6px}.composer__textarea{width:100%;min-height:36px;max-height:116px;padding:8px 10px;border:none;border-radius:10px;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);font-family:inherit;font-size:var(--font-size-base);line-height:1.4;resize:none}.composer__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.composer__counter{font-size:12px;color:var(--tg-theme-hint-color, #999999);margin-right:auto}.composer__send{height:36px;padding:0 var(--space-md)}
