*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Arial,sans-serif;font-size:16px;color:#222;background:#f4f4f4}button,input,textarea{font:inherit}a{color:#2255aa}.top{height:56px;padding:0 16px;background:#fff;border-bottom:1px solid #ccc;display:flex;align-items:center;justify-content:space-between}.layout{height:calc(100vh - 56px);display:grid;grid-template-columns:340px minmax(0,1fr) 320px;gap:0}.sidebar{border-right:1px solid #ccc;background:#fff;overflow:auto;min-width:0}.search{padding:12px;border-bottom:1px solid #ddd;position:sticky;top:0;background:#fff;z-index:2}.search input{width:100%;height:42px;padding:8px 10px;border:1px solid #bbb;border-radius:6px}.conversation{padding:12px;border-bottom:1px solid #eee;cursor:pointer}.conversation:hover,.conversation.active{background:#eef4ff}.conversation.keyboard-selected{background:#e6eefb;box-shadow:inset 3px 0 #4b78b8}.conversation.keyboard-selected.active{background:#dfeaff}.conversation strong,.conversation small{display:block}.conversation strong{line-height:1.35}.conversation small{margin-top:4px;color:#666}.channel{display:inline-block;font-size:12px;border:1px solid #aaa;border-radius:4px;padding:2px 5px;margin-right:6px;text-transform:uppercase}.list-avatar{width:28px;height:28px;object-fit:cover;border-radius:50%;vertical-align:middle;margin-right:7px}.empty-list,.empty-state{padding:18px;color:#777}.chat{min-width:0;display:grid;grid-template-rows:auto auto 1fr auto}.chat-head{background:#fff;border-bottom:1px solid #ccc;padding:12px 16px}.chat-head strong,.chat-head small{display:block}.chat-head small{color:#666;margin-top:4px}.messages{padding:18px;overflow:auto}.message{max-width:760px;margin:0 0 14px}.message.operator{margin-left:auto;text-align:right}.bubble{display:inline-block;text-align:left;padding:10px 12px;border:1px solid #ccc;border-radius:8px;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}.operator .bubble{background:#eaf2ff}.message small{display:block;color:#777;margin-top:4px}.message img{display:block;max-width:320px;max-height:320px;margin-top:8px;border-radius:6px}.composer{padding:12px;background:#fff;border-top:1px solid #ccc;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:end}.composer textarea{width:100%;min-height:46px;max-height:160px;padding:9px;border:1px solid #bbb;border-radius:6px;resize:vertical}.composer button{height:44px;padding:0 18px;border:1px solid #777;background:#eee;border-radius:6px;cursor:pointer}.composer button:disabled{opacity:.45;cursor:not-allowed}.file{display:flex;align-items:center;height:44px;padding:0 10px;border:1px solid #bbb;border-radius:6px;background:#fafafa;cursor:pointer}.file input{display:none}.contact-sidebar{background:#fff;border-left:1px solid #ccc;overflow:auto;min-width:0}.contact-card-head{height:48px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid #ddd}.contact-card{padding:16px}.contact-avatar-card{display:block;width:96px;height:96px;object-fit:cover;border-radius:50%;border:1px solid #ccc;margin:0 auto 12px}.contact-avatar-card.placeholder{display:flex;align-items:center;justify-content:center;text-align:center;background:#f2f2f2;color:#777;font-size:13px}.contact-card h3{margin:0;text-align:center;font-size:20px}.contact-type{text-align:center;margin:6px 0 18px;color:#666}.contact-card dl{margin:0}.contact-card dt{font-size:13px;color:#777;margin-top:13px}.contact-card dd{margin:3px 0 0;overflow-wrap:anywhere}.contact-extra,.contact-actions{margin-top:16px;padding-top:12px;border-top:1px solid #eee}.contact-actions a{display:inline-block}.contact-result strong{display:flex;align-items:center}.contact-result small b{color:#222}.contacts-wrap{max-width:1400px;margin:0 auto;padding:18px;display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:start}.contact-panel,.contact-list-panel{background:#fff;border:1px solid #ccc;border-radius:8px;padding:16px}.contact-panel h2,.contact-list-panel h2{margin:0 0 14px}.contact-form label{display:block;margin-bottom:12px;font-weight:600}.contact-form input:not([type=checkbox]),.contact-form select,.contact-list-head input,.import-form input[type=file]{width:100%;margin-top:5px;min-height:42px;padding:8px 10px;border:1px solid #bbb;border-radius:6px;background:#fff}.contact-form input[readonly]{background:#f5f5f5}.contact-form .check{font-weight:400;display:flex;gap:8px;align-items:flex-start}.form-actions,.inline-form,.import-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.contact-form button,.inline-form button,.import-form button,.contact-list-head button,.button-link{min-height:40px;padding:8px 14px;border:1px solid #888;border-radius:6px;background:#eee;color:#222;text-decoration:none;cursor:pointer}.contact-list-panel{grid-column:1/-1}.contact-list-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.contact-list-head form{display:flex;gap:8px;min-width:min(520px,100%)}.contacts-table{width:100%;border-collapse:collapse}.contacts-table th,.contacts-table td{padding:9px 8px;border-bottom:1px solid #ddd;text-align:left;vertical-align:middle}.contact-avatar{width:96px;height:96px;object-fit:cover;border-radius:50%;border:1px solid #ccc;margin-bottom:12px}.contact-avatar.small{width:40px;height:40px;margin:0}.avatar-placeholder{display:inline-flex;width:40px;height:40px;border-radius:50%;background:#eee;align-items:center;justify-content:center;color:#777}.notice{grid-column:1/-1;padding:10px 12px;border-radius:6px;border:1px solid}.notice.ok{background:#eef9ee;border-color:#8ac48a}.notice.error{background:#fff0f0;border-color:#d99}.contact-panel code{background:#f2f2f2;padding:1px 4px;border-radius:3px}@media(max-width:1100px){.layout{grid-template-columns:310px minmax(0,1fr)}.contact-sidebar{display:none}}@media(max-width:900px){.contacts-wrap{grid-template-columns:1fr}.contact-list-panel{grid-column:auto}.contacts-table{display:block;overflow:auto}.contact-list-head{align-items:stretch;flex-direction:column}.contact-list-head form{min-width:0}.top span{font-size:14px}}@media(max-width:760px){html,body{font-size:16px}.top{height:52px}.layout{height:calc(100vh - 52px);display:block}.sidebar{height:100%;border:0}.chat{display:none;height:100%}.layout.chat-open .sidebar{display:none}.layout.chat-open .chat{display:grid}.chat-head:before{content:'←';display:inline-block;margin-right:10px;cursor:pointer}.composer{grid-template-columns:auto 1fr}.composer button{grid-column:2}.messages{padding:12px}}

/* Reply channel selector */
.composer{grid-template-columns:auto auto minmax(0,1fr) auto}
.channel-picker{display:flex;gap:6px;align-items:center;height:44px}
.composer .channel-button{width:42px;height:42px;padding:0;border:1px solid #bbb;border-radius:6px;background:#fafafa;color:#555;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}
.composer .channel-button svg{width:21px;height:21px;fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.composer .channel-button[data-channel="telegram"] svg path{stroke:none}
.composer .channel-button[data-channel="web"] svg circle,.composer .channel-button[data-channel="web"] svg path{fill:none}
.composer .channel-button.email-icon{font-size:25px;font-weight:700;font-family:Arial,sans-serif}
.composer .channel-button:hover:not(:disabled){background:#f0f4fa;border-color:#8b9bb0}
.composer .channel-button.active{background:#e5efff;border-color:#4b78b8;color:#174f98;box-shadow:0 0 0 1px #4b78b8 inset}
.composer .channel-button:disabled{opacity:.28;cursor:not-allowed;background:#f4f4f4}
.composer .channel-button:focus-visible{outline:2px solid #4b78b8;outline-offset:2px}

@media(max-width:760px){
 .composer{grid-template-columns:auto auto minmax(0,1fr);gap:8px}
 .channel-picker{grid-column:1/-1;height:auto}
 .composer .channel-button{width:40px;height:40px}
 .composer button[type="submit"]{grid-column:3}
}

/* Contact chat + ticket timeline */
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.close-ticket{min-height:38px;padding:7px 12px;border:1px solid #a55;background:#fff5f5;color:#8b1f1f;border-radius:6px;cursor:pointer;white-space:nowrap}
.close-ticket:hover{background:#ffeaea}.close-ticket[hidden]{display:none}
.ticket-marker{max-width:760px;margin:18px auto;padding:8px 12px;border:1px solid #c8c8c8;border-radius:6px;background:#f7f7f7;text-align:center;color:#555;font-size:14px}
.ticket-marker strong{color:#222}.ticket-closed{background:#f1f1f1;border-style:dashed;color:#666}
.message.system{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}.message.system .bubble{background:#f5f5f5}
@media(max-width:760px){.chat-head{align-items:flex-start}.close-ticket{font-size:14px;padding:6px 9px}.ticket-marker{margin:14px auto}}

/* Quick replies */
.top-link{border:0;background:none;padding:0;color:#2255aa;text-decoration:underline;cursor:pointer;font:inherit}.composer-tools{display:flex;gap:8px;align-items:center}.composer-input-wrap{position:relative;min-width:0}.quick-reply-trigger{width:44px;padding:0!important}.quick-reply-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:280px;overflow:auto;background:#fff;border:1px solid #bbb;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:20}.quick-reply-option{display:block;width:100%;height:auto!important;padding:10px 12px!important;border:0!important;border-bottom:1px solid #eee!important;border-radius:0!important;background:#fff!important;text-align:left;cursor:pointer}.quick-reply-option:last-child{border-bottom:0!important}.quick-reply-option:hover,.quick-reply-option.active{background:#eef4ff!important}.quick-reply-option strong,.quick-reply-option small{display:block}.quick-reply-option small{margin-top:3px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-reply-dialog{width:min(920px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;border:1px solid #aaa;border-radius:8px}.quick-reply-dialog::backdrop{background:rgba(0,0,0,.35)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #ddd}.dialog-close{border:0;background:none;font-size:26px;line-height:1;cursor:pointer}.quick-reply-settings{display:grid;grid-template-columns:360px 1fr;gap:16px;padding:16px;overflow:auto}.quick-reply-form label{display:block;margin-bottom:12px;font-weight:600}.quick-reply-form input,.quick-reply-form textarea{display:block;width:100%;margin-top:5px;padding:9px 10px;border:1px solid #bbb;border-radius:6px;background:#fff}.quick-reply-form-actions{display:flex;gap:8px}.quick-reply-form-actions button,.quick-reply-settings-list button{min-height:38px;padding:7px 12px;border:1px solid #888;border-radius:6px;background:#eee;cursor:pointer}.form-error{margin-top:10px;color:#a00}.quick-reply-settings-list{border:1px solid #ddd;border-radius:6px;overflow:hidden}.quick-reply-settings-item{padding:12px;border-bottom:1px solid #ddd}.quick-reply-settings-item:last-child{border-bottom:0}.quick-reply-settings-item-head{display:flex;gap:8px;align-items:center;justify-content:space-between}.quick-reply-settings-item code{font-weight:700}.quick-reply-settings-item p{margin:8px 0;white-space:pre-wrap;color:#444}.quick-reply-settings-item-actions{display:flex;gap:8px}.quick-reply-empty{padding:16px;color:#777}@media(max-width:760px){.composer{grid-template-columns:1fr auto}.composer-tools{grid-column:1/-1}.composer-input-wrap{grid-column:1}.quick-reply-settings{grid-template-columns:1fr}.quick-reply-dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}}
/* Composer uses one tools group + textarea + send button. */
.composer{grid-template-columns:auto minmax(0,1fr) auto}
@media(max-width:760px){.composer{grid-template-columns:1fr auto}.composer-tools{grid-column:1/-1}.composer-input-wrap{grid-column:1}.composer button[type="submit"]{grid-column:2}}

/* contacts v0.1.0 */
.pagination{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:16px}.pagination a,.pagination strong,.pagination span{display:inline-flex;min-width:36px;height:36px;padding:0 10px;align-items:center;justify-content:center;border:1px solid #ccc;border-radius:6px;text-decoration:none;background:#fff}.pagination strong{background:#eef4ff;border-color:#8aa7d8}.pagination span{border-color:transparent;background:transparent;min-width:auto}.import-history{margin-top:18px;padding-top:14px;border-top:1px solid #ddd}.import-history h3{margin:0 0 8px}.import-run-link{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #eee}.import-run-link small{color:#666;white-space:nowrap}.import-log-panel{overflow:auto}.import-summary{display:flex;gap:14px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;background:#f7f7f7;border:1px solid #ddd;border-radius:6px}.import-log-table .import-row-created td:first-child{border-left:4px solid #4b9b55}.import-log-table .import-row-updated td:first-child{border-left:4px solid #4b78b8}.import-log-table .import-row-skipped td:first-child{border-left:4px solid #999}.import-log-table .import-row-error{background:#fff4f4}.import-log-table .import-row-error td:first-child{border-left:4px solid #c64545}.danger-zone{margin-top:20px;padding-top:15px;border-top:1px solid #e2b4b4}.danger-zone h3{margin:0 0 8px;color:#a12626}.danger-zone p{line-height:1.45}.danger-check{margin:10px 0;color:#8a1f1f}.danger-button{min-height:40px;padding:8px 14px;border:1px solid #a52b2b;border-radius:6px;background:#fff0f0;color:#9a2020;cursor:pointer}.danger-button:hover{background:#ffe2e2}@media(max-width:700px){.import-run-link{display:block}.import-run-link small{display:block;margin-top:4px}.pagination{justify-content:flex-start}}

/* v3.3 contact blocking */
.blocked-badge{display:inline-flex;align-items:center;margin-left:6px;padding:2px 7px;border:1px solid #c85b5b;border-radius:999px;background:#fff0f0;color:#9f2020;font-size:12px;font-weight:700;white-space:nowrap}
.blocked-contact-row{background:#fff8f8}.blocked-contact-row td{opacity:.92}.blocked-check{padding:9px 10px;border:1px solid #e1b1b1;border-radius:6px;background:#fff7f7;color:#8f2525}.block-form{margin-top:10px}.block-button,.unblock-button{min-height:38px;padding:7px 12px;border-radius:6px;cursor:pointer}.block-button{border:1px solid #b64040;background:#fff0f0;color:#962626}.unblock-button{border:1px solid #568b62;background:#f0fff3;color:#286437}.contact-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.contact-actions button{min-height:36px;padding:6px 10px}.conversation .blocked-badge{margin-left:auto}.contact-card h3 .blocked-badge{vertical-align:middle}.client-blocked-notice{max-width:680px;margin:10px auto;padding:10px 12px;border:1px solid #d9a0a0;border-radius:6px;background:#fff3f3;color:#8a2424;text-align:center;font-weight:600}

/* v3.5 services + integrations */
.ticket-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ticket-service-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#555}.ticket-service-label select{min-width:230px;max-width:420px;height:38px;border:1px solid #bbb;border-radius:6px;background:#fff;padding:0 8px}.contact-services{display:grid;gap:8px;margin:8px 0 16px}.contact-service-item,.service-row{padding:9px 10px;border:1px solid #ddd;border-radius:6px;background:#fafafa}.contact-service-item strong,.contact-service-item small,.service-row strong,.service-row span{display:block}.contact-service-item small,.service-row span{margin-top:3px;color:#666}.contact-service-item a,.service-row a{display:inline-block;margin-top:5px}.contact-card h4{margin:16px 0 6px}.empty-state.small{padding:8px 0}.integrations-wrap{grid-template-columns:repeat(2,minmax(320px,1fr))}.integration-token{grid-column:1/-1}.integration-card form label:not(.check){display:block;margin:10px 0}.integration-card input[type="text"],.integration-card input[type="url"],.integration-card input[type="number"],.integration-card input:not([type]){width:100%;min-height:40px;margin-top:5px;padding:7px 9px;border:1px solid #bbb;border-radius:6px}.integration-state{margin:14px 0;padding-top:10px;border-top:1px solid #ddd}.integration-state dl{display:grid;grid-template-columns:140px 1fr;gap:5px 10px}.integration-state dt{color:#666}.integration-state dd{margin:0;word-break:break-word}.service-list{display:grid;gap:8px}@media(max-width:900px){.integrations-wrap{grid-template-columns:1fr}.integration-token{grid-column:auto}.ticket-service-label select{min-width:160px;max-width:260px}}@media(max-width:760px){.ticket-actions{align-items:flex-end}.ticket-service-label{display:grid;gap:3px}.ticket-service-label select{min-width:0;width:180px;max-width:48vw}}

/* contacts directory + integration logs */
.contacts-directory{grid-template-columns:1fr;max-width:1600px}.contacts-directory .contact-panel,.contacts-directory .contact-list-panel{grid-column:1}.contact-editor{padding:16px 18px}.contact-editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.contact-editor-head h2{margin:0 0 3px}.contact-form-horizontal{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px 12px;align-items:end}.contact-form-horizontal label{margin:0}.contact-form-horizontal input:not([type=checkbox]),.contact-form-horizontal select{min-height:40px}.contact-form-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.contact-form-horizontal .blocked-check{padding:7px 9px}.contact-form-actions{align-self:end}.contact-editor-extras{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #ddd}.contact-editor-extras h3{margin:0 0 10px}.contact-editor-actions{display:flex;flex-direction:column;gap:9px}.contact-editor-actions .inline-form{margin:0}.chat-link-label{font-weight:600}.chat-link-label input{display:block;width:100%;margin-top:5px;min-height:38px;padding:7px 9px;border:1px solid #bbb;border-radius:6px;background:#f5f5f5}.danger-zone.compact{margin:4px 0 0;padding-top:10px}.danger-zone.compact p{margin:0 0 8px}.muted{color:#777}.table-scroll{overflow:auto}.logs-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.logs-head h2{margin:0 0 3px}.log-tabs{display:flex;gap:6px}.log-tabs a{display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;text-decoration:none}.log-tabs a.active{background:#eaf2ff;border-color:#6f92c7;color:#174f98}.logs-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.import-run-list{min-width:0;border-right:1px solid #ddd;padding-right:14px}.import-run-list h3{margin:0 0 9px}.import-run-card{display:block;padding:9px 10px;margin-bottom:7px;border:1px solid #ddd;border-radius:6px;background:#fafafa;text-decoration:none;color:#222}.import-run-card:hover,.import-run-card.active{background:#eef4ff;border-color:#9bb4d8}.import-run-card strong,.import-run-card small,.import-run-card span{display:block}.import-run-card small{margin-top:3px;color:#666}.import-run-card span{margin-top:5px;font-size:13px;color:#555}.import-log-detail{min-width:0}.import-log-detail .contact-list-head{margin-bottom:10px}.import-problem-group{margin:14px 0}.import-problem-group h3{margin:0 0 7px;font-size:16px}.integration-logs{grid-column:1/-1}
@media(max-width:1100px){.contact-form-horizontal{grid-template-columns:repeat(3,minmax(160px,1fr))}.contact-editor-extras{grid-template-columns:1fr}.logs-layout{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:800px){.contact-form-horizontal{grid-template-columns:repeat(2,minmax(150px,1fr))}.logs-layout{grid-template-columns:1fr}.import-run-list{border-right:0;border-bottom:1px solid #ddd;padding:0 0 10px}.logs-head{align-items:flex-start;flex-direction:column}.log-tabs{width:100%}.log-tabs a{flex:1;justify-content:center}}
@media(max-width:560px){.contact-form-horizontal{grid-template-columns:1fr}.contact-form-options{display:grid}.contact-editor-head{align-items:flex-start}.contact-editor-extras{grid-template-columns:1fr}}

/* v3.5.9 contact data quality / payer relations */
.contact-data-alert{padding:9px 14px;border-bottom:1px solid #d9a64d;background:#fff7df;color:#6f4b00;font-weight:700;text-align:center}.contact-data-alert[hidden]{display:none}.data-issue-badge{display:inline-flex;margin-left:6px;padding:2px 7px;border:1px solid #d5a542;border-radius:999px;background:#fff7df;color:#765000;font-size:12px;font-weight:700;white-space:nowrap}.contact-meta-box,.contact-meta-card{margin:8px 0 12px;padding:10px 12px;border:1px solid #d9a64d;border-radius:6px;background:#fffaf0}.contact-meta-box pre,.contact-meta-card pre{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.45}.contact-meta-card strong{display:block;color:#6f4b00}.clear-meta-button{margin-top:9px;min-height:34px;padding:6px 10px;border:1px solid #b8923f;border-radius:6px;background:#fff;color:#6f4b00;cursor:pointer}

.issue-chip{display:inline-flex;margin-left:5px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:700}.issue-chip.conflict{background:#fff3d8;border:1px solid #d4a340;color:#775000}.issue-chip.error{background:#fff0f0;border:1px solid #c85b5b;color:#922}

/* v3.5.9 payer/service relation presentation */
.service-relations{margin-top:6px;font-size:12px;line-height:1.45;color:#555}.service-relations a{margin:0}.payer-service-row{border-style:dashed}.paid-services-title{margin-top:18px}.inline-role{display:inline!important;margin:0!important;color:#777!important}.paid-service-list{margin-bottom:14px}


/* v3.6.4: editable Telegram templates */
.conversation>strong{display:flex;align-items:center;gap:6px;min-width:0}.conversation-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-wrap{max-width:1280px;margin:0 auto;padding:18px}.settings-panel{background:#fff;border:1px solid #ccc;border-radius:8px;padding:18px}.settings-head h1{margin:0 0 6px;font-size:24px}.settings-head p{margin:0 0 18px;color:#666}.telegram-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.telegram-template-card{border:1px solid #ddd;border-radius:8px;padding:14px;background:#fafafa}.telegram-template-card label{display:block;margin-bottom:6px}.telegram-template-card p{margin:0 0 8px;color:#555;line-height:1.4}.telegram-template-card small{display:block;color:#777;margin-bottom:8px}.telegram-template-card code{background:#eee;padding:2px 5px;border-radius:4px;color:#333}.telegram-template-card textarea{display:block;width:100%;min-height:120px;padding:10px;border:1px solid #bbb;border-radius:6px;background:#fff;resize:vertical;line-height:1.45}.settings-save{position:sticky;bottom:0;margin:18px -18px -18px;padding:12px 18px;background:rgba(255,255,255,.96);border-top:1px solid #ddd;display:flex;gap:12px;align-items:center}.settings-save button{min-height:42px;padding:8px 16px;border:1px solid #777;border-radius:6px;background:#eee;cursor:pointer}.settings-save small{color:#666}@media(max-width:850px){.telegram-template-grid{grid-template-columns:1fr}.settings-wrap{padding:10px}.settings-panel{padding:12px}.settings-save{margin:14px -12px -12px;padding:10px 12px;align-items:flex-start;flex-direction:column}}

/* v3.6.5: shared "awaiting reply" state and chat filters */
.chat-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.chat-filter{min-height:34px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#444;cursor:pointer}.chat-filter:hover{background:#f5f5f5}.chat-filter.active{background:#222;color:#fff;border-color:#222}.conversation.awaiting-reply{background:#fffaf0}.conversation.awaiting-reply>strong{font-weight:700}.waiting-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 7px;border-radius:999px;background:#222;color:#fff;font-size:11px;font-weight:700;line-height:1.15;margin-left:auto;flex:0 0 auto;white-space:nowrap}.conversation.active .waiting-badge{background:#315f9b}@media(max-width:420px){.waiting-badge{font-size:10px;padding:3px 6px}}

/* v3.7.0 — PWA / Apple-inspired application shell */
:root{
 --apple-bg:#f5f5f7;--apple-surface:#fff;--apple-surface-translucent:rgba(255,255,255,.82);
 --apple-text:#1d1d1f;--apple-secondary:#6e6e73;--apple-tertiary:#8e8e93;
 --apple-separator:rgba(60,60,67,.16);--apple-fill:rgba(120,120,128,.12);
 --apple-blue:#007aff;--apple-blue-soft:rgba(0,122,255,.11);--apple-red:#ff3b30;--apple-orange:#ff9500;
 --apple-green:#34c759;--apple-radius:16px;--apple-radius-lg:22px;
 --apple-shadow:0 8px 30px rgba(0,0,0,.06);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)
}
html{-webkit-text-size-adjust:100%;background:var(--apple-bg)}
html,body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",sans-serif;color:var(--apple-text);background:var(--apple-bg);font-size:15px;-webkit-font-smoothing:antialiased}
body{min-height:100dvh}
button,input,textarea,select{font-family:inherit;color:inherit}
a{color:var(--apple-blue);text-underline-offset:2px}
button{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(0,122,255,.25);outline-offset:1px}

.top{height:62px;padding:0 20px;background:rgba(250,250,252,.84);border-bottom:1px solid var(--apple-separator);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);position:relative;z-index:50}
.top>strong{display:flex;align-items:center;gap:9px;font-size:16px;letter-spacing:-.01em;white-space:nowrap}
.top>strong:before{content:'S';display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--apple-blue);color:#fff;font-weight:750;font-size:15px;box-shadow:0 2px 8px rgba(0,122,255,.22)}
.top span{display:flex;align-items:center;gap:8px;color:var(--apple-secondary);white-space:nowrap}
.top span a,.top-link{color:var(--apple-secondary);text-decoration:none!important;border:0;background:none;padding:7px 6px;border-radius:8px;font-size:13px}
.top span a:hover,.top-link:hover{color:var(--apple-text);background:var(--apple-fill)}
.pwa-install{border:0;background:var(--apple-blue);color:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:650;cursor:pointer}
.pwa-more,.pwa-more-menu,.pwa-tabbar{display:none}
.network-badge{position:fixed;top:calc(10px + var(--safe-top));left:50%;transform:translateX(-50%);z-index:2000;padding:7px 12px;border-radius:999px;background:rgba(29,29,31,.92);color:#fff;font-size:12px;font-weight:650;box-shadow:var(--apple-shadow)}

.layout{height:calc(100dvh - 62px);grid-template-columns:330px minmax(0,1fr) 330px;background:var(--apple-bg)}
.sidebar{border-right:1px solid var(--apple-separator);background:rgba(250,250,252,.74);scrollbar-width:thin}
.search{padding:12px 12px 10px;border-bottom:0;background:rgba(250,250,252,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.search input{height:38px;padding:8px 12px 8px 34px;border:0;border-radius:11px;background:rgba(118,118,128,.12);box-shadow:none;color:var(--apple-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:16px;background-position:11px center}
.search input::placeholder{color:var(--apple-tertiary)}
.chat-filters{display:flex;gap:0;padding:2px;margin-top:9px;border-radius:9px;background:rgba(118,118,128,.12)}
.chat-filter{flex:1;min-height:30px;border:0;border-radius:7px;background:transparent;color:var(--apple-secondary);font-size:12px;font-weight:600;transition:.16s ease}
.chat-filter:hover{background:rgba(255,255,255,.5)}
.chat-filter.active{background:#fff;color:var(--apple-text);border:0;box-shadow:0 1px 4px rgba(0,0,0,.10)}
.conversation-list{padding:4px 8px 14px}
.conversation{margin:2px 0;padding:11px 10px;border:0;border-radius:13px;transition:background .14s ease,transform .14s ease}
.conversation:hover{background:rgba(118,118,128,.08)}
.conversation.active,.conversation.keyboard-selected.active{background:var(--apple-blue);color:#fff;box-shadow:none}
.conversation.keyboard-selected:not(.active){background:rgba(0,122,255,.08);box-shadow:none}
.conversation.awaiting-reply{background:rgba(255,149,0,.08)}
.conversation.awaiting-reply.active{background:var(--apple-blue)}
.conversation strong{font-size:14px;letter-spacing:-.01em}
.conversation small{margin-top:3px;color:var(--apple-secondary);font-size:12px;line-height:1.35}
.conversation.active small{color:rgba(255,255,255,.76)}
.list-avatar{width:34px;height:34px;margin-right:2px;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.waiting-badge{min-height:20px;padding:3px 7px;background:var(--apple-orange);font-size:10px;letter-spacing:.01em}
.conversation.active .waiting-badge{background:#fff;color:var(--apple-blue)}
.blocked-badge{border:0!important;background:rgba(255,59,48,.12)!important;color:var(--apple-red)!important;border-radius:999px!important}
.conversation.active .blocked-badge{background:rgba(255,255,255,.16)!important;color:#fff!important}

.chat{background:var(--apple-bg)}
.chat-head{min-height:66px;padding:10px 16px;border-bottom:1px solid var(--apple-separator);background:rgba(255,255,255,.78);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);z-index:10}
.chat-head-main{display:flex;align-items:center;gap:8px;min-width:0}.chat-title-block{min-width:0}.chat-title-block strong{font-size:16px;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-head small{font-size:11px;color:var(--apple-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:54vw}
.nav-icon{width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--apple-fill);display:inline-grid;place-items:center;color:var(--apple-blue);cursor:pointer}.nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mobile-back{display:none}.contact-toggle{display:none}
.ticket-actions{gap:8px}.ticket-service-label{color:var(--apple-secondary);font-size:11px}.ticket-service-label select{height:36px;min-width:190px;border:1px solid var(--apple-separator);border-radius:10px;background:rgba(255,255,255,.88);padding:0 28px 0 10px;color:var(--apple-text)}
.close-ticket{min-height:36px;border:0;background:rgba(255,59,48,.10);color:var(--apple-red);border-radius:10px;font-weight:600}.close-ticket:hover{background:rgba(255,59,48,.16)}
.contact-data-alert{padding:8px 14px;border:0;border-bottom:1px solid rgba(255,149,0,.20);background:rgba(255,149,0,.10);color:#9a5b00;font-size:12px}
.messages{padding:20px 22px 24px;background:linear-gradient(180deg,#f7f7f9 0%,var(--apple-bg) 100%);scroll-behavior:smooth}
.message{max-width:min(760px,78%);margin-bottom:12px}
.bubble{padding:9px 13px;border:0;border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);line-height:1.42}
.message.contact .bubble{border-bottom-left-radius:6px}.message.operator .bubble{background:var(--apple-blue);color:#fff;border-bottom-right-radius:6px;box-shadow:none}.message.system .bubble{background:rgba(118,118,128,.10);color:var(--apple-secondary);box-shadow:none;font-size:12px}.message small{font-size:10px;color:var(--apple-tertiary);padding:0 5px;margin-top:4px}.message img{border-radius:13px;max-width:min(320px,68vw)}
.ticket-marker{max-width:680px;margin:16px auto;padding:6px 11px;border:0;border-radius:999px;background:rgba(118,118,128,.09);color:var(--apple-secondary);font-size:11px}.ticket-marker strong{color:var(--apple-text)}.ticket-closed{border:0;background:rgba(118,118,128,.08)}
.composer{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--apple-separator);background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);gap:8px}
.composer textarea{min-height:42px;max-height:150px;padding:10px 13px;border:1px solid var(--apple-separator);border-radius:17px;background:rgba(255,255,255,.92);resize:none;line-height:1.35;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.02)}
.composer button[type=submit]{height:42px;padding:0 16px;border:0;border-radius:13px;background:var(--apple-blue);color:#fff;font-weight:650}.composer button[type=submit]:disabled{background:rgba(118,118,128,.20);color:var(--apple-tertiary)}
.file,.composer .channel-button,.quick-reply-trigger{height:38px!important;min-height:38px;border:0!important;border-radius:11px!important;background:var(--apple-fill)!important;color:var(--apple-secondary)!important}.file{padding:0 11px}.composer .channel-button{width:38px!important}.composer .channel-button.active{background:var(--apple-blue-soft)!important;color:var(--apple-blue)!important;box-shadow:none!important}.composer .channel-button:disabled{opacity:.35}.channel-picker{height:38px;gap:4px}.composer-tools{gap:5px}
.quick-reply-menu{border:1px solid var(--apple-separator);border-radius:15px;box-shadow:0 18px 44px rgba(0,0,0,.14);overflow:hidden}.quick-reply-option{border-bottom:1px solid var(--apple-separator)!important;background:rgba(255,255,255,.96)!important}.quick-reply-option:hover,.quick-reply-option.active{background:var(--apple-blue-soft)!important}

.contact-sidebar{border-left:1px solid var(--apple-separator);background:rgba(255,255,255,.84)}
.contact-card-head{height:52px;border-bottom:1px solid var(--apple-separator);font-size:13px}.contact-card{padding:18px}.contact-avatar-card{width:88px;height:88px;border:0;box-shadow:0 2px 12px rgba(0,0,0,.08)}.contact-avatar-card.placeholder{background:var(--apple-fill)}.contact-card h3{font-size:19px;letter-spacing:-.02em}.contact-card dt{color:var(--apple-tertiary);font-size:11px;margin-top:12px}.contact-card dd{font-size:13px}.contact-card h4{font-size:13px}.contact-service-item,.service-row{border:0;border-radius:13px;background:var(--apple-fill);padding:10px 11px}.service-relations{color:var(--apple-secondary)}.contact-actions{border-top:1px solid var(--apple-separator)}
.block-button,.unblock-button,.clear-meta-button{border:0;border-radius:10px}.block-button{background:rgba(255,59,48,.10);color:var(--apple-red)}.unblock-button{background:rgba(52,199,89,.10);color:#248a3d}.contact-meta-box,.contact-meta-card{border:0;border-radius:13px;background:rgba(255,149,0,.10)}
.contact-scrim{display:none}

/* Directory / settings / integrations */
.contacts-wrap,.settings-wrap{padding:22px;gap:16px}
.contact-panel,.contact-list-panel,.settings-panel{border:1px solid rgba(0,0,0,.045);border-radius:var(--apple-radius-lg);background:rgba(255,255,255,.88);box-shadow:var(--apple-shadow);padding:18px}
.contact-panel h2,.contact-list-panel h2,.settings-head h1{letter-spacing:-.025em;color:var(--apple-text)}
.contact-form label,.integration-card label{color:var(--apple-secondary);font-size:12px;font-weight:600}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-list-head input,.import-form input[type=file],.integration-card input[type=text],.integration-card input[type=url],.integration-card input[type=number],.integration-card input:not([type]),.chat-link-label input,.telegram-template-card textarea{border:1px solid var(--apple-separator);border-radius:11px;background:rgba(255,255,255,.96);min-height:42px;box-shadow:none}
.contact-form input:focus,.contact-form select:focus,.contact-list-head input:focus,.telegram-template-card textarea:focus{border-color:rgba(0,122,255,.55);box-shadow:0 0 0 3px rgba(0,122,255,.10);outline:0}
.contact-form button,.inline-form button,.import-form button,.contact-list-head button,.button-link,.settings-save button,.integration-card button{min-height:38px;border:0;border-radius:10px;background:var(--apple-blue);color:#fff;text-decoration:none;font-weight:600;padding:8px 13px}.button-link{display:inline-flex;align-items:center;background:var(--apple-fill);color:var(--apple-text)}
.contacts-table{border-collapse:separate;border-spacing:0;font-size:13px}.contacts-table th{padding:10px 9px;color:var(--apple-secondary);font-size:11px;font-weight:650;background:rgba(118,118,128,.055);border-bottom:1px solid var(--apple-separator)}.contacts-table td{padding:11px 9px;border-bottom:1px solid var(--apple-separator)}.contacts-table tbody tr:hover td{background:rgba(0,122,255,.025)}
.notice{border:0;border-radius:13px}.notice.ok{background:rgba(52,199,89,.11);color:#1f7a35}.notice.error{background:rgba(255,59,48,.10);color:#b4231a}
.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.pagination a{padding:7px 11px;border-radius:9px;background:var(--apple-fill);text-decoration:none}.pagination strong{font-size:12px;color:var(--apple-secondary)}
.log-tabs{padding:2px;border-radius:10px;background:var(--apple-fill)}.log-tabs a{border:0;border-radius:8px;background:transparent;color:var(--apple-secondary)}.log-tabs a.active{background:#fff;color:var(--apple-text);box-shadow:0 1px 4px rgba(0,0,0,.09)}
.import-run-card{border:0;border-radius:13px;background:var(--apple-fill)}.import-run-card:hover,.import-run-card.active{background:var(--apple-blue-soft);border:0}.import-run-list{border-right:1px solid var(--apple-separator)}
.telegram-template-card{border:0;border-radius:16px;background:var(--apple-fill);padding:15px}.telegram-template-card code,.contact-panel code{background:rgba(118,118,128,.12);border-radius:6px}.settings-save{background:rgba(255,255,255,.88);border-top:1px solid var(--apple-separator);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.quick-reply-dialog{border:0;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 28px 90px rgba(0,0,0,.24);padding:0}.quick-reply-dialog::backdrop{background:rgba(0,0,0,.24);backdrop-filter:blur(4px)}.dialog-head{border-bottom:1px solid var(--apple-separator)}.dialog-close{border:0!important;background:var(--apple-fill)!important;border-radius:50%!important}

@media(max-width:1100px){
 .layout{grid-template-columns:310px minmax(0,1fr)}
 .contact-sidebar{display:block;position:fixed;z-index:110;top:62px;right:0;bottom:0;width:min(360px,92vw);transform:translateX(105%);transition:transform .22s cubic-bezier(.22,.61,.36,1);box-shadow:-20px 0 50px rgba(0,0,0,.12)}
 .layout.contact-open .contact-sidebar{transform:translateX(0)}
 .contact-toggle{display:inline-grid}.contact-scrim{position:fixed;z-index:100;inset:62px 0 0;border:0;background:rgba(0,0,0,.20);backdrop-filter:blur(2px)}.layout.contact-open .contact-scrim{display:block}
}

@media(max-width:760px){
 :root{--mobile-top:calc(54px + var(--safe-top));--tabbar-height:calc(64px + var(--safe-bottom))}
 html,body{font-size:15px;overflow:hidden}
 body{padding-bottom:var(--tabbar-height)}
 .top{height:var(--mobile-top);padding:var(--safe-top) 14px 0 14px}.top>strong{font-size:15px}.top>strong:before{width:28px;height:28px;border-radius:8px}.top span{display:none}
 .pwa-more{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--apple-fill);font-size:14px;letter-spacing:1px;cursor:pointer}
 .pwa-more-menu{display:grid;position:absolute;right:12px;top:calc(48px + var(--safe-top));min-width:170px;padding:6px;border:1px solid var(--apple-separator);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 18px 46px rgba(0,0,0,.16);backdrop-filter:blur(18px)}.pwa-more-menu[hidden]{display:none}.pwa-more-menu a,.pwa-more-menu button{display:block;width:100%;padding:10px;border:0;border-radius:9px;background:transparent;color:var(--apple-text);text-align:left;text-decoration:none;font-size:14px}.pwa-more-menu a:hover,.pwa-more-menu button:hover{background:var(--apple-fill)}
 .pwa-tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:150;left:0;right:0;bottom:0;height:var(--tabbar-height);padding:6px 4px var(--safe-bottom);border-top:1px solid var(--apple-separator);background:rgba(250,250,252,.88);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}
 .pwa-tabbar a{display:grid;place-items:center;align-content:center;gap:2px;min-width:0;color:var(--apple-tertiary);text-decoration:none;font-size:9px;font-weight:550}.pwa-tabbar a.active{color:var(--apple-blue)}.pwa-tabbar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .layout{height:calc(100dvh - var(--mobile-top) - var(--tabbar-height));display:block}
 .sidebar{height:100%;background:var(--apple-bg)}.search{padding:10px 12px 8px}.search input{height:40px}.conversation-list{padding-bottom:20px}.conversation{padding:12px 10px}.list-avatar{width:38px;height:38px}
 .chat{height:100%;grid-template-rows:auto auto 1fr auto;background:var(--apple-bg)}.layout.chat-open .chat{display:grid}.chat-head{min-height:58px;padding:8px 10px}.chat-head:before{display:none!important}.chat-head-main{flex:1}.mobile-back{display:inline-grid;flex:0 0 auto}.chat-title-block{max-width:calc(100vw - 190px)}.chat-title-block strong{font-size:15px}.chat-head small{max-width:45vw;font-size:9px}
 .ticket-actions{gap:5px}.ticket-service-label{display:none}.close-ticket{width:34px;height:34px;min-height:34px;padding:0;font-size:0;border-radius:50%}.close-ticket:before{content:'×';font-size:21px;font-weight:400}.contact-toggle{width:34px;height:34px}
 .messages{padding:14px 10px 18px}.message{max-width:87%}.bubble{font-size:14px}.ticket-marker{max-width:92%;font-size:10px;margin:12px auto}
 .composer{grid-template-columns:auto minmax(0,1fr) auto!important;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));gap:6px}.composer-tools{grid-column:1/-1;overflow-x:auto;scrollbar-width:none}.composer-tools::-webkit-scrollbar{display:none}.channel-picker{grid-column:auto!important}.composer-input-wrap{grid-column:1/3}.composer button[type=submit]{grid-column:3!important;width:42px;padding:0;font-size:0;border-radius:50%}.composer button[type=submit]:after{content:'↑';font-size:20px;font-weight:700}.file{font-size:12px}.quick-reply-trigger{width:38px!important}.composer textarea{min-height:40px;border-radius:16px;padding:9px 12px}
 .contact-sidebar{top:var(--mobile-top);bottom:var(--tabbar-height);width:min(350px,92vw)}.contact-scrim{inset:var(--mobile-top) 0 var(--tabbar-height)}
 .contacts-wrap,.settings-wrap{height:calc(100dvh - var(--mobile-top) - var(--tabbar-height));overflow:auto;padding:12px}.contact-panel,.contact-list-panel,.settings-panel{border-radius:18px;padding:14px;box-shadow:0 4px 20px rgba(0,0,0,.04)}
 .contacts-table{min-width:720px}.table-scroll,.contact-list-panel{overflow:auto}.contact-list-head{gap:10px}.contact-list-head form{display:grid;grid-template-columns:1fr auto;width:100%}.contact-list-head input{margin:0}.contact-list-head button{white-space:nowrap}
 .settings-save{padding-bottom:calc(10px + var(--safe-bottom))}.telegram-template-card{border-radius:14px}
 .quick-reply-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 24px);border-radius:20px}
}

/* v3.8.0: Telegram gateway, reply gestures and notifications */
.telegram-gateway{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:5px 9px;border-radius:999px;background:var(--apple-fill);font-size:11px;font-weight:650;color:var(--apple-secondary);white-space:nowrap}.telegram-gateway i{width:7px;height:7px;border-radius:50%;background:#8e8e93;box-shadow:0 0 0 3px rgba(142,142,147,.12)}.telegram-gateway.available i{background:#34c759;box-shadow:0 0 0 3px rgba(52,199,89,.13)}.telegram-gateway.unavailable i{background:#ff3b30;box-shadow:0 0 0 3px rgba(255,59,48,.12)}.telegram-gateway.checking i,.telegram-gateway.misconfigured i{background:#ff9f0a;box-shadow:0 0 0 3px rgba(255,159,10,.13)}.telegram-gateway.disabled{opacity:.62}
.message{position:relative;touch-action:pan-y}.message-content{position:relative;z-index:2;transition:transform .14s ease;will-change:transform}.swipe-reply-icon{position:absolute;z-index:1;right:10px;top:50%;width:34px;height:34px;margin-top:-17px;display:grid;place-items:center;border-radius:50%;background:var(--apple-blue-soft);color:var(--apple-blue);font-size:18px;opacity:0;transform:scale(.75);transition:opacity .12s,transform .12s}.message.reply-ready .swipe-reply-icon{opacity:1;transform:scale(1)}.message.operator .swipe-reply-icon{right:10px}.reply-quote{display:grid;gap:2px;margin:0 0 5px;padding:6px 9px;border-left:3px solid var(--apple-blue);border-radius:8px;background:rgba(118,118,128,.09);text-align:left;max-width:100%}.reply-quote strong{font-size:11px;color:var(--apple-blue)}.reply-quote span{font-size:11px;color:var(--apple-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-composer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 0;padding:8px 10px;border-radius:12px;background:var(--apple-fill);border-left:3px solid var(--apple-blue)}.reply-composer[hidden]{display:none}.reply-composer>div{min-width:0;display:grid;gap:2px}.reply-composer strong{font-size:11px;color:var(--apple-blue)}.reply-composer span{font-size:12px;color:var(--apple-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-composer button{width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(118,118,128,.12)!important;color:var(--apple-secondary)!important;font-size:18px!important}
.notification-settings-panel{margin-top:16px}.notification-settings{display:grid;gap:1px;border-radius:16px;overflow:hidden;background:var(--apple-separator)}.settings-toggle,.notification-sound-row,.notification-status{background:rgba(255,255,255,.96);padding:14px 15px}.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px}.settings-toggle span{display:grid;gap:3px}.settings-toggle small{color:var(--apple-secondary);font-weight:400}.settings-toggle input{width:44px;height:24px;accent-color:var(--apple-blue)}.notification-sound-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,240px) auto;gap:10px;align-items:center}.notification-sound-row select{min-height:40px;border:1px solid var(--apple-separator);border-radius:10px;background:#fff;padding:0 10px}.notification-sound-row button{min-height:40px;border:0;border-radius:10px;background:var(--apple-fill);color:var(--apple-text);padding:0 14px;font-weight:600}.notification-status{font-size:12px;color:var(--apple-secondary)}
@media(max-width:760px){.telegram-gateway{margin-left:7px;padding:4px 7px;font-size:9px}.telegram-gateway span{max-width:92px;overflow:hidden;text-overflow:ellipsis}.notification-sound-row{grid-template-columns:1fr}.settings-toggle{align-items:flex-start}.reply-composer{margin-top:0}.message.operator .swipe-reply-icon{right:10px}}
.message-pending .message-content{opacity:.72}.message-pending .bubble{position:relative}.message-pending small{font-style:italic}.message-failed .message-content{opacity:1}.message-failed .bubble{background:#fff0f0!important;color:#9b1c1c!important;box-shadow:inset 0 0 0 1px rgba(255,59,48,.18)!important}.message-failed small{color:#c62828}.pending-attachment{margin-top:6px;font-size:12px;opacity:.8}


/* v3.8.1: viewport-locked three-column chat workspace */
body.chat-app{overflow:hidden;height:100dvh;min-height:100dvh}
body.chat-app .layout{height:calc(100dvh - 62px);min-height:0;overflow:hidden}
body.chat-app .layout>*{min-height:0}
body.chat-app .sidebar{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
body.chat-app .search{position:relative;top:auto;min-height:0}
body.chat-app .conversation-list{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
body.chat-app .chat{height:100%;min-height:0;overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto}
body.chat-app .messages{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable}
body.chat-app .contact-sidebar{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}
body.chat-app .contact-card{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
@media(max-width:1100px){body.chat-app .contact-sidebar{height:auto}}
@media(max-width:760px){
 body.chat-app{height:100dvh;min-height:100dvh}
 body.chat-app .layout{height:calc(100dvh - var(--mobile-top) - var(--tabbar-height))}
 body.chat-app .sidebar{height:100%;min-height:0}
 body.chat-app .chat{height:100%;min-height:0}
 body.chat-app .conversation-list,body.chat-app .messages,body.chat-app .contact-card{scrollbar-width:none}
 body.chat-app .conversation-list::-webkit-scrollbar,body.chat-app .messages::-webkit-scrollbar,body.chat-app .contact-card::-webkit-scrollbar{display:none}
}


/* v3.8.3: resilient viewport layout + responsive contact drawer */
.telegram-gateway.degraded i{background:#ff9f0a;box-shadow:0 0 0 3px rgba(255,159,10,.13)}
body.chat-app{display:grid;grid-template-rows:62px minmax(0,1fr);height:100dvh;min-height:100dvh;overflow:hidden;padding:0}
body.chat-app>.top{height:62px;min-height:62px}
body.chat-app>.layout{height:auto!important;min-height:0;max-height:none;overflow:hidden}
body.chat-app .chat{height:auto;min-height:0;max-height:100%;overflow:hidden;grid-template-rows:max-content max-content minmax(0,1fr) max-content}
body.chat-app .messages{min-height:0;max-height:100%;overflow-y:auto}
body.chat-app .composer{position:relative;z-index:20;min-height:max-content;max-height:min(42dvh,300px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;flex:0 0 auto}
body.chat-app .composer-input-wrap{min-height:0}
body.chat-app .composer textarea{display:block}

/* Keep a useful center-column width. Below this point the contact card becomes
   a drawer instead of squeezing/covering message text. */
@media(max-width:1320px){
 body.chat-app .layout{grid-template-columns:320px minmax(0,1fr)}
 body.chat-app .contact-sidebar{display:grid;position:fixed;z-index:110;top:62px;right:0;bottom:0;width:min(360px,92vw);height:auto;min-height:0;transform:translateX(105%);transition:transform .22s cubic-bezier(.22,.61,.36,1);box-shadow:-20px 0 50px rgba(0,0,0,.12)}
 body.chat-app .layout.contact-open .contact-sidebar{transform:translateX(0)}
 body.chat-app .contact-toggle{display:inline-grid}
 body.chat-app .contact-scrim{position:fixed;z-index:100;inset:62px 0 0;border:0;background:rgba(0,0,0,.20);backdrop-filter:blur(2px)}
 body.chat-app .layout.contact-open .contact-scrim{display:block}
}
@media(max-width:900px) and (min-width:761px){
 body.chat-app .layout{grid-template-columns:280px minmax(0,1fr)}
}
@media(max-width:760px){
 body.chat-app{grid-template-rows:var(--mobile-top) minmax(0,1fr);padding:0 0 var(--tabbar-height)}
 body.chat-app>.top{height:var(--mobile-top);min-height:var(--mobile-top)}
 body.chat-app>.layout{height:auto!important;min-height:0}
 body.chat-app .chat{height:auto;min-height:0}
 body.chat-app .composer{max-height:min(46dvh,320px)}
 body.chat-app .contact-sidebar{top:var(--mobile-top);bottom:var(--tabbar-height);width:min(350px,92vw)}
 body.chat-app .contact-scrim{inset:var(--mobile-top) 0 var(--tabbar-height)}
}

/* v3.8.4: Heroicons message actions, touch context menu, resend */
.hero-icon{width:18px;height:18px;display:block;pointer-events:none}
.message-actions{position:absolute;z-index:8;top:50%;display:flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--apple-separator);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 6px 22px rgba(0,0,0,.10);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-50%) scale(.96);transition:opacity .12s ease,transform .12s ease,visibility .12s}
.message.contact .message-actions,.message.system .message-actions{left:calc(100% + 8px)}
.message.operator .message-actions{right:calc(100% + 8px)}
.message-action,.message-retry{display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--apple-secondary);cursor:pointer}
.message-action:hover,.message-retry:hover{background:var(--apple-fill);color:var(--apple-text)}
.message-action.danger:hover{background:rgba(255,59,48,.10);color:var(--apple-red)}
.message-retry{position:absolute;z-index:9;right:calc(100% + 8px);top:50%;transform:translateY(-50%);border:1px solid var(--apple-separator);border-radius:50%;background:rgba(255,255,255,.96);color:var(--apple-blue);box-shadow:0 5px 18px rgba(0,0,0,.10)}
.message-deleted .bubble{background:var(--apple-fill)!important;color:var(--apple-tertiary)!important;font-style:italic;box-shadow:none!important}
.message-deleted{opacity:.72}
@media(hover:hover) and (pointer:fine){.message:hover>.message-actions,.message:focus-within>.message-actions{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}}
@media(hover:none),(pointer:coarse){.message-actions{display:none}.message-retry{display:none}}

.message-context-menu{position:fixed;z-index:3000;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:16px max(10px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(0,0,0,.18);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.message-context-menu[hidden]{display:none}
.message-context-sheet{width:min(440px,100%);padding:7px;border-radius:20px;background:rgba(250,250,252,.96);box-shadow:0 24px 70px rgba(0,0,0,.24);overflow:hidden}
.message-context-handle{width:38px;height:5px;margin:1px auto 7px;border-radius:999px;background:rgba(60,60,67,.22)}
.message-context-action{width:100%;min-height:52px;display:flex;align-items:center;gap:12px;padding:0 14px;border:0;border-bottom:1px solid var(--apple-separator);background:transparent;color:var(--apple-text);font-weight:600;text-align:left}
.message-context-action .hero-icon{width:21px;height:21px;color:var(--apple-secondary)}
.message-context-action.danger{color:var(--apple-red)}.message-context-action.danger .hero-icon{color:var(--apple-red)}
.message-context-action:active{background:var(--apple-fill)}
.message-context-cancel{width:100%;min-height:48px;margin-top:6px;border:0;border-radius:13px;background:var(--apple-fill);font-weight:650;color:var(--apple-blue)}
body.message-menu-open{overflow:hidden}

.message-edit-dialog{width:min(520px,calc(100vw - 24px));padding:0;border:0;border-radius:20px;background:rgba(255,255,255,.98);box-shadow:0 28px 90px rgba(0,0,0,.25)}
.message-edit-dialog::backdrop{background:rgba(0,0,0,.25);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.message-edit-form{display:grid;gap:0}.message-edit-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--apple-separator)}
.message-edit-close{width:30px;height:30px;border:0;border-radius:50%;background:var(--apple-fill);font-size:21px;color:var(--apple-secondary)}
.message-edit-form textarea{margin:14px;min-height:130px;max-height:46dvh;padding:12px 13px;border:1px solid var(--apple-separator);border-radius:13px;resize:vertical;background:#fff;line-height:1.4}
.message-edit-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}.message-edit-actions button{min-height:40px;padding:0 14px;border:0;border-radius:10px;background:var(--apple-fill);font-weight:600}.message-edit-actions .primary{background:var(--apple-blue);color:#fff}
@media(max-width:760px){.message-edit-dialog{width:calc(100vw - 16px);margin:auto 8px 8px;border-radius:20px}.message-edit-dialog::backdrop{background:rgba(0,0,0,.20)}}
@media(hover:none),(pointer:coarse){.message{-webkit-touch-callout:none}.message .message-content{-webkit-user-select:none;user-select:none}.message-edit-form textarea{-webkit-user-select:text;user-select:text}}

/* ========================================================================
   v3.9.0 — Tailwind build refresh / Apple-style workspace
   Production CSS is prebuilt; source pipeline: resources/css/admin.css
   ======================================================================== */
:root{
 --ui-bg:#f5f5f7;--ui-panel:rgba(255,255,255,.82);--ui-panel-solid:#fff;
 --ui-text:#1d1d1f;--ui-muted:#6e6e73;--ui-faint:#8e8e93;
 --ui-line:rgba(60,60,67,.14);--ui-fill:rgba(118,118,128,.10);
 --ui-blue:#007aff;--ui-red:#ff3b30;--ui-orange:#ff9500;--ui-green:#34c759;
 --ui-shadow:0 12px 38px rgba(0,0,0,.07);--ui-shadow-pop:0 16px 50px rgba(0,0,0,.14);
 --ui-radius:16px;--ui-radius-lg:22px
}
html,body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,"Segoe UI",system-ui,sans-serif;background:var(--ui-bg);color:var(--ui-text)}
button,input,textarea,select{font:inherit}
button{touch-action:manipulation}
:focus-visible{outline:3px solid rgba(0,122,255,.30);outline-offset:2px}

/* Shared top navigation */
.top{height:62px;min-height:62px;padding:0 18px;background:rgba(250,250,252,.84);border-bottom:1px solid var(--ui-line);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);box-shadow:0 1px 0 rgba(255,255,255,.55) inset}
.top>strong{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.top>strong:before{width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,#0a84ff,#0066d6);box-shadow:0 4px 14px rgba(0,122,255,.24)}
.top span{gap:4px;font-size:13px}
.top span a,.top-link{padding:7px 9px;border-radius:9px;color:var(--ui-muted);transition:background .15s ease,color .15s ease,transform .15s ease}
.top span a:hover,.top-link:hover{background:var(--ui-fill);color:var(--ui-text)}
.top span a:active,.top-link:active{transform:scale(.97)}

/* Chat workspace */
body.chat-app>.layout{grid-template-columns:320px minmax(460px,1fr) 320px;background:var(--ui-bg)}
body.chat-app .sidebar{background:rgba(250,250,252,.72);border-right:1px solid var(--ui-line)}
body.chat-app .search{padding:12px;background:rgba(250,250,252,.92);border-bottom:1px solid var(--ui-line);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
body.chat-app .search input{height:40px;border:0;border-radius:12px;background-color:rgba(118,118,128,.11);font-size:13px;padding-left:36px;box-shadow:none}
body.chat-app .search input:focus{background:#fff;box-shadow:0 0 0 3px rgba(0,122,255,.12)}
.chat-filters{margin-top:9px;padding:3px;border-radius:10px;background:rgba(118,118,128,.10)}
.chat-filter{min-height:31px;border-radius:8px;font-size:12px;font-weight:650}
.chat-filter.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.10)}
.conversation{margin:0 7px;padding:11px 10px;border:0;border-bottom:1px solid rgba(60,60,67,.08);border-radius:12px;transition:background .12s ease,transform .12s ease}
.conversation:hover{background:rgba(118,118,128,.08)}
.conversation.active,.conversation.keyboard-selected.active{background:var(--ui-blue);color:#fff;box-shadow:0 5px 18px rgba(0,122,255,.18)}
.conversation:active{transform:scale(.99)}
.list-avatar{width:34px;height:34px;margin-right:9px;box-shadow:0 0 0 1px rgba(0,0,0,.04)}
.conversation-name{font-size:13px;font-weight:650}
.conversation small{font-size:11px;line-height:1.4}
.waiting-badge{margin-left:6px;padding:3px 6px;border-radius:999px;font-size:9px;font-weight:700}

body.chat-app .chat{background:linear-gradient(180deg,#f7f7f9 0%,#f5f5f7 100%)}
.chat-head{min-height:68px;padding:10px 16px;background:rgba(255,255,255,.78);border-bottom:1px solid var(--ui-line);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}
.chat-title-block strong{font-size:16px;font-weight:700;letter-spacing:-.015em}
.chat-head small{font-size:11px;color:var(--ui-muted)}
.nav-icon{width:36px;height:36px;border-radius:11px;background:var(--ui-fill);transition:.15s ease}
.nav-icon:hover{background:rgba(118,118,128,.16)}
.ticket-service-label select{height:36px;border:1px solid var(--ui-line);border-radius:11px;background:#fff;padding-inline:10px 28px}
.close-ticket{min-height:36px;padding:0 12px;border-radius:11px;font-size:12px}

.messages{padding:22px 26px 28px;scroll-padding-bottom:24px}
.message{position:relative;width:fit-content;max-width:min(760px,76%);margin-bottom:13px}
.message.contact{margin-right:auto;text-align:left}
.message.operator{margin-left:auto;text-align:right}
.message.system{width:auto;max-width:760px}
.message-content{position:relative;min-width:0;transition:transform .16s cubic-bezier(.2,.75,.25,1)}
.bubble{max-width:100%;padding:10px 13px;border:0;border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.035);font-size:14px;line-height:1.38}
.message.contact .bubble{border-bottom-left-radius:6px}
.message.operator .bubble{background:linear-gradient(145deg,#0a84ff,#0075ec);color:#fff;border-bottom-right-radius:6px;box-shadow:0 2px 7px rgba(0,122,255,.12)}
.message small{padding:0 6px;margin-top:4px;font-size:10px;color:var(--ui-faint)}
.reply-quote{margin:0 3px 5px;padding:7px 10px;border-left:3px solid rgba(0,122,255,.45);border-radius:9px;background:rgba(118,118,128,.08);text-align:left}
.message.operator .reply-quote{border-left-color:rgba(255,255,255,.65);background:rgba(255,255,255,.13);color:#fff}
.reply-quote strong,.reply-quote span{display:block}.reply-quote strong{font-size:10px}.reply-quote span{font-size:11px;opacity:.84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Desktop message action bar. Client messages have no action bar in DOM. */
.message-actions.operator-actions{position:absolute;z-index:20;top:50%;right:calc(100% + 10px);display:flex;flex-direction:row-reverse;align-items:center;gap:2px;padding:3px;border:1px solid var(--ui-line);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(0,0,0,.11);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;visibility:hidden;transform:translateY(-50%) translateX(5px) scale(.97);transition:opacity .13s ease,transform .13s ease,visibility .13s}
.message.operator:hover>.message-actions.operator-actions,.message.operator:focus-within>.message-actions.operator-actions{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0) scale(1)}
.message-action{width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:#6e6e73;display:grid;place-items:center;transition:background .12s ease,color .12s ease,transform .12s ease}
.message-action .hero-icon,.message-retry .hero-icon{width:18px;height:18px;display:block;margin:auto;stroke-width:1.7}
.message-action:hover{background:rgba(118,118,128,.12);color:#1d1d1f;transform:scale(1.04)}
.message-action:active{transform:scale(.94)}
.message-action.danger:hover{background:rgba(255,59,48,.10);color:var(--ui-red)}
/* DOM: edit, reply, delete. row-reverse => visually left→right delete, reply, edit,
   therefore requested right→left order is edit → reply → delete. */
.message.contact>.message-actions,.message.system>.message-actions{display:none!important}

.message-retry{right:calc(100% + 10px);width:34px;height:34px;border:1px solid var(--ui-line);background:rgba(255,255,255,.96);color:var(--ui-blue);box-shadow:0 8px 24px rgba(0,0,0,.10)}
.message-retry:hover{background:#fff;transform:translateY(-50%) rotate(-18deg) scale(1.05)}
.message-failed .bubble{background:#fff!important;color:#b42318!important;box-shadow:0 0 0 1px rgba(255,59,48,.20),0 2px 8px rgba(0,0,0,.05)!important}

/* Composer is always its own bottom grid row and never participates in message scrolling. */
body.chat-app .chat{grid-template-rows:max-content max-content minmax(0,1fr) max-content!important}
body.chat-app .messages{min-height:0;overflow:auto}
.composer{position:relative!important;z-index:30;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"tools input send" "reply reply reply";align-items:end;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.86);border-top:1px solid var(--ui-line);backdrop-filter:saturate(180%) blur(26px);-webkit-backdrop-filter:saturate(180%) blur(26px);max-height:min(44dvh,320px)!important;overflow:visible!important}
.composer-tools{grid-area:tools;align-self:end;gap:5px}
.composer-input-wrap{grid-area:input;min-width:0}
.composer>button[type=submit]{grid-area:send;align-self:end;height:42px;min-width:42px;padding:0 15px;border-radius:13px;background:var(--ui-blue);color:#fff;border:0;font-weight:650;box-shadow:0 3px 10px rgba(0,122,255,.18)}
.composer textarea{width:100%;min-height:42px;max-height:150px;padding:10px 13px;border:1px solid var(--ui-line);border-radius:17px;background:#fff;resize:none;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.composer textarea:focus{border-color:rgba(0,122,255,.55);box-shadow:0 0 0 3px rgba(0,122,255,.10);outline:0}
.reply-composer{grid-area:reply;margin:0;min-width:0;border-radius:12px;background:rgba(0,122,255,.07);border:1px solid rgba(0,122,255,.10)}
.channel-picker{height:42px;gap:4px}.composer .channel-button,.quick-reply-trigger,.file{width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:11px;background:var(--ui-fill);color:var(--ui-muted);display:grid;place-items:center}
.composer .channel-button.active{background:rgba(0,122,255,.12);color:var(--ui-blue);box-shadow:none}.composer .channel-button:hover:not(:disabled),.quick-reply-trigger:hover,.file:hover{background:rgba(118,118,128,.16)}
.file{width:auto;padding:0 10px;font-size:12px}

/* Contact column / drawer */
.contact-sidebar{background:rgba(255,255,255,.78);border-left:1px solid var(--ui-line);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.contact-card-head{height:54px;padding:0 16px;border-bottom:1px solid var(--ui-line);font-size:13px}
.contact-card{padding:18px}.contact-avatar-card{width:88px;height:88px;border:0;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.07)}
.contact-card h3{font-size:19px;letter-spacing:-.02em}.contact-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-faint)}.contact-card dd{font-size:13px}

/* Tables / settings / integration pages */
.contacts-wrap,.settings-wrap,.integrations-wrap{max-width:1440px;margin:0 auto;padding:22px}
.contact-panel,.contact-list-panel,.settings-panel,.integration-card,.start-card{border:1px solid var(--ui-line)!important;border-radius:20px!important;background:rgba(255,255,255,.90)!important;box-shadow:0 8px 28px rgba(0,0,0,.045)!important}
.contact-panel,.contact-list-panel,.settings-panel,.integration-card{padding:18px}
.contact-list-head h2,.settings-head h1,.contact-panel h2{letter-spacing:-.02em}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-list-head input,.import-form input[type=file],.telegram-template-card textarea,.notification-sound-row select,.quick-reply-form input,.quick-reply-form textarea{border:1px solid var(--ui-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 1px 2px rgba(0,0,0,.025);transition:border-color .15s,box-shadow .15s}
.contact-form input:focus,.contact-form select:focus,.contact-list-head input:focus,.telegram-template-card textarea:focus,.quick-reply-form input:focus,.quick-reply-form textarea:focus{border-color:rgba(0,122,255,.55)!important;box-shadow:0 0 0 3px rgba(0,122,255,.10)!important;outline:0}
.contact-form button,.inline-form button,.import-form button,.contact-list-head button,.button-link,.settings-save button,.notification-sound-row button{border:0!important;border-radius:11px!important;background:var(--ui-fill)!important;color:var(--ui-text)!important;font-weight:600;box-shadow:none!important;transition:.14s ease}
.contact-form button[type=submit],.settings-save button{background:var(--ui-blue)!important;color:#fff!important}
.contact-form button:hover,.inline-form button:hover,.import-form button:hover,.contact-list-head button:hover,.button-link:hover,.settings-save button:hover,.notification-sound-row button:hover{filter:brightness(.97)}
.contacts-table{border-collapse:separate;border-spacing:0}.contacts-table th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-faint);font-weight:650;background:rgba(118,118,128,.05)}.contacts-table th,.contacts-table td{border-bottom:1px solid rgba(60,60,67,.09);padding:10px}.contacts-table tbody tr:hover td{background:rgba(0,122,255,.025)}
.telegram-template-card{border:1px solid var(--ui-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important}.settings-toggle{border-radius:15px!important;border-color:var(--ui-line)!important}
.notice{border:0!important;border-radius:13px!important}.notice.ok{background:rgba(52,199,89,.10)!important;color:#197a32}.notice.error{background:rgba(255,59,48,.09)!important;color:#a51d17}

/* Touch context menu: client gets Reply only; operator gets allowed actions. */
.message-context-menu{background:rgba(0,0,0,.20);padding-bottom:calc(12px + env(safe-area-inset-bottom))}
.message-context-sheet{width:min(430px,100%);padding:7px;border-radius:22px;background:rgba(250,250,252,.96);box-shadow:var(--ui-shadow-pop)}
.message-context-action{min-height:54px;padding:0 15px;gap:13px;border-bottom:1px solid var(--ui-line);font-size:15px}
.message-context-action .hero-icon{width:22px;height:22px;flex:0 0 22px}
.message-context-cancel{min-height:50px;border-radius:14px}

/* Responsive workspace */
@media(max-width:1380px){
 body.chat-app>.layout{grid-template-columns:310px minmax(0,1fr)}
 body.chat-app .contact-sidebar{display:grid;position:fixed;z-index:110;top:62px;right:0;bottom:0;width:min(360px,92vw);height:auto;transform:translateX(105%);transition:transform .22s cubic-bezier(.22,.61,.36,1);box-shadow:-22px 0 55px rgba(0,0,0,.13)}
 body.chat-app .layout.contact-open .contact-sidebar{transform:translateX(0)}
 body.chat-app .contact-toggle{display:inline-grid}
 body.chat-app .contact-scrim{position:fixed;z-index:100;inset:62px 0 0;border:0;background:rgba(0,0,0,.20);backdrop-filter:blur(2px)}
 body.chat-app .layout.contact-open .contact-scrim{display:block}
}
@media(max-width:980px) and (min-width:761px){body.chat-app>.layout{grid-template-columns:275px minmax(0,1fr)}.messages{padding-inline:18px}.message{max-width:84%}}
@media(max-width:760px){
 .top span{display:none}.top{padding-inline:12px}
 body.chat-app>.layout{display:block}.sidebar,.chat{width:100%}
 .messages{padding:14px 12px 18px}.message{max-width:88%}
 .composer{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"reply reply" "input send" "tools tools";gap:7px;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
 .composer-tools{justify-content:flex-start}.composer>button[type=submit]{min-width:44px;padding:0 12px}.composer textarea{border-radius:16px}
 .message-actions{display:none!important}.message-retry{display:none!important}
 body.chat-app .contact-sidebar{top:var(--mobile-top);bottom:var(--tabbar-height);width:min(350px,94vw)}
 .contacts-wrap,.settings-wrap,.integrations-wrap{padding:12px}
 .contact-panel,.contact-list-panel,.settings-panel,.integration-card{border-radius:16px!important;padding:14px}
 .contacts-table{font-size:12px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v3.10.0 — backend feature settings / quick-reply administration / Markdown */
.settings-panel + .settings-panel{margin-top:16px}
.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.settings-action-link,#reloadTree{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:0;border-radius:11px;background:var(--ui-fill,rgba(118,118,128,.12));color:var(--ui-text,#1d1d1f);text-decoration:none;font-weight:600;white-space:nowrap}
.feature-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.feature-settings-grid fieldset{min-width:0;margin:0;padding:0;border:1px solid var(--ui-line,rgba(60,60,67,.18));border-radius:16px;overflow:hidden;background:var(--ui-line,rgba(60,60,67,.18))}
.feature-settings-grid legend{width:100%;box-sizing:border-box;padding:12px 15px;background:#fff;font-weight:700;border-bottom:1px solid var(--ui-line,rgba(60,60,67,.18))}
.feature-settings-grid .settings-toggle{border-radius:0!important;border:0!important;border-bottom:1px solid var(--ui-line,rgba(60,60,67,.18))!important}
.feature-settings-grid .settings-toggle:last-child{border-bottom:0!important}
.quick-reply-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;margin-top:16px}
.quick-reply-admin-form{margin-top:0!important}
.quick-reply-admin-form>label:not(.settings-toggle){display:grid;gap:6px;margin:0 0 13px;font-weight:600}
.quick-reply-admin-form input:not([type=checkbox]),.quick-reply-admin-form select,.quick-reply-admin-form textarea{width:100%;box-sizing:border-box;min-height:42px;padding:9px 11px;border:1px solid var(--ui-line,rgba(60,60,67,.18));border-radius:12px;background:#fff;color:inherit;font:inherit}
.quick-reply-admin-form textarea{min-height:180px;resize:vertical;line-height:1.45}
.quick-reply-admin-form label small{color:var(--ui-muted,#6e6e73);font-weight:400}
.settings-toggle.compact{margin:8px 0 14px;border:1px solid var(--ui-line,rgba(60,60,67,.18))!important}
.quick-reply-form-actions .danger{color:#c62828}
.quick-reply-admin-tree{display:grid;gap:5px;margin-top:12px}
.qr-admin-node{padding-left:calc(var(--depth,0) * 22px)}
.qr-admin-node button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:8px 12px;border:1px solid var(--ui-line,rgba(60,60,67,.18));border-radius:12px;background:#fff;color:inherit;text-align:left;cursor:pointer}
.qr-admin-node button:hover{background:var(--ui-fill,rgba(118,118,128,.08))}
.qr-admin-node button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-admin-node button small{color:var(--ui-muted,#6e6e73);white-space:nowrap}
.qr-admin-node.category button{font-weight:600}
.bubble p,.msg p{margin:0 0 .65em}.bubble p:last-child,.msg p:last-child{margin-bottom:0}.bubble ul,.msg ul{margin:.35em 0;padding-left:1.4em}.bubble blockquote,.msg blockquote{margin:.35em 0;padding-left:.8em;border-left:3px solid currentColor;opacity:.78}.bubble pre,.msg pre{max-width:100%;overflow:auto;margin:.45em 0;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.08)}.bubble code,.msg code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bubble a,.msg a{text-decoration:underline}.md-spoiler{background:currentColor;border-radius:4px;color:transparent;cursor:pointer;transition:.15s}.md-spoiler:hover,.md-spoiler:focus{background:transparent;color:inherit}
@media(max-width:850px){.feature-settings-grid,.quick-reply-admin-grid{grid-template-columns:1fr}.settings-head{flex-direction:column}.settings-action-link,#reloadTree{width:100%}.qr-admin-node{padding-left:calc(var(--depth,0) * 12px)}}
.markdown-trigger{font-size:11px;font-weight:800;letter-spacing:-.02em;text-transform:lowercase}.markdown-menu{left:0;right:auto;width:min(360px,calc(100vw - 32px));max-height:360px}.markdown-menu .quick-reply-option strong,.markdown-menu .quick-reply-option small{display:inline}.markdown-menu .quick-reply-option small{margin-left:8px}

/* Helpdesk v3.10.1 — admin UI aligned with the approved chat prototype. */
:root{
  color-scheme:light;
  --hd-canvas:#f4f6f8;
  --hd-surface:#ffffff;
  --hd-surface-soft:#fbfcfe;
  --hd-surface-muted:#f6f8fa;
  --hd-ink:#172434;
  --hd-title:#132337;
  --hd-muted:#667586;
  --hd-soft:#8592a0;
  --hd-line:#e9edf1;
  --hd-control-line:#e5eaf0;
  --hd-accent:#0284c7;
  --hd-accent-hover:#0275b3;
  --hd-accent-soft:#eef7ff;
  --hd-accent-line:#daeafb;
  --hd-danger:#b65f59;
  --hd-danger-soft:#fff3ef;
  --hd-success:#5e806a;
  --hd-success-soft:#edf6f0;
  --hd-warning:#a26214;
  --hd-warning-soft:#fcf3e4;
  --hd-radius-sm:7px;
  --hd-radius:10px;
  --hd-radius-lg:14px;
  --hd-radius-xl:18px;
  --hd-ease:cubic-bezier(.22,.8,.25,1);
  --hd-rail:64px;
}

html[data-theme="dark"]{
  color-scheme:dark;
  --hd-canvas:#0e1621;
  --hd-surface:#17212b;
  --hd-surface-soft:#101820;
  --hd-surface-muted:#202b36;
  --hd-ink:#f5f5f5;
  --hd-title:#f5f5f5;
  --hd-muted:#aeb5ba;
  --hd-soft:#8f9daa;
  --hd-line:#253442;
  --hd-control-line:#2d3e4d;
  --hd-accent:#5288c1;
  --hd-accent-hover:#5f9ed5;
  --hd-accent-soft:#1e3548;
  --hd-accent-line:#315d7f;
  --hd-danger:#df9299;
  --hd-danger-soft:#2d2023;
  --hd-success:#97bc9f;
  --hd-success-soft:#25352c;
  --hd-warning:#dfad68;
  --hd-warning-soft:#392d20;
}

html,body{
  background:var(--hd-canvas)!important;
  color:var(--hd-ink)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",ui-sans-serif,system-ui,sans-serif!important;
  -webkit-font-smoothing:antialiased;
}
body:not(.login-body){padding-left:var(--hd-rail)}
a{color:var(--hd-accent);text-underline-offset:2px}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--hd-accent) 32%,transparent);outline-offset:2px}

/* ---------- Navigation rail ---------- */
.top{display:none!important}
.app-rail{
  position:fixed;z-index:400;inset:0 auto 0 0;
  width:var(--hd-rail);height:100dvh;padding:12px 0 10px;
  border-right:1px solid var(--hd-line);
  background:var(--hd-surface-soft);
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
}
.app-rail-main,.app-rail-bottom{width:100%;display:flex;flex-direction:column;align-items:center}
.app-rail-main{gap:6px}.app-rail-bottom{gap:8px}
.app-rail-btn,.app-rail-user{
  position:relative;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:11px;
  background:transparent;color:#748395;display:flex;align-items:center;justify-content:center;text-decoration:none;
  transition:color .16s ease,background-color .16s ease,transform .12s ease;
}
html[data-theme="dark"] .app-rail-btn,html[data-theme="dark"] .app-rail-user{color:#8392a0}
.app-rail-btn:hover,.app-rail-user:hover{background:#f0f4f7;color:#40576a}
html[data-theme="dark"] .app-rail-btn:hover,html[data-theme="dark"] .app-rail-user:hover{background:#202b36;color:#d6e0e8}
.app-rail-btn:active{transform:scale(.97)}
.app-rail-btn.active{background:#eaf3f8;color:#3f718f}
html[data-theme="dark"] .app-rail-btn.active,html[data-theme="dark"] .app-rail-theme[aria-pressed="true"]{background:#1e3548;color:#70bcf5}
.app-rail-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-rail-user{cursor:default}.app-rail-avatar{width:34px;height:34px;border-radius:11px;background:#e3ede6;color:#5e806a;border:1px solid #00000004;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:650}
html[data-theme="dark"] .app-rail-avatar{background:#23342d;color:#9fc9ad;border-color:#33463d}
.app-rail-logout{color:#8794a0}.app-rail-logout:hover{background:#f8eeee;color:#a65353}
html[data-theme="dark"] .app-rail-logout:hover{background:#2a1f22;color:#e18c92}
.app-rail-tooltip{
  position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%) translateX(-4px);z-index:500;
  min-height:28px;padding:0 9px;border:0;border-radius:8px;background:#243443;color:#f7fafc;box-shadow:0 8px 24px rgba(22,35,48,.18);
  display:flex;align-items:center;white-space:nowrap;font-size:10px;font-weight:550;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .14s ease,transform .14s cubic-bezier(.2,.8,.2,1),visibility .14s;
}
html[data-theme="dark"] .app-rail-tooltip{background:#202b36;color:#f5f5f5;box-shadow:0 8px 24px rgba(0,0,0,.38)}
.app-rail-btn:hover .app-rail-tooltip,.app-rail-user:hover .app-rail-tooltip,.app-rail-btn:focus-visible .app-rail-tooltip,.app-rail-user:focus-visible .app-rail-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.app-rail-tooltip-wide{min-width:130px;height:auto;padding:7px 9px;display:block;line-height:1.25}.app-rail-tooltip-wide strong{display:block;color:#fff;font-size:10px}.app-rail-tooltip-wide small{display:block;margin-top:2px;color:#b9c5cf;font-size:9px;font-weight:400}
.theme-sun{display:none}.theme-moon{display:block}html[data-theme="dark"] .theme-moon{display:none}html[data-theme="dark"] .theme-sun{display:block}

/* ---------- Generic admin pages ---------- */
.contacts-wrap,.settings-wrap{
  width:min(1460px,100%);max-width:1460px!important;margin:0 auto!important;padding:28px!important;gap:18px!important;
}
.settings-wrap{display:grid;gap:18px}
.contact-panel,.contact-list-panel,.settings-panel,.telegram-template-card,.quick-reply-admin-form{
  background:var(--hd-surface)!important;border:1px solid var(--hd-line)!important;border-radius:var(--hd-radius-lg)!important;
  box-shadow:0 10px 35px -28px rgba(39,56,73,.35)!important;color:var(--hd-ink)!important;
}
.contact-panel,.contact-list-panel,.settings-panel{padding:18px!important}
.contact-list-head,.settings-head,.contact-editor-head{border-color:var(--hd-line)!important}
.contact-list-head h1,.contact-list-head h2,.settings-head h1,.contact-panel h1,.contact-panel h2,.contact-list-panel h1,.contact-list-panel h2,.quick-reply-admin-form h1{
  color:var(--hd-title)!important;letter-spacing:-.025em!important;font-weight:650!important;
}
.settings-head h1{font-size:20px!important}.settings-head p,.muted,.contact-panel small,.contact-list-panel small{color:var(--hd-soft)!important}
.contact-list-head{gap:12px!important;margin-bottom:14px!important}

/* Controls */
.contact-form input:not([type=checkbox]),.contact-form select,.contact-list-head input,.import-form input[type=file],
.settings-panel input:not([type=checkbox]),.settings-panel textarea,.settings-panel select,.quick-reply-admin-form input:not([type=checkbox]),.quick-reply-admin-form textarea,.quick-reply-admin-form select,
.notification-sound-row select{
  min-height:42px!important;border:1px solid var(--hd-control-line)!important;border-radius:11px!important;background:var(--hd-surface-muted)!important;color:var(--hd-ink)!important;padding:9px 11px!important;box-shadow:none!important;
  transition:border-color .18s var(--hd-ease),background .18s var(--hd-ease),box-shadow .18s var(--hd-ease);
}
textarea{line-height:1.5}
.contact-form input:not([type=checkbox]):focus,.contact-form select:focus,.contact-list-head input:focus,.settings-panel input:not([type=checkbox]):focus,.settings-panel textarea:focus,.settings-panel select:focus,.quick-reply-admin-form input:focus,.quick-reply-admin-form textarea:focus,.quick-reply-admin-form select:focus{
  outline:none!important;border-color:#7dd3fc!important;background:var(--hd-surface)!important;box-shadow:0 0 0 3px #e0f2fe!important;
}
html[data-theme="dark"] .contact-form input:not([type=checkbox]):focus,html[data-theme="dark"] .contact-form select:focus,html[data-theme="dark"] .contact-list-head input:focus,html[data-theme="dark"] .settings-panel input:not([type=checkbox]):focus,html[data-theme="dark"] .settings-panel textarea:focus,html[data-theme="dark"] .settings-panel select:focus,html[data-theme="dark"] .quick-reply-admin-form input:focus,html[data-theme="dark"] .quick-reply-admin-form textarea:focus,html[data-theme="dark"] .quick-reply-admin-form select:focus{border-color:#4f82ad!important;background:#22313e!important;box-shadow:0 0 0 3px rgba(82,136,193,.15)!important}
input::placeholder,textarea::placeholder{color:var(--hd-soft)!important;opacity:1}
.contact-form label,.quick-reply-admin-form label,.telegram-template-card label{color:var(--hd-muted)!important;font-size:12px!important;font-weight:600!important}
.contact-form input[readonly]{background:color-mix(in srgb,var(--hd-surface-muted) 82%,var(--hd-line))!important;color:var(--hd-soft)!important}

/* Buttons */
.contact-form button,.inline-form button,.import-form button,.contact-list-head button,.button-link,.settings-action-link,.settings-save button,.notification-sound-row button,.quick-reply-form-actions button,.settings-head>button,.pagination a,.pagination span{
  min-height:38px!important;padding:8px 13px!important;border:1px solid var(--hd-control-line)!important;border-radius:10px!important;background:var(--hd-surface)!important;color:#53677b!important;text-decoration:none!important;font-size:12px!important;font-weight:600!important;box-shadow:none!important;
  transition:background .16s,border-color .16s,color .16s,transform .12s;
}
html[data-theme="dark"] .contact-form button,html[data-theme="dark"] .inline-form button,html[data-theme="dark"] .import-form button,html[data-theme="dark"] .contact-list-head button,html[data-theme="dark"] .button-link,html[data-theme="dark"] .settings-action-link,html[data-theme="dark"] .settings-save button,html[data-theme="dark"] .notification-sound-row button,html[data-theme="dark"] .quick-reply-form-actions button,html[data-theme="dark"] .settings-head>button,html[data-theme="dark"] .pagination a,html[data-theme="dark"] .pagination span{background:#1b2732!important;border-color:#2d3e4d!important;color:#9eabb7!important}
.contact-form button:hover,.inline-form button:hover,.import-form button:hover,.contact-list-head button:hover,.button-link:hover,.settings-action-link:hover,.settings-save button:hover,.notification-sound-row button:hover,.quick-reply-form-actions button:hover,.settings-head>button:hover,.pagination a:hover{background:#f6f9fc!important;border-color:#cfdae6!important;color:#24384e!important}
html[data-theme="dark"] .contact-form button:hover,html[data-theme="dark"] .inline-form button:hover,html[data-theme="dark"] .import-form button:hover,html[data-theme="dark"] .contact-list-head button:hover,html[data-theme="dark"] .button-link:hover,html[data-theme="dark"] .settings-action-link:hover,html[data-theme="dark"] .settings-save button:hover,html[data-theme="dark"] .notification-sound-row button:hover,html[data-theme="dark"] .quick-reply-form-actions button:hover,html[data-theme="dark"] .settings-head>button:hover,html[data-theme="dark"] .pagination a:hover{background:#202b36!important;border-color:#405466!important;color:#d6e0e8!important}
.contact-form button[type="submit"],.settings-save button[type="submit"],.quick-reply-admin-form button[type="submit"],.import-form button[type="submit"]{background:var(--hd-accent)!important;border-color:var(--hd-accent)!important;color:#fff!important}
.contact-form button[type="submit"]:hover,.settings-save button[type="submit"]:hover,.quick-reply-admin-form button[type="submit"]:hover,.import-form button[type="submit"]:hover{background:var(--hd-accent-hover)!important;border-color:var(--hd-accent-hover)!important;color:#fff!important}
button.danger,.danger-button,.block-button{background:var(--hd-danger-soft)!important;border-color:color-mix(in srgb,var(--hd-danger) 34%,var(--hd-control-line))!important;color:var(--hd-danger)!important}

/* Notices/status */
.notice{border-radius:10px!important;border:1px solid!important;padding:10px 12px!important;font-size:12px!important}.notice.ok{background:var(--hd-success-soft)!important;border-color:color-mix(in srgb,var(--hd-success) 36%,var(--hd-line))!important;color:var(--hd-success)!important}.notice.error{background:var(--hd-danger-soft)!important;border-color:color-mix(in srgb,var(--hd-danger) 36%,var(--hd-line))!important;color:var(--hd-danger)!important}
.notification-status{background:var(--hd-surface-soft)!important;color:var(--hd-soft)!important;border-color:var(--hd-line)!important}
code{background:var(--hd-surface-muted)!important;color:var(--hd-muted)!important;border-radius:5px;padding:1px 4px}

/* Tables */
.contacts-table{border-collapse:separate!important;border-spacing:0!important;width:100%;overflow:hidden}.contacts-table th{padding:10px 10px!important;border-bottom:1px solid var(--hd-line)!important;color:var(--hd-soft)!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.07em;font-weight:650!important;background:var(--hd-surface-soft)!important}.contacts-table td{padding:10px!important;border-bottom:1px solid var(--hd-line)!important;color:var(--hd-muted)!important;font-size:12px!important}.contacts-table tr:last-child td{border-bottom:0!important}.contacts-table tbody tr:hover td{background:color-mix(in srgb,var(--hd-surface-muted) 62%,transparent)!important}.contacts-table td strong{color:var(--hd-ink)!important}.table-scroll{border:1px solid var(--hd-line);border-radius:12px;overflow:auto}
.blocked-badge,.data-issue-badge,.issue-chip{border-radius:6px!important;font-size:9px!important;font-weight:650!important}.blocked-badge{background:var(--hd-danger-soft)!important;color:var(--hd-danger)!important}.issue-chip.error,.data-issue-badge{background:var(--hd-danger-soft)!important;color:var(--hd-danger)!important}.issue-chip.conflict{background:var(--hd-warning-soft)!important;color:var(--hd-warning)!important}

/* Settings */
.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px!important}.settings-head p{font-size:11px!important;line-height:1.55!important;margin-top:5px!important}.feature-settings-grid{gap:14px!important}.feature-settings-grid fieldset{border:1px solid var(--hd-line)!important;border-radius:12px!important;background:var(--hd-surface-soft)!important;padding:5px!important}.feature-settings-grid legend{padding:0 6px;color:var(--hd-muted)!important;font-size:11px!important;font-weight:650!important}.settings-toggle,.notification-sound-row,.notification-status{background:var(--hd-surface)!important;border-bottom:1px solid var(--hd-line)!important;padding:13px 14px!important}.settings-toggle:first-of-type{border-radius:9px 9px 0 0}.settings-toggle:last-of-type{border-bottom:0!important;border-radius:0 0 9px 9px}.settings-toggle strong{color:var(--hd-ink)!important;font-size:12px!important}.settings-toggle small{color:var(--hd-soft)!important;font-size:10px!important;line-height:1.45!important}.settings-toggle input[type="checkbox"]{width:42px!important;height:23px!important;accent-color:var(--hd-accent)!important}.settings-save{border-color:var(--hd-line)!important;margin-top:14px!important;padding-top:14px!important}.settings-save small{color:var(--hd-soft)!important}.telegram-template-grid{gap:12px!important}.telegram-template-card{padding:14px!important}.telegram-template-card p,.telegram-template-card small{color:var(--hd-soft)!important}.notification-settings{background:var(--hd-line)!important;border-radius:12px!important;overflow:hidden}.notification-sound-row{background:var(--hd-surface)!important}.notification-status{border-bottom:0!important}

/* Quick replies admin */
.quick-reply-admin-tree{border:1px solid var(--hd-line)!important;border-radius:12px!important;background:var(--hd-surface-soft)!important;padding:7px!important}.qr-admin-node{margin:2px 0!important}.qr-admin-node button{width:100%;min-height:42px;padding:8px 10px calc(8px + var(--depth,0)*0px) calc(10px + var(--depth,0)*18px)!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:var(--hd-muted)!important;text-align:left!important}.qr-admin-node button:hover{background:var(--hd-surface-muted)!important;border-color:var(--hd-line)!important}.qr-admin-node button strong{color:var(--hd-ink)!important;font-size:12px!important}.qr-admin-node button small{color:var(--hd-soft)!important;font-size:10px!important}.qr-admin-node.category button strong:before{content:"▸";display:inline-block;margin-right:7px;color:var(--hd-accent)}.quick-reply-admin-grid{gap:18px!important}.quick-reply-admin-form{padding:18px!important}.form-error{background:var(--hd-danger-soft)!important;color:var(--hd-danger)!important;border-radius:9px!important;padding:9px 10px!important}

/* Import/integration cards */
.integrations-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important}.integration-card,.integration-token{min-height:100%}.integration-state{border-radius:8px!important;background:var(--hd-surface-muted)!important;color:var(--hd-muted)!important}.log-tabs{background:var(--hd-surface-muted)!important;border-radius:10px!important;padding:3px!important}.log-tabs a{border-radius:8px!important;color:var(--hd-soft)!important}.log-tabs a.active{background:var(--hd-surface)!important;color:var(--hd-ink)!important;border:1px solid var(--hd-line)!important}.import-run-card{border:1px solid transparent!important;border-radius:10px!important;background:transparent!important}.import-run-card:hover,.import-run-card.active{background:var(--hd-surface-muted)!important;border-color:var(--hd-line)!important}.import-summary,.import-log-detail{border-color:var(--hd-line)!important;background:var(--hd-surface-soft)!important;border-radius:12px!important}

/* ---------- Chat workspace ---------- */
body.chat-app{padding-left:var(--hd-rail)!important;display:block!important;height:100dvh!important;min-height:100dvh!important;background:var(--hd-canvas)!important}
body.chat-app>.layout{height:100dvh!important;min-height:0!important;display:grid!important;grid-template-columns:424px minmax(0,1fr) 320px!important;background:var(--hd-surface)!important;overflow:hidden!important}
body.chat-app .sidebar{background:var(--hd-surface)!important;border-right:1px solid var(--hd-line)!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important}
body.chat-app .search{position:relative!important;top:auto!important;padding:20px 22px 12px!important;background:var(--hd-surface)!important;border-bottom:1px solid var(--hd-line)!important;z-index:2!important}
body.chat-app .search:before{content:"Рабочая очередь";display:block;margin:0 0 5px;color:var(--hd-soft);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.13em}
body.chat-app .search:after{content:"Чаты";display:block;position:absolute;top:36px;left:22px;color:var(--hd-title);font-size:24px;line-height:1.2;font-weight:650;letter-spacing:-.025em;pointer-events:none}
body.chat-app .search input{height:44px!important;margin-top:50px!important;padding:0 12px!important;border:1px solid var(--hd-line)!important;border-radius:13px!important;background:var(--hd-surface-muted)!important;color:var(--hd-ink)!important;font-size:12px!important}
body.chat-app .search input:focus{outline:none!important;border-color:#7dd3fc!important;background:var(--hd-surface)!important;box-shadow:0 0 0 3px #e0f2fe!important}
html[data-theme="dark"] body.chat-app .search input:focus{border-color:#4f82ad!important;background:#22313e!important;box-shadow:0 0 0 3px rgba(82,136,193,.15)!important}
body.chat-app .chat-filters{margin-top:12px!important;padding:4px!important;border:1px solid var(--hd-line)!important;border-radius:13px!important;background:var(--hd-canvas)!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important}
body.chat-app .chat-filter{height:35px!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:var(--hd-soft)!important;font-size:11px!important;font-weight:600!important}.chat-filter.active{background:var(--hd-surface)!important;border-color:var(--hd-line)!important;color:var(--hd-title)!important;box-shadow:0 2px 4px rgba(35,52,75,.04)!important}
body.chat-app .conversation-list{padding:7px 10px 12px!important;background:var(--hd-surface)!important;overflow:auto!important;scrollbar-width:thin;scrollbar-color:#d4dde7 transparent}
html[data-theme="dark"] body.chat-app .conversation-list{scrollbar-color:#3b4b59 transparent}
body.chat-app .conversation{margin:0 0 3px!important;padding:13px 11px!important;border:1px solid transparent!important;border-radius:14px!important;background:transparent!important;color:var(--hd-ink)!important;transition:background .18s var(--hd-ease),border-color .18s var(--hd-ease)!important}
body.chat-app .conversation:hover{background:var(--hd-surface-muted)!important}.conversation.active,.conversation.keyboard-selected{background:var(--hd-accent-soft)!important;border-color:var(--hd-accent-line)!important;box-shadow:none!important}.conversation.active:before{content:"";position:absolute;width:3px;left:-1px;top:18px;bottom:18px;background:var(--hd-accent);border-radius:3px}.conversation{position:relative}.conversation strong{color:var(--hd-title)!important;font-size:13px!important}.conversation small{color:var(--hd-soft)!important;font-size:10px!important;line-height:1.45!important}.conversation-name{font-weight:650}.waiting-badge{background:var(--hd-warning-soft)!important;color:var(--hd-warning)!important;border:0!important;border-radius:5px!important;font-size:9px!important;padding:2px 5px!important}.list-avatar{width:38px!important;height:38px!important;border-radius:13px!important;border:1px solid var(--hd-line)!important;vertical-align:middle!important}

body.chat-app .chat{background:var(--hd-surface-soft)!important;border-right:1px solid var(--hd-line)!important;grid-template-rows:auto auto minmax(0,1fr) auto!important}.chat-head{min-height:70px!important;padding:13px 18px!important;background:var(--hd-surface)!important;border-bottom:1px solid var(--hd-line)!important}.chat-title-block strong{color:var(--hd-title)!important;font-size:16px!important;letter-spacing:-.02em}.chat-head small{color:var(--hd-soft)!important;font-size:10px!important}.ticket-service-label{color:var(--hd-soft)!important;font-size:10px!important}.ticket-service-label select{height:34px!important;border:1px solid var(--hd-control-line)!important;border-radius:9px!important;background:var(--hd-surface)!important;color:var(--hd-muted)!important}.close-ticket,.nav-icon{border:1px solid var(--hd-control-line)!important;background:var(--hd-surface)!important;color:#53677b!important;border-radius:9px!important;box-shadow:none!important}.close-ticket:hover,.nav-icon:hover{background:var(--hd-surface-muted)!important;border-color:#cfdae6!important}.contact-data-alert{padding:8px 14px!important;background:var(--hd-warning-soft)!important;color:var(--hd-warning)!important;border-color:color-mix(in srgb,var(--hd-warning) 30%,var(--hd-line))!important;font-size:10px!important}
.messages{padding:20px 22px!important;background:var(--hd-surface-soft)!important}.message{margin-bottom:12px!important}.bubble{padding:10px 13px!important;border:1px solid var(--hd-line)!important;border-radius:15px 15px 15px 5px!important;background:var(--hd-surface)!important;color:#293c4f!important;box-shadow:0 1px 2px rgba(37,60,85,.03)!important;font-size:13px!important;line-height:1.55!important}.message.operator .bubble{background:var(--hd-accent-soft)!important;border-color:var(--hd-accent-line)!important;border-radius:15px 15px 5px 15px!important;color:#29475f!important}.message small{color:var(--hd-soft)!important;font-size:10px!important}.ticket-marker{border:1px solid var(--hd-line)!important;border-radius:10px!important;background:var(--hd-surface-muted)!important;color:var(--hd-muted)!important;font-size:10px!important}.ticket-marker strong{color:var(--hd-ink)!important}.reply-quote{border-left:2px solid #91bede!important;background:color-mix(in srgb,var(--hd-surface) 72%,transparent)!important;border-radius:0 7px 7px 0!important;color:var(--hd-muted)!important}.message-actions{background:var(--hd-surface)!important;border-color:var(--hd-line)!important;border-radius:10px!important}.message-action,.message-retry{color:var(--hd-soft)!important;border-radius:7px!important}.message-action:hover,.message-retry:hover{background:var(--hd-surface-muted)!important;color:var(--hd-accent)!important}
html[data-theme="dark"] .bubble{background:#182533!important;border-color:#263746!important;color:#e1e9ef!important}html[data-theme="dark"] .message.operator .bubble{background:#2b5278!important;border-color:#315f87!important;color:#eef6fb!important}

.composer{padding:12px 18px!important;background:var(--hd-surface-soft)!important;border-top:1px solid var(--hd-line)!important;gap:8px!important}.composer textarea{min-height:44px!important;border:1px solid var(--hd-control-line)!important;border-radius:14px!important;background:var(--hd-surface)!important;color:var(--hd-ink)!important;padding:10px 12px!important;box-shadow:none!important}.composer textarea:focus{outline:none!important;border-color:#b7d5e9!important;box-shadow:0 0 0 3px #eaf6fd!important}.composer .channel-button,.quick-reply-trigger,.file{height:36px!important;min-height:36px!important;border:1px solid var(--hd-control-line)!important;border-radius:9px!important;background:var(--hd-surface)!important;color:var(--hd-muted)!important}.composer .channel-button{width:36px!important}.composer .channel-button.active{background:var(--hd-accent-soft)!important;border-color:var(--hd-accent-line)!important;color:var(--hd-accent)!important;box-shadow:none!important}.composer button[type="submit"]{height:38px!important;min-height:38px!important;border:1px solid var(--hd-accent)!important;border-radius:10px!important;background:var(--hd-accent)!important;color:#fff!important;font-weight:650!important}.composer button[type="submit"]:hover:not(:disabled){background:var(--hd-accent-hover)!important}.quick-reply-menu,.message-context-menu{background:var(--hd-surface)!important;border-color:var(--hd-line)!important;border-radius:12px!important;box-shadow:0 18px 44px -18px rgba(38,55,74,.34),0 4px 14px rgba(38,55,74,.08)!important}.quick-reply-option{background:transparent!important;border-color:var(--hd-line)!important;color:var(--hd-muted)!important}.quick-reply-option:hover,.quick-reply-option.active{background:var(--hd-accent-soft)!important;color:var(--hd-accent)!important}
html[data-theme="dark"] .composer textarea:focus{border-color:#3f739b!important;box-shadow:0 0 0 3px rgba(82,136,193,.13)!important}

.contact-sidebar{background:var(--hd-surface)!important;border-left:0!important}.contact-card-head{height:54px!important;border-bottom:1px solid var(--hd-line)!important;color:var(--hd-title)!important}.contact-card{color:var(--hd-muted)!important}.contact-card h3{color:var(--hd-title)!important;font-size:17px!important}.contact-card dt{color:var(--hd-soft)!important;font-size:10px!important}.contact-card dd{color:var(--hd-muted)!important;font-size:11px!important}.contact-avatar-card{border-color:var(--hd-line)!important;border-radius:15px!important}.contact-extra,.contact-actions{border-color:var(--hd-line)!important}.contact-service-item,.contact-meta-card{border-color:var(--hd-line)!important;background:var(--hd-surface-soft)!important;border-radius:10px!important}

/* Dialogs */
dialog,.quick-reply-dialog,.message-edit-dialog{border:1px solid var(--hd-line)!important;border-radius:18px!important;background:var(--hd-surface)!important;color:var(--hd-ink)!important;box-shadow:0 18px 65px -16px rgba(32,60,100,.38),0 2px 8px rgba(32,60,100,.05)!important}dialog::backdrop{background:rgba(15,35,53,.12)!important}html[data-theme="dark"] dialog::backdrop{background:rgba(0,0,0,.42)!important}.dialog-head,.message-edit-head{border-color:var(--hd-line)!important}.dialog-close,.message-edit-close{background:var(--hd-surface-muted)!important;color:var(--hd-soft)!important;border-radius:9px!important}.message-edit-form textarea{background:var(--hd-surface-muted)!important;border-color:var(--hd-control-line)!important;color:var(--hd-ink)!important;border-radius:11px!important}

/* ---------- Login ---------- */
body.login-body{padding:0!important;min-height:100dvh!important;display:grid!important;place-items:center!important;background:var(--hd-canvas)!important;overflow:auto!important;position:relative}
body.login-body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% -12%,rgba(125,211,252,.16),transparent 42%)}
html[data-theme="dark"] body.login-body:before{background:radial-gradient(circle at 50% -14%,rgba(82,136,193,.13),transparent 44%)}
.login-theme-toggle{position:fixed!important;z-index:5;right:18px;top:18px;width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border:1px solid var(--hd-control-line)!important;border-radius:11px!important;background:var(--hd-surface)!important;color:var(--hd-soft)!important;display:grid!important;place-items:center!important;box-shadow:none!important}.login-theme-toggle:hover{background:var(--hd-surface-muted)!important;color:var(--hd-ink)!important}.login-theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-shell{position:relative;z-index:1;width:min(420px,calc(100vw - 32px));padding:24px 0}.login-card{width:100%!important;margin:0!important;padding:26px!important;border:1px solid var(--hd-line)!important;border-radius:18px!important;background:var(--hd-surface)!important;box-shadow:0 24px 70px -42px rgba(36,52,67,.55)!important;backdrop-filter:none!important}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:24px}.login-brand-mark{width:42px;height:42px;border-radius:13px;background:var(--hd-accent-soft);border:1px solid var(--hd-accent-line);color:var(--hd-accent);display:grid;place-items:center}.login-brand-mark svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.login-brand-copy small{display:block;color:var(--hd-soft);font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.login-brand-copy strong{display:block;margin-top:2px;color:var(--hd-title);font-size:15px;font-weight:650}.login-card h1{margin:0 0 6px!important;color:var(--hd-title)!important;font-size:24px!important;line-height:1.2!important;letter-spacing:-.03em!important;font-weight:650!important}.login-subtitle{margin:0 0 22px;color:var(--hd-soft);font-size:11px;line-height:1.55}.login-card label{display:grid!important;gap:6px!important;margin:13px 0!important;color:var(--hd-muted)!important;font-size:11px!important;font-weight:600!important}.login-card input{width:100%!important;min-height:44px!important;border:1px solid var(--hd-control-line)!important;border-radius:11px!important;padding:9px 11px!important;background:var(--hd-surface-muted)!important;color:var(--hd-ink)!important}.login-card input:focus{outline:none!important;border-color:#7dd3fc!important;background:var(--hd-surface)!important;box-shadow:0 0 0 3px #e0f2fe!important}html[data-theme="dark"] .login-card input:focus{border-color:#4f82ad!important;background:#22313e!important;box-shadow:0 0 0 3px rgba(82,136,193,.15)!important}.login-card>button[type="submit"]{width:100%!important;min-height:44px!important;margin-top:8px!important;border:1px solid var(--hd-accent)!important;border-radius:11px!important;background:var(--hd-accent)!important;color:#fff!important;font-size:12px!important;font-weight:650!important}.login-card>button[type="submit"]:hover{background:var(--hd-accent-hover)!important;border-color:var(--hd-accent-hover)!important}.login-card .error{margin-bottom:13px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--hd-danger) 35%,var(--hd-line));border-radius:10px;background:var(--hd-danger-soft);color:var(--hd-danger);font-size:11px}.login-foot{margin-top:14px;text-align:center;color:var(--hd-soft);font-size:9px}

/* ---------- Responsive ---------- */
@media(max-width:1450px){body.chat-app>.layout{grid-template-columns:380px minmax(0,1fr)!important}body.chat-app .contact-sidebar{display:grid!important;position:fixed!important;z-index:310!important;top:0!important;right:0!important;bottom:0!important;width:min(360px,92vw)!important;height:auto!important;transform:translateX(105%);transition:transform .22s cubic-bezier(.22,.61,.36,1);box-shadow:-20px 0 50px rgba(0,0,0,.12)}body.chat-app .layout.contact-open .contact-sidebar{transform:translateX(0)}body.chat-app .contact-scrim{inset:0!important;z-index:300!important}}
@media(max-width:1100px){body.chat-app>.layout{grid-template-columns:340px minmax(0,1fr)!important}.contacts-wrap{grid-template-columns:1fr!important}.integrations-wrap{grid-template-columns:1fr!important}}
@media(max-width:900px){.contacts-wrap,.settings-wrap{padding:18px!important}.quick-reply-admin-grid{grid-template-columns:1fr!important}.feature-settings-grid{grid-template-columns:1fr!important}}
@media(max-width:760px){
 :root{--hd-rail:58px}
 body:not(.login-body),body.chat-app{padding-left:0!important;padding-bottom:var(--hd-rail)!important}
 .app-rail{inset:auto 0 0 0!important;width:100%!important;height:var(--hd-rail)!important;padding:5px max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))!important;border-right:0!important;border-top:1px solid var(--hd-line)!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;background:color-mix(in srgb,var(--hd-surface-soft) 94%,transparent)!important;backdrop-filter:blur(16px)}
 .app-rail::-webkit-scrollbar{display:none}.app-rail-main,.app-rail-bottom{width:auto!important;display:flex!important;flex-direction:row!important;gap:4px!important}.app-rail-bottom{margin-left:auto!important}.app-rail-btn,.app-rail-user{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}.app-rail-user{display:none!important}.app-rail-tooltip{display:none!important}
 body.chat-app>.layout{height:calc(100dvh - var(--hd-rail))!important;display:block!important}.sidebar{height:100%!important}.chat{display:none!important;height:100%!important}.layout.chat-open .sidebar{display:none!important}.layout.chat-open .chat{display:grid!important}.contact-sidebar{bottom:var(--hd-rail)!important}.contact-scrim{bottom:var(--hd-rail)!important}
 body.chat-app .search{padding:14px 16px 10px!important}body.chat-app .search:after{left:16px;top:30px;font-size:21px}body.chat-app .search input{margin-top:44px!important}.messages{padding:14px 10px!important}.composer{padding:8px!important}.chat-head{padding:10px!important}.ticket-service-label{display:none!important}
 .contacts-wrap,.settings-wrap{height:calc(100dvh - var(--hd-rail))!important;overflow:auto!important;padding:12px!important}.contact-panel,.contact-list-panel,.settings-panel{padding:14px!important;border-radius:14px!important}.contacts-table{min-width:720px}.settings-head{flex-direction:column!important;align-items:stretch!important}.settings-action-link{align-self:flex-start}.login-theme-toggle{right:12px;top:12px}.login-card{padding:22px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* PWA uses the same navigation rail instead of creating a second mobile bar. */
.pwa-tabbar{display:none!important}
.app-rail-btn .rail-telegram-gateway{
  position:absolute!important;top:4px!important;right:4px!important;width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;
  margin:0!important;padding:0!important;border:2px solid var(--hd-surface-soft)!important;border-radius:50%!important;background:transparent!important;display:block!important;overflow:visible!important;
}
.app-rail-btn .rail-telegram-gateway i{display:block!important;width:6px!important;height:6px!important;margin:-1px!important;border-radius:50%!important;background:#8e8e93!important;box-shadow:none!important}
.app-rail-btn .rail-telegram-gateway span{display:none!important}
.app-rail-btn .rail-telegram-gateway.available i{background:#34c759!important}
.app-rail-btn .rail-telegram-gateway.unavailable i{background:#ff5b57!important}
.app-rail-btn .rail-telegram-gateway.degraded i,.app-rail-btn .rail-telegram-gateway.checking i,.app-rail-btn .rail-telegram-gateway.misconfigured i{background:#ffb454!important}


/* v3.10.2 — Telegram integration health: dot only. */
.integration-status-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;border:1.5px solid #fbfcfe;box-sizing:content-box;pointer-events:none}
.integration-status-dot.is-green{background:#3fa66a}.integration-status-dot.is-yellow{background:#d8a137}.integration-status-dot.is-red{background:#cf5a5a}
html[data-theme="dark"] .integration-status-dot{border-color:#0e1621}html[data-theme="dark"] .integration-status-dot.is-green{background:#58b87a}html[data-theme="dark"] .integration-status-dot.is-yellow{background:#dfa946}html[data-theme="dark"] .integration-status-dot.is-red{background:#df6b72}


/* v3.10.7 — global notification control in the shared rail. */
.app-rail-notifications .notification-icon{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.app-rail-notifications .notification-icon[hidden]{display:none!important}
.app-rail-notifications.is-off{color:#9aa6b2!important}
html[data-theme="dark"] .app-rail-notifications.is-off{color:#667786!important}

/* v3.10.9 — operators / administrators */
.users-wrap{max-width:1180px}.users-grid{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:16px;align-items:start}.user-editor-card,.users-list-card{border:1px solid var(--ui-line,#e5eaf0);border-radius:16px;background:var(--ui-surface,#fff);overflow:hidden}.user-editor-card{padding:16px;display:grid;gap:13px}.user-editor-card>label:not(.settings-toggle),.user-password-form label{display:grid;gap:6px;font-size:11px;color:var(--apple-secondary,#718096);font-weight:600}.user-editor-card input:not([type=checkbox]),.user-editor-card select,.user-password-form input{width:100%;min-height:42px;border:1px solid var(--ui-line,#e5eaf0);border-radius:11px;background:#fff;padding:0 12px;color:var(--apple-text,#172434);outline:none}.user-editor-card input:focus,.user-editor-card select:focus,.user-password-form input:focus{border-color:#7dd3fc;box-shadow:0 0 0 3px #e0f2fe}.user-editor-head,.users-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.user-editor-head>div{display:grid;gap:3px}.user-editor-head strong,.users-list-head strong{font-size:14px;color:var(--apple-text,#172434)}.user-editor-head small{font-size:10px;color:var(--apple-secondary,#8491a0)}.user-editor-head a{font-size:11px;color:#0284c7;text-decoration:none}.user-editor-actions{display:flex;justify-content:flex-end}.user-editor-actions button,.user-password-form button{min-height:38px;padding:0 14px;border:1px solid #0884bf;border-radius:10px;background:#0b8dc9;color:#fff;font-size:11px;font-weight:600;cursor:pointer}.user-active-toggle{border:1px solid var(--ui-line,#e5eaf0);border-radius:12px!important;padding:12px!important}.users-list-head{padding:14px 15px;border-bottom:1px solid var(--ui-line,#e5eaf0)}.users-list-head span{font-size:10px;color:#8491a0}.users-list{display:grid}.user-list-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:62px;padding:10px 13px;border-bottom:1px solid var(--ui-line,#eef2f6);color:inherit;text-decoration:none;transition:background .14s ease}.user-list-row:last-child{border-bottom:0}.user-list-row:hover{background:#f6f9fc}.user-list-row.active{background:#eef7ff}.user-list-avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#e3ede6;color:#5e806a;font-size:11px;font-weight:650}.user-list-copy{min-width:0;display:grid;gap:3px}.user-list-copy strong,.user-list-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list-copy strong{font-size:12px;color:#243649}.user-list-copy small{font-size:10px;color:#8491a0}.user-state{font-size:9px;font-weight:600;padding:4px 6px;border-radius:6px;white-space:nowrap}.user-state.is-active{background:#edf6f0;color:#537d65}.user-state.is-disabled{background:#f3f5f7;color:#8794a0}.user-password-panel{margin-top:16px}.user-password-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.user-password-form button{height:42px}.user-password-form label{margin:0}
html[data-theme="dark"] .user-editor-card,html[data-theme="dark"] .users-list-card{background:#17212b;border-color:#2d3e4d}html[data-theme="dark"] .user-editor-card input:not([type=checkbox]),html[data-theme="dark"] .user-editor-card select,html[data-theme="dark"] .user-password-form input{background:#202b36;border-color:#2d3e4d;color:#e6edf3}html[data-theme="dark"] .user-editor-card input:focus,html[data-theme="dark"] .user-editor-card select:focus,html[data-theme="dark"] .user-password-form input:focus{background:#22313e;border-color:#4f82ad;box-shadow:0 0 0 3px rgba(82,136,193,.15)}html[data-theme="dark"] .user-editor-head strong,html[data-theme="dark"] .users-list-head strong,html[data-theme="dark"] .user-list-copy strong{color:#e6edf3}html[data-theme="dark"] .user-list-row{border-color:#253442}html[data-theme="dark"] .user-list-row:hover{background:#202b36}html[data-theme="dark"] .user-list-row.active{background:#1f3547}html[data-theme="dark"] .user-list-avatar{background:#23342d;color:#9fc9ad}html[data-theme="dark"] .user-state.is-active{background:#25352c;color:#97bc9f}html[data-theme="dark"] .user-state.is-disabled{background:#202b36;color:#8f9daa}html[data-theme="dark"] .user-active-toggle{border-color:#2d3e4d}
@media(max-width:820px){.users-grid{grid-template-columns:1fr}.user-password-form{grid-template-columns:1fr}.user-password-form button{width:max-content}}

/* ============================================================
   v3.10.15 — native-like mobile admin + PWA shell.
   Desktop geometry is intentionally unchanged.
   ============================================================ */
.mobile-rail-more,.mobile-nav-label,.mobile-more-backdrop{display:none}

@media(max-width:760px){
 :root{
  --mobile-nav-base:64px;
  --mobile-nav-height:calc(var(--mobile-nav-base) + env(safe-area-inset-bottom));
  --mobile-page-pad:12px;
 }
 html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior:none;background:var(--hd-canvas)!important}
 body:not(.login-body){padding:0 0 var(--mobile-nav-height)!important;min-height:var(--app-vh,100dvh)!important}
 body.mobile-sheet-open{overflow:hidden!important}
 button,a,input,select,textarea{touch-action:manipulation}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}

 /* Five-item native bottom navigation. Secondary sections/actions live in More. */
 .app-rail{
  position:fixed!important;z-index:900!important;inset:auto 0 0 0!important;
  width:100%!important;height:var(--mobile-nav-height)!important;min-height:var(--mobile-nav-height)!important;
  padding:4px max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left))!important;
  border:0!important;border-top:1px solid var(--hd-line)!important;
  background:color-mix(in srgb,var(--hd-surface-soft) 94%,transparent)!important;
  backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);
  overflow:visible!important;transform:translateZ(0);transition:transform .22s var(--hd-ease);
 }
 .app-rail-main{
  width:100%!important;height:var(--mobile-nav-base)!important;display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;gap:2px!important;
 }
 .app-rail-bottom{display:none!important}
 .app-rail-main>.app-rail-btn{
  width:100%!important;height:56px!important;min-width:0!important;min-height:56px!important;margin:0!important;padding:5px 2px 4px!important;
  border-radius:12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  font-size:9px!important;line-height:1!important;
 }
 .app-rail-main>.app-rail-btn svg{width:20px!important;height:20px!important;flex:none}
 .app-rail-main>.app-rail-btn.active{background:transparent!important;color:var(--hd-accent)!important}
 .app-rail-main>.app-rail-btn:active{background:var(--hd-surface-muted)!important;transform:scale(.97)}
 .app-rail-tooltip{display:none!important}
 .mobile-secondary-nav{display:none!important}
 .mobile-rail-more{display:flex!important}
 .mobile-nav-label{display:block!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:9px;font-weight:600;letter-spacing:-.01em}
 .integration-status-dot{top:5px!important;right:auto!important;left:calc(50% + 5px)!important;width:6px!important;height:6px!important;border-width:1.5px!important}
 html.mobile-keyboard-open .app-rail{transform:translateY(115%)}
 html.mobile-keyboard-open body:not(.login-body){padding-bottom:0!important}

 /* Mobile More sheet. */
 .mobile-more-backdrop{
  position:fixed;z-index:1100;inset:0;display:flex;align-items:flex-end;justify-content:center;
  padding:16px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  background:rgba(15,27,39,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);
  opacity:0;pointer-events:none;transition:background-color .22s ease,opacity .22s ease,backdrop-filter .22s ease;
 }
 .mobile-more-backdrop[hidden]{display:none!important}
 .mobile-more-backdrop.is-open{background:rgba(15,27,39,.20);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:1;pointer-events:auto}
 .mobile-more-sheet{
  width:min(520px,100%);max-height:min(78dvh,680px);overflow:auto;overscroll-behavior:contain;
  border:1px solid var(--hd-line);border-radius:22px;background:var(--hd-surface);color:var(--hd-ink);
  box-shadow:0 24px 70px rgba(16,24,40,.20);padding:8px 8px 10px;
  transform:translateY(18px) scale(.985);opacity:0;transition:transform .22s var(--hd-ease),opacity .18s ease;
 }
 .mobile-more-backdrop.is-open .mobile-more-sheet{transform:translateY(0) scale(1);opacity:1}
 .mobile-sheet-handle{width:34px;height:4px;border-radius:99px;background:var(--hd-control-line);margin:2px auto 9px}
 .mobile-sheet-profile{display:flex;align-items:center;gap:11px;padding:8px 10px 13px;border-bottom:1px solid var(--hd-line)}
 .mobile-sheet-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e3ede6;color:#5e806a;font-size:11px;font-weight:700;flex:none}
 html[data-theme="dark"] .mobile-sheet-avatar{background:#23342d;color:#9fc9ad}
 .mobile-sheet-profile>span:last-child{min-width:0;display:grid;gap:2px}.mobile-sheet-profile strong{font-size:13px;color:var(--hd-title);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-sheet-profile small{font-size:10px;color:var(--hd-soft)}
 .mobile-sheet-actions{display:grid;gap:2px;padding-top:7px}
 .mobile-sheet-action{width:100%;min-height:46px;border:0;border-radius:11px;background:transparent;color:var(--hd-muted);display:grid;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:0 10px;text-align:left}
 .mobile-sheet-action>svg:not(.mobile-sheet-chevron){width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .mobile-sheet-action>span{font-size:13px;font-weight:550}.mobile-sheet-action.active{color:var(--hd-accent);background:var(--hd-accent-soft)}.mobile-sheet-action:active{background:var(--hd-surface-muted)}
 .mobile-sheet-action.danger{color:var(--hd-danger)}.mobile-sheet-chevron{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;opacity:.5}

 /* All non-chat admin sections become comfortable single-column app screens. */
 .contacts-wrap,.settings-wrap,.integrations-wrap{
  width:100%!important;max-width:none!important;height:calc(var(--app-vh,100dvh) - var(--mobile-nav-height))!important;min-height:0!important;
  margin:0!important;padding:max(12px,env(safe-area-inset-top)) var(--mobile-page-pad) 18px!important;
  overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;
 }
 .contacts-wrap::-webkit-scrollbar,.settings-wrap::-webkit-scrollbar,.integrations-wrap::-webkit-scrollbar{display:none}
 html.mobile-keyboard-open .contacts-wrap,html.mobile-keyboard-open .settings-wrap,html.mobile-keyboard-open .integrations-wrap{height:var(--app-vh,100dvh)!important}
 .contact-panel,.contact-list-panel,.settings-panel,.telegram-template-card,.quick-reply-admin-form,.user-editor-card,.users-list-card{border-radius:16px!important;box-shadow:none!important}
 .contact-panel,.contact-list-panel,.settings-panel{padding:15px!important}
 .settings-head{gap:10px!important;margin-bottom:14px!important}.settings-head h1{font-size:20px!important}.settings-head p{font-size:11px!important}
 .contact-list-head{align-items:stretch!important;flex-direction:column!important}.contact-list-head form{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
 .contact-list-head input,.contact-form input:not([type=checkbox]),.contact-form select,.settings-panel input:not([type=checkbox]),.settings-panel select,.settings-panel textarea,.quick-reply-admin-form input:not([type=checkbox]),.quick-reply-admin-form textarea,.quick-reply-admin-form select,.user-editor-card input:not([type=checkbox]),.user-editor-card select,.user-password-form input{min-height:46px!important;border-radius:12px!important}
 .form-actions,.contact-form-actions,.inline-form,.import-form{gap:8px!important}.contact-form-actions button,.contact-form-actions .button-link{flex:1 1 auto;text-align:center}
 .table-scroll{width:100%;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .contacts-table{min-width:680px!important}
 .pagination{padding-bottom:4px}
 .quick-reply-admin-grid,.feature-settings-grid,.users-grid{grid-template-columns:1fr!important}
 .user-password-form{grid-template-columns:1fr!important}.user-password-form button{width:100%!important}
 .user-list-row{grid-template-columns:38px minmax(0,1fr) auto!important;padding:10px!important}.user-state{font-size:8px!important}
 .notification-sound-row{grid-template-columns:1fr!important}.settings-toggle{align-items:flex-start!important}

 /* Login behaves like a standalone native entry screen and avoids iOS input zoom. */
 .login-body{min-height:var(--app-vh,100dvh)!important;height:var(--app-vh,100dvh)!important;overflow:auto!important;overscroll-behavior:none;padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important}
 .login-shell{min-height:calc(var(--app-vh,100dvh) - max(32px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
 .login-card{width:min(430px,100%)!important;padding:22px!important;border-radius:20px!important}.login-card input{font-size:16px!important;min-height:48px!important}.login-card>button[type="submit"]{min-height:48px!important}
 .login-theme-toggle{position:fixed!important;top:max(12px,env(safe-area-inset-top))!important;right:max(12px,env(safe-area-inset-right))!important}
}

@media(max-width:390px){
 .app-rail-main>.app-rail-btn{gap:3px!important}.mobile-nav-label{font-size:8.5px}.contacts-wrap,.settings-wrap,.integrations-wrap{--mobile-page-pad:10px}.contact-panel,.contact-list-panel,.settings-panel{padding:13px!important}
}

@media(min-width:761px){.mobile-more-backdrop{display:none!important}}
@media(prefers-reduced-motion:reduce){.app-rail,.mobile-more-backdrop,.mobile-more-sheet{transition:none!important}}
@media(max-width:760px){.app-rail-main>.app-rail-btn.mobile-secondary-nav{display:none!important}}

/* ============================================================
   v3.10.17 — mobile top toolbar + left navigation drawer.
   Replaces v3.10.15 bottom navigation on authenticated admin pages.
   Desktop remains unchanged.
   ============================================================ */
.mobile-app-toolbar,.mobile-nav-backdrop{display:none}

@media(max-width:760px){
 :root{
  --mobile-toolbar-base:48px;
  --mobile-toolbar-height:calc(var(--mobile-toolbar-base) + env(safe-area-inset-top));
  --mobile-drawer-width:min(320px,86vw);
  --mobile-nav-height:0px;
 }
 body:not(.login-body){padding:0!important;min-height:var(--app-vh,100dvh)!important}
 body.mobile-menu-open{overflow:hidden!important}

 .mobile-app-toolbar{
  position:fixed;z-index:1080;top:0;left:0;right:0;
  height:var(--mobile-toolbar-height);padding:max(env(safe-area-inset-top),0px) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:color-mix(in srgb,var(--hd-surface-soft) 94%,transparent);border-bottom:1px solid var(--hd-line);
  backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);
  transform:translate3d(0,0,0);opacity:1;
  transition:transform .24s var(--hd-ease),opacity .18s ease,background-color .18s ease,border-color .18s ease;
 }
 html.mobile-chat-view .mobile-app-toolbar{transform:translate3d(0,-110%,0);opacity:0;pointer-events:none}
 .mobile-app-menu{
  width:38px;height:38px;min-width:38px;padding:0;border:0;border-radius:11px;background:transparent;color:var(--hd-muted);
  display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;
 }
 .mobile-app-menu:active{background:var(--hd-surface-muted);transform:scale(.97)}
 .mobile-app-menu:focus,.mobile-app-menu:focus-visible{outline:none!important;box-shadow:none!important}
 .mobile-app-menu svg{width:22px;height:22px;display:block;fill:currentColor;stroke:none}
 .mobile-app-version{font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--hd-soft);white-space:nowrap;font-variant-numeric:tabular-nums}

 .mobile-nav-backdrop{
  position:fixed;z-index:1180;inset:0;display:block;background:rgba(15,27,39,0);opacity:0;pointer-events:none;
  backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background-color .24s ease,opacity .24s ease,backdrop-filter .24s ease;
 }
 .mobile-nav-backdrop[hidden]{display:none!important}
 .mobile-nav-backdrop.is-open{background:rgba(15,27,39,.22);opacity:1;pointer-events:auto;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}

 .app-rail{
  position:fixed!important;z-index:1200!important;inset:0 auto 0 0!important;
  width:var(--mobile-drawer-width)!important;min-width:0!important;height:var(--app-vh,100dvh)!important;min-height:0!important;
  padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom))!important;
  border:0!important;border-right:1px solid var(--hd-line)!important;background:var(--hd-surface)!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;
  overflow:hidden!important;transform:translate3d(-104%,0,0)!important;opacity:1!important;
  box-shadow:18px 0 54px rgba(16,24,40,.12)!important;
  transition:transform .26s cubic-bezier(.22,1,.36,1)!important;
  will-change:transform;
 }
 html.mobile-menu-open .app-rail{transform:translate3d(0,0,0)!important}
 html[data-theme="dark"] .app-rail{background:#17212b!important;border-color:#253442!important;box-shadow:18px 0 54px rgba(0,0,0,.36)!important}
 .app-rail-main,.app-rail-bottom{
  width:100%!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;margin:0!important;
 }
 .app-rail-main{overflow-y:auto!important;overscroll-behavior:contain;padding:2px 0 10px!important;scrollbar-width:none}
 .app-rail-main::-webkit-scrollbar{display:none}
 .app-rail-bottom{padding-top:10px!important;border-top:1px solid var(--hd-line)!important}
 .app-rail-main>.app-rail-btn,.app-rail-bottom>.app-rail-btn{
  position:relative!important;width:100%!important;height:46px!important;min-width:0!important;min-height:46px!important;margin:0!important;padding:0 11px!important;
  border:0!important;border-radius:11px!important;background:transparent!important;color:var(--hd-muted)!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;
  text-decoration:none!important;box-shadow:none!important;transform:none!important;
 }
 .app-rail-main>.app-rail-btn svg,.app-rail-bottom>.app-rail-btn svg{width:20px!important;height:20px!important;min-width:20px!important;flex:none!important}
 .app-rail-main>.app-rail-btn.active{background:var(--hd-accent-soft)!important;color:var(--hd-accent)!important}
 .app-rail-main>.app-rail-btn:active,.app-rail-bottom>.app-rail-btn:active{background:var(--hd-surface-muted)!important;transform:scale(.99)!important}
 .app-rail-tooltip{
  position:static!important;left:auto!important;top:auto!important;transform:none!important;z-index:auto!important;
  min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:inherit!important;display:block!important;white-space:nowrap!important;font-size:13px!important;font-weight:550!important;
  opacity:1!important;visibility:visible!important;pointer-events:none!important;transition:none!important;
 }
 .app-rail-tooltip::before{display:none!important;content:none!important}
 .app-rail-user{
  width:100%!important;height:auto!important;min-height:54px!important;margin:0!important;padding:7px 10px!important;border-radius:12px!important;
  display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;color:var(--hd-muted)!important;
 }
 .app-rail-avatar{width:36px!important;height:36px!important;border-radius:12px!important;flex:none}
 .app-rail-user .app-rail-tooltip-wide{
  position:static!important;min-width:0!important;width:auto!important;padding:0!important;background:transparent!important;box-shadow:none!important;display:block!important;
 }
 .app-rail-user .app-rail-tooltip-wide strong{display:block!important;font-size:12px!important;color:var(--hd-title)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .app-rail-user .app-rail-tooltip-wide small{display:block!important;margin-top:3px!important;font-size:9.5px!important;color:var(--hd-soft)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .app-rail-bottom>.app-rail-logout{color:var(--hd-danger)!important}
 .app-rail-bottom>.app-rail-notifications.is-off{color:var(--hd-soft)!important}
 .app-rail .integration-status-dot{top:9px!important;left:28px!important;right:auto!important;width:7px!important;height:7px!important;border-width:1.5px!important}
 .mobile-rail-more,.mobile-nav-label,.mobile-more-backdrop{display:none!important}

 /* Generic admin pages live below the compact toolbar, with no bottom tab bar. */
 .contacts-wrap,.settings-wrap,.integrations-wrap{
  width:100%!important;max-width:none!important;height:calc(var(--app-vh,100dvh) - var(--mobile-toolbar-height))!important;min-height:0!important;
  margin:var(--mobile-toolbar-height) 0 0!important;padding:12px var(--mobile-page-pad) max(18px,env(safe-area-inset-bottom))!important;
  overflow-x:hidden!important;overflow-y:auto!important;
 }
 html.mobile-keyboard-open .contacts-wrap,html.mobile-keyboard-open .settings-wrap,html.mobile-keyboard-open .integrations-wrap{
  height:calc(var(--app-vh,100dvh) - var(--mobile-toolbar-height))!important;
 }
}

@media(min-width:761px){.mobile-app-toolbar,.mobile-nav-backdrop{display:none!important}}
@media(prefers-reduced-motion:reduce){.mobile-app-toolbar,.mobile-nav-backdrop,.app-rail{transition:none!important}}

/* v3.10.17 — mobile dialog close controls stay visually quiet on focus. */
@media(max-width:760px){
 dialog .dialog-close:focus,
 dialog .dialog-close:focus-visible,
 dialog .message-edit-close:focus,
 dialog .message-edit-close:focus-visible,
 dialog button[aria-label^="Закрыть"]:focus,
 dialog button[aria-label^="Закрыть"]:focus-visible{
   outline:none !important;
   box-shadow:none !important;
 }
}

@media(max-width:760px){
 html[data-theme="dark"] .app-rail .app-rail-tooltip,
 html[data-theme="dark"] .app-rail .app-rail-tooltip-wide{
   background:transparent !important;
   box-shadow:none !important;
   border:0 !important;
 }
}

/* v3.10.41 · polished admin checkboxes/switches + quick reply sorting */
.settings-toggle input[type="checkbox"]{-webkit-appearance:none!important;appearance:none!important;position:relative!important;flex:0 0 42px!important;width:42px!important;height:24px!important;margin:0!important;border:1px solid var(--hd-control-line)!important;border-radius:999px!important;background:var(--hd-surface-muted)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hd-line) 45%,transparent)!important;cursor:pointer!important;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease!important}.settings-toggle input[type="checkbox"]::before{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(25,44,63,.22);transition:transform .18s cubic-bezier(.22,.61,.36,1),background .18s ease}.settings-toggle input[type="checkbox"]:checked{background:var(--hd-accent)!important;border-color:var(--hd-accent)!important;box-shadow:none!important}.settings-toggle input[type="checkbox"]:checked::before{transform:translateX(18px)}.settings-toggle input[type="checkbox"]:focus-visible{outline:0!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--hd-accent) 20%,transparent)!important}.settings-toggle input[type="checkbox"]:disabled{cursor:not-allowed!important;opacity:.45!important}html[data-theme="dark"] .settings-toggle input[type="checkbox"]::before{background:#e9f0f5}.check input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:18px;height:18px;min-width:18px;margin:0 2px 0 0;border:1px solid var(--hd-control-line);border-radius:5px;background:var(--hd-surface);vertical-align:-3px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.check input[type="checkbox"]:checked{border-color:var(--hd-accent);background-color:var(--hd-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m4.2 9.2 3 3.1 6.6-6.7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:16px 16px;background-position:center;background-repeat:no-repeat}.check input[type="checkbox"]:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--hd-accent) 18%,transparent)}.check input[type="checkbox"]:disabled{opacity:.45;cursor:not-allowed}.qr-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.qr-admin-node .qr-admin-main{width:100%!important;min-width:0!important}.qr-admin-sort{display:flex;align-items:center;gap:3px;padding-right:3px}.qr-admin-node .qr-admin-sort .qr-sort-button{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;border:1px solid var(--hd-line)!important;border-radius:8px!important;background:var(--hd-surface)!important;color:var(--hd-soft)!important;text-align:center!important;font-size:15px!important;line-height:1!important}.qr-admin-node .qr-admin-sort .qr-sort-button:hover:not(:disabled){background:var(--hd-accent-soft)!important;border-color:var(--hd-accent-line)!important;color:var(--hd-accent)!important}.qr-admin-node .qr-admin-sort .qr-sort-button:disabled{opacity:.28!important;cursor:default!important}

/* v3.11.5 Tuneled API diagnostic console */
.api-console-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.api-full,.api-overview{grid-column:1/-1}.api-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.api-section-head h1,.api-section-head h2{margin:0 0 5px}.api-section-head p{margin:0;color:var(--hd-muted,#667085);line-height:1.45}.api-readonly-badge,.api-http-status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.api-readonly-badge{background:var(--hd-surface-muted,#f2f4f7);color:var(--hd-soft,#475467)}.api-config-grid,.api-result-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:16px 0 0;overflow:hidden;border:1px solid var(--hd-line,#e4e7ec);border-radius:13px;background:var(--hd-line,#e4e7ec)}.api-config-grid>div,.api-result-meta>div{min-width:0;padding:11px 12px;background:var(--hd-surface,#fff)}.api-config-grid dt,.api-result-meta dt{margin-bottom:4px;color:var(--hd-muted,#667085);font-size:11px;font-weight:650}.api-config-grid dd,.api-result-meta dd{margin:0;overflow-wrap:anywhere}.api-config-grid code{font-size:12px}.api-endpoint-list{display:grid;gap:8px;margin-top:14px}.api-endpoint{display:grid;grid-template-columns:46px minmax(150px,.75fr) minmax(0,1.25fr);gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--hd-line,#e4e7ec);border-radius:11px;background:var(--hd-surface-soft,#fbfcfe)}.api-endpoint.primary{border-color:rgba(10,132,255,.32);background:rgba(10,132,255,.06)}.api-method{display:inline-flex;align-items:center;justify-content:center;min-height:25px;border-radius:7px;background:rgba(52,199,89,.12);color:#248a3d;font-size:11px;font-weight:750}.api-endpoint code{overflow-wrap:anywhere}.api-endpoint>span:last-child{color:var(--hd-muted,#667085);font-size:12px}.api-test-form{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(240px,1.5fr) auto;gap:10px;align-items:end;margin-top:16px}.api-test-form label{display:grid;gap:5px;color:var(--apple-secondary,#667085);font-size:12px;font-weight:600}.api-test-form input,.api-test-form select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--hd-line,#d0d5dd);border-radius:11px;background:var(--hd-surface,#fff);color:var(--hd-ink,#101828)}.api-test-form button{min-height:42px;border:0;border-radius:10px;background:var(--apple-blue,#007aff);color:#fff;padding:8px 14px;font-weight:650;cursor:pointer}.api-preview{margin:13px 0 0;padding:10px 11px;border-radius:10px;background:var(--hd-surface-muted,#f2f4f7);color:var(--hd-muted,#667085);overflow-wrap:anywhere}.api-preview span{font-size:12px;font-weight:650}.api-http-status.ok{background:rgba(52,199,89,.13);color:#248a3d}.api-http-status.warn{background:rgba(255,159,10,.14);color:#a85d00}.api-http-status.error{background:rgba(255,59,48,.12);color:#c9342c}.api-http-status.neutral{background:var(--hd-surface-muted,#f2f4f7);color:var(--hd-muted,#667085)}.api-response-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.api-response-head h3{margin:0}.api-response-body,.api-response-headers pre{margin:9px 0 0;padding:14px;max-height:560px;overflow:auto;border:1px solid var(--hd-line,#e4e7ec);border-radius:12px;background:#101318;color:#e9edf2;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere}.api-copy{border:0;cursor:pointer}.api-response-headers{margin-top:12px}.api-response-headers summary{cursor:pointer;color:var(--hd-muted,#667085);font-weight:600}.api-response-headers pre{max-height:260px}.api-test-panel,.api-endpoints{min-width:0}@media(max-width:900px){.api-console-wrap{grid-template-columns:1fr}.api-full,.api-overview{grid-column:auto}.api-config-grid,.api-result-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.api-test-form{grid-template-columns:1fr}.api-section-head{gap:10px}}@media(max-width:600px){.api-section-head{display:grid}.api-readonly-badge,.api-http-status{justify-self:start}.api-config-grid,.api-result-meta{grid-template-columns:1fr}.api-endpoint{grid-template-columns:42px 1fr}.api-endpoint>span:last-child{grid-column:2}.api-response-body{max-height:440px}}
