.ticket-page{min-width:0;max-width:100%;overflow-x:hidden}.ticket-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.ticket-topline h2{margin:0}.ticket-create-fab{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border:0;border-radius:16px;color:white;background:var(--accent);font-size:28px;line-height:1;box-shadow:0 10px 24px rgba(123,92,255,.28)}.ticket-limit-note{margin:-4px 0 0;color:var(--hint);font-size:12px}.ticket-filters{display:flex;gap:8px;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 0 6px;scrollbar-width:none}.ticket-filters::-webkit-scrollbar{display:none}.ticket-chip,.ticket-scope-button{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:9px 13px;color:var(--hint);background:var(--surface);font-weight:800;font-size:12px}.ticket-chip.active,.ticket-scope-button.active{color:#c6baff;border-color:rgba(123,92,255,.5);background:rgba(123,92,255,.18)}.ticket-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ticket-list{display:grid;gap:8px}.ticket-item{display:flex;align-items:center;gap:11px;padding:13px;min-width:0}.ticket-item-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:15px;background:rgba(123,92,255,.15)}.ticket-item-main{min-width:0;flex:1}.ticket-item-top{display:flex;align-items:center;gap:8px}.ticket-item-top strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-item-meta{margin:4px 0;color:var(--hint);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-item small{color:var(--hint)}.ticket-status{flex:0 0 auto;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;color:#ad9cff;background:rgba(123,92,255,.14)}.ticket-status[data-status="closed"]{color:#aeb4bf;background:rgba(143,150,163,.14)}.ticket-status[data-status="in_progress"]{color:#72b7ff;background:rgba(95,168,255,.14)}.ticket-status[data-status="waiting"]{color:#ffd071;background:rgba(244,197,66,.14)}
.ticket-detail-page{position:fixed;z-index:15;inset:0 0 0 0;display:grid;grid-template-rows:auto auto 1fr auto;width:min(100%,720px);margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom));background:var(--bg);overflow:hidden}.ticket-detail-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;padding:4px 0 10px}.ticket-toolbar-button{width:42px;height:42px;border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--surface);font-size:22px}.ticket-toolbar-title{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.ticket-toolbar-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 5px 10px;color:var(--hint);font-size:12px}.ticket-detail-meta .eyebrow{margin:0}.ticket-messages{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;display:flex;flex-direction:column;gap:9px;padding:8px 2px 14px}.ticket-message{width:min(86%,560px);padding:11px 13px;border:1px solid var(--border);border-radius:18px 18px 18px 6px;background:var(--surface)}.ticket-message.mine{align-self:flex-end;border-radius:18px 18px 6px 18px;background:rgba(123,92,255,.22)}.ticket-message-author{margin-bottom:5px;color:#ad9cff;font-size:11px;font-weight:900}.ticket-message-body{white-space:pre-wrap;overflow-wrap:anywhere}.ticket-message time{display:block;margin-top:7px;color:var(--hint);font-size:10px;text-align:right}.ticket-reply-dock{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:end;gap:8px;padding-top:8px;border-top:1px solid var(--border);background:var(--bg)}.ticket-reply-dock textarea{width:100%;min-height:48px;max-height:130px;resize:none;border:1px solid var(--border);border-radius:16px;padding:13px;color:var(--text);background:var(--surface);outline:none}.ticket-send-button{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:16px;color:white;background:var(--accent);font-size:20px}.ticket-status-actions{display:grid;gap:8px;margin-top:15px}.ticket-manage-action{width:100%;border:0;border-radius:15px;padding:14px;color:#c7bcff;background:rgba(123,92,255,.15);font-weight:850}.ticket-manage-action.danger{color:#ff919d;background:rgba(217,75,93,.14)}.ticket-sheet,.ticket-manage-sheet{max-height:min(88vh,720px)}.ticket-sheet input,.ticket-sheet select{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px;color:var(--text);background:rgba(255,255,255,.04);outline:none}.ticket-submit{width:100%;margin-top:4px}.ticket-chat-open{overflow:hidden}.ticket-chat-open .app-shell{visibility:hidden}.ticket-detail-page:not(.hidden){visibility:visible}
@media(max-width:380px){.ticket-detail-meta{display:grid;justify-content:start}.ticket-status{font-size:9px}.ticket-item-icon{width:40px;height:40px}}


/* v2.2.0: меню управления всегда находится поверх открытого тикета. */
#ticket-create-sheet,
#ticket-manage-sheet {
  z-index: 80;
  visibility: visible;
}

.ticket-manage-sheet {
  max-height: min(82vh, 640px);
  overflow-y: auto;
}

.ticket-manage-separator {
  height: 1px;
  margin: 7px 2px;
  background: var(--border);
}

.ticket-manage-action.delete {
  color: #ff8d99;
  border: 1px solid rgba(217, 75, 93, 0.28);
  background: rgba(217, 75, 93, 0.13);
}


/* v2.4.0 — приоритеты, ответственные и непрочитанные сообщения. */
.ticket-extra-filters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.ticket-extra-filters select,
.ticket-management-fields select {
  min-width: 0;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 13px;
  padding: 10px 11px;
  color: var(--text);
  background: var(--surface);
  outline: none;
}

.ticket-item {
  position: relative;
}

.ticket-item.has-unread {
  border-color: rgba(123, 92, 255, 0.34);
  box-shadow: 0 12px 34px rgba(91, 61, 208, 0.12);
}

.ticket-item-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.ticket-priority {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--hint);
  background: rgba(255, 255, 255, 0.055);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.ticket-priority[data-priority="urgent"] {
  color: #ff919b;
  background: rgba(217, 75, 93, 0.14);
}

.ticket-priority[data-priority="high"] {
  color: #ffbd7a;
  background: rgba(227, 137, 46, 0.14);
}

.ticket-priority[data-priority="normal"] {
  color: #ffe08a;
  background: rgba(244, 197, 66, 0.12);
}

.ticket-priority[data-priority="low"] {
  color: #8ee7aa;
  background: rgba(65, 190, 105, 0.12);
}

.ticket-last-message {
  margin: 5px 0 3px;
  color: var(--hint);
  font-size: 13px;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ticket-unread {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  color: white;
  background: var(--accent);
  font-size: 11px;
  font-weight: 900;
}

.ticket-management-fields {
  display: grid;
  gap: 10px;
  margin-bottom: 13px;
}

.ticket-management-fields label {
  display: grid;
  gap: 6px;
}

.ticket-management-fields label > span {
  color: var(--hint);
  font-size: 12px;
  font-weight: 850;
}

@media (max-width: 420px) {
  .ticket-extra-filters {
    grid-template-columns: 1fr;
  }

  .ticket-item-top {
    align-items: flex-start;
  }

  .ticket-item-badges {
    max-width: 48%;
  }
}

/* v2.0.0 — escalation, screenshots and reviews */
.ticket-escalation-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;color:#a9c9ff;background:rgba(95,168,255,.14);font-size:11px;font-weight:850;white-space:nowrap}.ticket-reply-dock{grid-template-columns:44px minmax(0,1fr) 48px}.ticket-reply-main{min-width:0}.ticket-attach-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--surface);font-size:19px}.ticket-file-summary{margin:0 0 6px;padding:7px 9px;border-radius:11px;color:var(--hint);background:rgba(255,255,255,.05);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-message-attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}.ticket-attachment{overflow:hidden;border:0;border-radius:12px;padding:0;min-height:72px;color:var(--hint);background:rgba(255,255,255,.06)}.ticket-attachment img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;background:rgba(0,0,0,.18)}.ticket-manage-action.escalate{color:#9dc8ff;background:rgba(95,168,255,.14)}.ticket-review-panel{padding:9px 0;border-top:1px solid var(--border)}.ticket-review-panel>strong{display:block;color:#ffd56f;font-size:16px}.ticket-review-panel p{margin:5px 0;color:var(--text)}.ticket-review-panel small{color:var(--hint)}.ticket-review-sheet textarea{width:100%;min-height:110px;resize:vertical;border:1px solid var(--border);border-radius:15px;padding:12px;color:var(--text);background:var(--surface);outline:none;margin:10px 0}.ticket-review-helper{margin:0 0 8px;color:var(--hint)}.ticket-star-picker{display:flex;justify-content:center;gap:6px;padding:8px 0}.ticket-star{border:0;background:transparent;color:rgba(255,255,255,.22);font-size:38px;line-height:1}.ticket-star.active{color:#ffd25e}.ticket-review-sheet .button{width:100%}
@media(max-width:420px){.ticket-detail-meta{flex-wrap:wrap}.ticket-message-attachments{grid-template-columns:1fr}.ticket-star{font-size:34px}}

/* v2.0.1 — mobile screenshot viewer */
.ticket-attachment{cursor:zoom-in}
.ticket-image-viewer{
  position:fixed;
  z-index:10000;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom));
}
.ticket-image-viewer.hidden{display:none}
.ticket-image-viewer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,10,18,.94);
  backdrop-filter:blur(3px);
}
.ticket-image-viewer-stage{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
.ticket-image-viewer-image{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:8px;
  user-select:none;
  -webkit-user-select:none;
}
.ticket-image-viewer-close{
  position:absolute;
  z-index:2;
  top:max(4px,env(safe-area-inset-top));
  right:4px;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:15px;
  color:#fff;
  background:rgba(12,18,28,.82);
  font-size:30px;
  line-height:1;
}
.ticket-image-viewer-open{overflow:hidden}
@media(max-width:420px){
  .ticket-attachment img{max-height:420px}
  .ticket-image-viewer{padding-left:6px;padding-right:6px}
}
