/* Обращения и ОТК: крупный текст, явные действия, спокойная иерархия. */
.service-workspace { display: flex; flex-direction: column; gap: 18px; font-size: 16px; line-height: 1.55; min-width: 0; }
.service-workspace h1 { font-size: clamp(24px, 2vw, 32px); }
.theme-light .service-workspace { --accent2: #1d4ed8; --orange: #9a4a00; --red: #b91c1c; --green: #047857; }
.theme-light .ap-bar { --accent2: #1d4ed8; }
.service-workspace h2 { font-family: var(--font-text); font-size: 19px; line-height: 1.35; }
.service-workspace .hint, .service-workspace .muted { font-size: 14px; color: var(--text2); }
.service-workspace .btn, .service-workspace .tab, .service-workspace .chip-btn {
  min-height: 44px; padding: 10px 16px; font-family: var(--font-text); font-size: 15px;
  white-space: normal; text-align: center; line-height: 1.35;
}
.service-workspace .btn-primary { background: #2563eb; color: #fff; box-shadow: none; }
.service-workspace .btn-primary:hover { background: #1d4ed8; }
.service-workspace .field label { font-size: 15px; color: var(--text); }
.service-workspace .field input, .service-workspace .field select,
.service-workspace .field textarea { font-size: 16px; min-height: 44px; }
.service-workspace .field textarea { line-height: 1.6; }
.service-workspace :is(input, select, textarea):not([type=checkbox]):not([type=hidden]) {
  min-height: 44px; padding: 8px 12px; font: 16px/1.5 var(--font-text);
  border: 1px solid var(--border); border-radius: 8px; background: var(--input-bg); color: var(--text);
}
.service-workspace input[type=checkbox] { width: 22px; height: 22px; flex-shrink: 0; }
.service-workspace .fold form > label { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; align-items: center; }
.service-workspace .status, .service-workspace .badge { font-family: var(--font-text); font-size: 14px; white-space: normal; }
.service-workspace .table { font-size: 15px; }
.service-workspace .table th { font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--text2); }
.service-workspace .table td { padding: 16px 12px; }
.service-workspace .table .num { font-size: 15px; }
.service-workspace .table td, .service-workspace .panel { overflow-wrap: anywhere; }
.service-workspace .table a { text-decoration: underline; text-underline-offset: 3px; }
.service-workspace .table .btn { text-decoration: none; min-width: 90px; white-space: nowrap; }
.service-workspace .table td:first-child { white-space: nowrap; }
.service-message { min-width: 230px; max-width: 440px; }
.service-message > div { margin-top: 6px; color: var(--text2); }
.service-meta { min-width: 120px; }
.service-workspace .table th { white-space: nowrap; }
.service-search { margin-bottom: 18px; }
.service-search-main { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; }
.service-search-main .field { flex: 1 1 230px; margin: 0; }
.service-filter-more { margin-top: 14px; }
.service-filter-more > summary { cursor: pointer; min-height: 44px; color: var(--text2); }
.service-filter-fields { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; }
.service-filter-fields .field { flex: 1 1 160px; margin: 0; }
.service-intro { padding: 12px 0 18px; }
.service-intro p { color: var(--text2); max-width: 850px; margin: 8px 0; }
.service-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr); gap: 24px; align-items: start; }
.service-main, .service-side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.service-next { border-top: 4px solid var(--accent); }
.service-next p { margin-top: 12px; }
.service-jumps { display: flex; gap: 10px; flex-wrap: wrap; }
.service-jumps a { padding: 10px 14px; min-height: 44px; border: 1px solid var(--border-hi); border-radius: 10px; color: var(--text); background: var(--card); }
.service-jumps a:hover { border-color: var(--accent); opacity: 1; }
.service-workspace :is(a, button, summary, input, select, textarea):focus-visible,
.ap-bar :is(a, button, summary):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.service-workspace :is(#buyer-message, #customer-reply, #internal-work) { scroll-margin-top: 260px; }
.service-workspace :target { border-color: var(--accent); }
.service-workspace .fold > summary { min-height: 44px; }
.service-workspace .fold > summary::before { content: '+'; font-size: 22px; width: 24px; flex-shrink: 0; color: var(--accent2); }
.service-workspace .fold[open] > summary::before { content: '−'; }
.service-workspace .fold > summary .fold-state, .service-workspace .fold > summary .fold-act { font-size: 14px; }
.service-workspace .copy-btn { min-height: 36px; font-size: 14px; padding: 6px 8px; }
.service-workspace .product-card { font-size: 17px; }
.service-workspace .copy-row { font-size: 14px; }
.service-helper { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--border); }
.service-helper > summary { cursor: pointer; min-height: 44px; color: var(--text); }
.service-approval-note { padding: 12px; margin-bottom: 14px; background: var(--card2); border-radius: 8px; }
.service-task { border: 1px solid var(--border); border-radius: 12px; padding: 20px; margin-top: 16px; }
.service-task .field { margin-top: 16px; }
.service-task > a { font-weight: 700; text-decoration: underline; }
.service-nav { display: flex; gap: 8px; flex-wrap: wrap; }
.service-tab { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--border-hi); color: var(--text2); background: var(--card); font-size: 15px; font-weight: 600; }
.service-tab b { border-radius: 6px; padding: 1px 6px; background: var(--card2); color: var(--text); font-variant-numeric: tabular-nums; }
.service-tab:hover { border-color: var(--accent); opacity: 1; }
.service-tab.active { color: #fff; background: #2563eb; border-color: #2563eb; }
.service-tab.active b { color: #fff; background: rgba(0,0,0,.2); }
.ap-bar .ap-menu > summary { min-height: 44px; display: flex; align-items: center; gap: 4px; font-size: 14px; white-space: normal; }
.ap-bar .ap-menu-list a { min-height: 44px; align-items: center; font-size: 14px; }
.ap-bar .ap-menu-list .btn { justify-content: flex-start; font-family: var(--font-text); white-space: normal; }
.ap-bar .btn { min-height: 44px; font-size: 14px; font-family: var(--font-text); }
.service-counters > summary { min-height: 36px; cursor: pointer; color: var(--text2); font-size: 14px; }
.service-counters .ap-groups { padding: 12px 0; }
.service-counters .ap-pill { min-height: 36px; align-items: center; font-size: 14px; }
.service-counters .ap-glabel { font-size: 13px; text-transform: none; color: var(--text2); }
.service-counters .ap-pill.zero { opacity: 1; color: var(--text2); background: transparent; }
.service-counters .ap-pill.zero b { color: var(--text2); }
@media (max-width: 1100px) {
  .service-layout { grid-template-columns: minmax(0, 1fr); }
  .ap-bar { position: static; }
  .service-workspace :is(#buyer-message, #customer-reply, #internal-work) { scroll-margin-top: 90px; }
}
@media (max-width: 600px) {
  .service-nav { display: grid; grid-template-columns: 1fr 1fr; }
  .service-tab { padding: 10px; font-size: 14px; flex-wrap: wrap; }
  .service-workspace .panel { padding: 16px; }
  .service-jumps a { flex: 1 1 100%; }
  .ap-tools .ap-menu-list { left: auto; right: 0; }
}

.quality-label-form { display: grid; gap: 8px; min-width: 230px; }
.quality-label-form .field { margin: 0; }
.quality-label-form :is(input, select) { width: 100%; }
.quality-label-form .btn { white-space: normal; }
.quality-date-range, .quality-group-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.quality-date-range .field { margin: 0; }
.quality-group-form label { flex-basis: 100%; margin: 0; }
.quality-group-form input { flex: 1 1 240px; min-width: 0; }
.service-workspace :is(#quality-period, #quality-recent, #quality-registry) { scroll-margin-top: 90px; }

.quality-label-details { min-width: 220px; }
.quality-label-details > summary { cursor: pointer; min-height: 44px; padding: 8px 0; font-weight: 600; }
.quality-label-details > summary .hint { display: block; }
.quality-label-details .quality-label-form { padding-top: 12px; }
.service-workspace .table td.quality-meta { white-space: nowrap; word-break: normal; }

/* Очередь и общий контроль: число всегда подписано, раскрытие заметно. */
.ap-heading { display: flex; flex-direction: column; gap: 3px; margin-right: 4px; }
.ap-heading .ap-total { font-size: 12px; color: var(--text2); line-height: 1.4; }
.ap-heading .ap-total { white-space: normal; max-width: 310px; }
.ap-total-scope { color: var(--text2); }
.ap-chevron { font-size: 21px; line-height: 1; color: var(--accent2); margin-left: auto; }
.ap-submenu { border-top: 1px solid var(--border); margin-top: 4px; }
.ap-submenu > summary { min-height: 44px; padding: 10px 12px; cursor: pointer; display: flex; align-items: center; gap: 8px; font-weight: 600; }
.ap-submenu > div { padding-left: 10px; border-left: 2px solid var(--border); margin-left: 12px; }
.ap-menu[open] > summary .ap-chevron, .ap-submenu[open] > summary .ap-chevron { transform: rotate(180deg); }
.service-counters { border: 1px solid var(--border); border-radius: 11px; background: var(--card); margin-top: 2px; }
.service-counters > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; color: var(--text); list-style: none; }
.service-counters > summary::-webkit-details-marker { display: none; }
.service-control-icon { display: flex; color: var(--accent2); }
.service-control-count { display: inline-block; margin-left: 12px; font-size: 13px; color: var(--text2); }
.service-control-chevron { margin-left: auto; color: var(--accent2); font-size: 26px; line-height: 1; transition: transform .15s; }
.service-counters[open] .service-control-chevron { transform: rotate(180deg); }
.service-counters .ap-groups { padding: 4px 12px 12px; }
.service-intro { padding: 0; }
.service-intro h1 { margin: 0 0 4px; }
.service-kind { display: flex; align-items: center; gap: 6px; margin-top: 7px; color: var(--text2); font-size: 13px; font-weight: 500; }
.service-kind svg { flex-shrink: 0; color: var(--accent2); }
.service-workspace .table .service-product { min-width: 200px; max-width: 350px; white-space: normal; }
.service-workspace .table .service-sla { margin-top: 6px; font-size: 13px; line-height: 1.4; white-space: normal; min-width: 120px; }
.service-workspace .table .service-sla.pos { color: var(--green); }
.service-workspace .table .service-sla.neg { color: var(--red); }
.service-queue-panel > .panel-head { margin-bottom: 2px; }
.service-queue-panel h1 { margin: 0; font-size: 24px; }
.service-queue-period { margin: 0 0 16px; }
.service-queue-panel .service-search { margin-bottom: 10px; }
.service-result-count { color: var(--text2); font-size: 14px; }
.service-result-count b { color: var(--text); }
.service-registry-nav { display: flex; gap: 8px; margin-bottom: 16px; }
@media (max-width: 600px) {
  .ap-heading { flex-basis: 100%; }
  .service-control-count { margin-left: 0; margin-right: 8px; }
  .service-counters > summary > span:nth-child(2) { display: flex; flex-wrap: wrap; gap: 4px 8px; }
}
/* Быстрый ответ остаётся в строке очереди и раскрывается только по выбору человека. */
.quick-reply { margin-top: .45rem; cursor: default; }
.quick-reply summary { list-style: none; cursor: pointer; }
.quick-reply summary::after { content: ' ▾'; color: var(--blue, #2563eb); }
.quick-reply form { width: min(29rem, 75vw); padding: 1rem; margin-top: .5rem; border: 1px solid var(--border-hi, #dbe2ee); border-radius: 12px; background: var(--card, #fff); white-space: normal; }
.quick-reply blockquote { margin: .75rem 0; padding: .5rem .75rem; border-left: 3px solid #b6c9ff; max-height: 14rem; overflow: auto; overflow-wrap: anywhere; }
.quick-reply textarea { display: block; width: 100%; margin: .5rem 0; }
.quick-reply-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.reply-delivery-note { padding: .75rem; background: var(--card2, #eef4ff); border-radius: 8px; }
/* Очередь 308: выбор партии всегда под рукой; компактный вид без новых библиотек. */
.queue-view-controls { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:14px 0; }
.queue-view-controls label { display:flex; gap:6px; align-items:center; }
.queue-view-controls select { width:auto; }
.quick-batch-bar { position:sticky; top:250px; z-index:12; display:flex; gap:12px; flex-wrap:wrap; align-items:center; padding:12px 16px; margin:12px 0; border:1px solid var(--border); border-radius:12px; background:var(--card); box-shadow:0 4px 18px #14233b18; }
.quick-review-card { padding:18px 0; border-top:1px solid var(--border); }
.quick-review-card blockquote { white-space:normal; overflow-wrap:anywhere; }
.queue-inline-message { margin-top:6px; }
.queue-inline-message summary { color:var(--blue, #245bef); cursor:pointer; }
.queue-compact .table { table-layout:fixed; width:100%; }
.queue-compact .table th:nth-child(1) { width:150px; }
.queue-compact .table th:nth-child(2) { width:95px; }
.queue-compact .table th:nth-child(3) { width:50px; }
.queue-compact .table th:nth-child(4) { width:24%; }
.queue-compact .table th:nth-child(6) { width:120px; }
.queue-compact .table th:last-child { width:60px; }
.service-workspace.queue-compact .table td { padding:7px 9px; vertical-align:top; }
.queue-compact .service-kind { display:inline-flex; gap:3px; font-size:11px; }
.queue-compact .service-kind svg { display:none; }
.service-workspace.queue-compact .table .service-product, .queue-compact .service-message > div { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.queue-compact .service-message > div { display:inline-block; max-width:calc(100% - 60px); vertical-align:middle; }
.service-workspace.queue-compact .table td > .btn, .service-workspace.queue-compact .table .quick-reply > summary { min-width:0; min-height:26px; padding:3px 5px; font-size:11px; line-height:20px; white-space:nowrap; }
.queue-compact .table td:nth-child(6) > a:has(+ .quick-reply) { display:none; }
.service-workspace.queue-compact .table .quick-reply { margin:0; }
.service-workspace.queue-compact .table .quick-reply > summary::after { display:none; }
.queue-compact .service-meta > div { display:inline; font-size:11px; margin-right:4px; }
.queue-compact .service-meta { overflow:hidden; white-space:nowrap; }
.queue-compact .service-message details > summary { font-size:11px; }
.queue-compact .service-message details[open] > blockquote { white-space:normal; }
.queue-compact .service-message > b, .queue-compact .service-sla { display:none; }
.queue-compact .service-message details:not([open]) { display:inline-block; margin:0; }
.queue-compact .service-message details[open] { white-space:normal; }
.queue-compact .quick-reply:not([open]) { display:inline-block; }
.queue-compact .quick-reply[open] { min-width:0; }
.service-workspace .quick-reply-editor-row[hidden] { display:none; }
.service-workspace .table .quick-reply-editor-row > td { white-space:normal; padding:12px; }
.quick-reply-editor-row form { box-sizing:border-box; width:100%; max-width:60rem; padding:12px 0; white-space:normal; }
.quick-reply-editor-row textarea { box-sizing:border-box; width:100%; display:block; margin:8px 0; }
.quick-reply-editor-row blockquote { margin:12px 0; padding:8px 12px; border-left:3px solid var(--blue, #2563eb); white-space:pre-wrap; overflow-wrap:anywhere; max-height:14rem; overflow:auto; }
.appeal-photos { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0; }
.appeal-photo { display:flex; flex-direction:column; gap:4px; max-width:180px; font-size:12px; border:1px solid var(--border); border-radius:8px; padding:6px; }
.appeal-photo img { width:160px; height:120px; object-fit:contain; border-radius:5px; }
.appeal-photo [hidden] { display:none !important; }

/* Верх списка: рабочие действия рядом, пояснения раскрываются по запросу. */
.service-queue-workspace { gap:10px; }
.service-queue-workspace .ap-bar { gap:5px; padding-top:6px; padding-bottom:6px; }
.service-queue-workspace .service-nav { gap:6px; }
.service-queue-workspace .service-tab { min-height:34px; padding:5px 10px; font-size:14px; }
.service-queue-workspace .ap-bar .btn, .service-queue-workspace .ap-menu > summary { min-height:34px; padding:5px 10px; }
.service-queue-workspace .service-counters > summary { min-height:32px; padding:3px 10px; }
.service-queue-workspace .service-queue-panel { padding:14px 18px; }
.service-queue-workspace .service-queue-panel h1 { font-size:20px; }
.service-queue-workspace .ap-total-scope { display:none; }
.service-queue-workspace .service-queue-panel > .panel-head { flex-wrap:wrap; gap:6px; margin:0 0 6px; }
.service-queue-workspace .service-queue-panel > .panel-head > h1 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.service-queue-workspace .service-search-main { gap:8px; }
.service-queue-workspace .service-search-main .field > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.service-queue-workspace :is(input,select):not([type=checkbox]):not([type=hidden]) { min-height:34px; padding:4px 9px; font-size:14px; }
.service-queue-workspace .service-search-main .btn, .service-queue-workspace .queue-view-controls .btn { min-height:34px; padding:5px 10px; font-size:14px; }
.service-queue-workspace .service-filter-more { margin-top:5px; }
.service-queue-workspace .service-filter-more > summary { min-height:28px; font-size:14px; }
.service-queue-workspace .queue-view-controls { gap:7px; margin:0; font-size:14px; }
.service-queue-workspace .service-search { margin:0; }
.service-queue-workspace .queue-view-controls input[type=checkbox] { width:18px; height:18px; }
.queue-help { position:relative; margin-left:auto; }
.queue-help > summary { cursor:pointer; color:var(--accent2); padding:5px; }
.queue-help[open] > p { position:absolute; right:0; top:100%; width:min(340px,75vw); margin:0; padding:12px; background:var(--card); border:1px solid var(--border); border-radius:10px; z-index:15; box-shadow:0 4px 16px #14233b18; }
.quick-batch-bar[hidden] { display:none !important; }
.service-queue-workspace .quick-batch-bar { top:210px; }
.queue-compact .table th:nth-child(3) { width:65px; }
@media (min-width:1600px) {
 .service-queue-workspace .ap-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; }
 .service-queue-workspace .ap-row { grid-column:1 / -1; }
 .service-queue-workspace .service-counters { min-width:390px; }
}
@media (max-width:600px) {
 .service-queue-workspace .service-nav { display:flex; flex-wrap:nowrap; overflow-x:auto; }
 .service-queue-workspace .service-tab { flex-shrink:0; white-space:nowrap; }
 .service-queue-workspace .service-queue-panel { padding:12px; }
 .service-queue-workspace .quick-batch-bar { top:65px; }
}

/* Поле выбора отделено от ссылки и не открывает обращение при промахе. */
.service-number-cell { cursor:default; white-space:nowrap; }
.quick-select-zone { display:inline-flex; align-items:center; justify-content:center; width:48px; min-height:36px; margin-right:12px; vertical-align:middle; }

/* Пакет322: компактная карточка и мобильный клиентский сервис. */
.mood { display:inline-flex; align-items:center; gap:3px; white-space:nowrap; font-size:inherit; }
.mood svg { width:1em; height:1em; flex-shrink:0; }
.mood-negative { color:var(--red, #df555f); }
.mood-neutral { color:var(--orange, #dba729); }
.mood-positive { color:var(--green, #36b57b); }
.product-history-item { padding:8px 10px; border-bottom:1px solid var(--border); border-left:3px solid currentColor; }
.product-history-item .hint { color:var(--text2); }
.chat-timeline { display:flex; flex-direction:column; gap:10px; }
.chat-bubble { box-sizing:border-box; border:1px solid var(--border); border-radius:14px; padding:10px 12px; max-width:94%; overflow-wrap:anywhere; white-space:normal; }
.chat-buyer { align-self:flex-start; margin-right:auto; background:var(--card2); }
.chat-ours { align-self:flex-end; margin-left:auto; background:color-mix(in srgb, var(--accent, #2563eb) 10%, var(--card)); }
.reply-variant { margin-bottom:12px; }
.service-detail form, .quick-reply-editor-row form { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.service-detail form > :is(.field,label,.hint,details), .quick-reply-editor-row form > :is(label,textarea,blockquote,b,p) { flex-basis:100%; min-width:0; }
.service-detail form > .btn { margin:0; }
.service-detail .service-helper { margin-top:8px; padding-top:8px; }
.service-detail .service-approval-note { padding:8px; margin-bottom:10px; }
.service-workspace .product-name-row { display:block; }
.service-workspace .copy-row { display:block; line-height:1.8; }
.service-workspace .copy-btn.copy-icon { position:relative; display:inline-flex; vertical-align:baseline; align-items:flex-end; justify-content:center; width:.8em; height:.8em; min-width:0; min-height:0; padding:0; margin:0 0 0 3px; border:0; border-radius:2px; font-size:inherit; line-height:1; background:transparent; }
.service-workspace .copy-btn.copy-icon .service-icon { width:.8em; height:.8em; }
.service-workspace .copy-btn.copy-icon::after { content:''; position:absolute; inset:-7px; }
@media (max-width:600px) {
 .service-workspace { font-size:14px; }
 .service-workspace .panel { padding:10px; border-radius:10px; }
 .service-workspace h2 { font-size:15px; line-height:1.3; }
 .service-workspace .panel-head { gap:7px; margin-bottom:8px; }
 .service-workspace .hint { font-size:12px; line-height:1.4; }
 .service-workspace .pico { width:24px; height:24px; border-radius:7px; }
 .service-workspace .pico svg { width:16px; height:16px; }
 .service-workspace .btn { min-height:36px; font-size:13px; padding:7px 10px; min-width:0; }
 .service-layout { gap:10px; }
 .service-main, .service-side { gap:10px; }
 .service-detail .product-card { gap:8px; font-size:14px; }
 .service-detail .product-card > div { min-width:0; flex:1; }
 .service-detail .product-img { width:48px; height:48px; object-fit:contain; flex-shrink:0; }
 .service-detail .copy-row { font-size:12px; margin:2px 0; }
 .service-detail #buyer-message > .field { margin:6px 0; }
 .service-detail #buyer-message > .field:not(:first-of-type):not(.chat-bubble) { display:flex; flex-wrap:wrap; gap:4px; font-size:12px; }
 .service-detail #buyer-message > .field > label { margin:0; font-size:12px; }
 .service-detail #buyer-message > .field:not(:first-of-type):not(.chat-bubble) > label::after { content:':'; }
 .service-detail .page-head { gap:6px; margin-bottom:8px; }
 .service-detail .page-head h1 { font-size:20px; }
 .service-detail .page-head .chip, .service-detail .page-head .status { font-size:11px; padding:3px 6px; }
 .service-detail textarea { min-height:80px; font-size:16px; line-height:1.4; }
 .service-detail .service-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 .service-detail #internal-work, .service-detail .service-side > details[open] { grid-column:1/-1; }
 .service-detail .service-side > .fold { padding:8px; margin:0; min-width:0; }
 .service-detail .service-side > .fold > summary { display:grid; grid-template-columns:12px minmax(0,1fr); gap:3px 5px; align-content:center; min-height:58px; }
 .service-detail .service-side > .fold > summary::before { width:12px; grid-column:1; grid-row:1; font-size:17px; }
 .service-detail .service-side > .fold > summary h2 { grid-column:2; grid-row:1; margin:0; font-size:13px; }
 .service-detail .service-side > .fold > summary .pico, .service-detail .service-side > .fold > summary .fold-act { display:none; }
 .service-detail .service-side > .fold > summary :is(.fold-state,.status) { grid-column:2; font-size:11px; margin:0; }
 .service-detail #internal-work { padding:10px; }
 .service-detail #internal-work h2 { margin:0 0 5px; }
 .service-detail #internal-work p { margin:5px 0; }
 .service-detail .service-helper > summary { min-height:32px; font-size:13px; }
 .chat-bubble { max-width:96%; padding:8px 10px; font-size:14px; }
 .service-nav { display:flex; flex-wrap:wrap; gap:5px; }
 .service-nav .service-tab { flex:0 1 auto; flex-wrap:nowrap; gap:5px; min-height:36px; padding:6px 8px; font-size:12px; }
 .service-nav .service-tab b { font-size:12px; padding:0 4px; }
 .ap-bar { padding:6px 0; gap:6px; }
 .ap-heading .ap-title { font-size:15px; }
 .ap-heading .ap-total { font-size:10px; }
 .ap-tools { gap:5px; flex-wrap:wrap; }
 .ap-bar .btn, .ap-bar .ap-menu > summary { min-height:34px; padding:6px 8px; font-size:12px; }
 .service-counters > summary { min-height:34px; padding:6px 8px; gap:5px; flex-wrap:wrap; font-size:12px; }
 .service-control-count { font-size:11px; margin-left:3px; }
 .service-control-icon svg { width:15px; height:15px; }
 .service-control-chevron { font-size:18px; }
 .service-search-main { gap:6px; }
 .service-workspace .review-card { padding:10px; }
 .service-workspace .review-quote, .service-workspace .review-answer { padding:8px; }
 .service-workspace .review-quote p, .service-workspace .review-answer p { font-size:14px; line-height:1.4; }
 .service-workspace .table .service-kind { font-size:11px; gap:3px; }
}
@media (max-width:600px) {
 .service-list-wrap { overflow:visible; }
 .service-workspace .service-appeal-table { display:block; width:100%; min-width:0; table-layout:auto; }
 .service-appeal-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .service-appeal-table tbody { display:block; }
 .service-workspace .service-appeal-table tr[data-href] { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3px 8px; margin:8px 0; padding:10px; border:1px solid var(--border); border-radius:10px; background:var(--card); }
 .service-workspace .service-appeal-table tr[data-href] > td { display:block; min-width:0; max-width:none; width:auto; padding:2px 0; border:0; font-size:12px; white-space:normal; }
 .service-appeal-table tr[data-href] > td:nth-child(1) { grid-column:1; grid-row:1; }
 .service-appeal-table tr[data-href] > td:nth-child(2) { grid-column:2; grid-row:1; text-align:right; }
 .service-appeal-table tr[data-href] > td:nth-child(3) { grid-column:1; grid-row:2; text-align:left; }
 .service-workspace .service-appeal-table tr[data-href] > td:nth-child(4) { grid-column:1/-1; grid-row:3; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-weight:600; }
 .service-workspace .service-appeal-table tr[data-href] > td:nth-child(5) { grid-column:1/-1; grid-row:4; }
 .service-appeal-table tr[data-href] > td:nth-child(6) { grid-column:1; grid-row:5; }
 .service-appeal-table tr[data-href] > td:nth-child(7) { grid-column:2; grid-row:5; text-align:right; }
 .service-appeal-table tr[data-href] > td:nth-child(8) { grid-column:2; grid-row:2; text-align:right; }
 .service-appeal-table tr[data-href] > td:nth-child(8)::before { content:'Ждёт, дн.: '; font-size:11px; color:var(--text2); }
 .service-workspace .service-appeal-table .service-message > div { display:block; max-width:100%; white-space:normal; font-size:12px; }
 .service-workspace .service-appeal-table .service-meta { white-space:normal; }
 .service-appeal-table .service-meta > div { display:block; }
 .service-appeal-table .service-kind { display:inline-flex; margin:0 0 0 6px; font-size:10px; }
 .service-appeal-table .service-kind svg { display:none; }
 .service-appeal-table .quick-reply-editor-row { display:block; }
 .service-appeal-table .quick-reply-editor-row[hidden] { display:none; }
 .service-appeal-table .quick-reply-editor-row td { display:block; min-width:0; padding:8px; }
}
@media(max-width:600px){.service-detail .service-side > .fold:not([open]) > summary{height:64px;box-sizing:border-box;overflow:hidden}.service-detail .service-side > .fold:not([open]) > summary h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.service-detail .service-side > .fold:not([open]) > summary .fold-state{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.service-workspace .copy-icon { position:relative; display:inline-flex; vertical-align:baseline; width:.8em; height:.8em; min-width:0; min-height:0; padding:0; margin:0 0 0 3px; border:0; line-height:1; font-size:inherit; }
.service-workspace .copy-icon svg { width:.8em; height:.8em; }
.service-workspace .copy-icon::after { content:''; position:absolute; inset:-7px; }
.mood-neutral { color:#e3b331; }
[data-theme="light"] .mood-neutral { color:#896600; }
@media(max-width:600px){.service-workspace .review-list{gap:10px}.service-workspace .review-product{margin:8px 0;gap:3px}.service-workspace .review-answer{padding:10px 0}.service-workspace .review-feedback{padding:7px 0}.service-workspace .review-feedback summary{min-height:34px}.service-workspace .review-bulk{padding:10px;gap:6px}.service-workspace .review-intro{margin:8px 0;font-size:12px}}

.service-workspace .service-appeal-table .service-time-cell { width:120px; min-width:120px; white-space:nowrap; }
@media(max-width:600px){.service-workspace .service-appeal-table td.service-time-cell{width:auto;min-width:0;white-space:nowrap}}

.service-workspace .service-appeal-table th.service-time-cell { font-size:13px; }

.service-workspace .service-appeal-table td.service-time-cell { font-size:15px; }

@media(max-width:600px){.service-workspace .service-appeal-table td.service-time-cell{font-size:12px;min-width:0;width:auto}}
/* Заголовки срока и ожидания: единый кегль, достаточная ширина без обрезания. */
.service-workspace .service-appeal-table thead th,
.service-workspace .service-appeal-table thead th.num { font-size:13px; font-weight:600; line-height:18px; padding:8px 9px; }
.service-workspace.queue-compact .service-appeal-table th:last-child { width:90px; min-width:90px; }
.service-workspace .service-list-wrap { margin-left:0; margin-right:0; padding-left:0; padding-right:0; max-width:100%; }
/* Номер, товар и реквизиты — единая компактная шапка обращения. */
.service-detail .appeal-overview { padding:12px; }
.service-detail .appeal-overview-head { margin:0 0 8px; padding:0; gap:7px; align-items:center; }
.service-detail .appeal-overview-head h1 { font-size:20px; margin:0; }
.service-detail .appeal-overview-head .chip, .service-detail .appeal-overview-head .status { font-size:12px; padding:3px 7px; }
.service-detail .appeal-overview > .field { margin:0; }
.service-detail .appeal-overview .product-card { font-size:14px; gap:8px; align-items:flex-start; }
.service-detail .appeal-overview .product-img { width:48px; height:48px; object-fit:contain; }
.service-detail .appeal-overview .product-details { min-width:0; flex:1; }
.service-detail .appeal-overview .copy-row { display:inline-block; font-size:12px; margin:2px 12px 0 0; line-height:1.6; }
.service-detail .appeal-overview-meta { display:flex; flex-wrap:wrap; align-items:center; gap:5px 12px; margin-top:8px; font-size:12px; }
.service-detail .appeal-overview-meta .btn { font-size:12px; min-height:30px; padding:5px 8px; }
.service-detail .appeal-overview > .chat-bubble { margin-top:8px; }
@media(max-width:600px){.service-detail .appeal-overview{padding:10px}.service-detail .appeal-overview-meta{gap:5px 8px}.service-detail .appeal-overview-head .chip,.service-detail .appeal-overview-head .status{font-size:11px}}
.delivery-tick { display:inline-block; color:var(--accent2); font-size:14px; line-height:1; margin-left:5px; white-space:nowrap; }
.chat-panel .chat-timeline { max-height:min(52vh,520px); overflow-y:scroll; scrollbar-gutter:stable; padding-right:8px; scroll-behavior:auto; }
.chat-panel.chat-expanded .chat-timeline { max-height:none; overflow-y:visible; }
.chat-panel [data-chat-expand] { margin-left:auto; }
.message-video-link { white-space:normal; overflow-wrap:anywhere; }
@media(max-width:600px){.chat-panel .chat-timeline{max-height:48vh;padding-right:4px}.chat-panel.chat-expanded .chat-timeline{max-height:none}}
.ap-title-row { display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
.ap-detail-crumb { font-size:12px; color:var(--text2); font-weight:400; }
.ap-queue-row { display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; }
.ap-queue-row .service-nav { flex:1 1 auto; }
.ap-bar .ap-queue-row .service-counters { position:relative; margin:0; flex:0 1 auto; min-width:0; }
.ap-queue-row .service-counters > summary { white-space:nowrap; min-height:44px; }
.ap-queue-row .service-counters .ap-groups { position:absolute; top:100%; right:0; width:min(760px,calc(100vw - 50px)); padding:12px; background:var(--card); border:1px solid var(--border-hi); border-radius:10px; z-index:45; box-shadow:0 5px 18px #0003; }
.service-detail > .appeal-overview { display:grid; grid-template-columns:minmax(250px,.9fr) minmax(380px,1.4fr) minmax(250px,1fr); gap:10px; align-items:center; padding:5px 10px; margin:8px 0 12px; }
.service-detail > .appeal-overview .appeal-overview-head { margin:0; gap:5px; }
.service-detail > .appeal-overview .appeal-overview-meta { margin:0; gap:4px 10px; line-height:16px; }
.service-detail > .appeal-overview .appeal-overview-meta .btn { min-height:24px; padding:3px 7px; }
.service-detail > .appeal-overview > .chat-bubble,.service-detail > .appeal-overview > .appeal-photos { grid-column:1/-1; }
@media(max-width:1100px){.service-detail > .appeal-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.service-detail > .appeal-overview .appeal-overview-head{grid-column:1/-1}}
@media(max-width:600px){.ap-title-row{gap:5px;white-space:normal;flex-wrap:wrap}.ap-detail-crumb{font-size:10px}.ap-queue-row{gap:5px}.ap-queue-row .service-counters > summary{min-height:34px;white-space:normal}.service-detail > .appeal-overview{display:flex;flex-direction:column;align-items:stretch;padding:8px;gap:6px}.ap-queue-row .service-counters .ap-groups{width:calc(100vw - 40px)}}
@media(min-width:1101px){.service-detail .service-layout{grid-template-columns:minmax(0,1fr) minmax(280px,25%);gap:18px}}
.service-detail #customer-reply .panel-head{margin-bottom:8px}
.service-detail .reply-composer{margin-top:0}
.service-detail .reply-composer .field{margin:0}
.service-detail .reply-composer textarea{display:block;width:100%;box-sizing:border-box}
.service-detail .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Компактные служебные блоки на всех размерах экрана. */
.service-detail .service-side { gap:7px; }
.service-detail .service-side > .fold { padding:8px 10px; border-radius:10px; }
.service-detail .service-side > .fold > summary { display:grid; grid-template-columns:12px minmax(0,1fr) auto; gap:3px 6px; align-items:center; min-height:32px; }
.service-detail .service-side > .fold > summary::before { grid-column:1; grid-row:1; width:12px; font-size:17px; }
.service-detail .service-side > .fold > summary .pico { display:none; }
.service-detail .service-side > .fold > summary h2 { grid-column:2; grid-row:1; margin:0; font-size:13px; line-height:1.3; }
.service-detail .service-side > .fold > summary :is(.fold-state,.status) { grid-column:3; grid-row:1; font-size:11px; line-height:1.3; padding:2px 5px; max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.service-detail .service-side > .fold > summary .fold-act { display:none; }
.service-detail .service-side > .fold[open] > summary { margin-bottom:8px; }
.service-detail #internal-work { padding:10px; border-top-width:2px; }
.service-detail #internal-work h2 { font-size:14px; margin:0; }
.service-detail #internal-work > .status { display:none; }
.service-detail #internal-work > .hint { display:none; }
.service-detail #internal-work .btn { min-height:30px; padding:5px 8px; font-size:12px; }
.service-detail #internal-work p { margin:5px 0; }
@media(max-width:600px){.service-detail .service-side > .fold:not([open]) > summary{height:48px;min-height:48px;grid-template-columns:12px minmax(0,1fr)}.service-detail .service-side > .fold > summary :is(.fold-state,.status){grid-column:2;grid-row:2;max-width:100%;padding:0}.service-detail .service-side > .fold > summary h2{font-size:12px}.service-detail .service-side > .fold{padding:6px 8px}}
/* Уплотнение заголовков переписки, редактора и строки действий. */
.service-detail .chat-panel, .service-detail #customer-reply { padding:10px; }
.service-detail .chat-panel > .panel-head, .service-detail #customer-reply > .panel-head { gap:7px; margin:0 0 7px; min-height:28px; }
.service-detail .chat-panel > .panel-head h2, .service-detail #customer-reply > .panel-head h2 { font-size:14px; line-height:20px; }
.service-detail .chat-panel > .panel-head .pico, .service-detail #customer-reply > .panel-head .pico { width:24px; height:24px; border-radius:7px; }
.service-detail .chat-panel > .panel-head .pico svg, .service-detail #customer-reply > .panel-head .pico svg { width:16px; height:16px; }
.service-detail .chat-panel [data-chat-expand], .service-detail .reply-composer > .btn { min-height:30px; padding:5px 9px; font-size:12px; }
.service-detail .reply-composer { gap:6px; }
.service-detail .reply-composer textarea { height:84px; min-height:84px; padding:7px 9px; resize:vertical; }
.service-detail #customer-reply > .service-helper { margin-top:6px; padding-top:6px; }
.service-detail #customer-reply > .service-helper > summary { min-height:26px; font-size:12px; }
.reply-template-picker{margin:6px 0 8px;border-bottom:1px solid var(--border);padding-bottom:6px}
.reply-template-picker>summary{display:inline-flex;cursor:pointer;list-style:none}
.template-category-tabs,.quick-route-actions{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}
.template-category-tabs [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.reply-template-picker [data-template-items]{max-height:270px;overflow-y:auto;margin:6px 0}
.reply-template-item{padding:8px 0;border-bottom:1px solid var(--border)}
.reply-template-item small{margin-left:6px;font-size:11px}
.reply-template-item p{margin:5px 0;font-size:13px;white-space:pre-wrap}
.template-save{margin:7px 0;font-size:12px}
.quick-route-actions form{margin:0}
.quick-route-actions .btn[disabled]{opacity:.45;cursor:not-allowed}
.service-detail .reply-template-picker{position:relative;margin:0 0 0 auto;padding:0;border:0;font-weight:400;z-index:35}
.service-detail .reply-template-picker .btn{min-height:26px;padding:4px 7px;font-size:12px;line-height:16px}
.service-detail .template-popup{position:absolute;top:calc(100% + 5px);right:0;width:min(480px,calc(100vw - 70px));padding:8px;background:var(--card);border:1px solid var(--border-hi);border-radius:8px;box-shadow:0 5px 18px #0003;max-height:320px;overflow-y:auto}
.service-detail .template-category-tabs{gap:4px;margin:0 0 7px;flex-wrap:wrap}
.service-detail .reply-template-picker [data-template-items]{display:flex;flex-wrap:wrap;gap:5px;max-height:180px;margin:0}
.service-detail .reply-template-item{padding:0;border:0}
.service-detail .template-save{margin:7px 0 0;font-size:11px;border-top:1px solid var(--border);padding-top:5px}
.service-detail .reply-check-note{display:inline;color:var(--text2);font-size:11px;line-height:1.3;margin-left:6px}
@media(max-width:600px){.service-detail .template-popup{width:min(400px,calc(100vw - 45px))}}
.reply-template-picker [hidden]{display:none!important}
.service-detail .service-side > .fold > summary .fold-meta{grid-column:3;grid-row:1;display:flex;flex-wrap:wrap;align-items:center;gap:3px;min-width:0;max-width:150px}
.service-detail .service-side > .fold > summary .fold-meta :is(.status,.fold-state){display:block;max-width:100%;margin:0;font-size:11px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-detail .reply-template-picker .template-popup{width:320px;max-width:calc(100vw - 20px);box-sizing:border-box}
.service-detail .reply-template-picker .template-category-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.service-detail .template-save form>label{display:grid;grid-template-columns:60px minmax(0,1fr);gap:5px;align-items:center;width:100%;min-width:0}
.service-detail .template-save :is(input,select){width:100%;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:600px){.service-detail .service-side > .fold > summary .fold-meta{grid-column:2;grid-row:2;max-width:100%}.service-detail .service-side > .fold > summary .fold-meta :is(.status,.fold-state){padding:1px 3px}.service-detail .service-side > .fold:not([open]) > summary:has(.fold-meta){height:auto;min-height:48px}}

/* Compact rows stay a table at window widths; only this list scrolls horizontally.
   Column budget: 150+120+65+240+260+140+120+90 = 1185px. */
.service-workspace.queue-compact .service-list-wrap { overflow-x:auto; min-width:0; }
.service-workspace.queue-compact .service-appeal-table { display:table; table-layout:fixed; width:100%; min-width:1185px; }
.service-workspace.queue-compact .service-appeal-table thead { position:static; width:auto; height:auto; overflow:visible; clip-path:none; display:table-header-group; }
.service-workspace.queue-compact .service-appeal-table tbody { display:table-row-group; }
.service-workspace.queue-compact .service-appeal-table th { white-space:nowrap; overflow-wrap:normal; word-break:normal; }
.service-workspace.queue-compact .service-appeal-table th:nth-child(1) { width:150px; }
.service-workspace.queue-compact .service-appeal-table th:nth-child(2) { width:120px; }
.service-workspace.queue-compact .service-appeal-table th:nth-child(3) { width:65px; }
.service-workspace.queue-compact .service-appeal-table th:nth-child(4) { width:240px; }
.service-workspace.queue-compact .service-appeal-table th:nth-child(5) { width:260px; }
.service-workspace.queue-compact .service-appeal-table th:nth-child(6) { width:140px; }
.service-workspace.queue-compact .service-appeal-table th:nth-child(7) { width:120px; }
.service-workspace.queue-compact .service-appeal-table th:nth-child(8) { width:90px; }
.service-workspace.queue-compact .service-appeal-table tr[data-href] { display:table-row; }
.service-workspace.queue-compact .service-appeal-table tr[data-href] > td { display:table-cell; padding:7px 9px; border-bottom:1px solid var(--border); max-width:none; }
.service-workspace.queue-compact .service-appeal-table tr[data-href] > td.service-product { white-space:nowrap; }
.service-workspace.queue-compact .service-appeal-table .service-message { overflow-wrap:normal; word-break:normal; }
.service-workspace.queue-compact .service-appeal-table .queue-inline-message > summary,
.service-workspace.queue-compact .service-appeal-table .btn,
.service-workspace.queue-compact .service-appeal-table .quick-reply > summary { white-space:nowrap; overflow-wrap:normal; word-break:normal; }
.service-workspace.queue-compact .service-appeal-table .queue-inline-message blockquote { overflow-wrap:anywhere; }
.service-workspace.queue-compact .service-appeal-table .quick-reply-editor-row { display:table-row; }
.service-workspace.queue-compact .service-appeal-table .quick-reply-editor-row[hidden] { display:none; }

.service-workspace.queue-compact .service-appeal-table tr[data-href] > td:nth-child(8)::before { content:none; }
