/* Dina CRM visual system. Kept after the legacy sheets while their behavior is migrated. */
.bulk-message-tools{position:sticky;top:0;z-index:5;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;background:var(--surface,#283445);border-radius:10px;color:inherit}
.bulk-message-checkbox{width:20px!important;height:20px;min-width:20px;margin:0 8px 8px 0;accent-color:#008577;cursor:pointer}
.label-menu input[type="search"]{box-sizing:border-box;width:calc(100% - 16px);margin:8px;padding:10px;min-width:0}
.label-menu [hidden]{display:none!important}
:root{
  --dina-space-1:4px;--dina-space-2:8px;--dina-space-3:12px;--dina-space-4:16px;--dina-space-5:24px;
  --dina-radius-sm:6px;--dina-radius-md:9px;--dina-radius-lg:12px;
  --dina-motion-fast:140ms;--dina-motion-standard:180ms;
  --dina-success:#159c72;--dina-warning:#a96b0a;--dina-danger:#c54143;--dina-info:#2d79a9;
  --dina-canvas:#f3f6f6;--dina-panel:#fff;--dina-subtle:#f7f9f9;
  --dina-hover:#f0f5f4;--dina-selected:#e6f3ef;--dina-line:#dfe7e8;
  --dina-text:#1b3039;--dina-secondary:#5b707b;--dina-faint:#728590;
  --dina-accent:#087c65;--dina-accent-strong:#086b58;--dina-focus:#167f70;
  --dina-shadow:0 8px 28px rgb(23 48 53 / 9%);
  --canvas:var(--dina-canvas);--surface:var(--dina-panel);--soft:var(--dina-subtle);
  --line:var(--dina-line);--ink:var(--dina-text);--muted:var(--dina-secondary);
  font-family:"Segoe UI",Arial,sans-serif;
}
html[data-theme="dark"]{
  --dina-canvas:#202936;--dina-panel:#2b3645;--dina-subtle:#303d4d;
  --dina-hover:#354456;--dina-selected:#36534f;--dina-line:#455366;
  --dina-text:#f0f4f6;--dina-secondary:#c2cdd5;--dina-faint:#a7b6c1;
  --dina-accent:#83d4c2;--dina-accent-strong:#a5e4d5;--dina-focus:#9cdecf;
  --dina-shadow:0 10px 30px rgb(0 0 0 / 18%);
  --canvas:var(--dina-canvas);--surface:var(--dina-panel);--soft:var(--dina-subtle);
  --line:var(--dina-line);--ink:var(--dina-text);--muted:var(--dina-secondary);
  color-scheme:dark;
}
body,button,input,select,textarea{font-family:"Segoe UI",Arial,sans-serif}
body{color:var(--dina-text);background:var(--dina-canvas)}
button,input,textarea,select{transition:background-color .14s ease,border-color .14s ease,color .14s ease}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--dina-focus);outline-offset:2px;
}
.topbar{background:var(--dina-panel);border-bottom:1px solid var(--dina-line);box-shadow:none}
.workspace,.inbox,.conversation,.conversation-inner,.inbox-toolbar,.inbox-list,.messages,.composer{min-width:0;min-height:0}
.inbox,.conversation{background:var(--dina-panel);border-color:var(--dina-line)}
.inbox-toolbar{padding:16px 14px 12px;gap:10px;background:var(--dina-panel);border-bottom:1px solid var(--dina-line)}
.inbox-title-actions{display:flex;align-items:center;gap:7px;flex:none}
.live-status{display:inline-flex;align-items:center;gap:5px;color:var(--dina-secondary);font-size:10px;font-weight:600;white-space:nowrap}
.live-status>span:first-child{width:7px;height:7px;flex:none;border-radius:50%;background:var(--dina-warning)}
.live-status[data-mode="online"]>span:first-child{background:var(--dina-success)}
.live-status[data-mode="offline"]{color:var(--dina-danger)}
.live-status[data-mode="offline"]>span:first-child{background:var(--dina-danger)}
.inbox .section-title h1{font-size:20px;line-height:1.2;letter-spacing:-.025em;font-weight:700}
.inbox .section-title>span{background:var(--dina-subtle);color:var(--dina-secondary)}
.inbox-mode-bar{gap:8px}
.inbox-modes button,.unread-quick{min-height:36px;border-radius:9px;font-size:12px;font-weight:650;background:transparent;color:var(--dina-secondary);border:1px solid transparent}
.inbox-modes button,.unread-quick,#contact-panel-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.ui-icon{display:block;width:17px;height:17px;flex:none}
.inbox-peek .ui-icon{width:18px;height:18px}
#crm-area-rail .ui-icon{width:19px;height:19px;margin:auto}
.inbox-modes button.active,.unread-quick[aria-pressed="true"]{color:var(--dina-accent-strong);background:var(--dina-selected);border-color:var(--dina-line)}
.unread-quick{border-color:var(--dina-line)}
.inbox-search{min-height:40px;border:1px solid var(--dina-line);border-radius:9px;background:var(--dina-subtle)}
.inbox-search:focus-within{border-color:var(--dina-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--dina-focus) 18%,transparent);background:var(--dina-panel)}
.inbox-search input{min-width:0;color:var(--dina-text);background:transparent;font-size:13px}
.inbox-search input::placeholder,.composer textarea::placeholder{color:var(--dina-faint)}
.queue-tabs{gap:5px;grid-template-columns:repeat(3,minmax(0,1fr)) 30px}
.inbox .queue-tabs>button{min-height:32px;padding:5px 4px;border:1px solid var(--dina-line);border-radius:8px;background:var(--dina-panel);color:var(--dina-secondary);font-size:11px;font-weight:650;line-height:1.2}
.inbox .queue-tabs>button:hover,.inbox .queue-tabs>button.active{background:var(--dina-selected);color:var(--dina-accent-strong);border-color:var(--dina-focus)}
.inbox .queue-tabs button span{min-width:18px;height:18px;font-size:10px;background:var(--dina-subtle);color:var(--dina-secondary)}
.queue-more summary{min-height:32px;padding:4px 8px;border-color:var(--dina-line);color:var(--dina-secondary);background:var(--dina-panel)}
.queue-more>div{background:var(--dina-panel);border-color:var(--dina-line);box-shadow:var(--dina-shadow)}
.inbox-actions #new-qr-chat,.inbox-actions #filters-toggle{min-height:32px;padding:5px 8px;border-radius:8px;font-size:11px;font-weight:600}
.inbox-actions #new-qr-chat{color:var(--dina-accent-strong);background:var(--dina-selected);border-color:var(--dina-line)}
.inbox-item{position:relative;background:var(--dina-panel);border-bottom:1px solid var(--dina-line)}
.inbox-skeleton{display:grid}
.skeleton-row{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:14px 12px;align-content:center;gap:7px 10px;height:76px;padding:10px 14px;border-bottom:1px solid var(--dina-line)}
.skeleton-row span,.skeleton-row i,.skeleton-row b{display:block;border-radius:5px;background:var(--dina-hover);animation:dina-shimmer 1.5s ease-in-out infinite alternate}
.skeleton-row span{grid-row:1/3;width:40px;height:40px;border-radius:50%}
.skeleton-row i{width:55%}.skeleton-row b{width:78%}
@keyframes dina-shimmer{to{opacity:.48}}
.inbox-item:hover,.internal-item:hover{background:var(--dina-hover)}
.inbox-item.active,.internal-item.active{background:var(--dina-selected)}
.inbox-item.active::before{width:3px;background:var(--dina-accent)}
.inbox-open{min-height:76px;padding:10px 2px 10px 12px;gap:10px}
html:not([data-theme="dark"]) .inbox-open{min-height:76px;padding:9px 2px 9px 12px}
.inbox .contact-avatar{flex:none;width:40px;height:40px;border-radius:50%;font-size:13px}
.inbox-copy{min-width:0;gap:4px}
.inbox .inbox-name,.inbox .inbox-item strong{font-size:13px;line-height:1.25;font-weight:650}
.inbox .preview{font-size:12px;line-height:1.3;color:var(--dina-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox .inbox-head time{font-size:10px;color:var(--dina-faint)}
.ticket-tags{gap:3px 4px;min-width:0;max-height:21px;overflow:hidden;flex-wrap:nowrap}
.ticket-tags>span{min-width:0;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket-tags>.inbox-label{width:9px;min-width:9px;max-width:9px;height:9px;padding:0;font-size:0;overflow:hidden;box-shadow:none}
.ticket-tags>.assignee{max-width:86px}
.inbox .ticket-tags>span{font-size:10px;line-height:1.3}
.inbox-peek{min-width:32px;min-height:32px;opacity:.7}
.inbox-peek:hover{opacity:1;background:var(--dina-hover)}
.unread-count{background:#159c72;color:#fff;min-width:20px;height:20px;font-size:10px}
.conversation-head{min-height:66px;padding:10px 14px;background:var(--dina-panel);border-bottom:1px solid var(--dina-line)}
.empty-state{background:var(--dina-canvas);color:var(--dina-secondary)}
.empty-state h2{color:var(--dina-text);font-size:16px;font-weight:650}
.empty-state p{font-size:12px;line-height:1.5}
.empty-icon{width:44px;height:44px;margin-bottom:8px;border:1px solid var(--dina-line);border-radius:10px;background:var(--dina-panel);color:var(--dina-accent);box-shadow:none;font-size:20px}
.conversation-head .contact-title{min-width:0}
.conversation-head .contact-title strong{font-size:14px;line-height:1.3}
.conversation-head .contact-title small{font-size:11px;color:var(--dina-secondary)}
.conversation-head .actions select,.conversation-head button,#contact-panel-toggle{border-radius:8px}
.conversation-labels,.conversation-context,.contact-panel,.contact-panel-heading{background:var(--dina-panel);border-color:var(--dina-line)}
.conversation-context>summary{min-height:34px;padding:7px 14px;font-size:11px}
.messages,.preview-messages{background-color:#eef3f1;background-image:linear-gradient(rgb(246 249 247 / 68%),rgb(246 249 247 / 68%)),url('/chat-wallpaper.svg?v=3');background-size:auto,320px 320px}
html:not([data-theme="dark"]) .messages,html:not([data-theme="dark"]) .preview-messages{background-color:#eef3f1;background-image:linear-gradient(rgb(246 249 247 / 68%),rgb(246 249 247 / 68%)),url('/chat-wallpaper.svg?v=3');background-size:auto,320px 320px}
.messages{gap:8px;padding:18px clamp(14px,2.8vw,40px)}
.message{max-width:min(74%,640px);border-radius:11px;padding:9px 12px;font-size:14px;line-height:1.43;box-shadow:0 1px 2px rgb(16 40 48 / 8%)}
.message>strong{font-size:11px}.message small{font-size:10px}
.message.OUTBOUND,.preview-message.preview-outbound{background:#0c6162;border-color:#137677;color:#fff}
.message[data-message-id]{padding-right:12px}
.message[data-message-id]>strong{display:block;max-width:100%;padding-right:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-react,.message-options{display:grid;place-items:center;top:7px;width:26px;height:26px;min-width:26px;min-height:26px;padding:0;border-radius:7px;background:color-mix(in srgb,var(--dina-panel) 90%,transparent);font-size:18px;line-height:1}
.message-react{right:38px}
.message-options{right:7px}
.composer{padding:10px 14px 12px;background:var(--dina-panel);border-color:var(--dina-line)}
.composer-main{gap:8px;align-items:end}
.message-input-shell{min-width:0;border-radius:11px}
.composer textarea{min-height:40px;max-height:120px;font-size:14px;line-height:1.4}
#composer .composer-tool{min-height:32px;padding:4px 7px;font-size:11px;font-weight:600}
#composer .composer-emoji{width:24px;height:24px;font-size:20px}
#composer .composer-attachment .composer-emoji{font-size:20px}
#composer .send-button{min-width:40px;min-height:40px;border-radius:10px}
.conversation-head .header-label-menu{position:relative;flex:0 0 auto;margin-left:-8px}
.conversation-head .header-label-menu .label-menu-toggle{display:grid;place-items:center;width:42px;height:42px;padding:8px;border-radius:0 20px 20px 0}
.conversation-head:has(.header-label-menu) #chat-actions-toggle{border-radius:20px 0 0 20px;min-height:42px}
.conversation-head .header-label-menu .label-menu{left:auto;right:0;width:min(300px,calc(100vw - 24px));z-index:40}
#composer .composer-main{grid-template-columns:minmax(0,1fr) max-content;align-items:center;min-width:0}
#composer .composer-send-group{display:flex;align-items:center;flex-shrink:0;gap:0;justify-self:end;white-space:nowrap}
#composer .composer-send-group .send-button{flex-shrink:0;height:44px;align-self:center;transform:none}
#composer .composer-send-group .primary-action-icon{flex-shrink:0}
@media(max-width:720px){#composer .composer-main{grid-template-columns:44px minmax(0,1fr) max-content}#composer .composer-main:has(.composer-more[hidden]){grid-template-columns:minmax(0,1fr) max-content}}
#composer .composer-send-group .send-button.has-text{display:flex;align-items:center;gap:7px;width:auto;padding:0 12px;border-radius:24px 0 0 24px;background:var(--dina-accent-strong);color:white;min-height:44px}
#composer .composer-send-group #schedule-message{width:44px;min-width:44px;height:44px;padding:10px;border-radius:0 24px 24px 0;border:0;border-left:1px solid #ffffff55;background:var(--dina-accent-strong);color:white}
#composer .composer-send-group #schedule-message[hidden]{display:none!important}
#composer .composer-send-group #schedule-message .composer-tool-label{display:none}
#composer .composer-send-group #schedule-message .composer-tool-icon{color:inherit}
#composer .composer-send-group .send-label{font-size:14px;font-weight:600}
@media(max-width:420px){#composer .composer-send-group .send-button.has-text{padding:0 9px;gap:4px}#composer .composer-send-group .send-label{font-size:13px}}
.contact-panel{background:var(--dina-panel)}
.contact-panel-heading{padding:9px 14px;font-size:13px}
.contact-panel .contact-summary{padding:14px;gap:12px}
.contact-group-label{margin:2px 0 0;color:var(--dina-faint);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.contact-panel .contact-summary dl{margin:0}
.contact-panel .contact-summary dl>div{padding:8px 0;border-color:var(--dina-line)}
.contact-panel .contact-summary dt{font-size:10px;color:var(--dina-faint)}
.contact-panel .contact-summary dd{font-size:12px;line-height:1.4;color:var(--dina-text)}
.contact-panel .contact-summary dd.field-empty{color:var(--dina-faint);font-style:italic}
.contact-panel .conversation-labels{padding:14px}
.internal-item{min-height:68px;padding:10px 12px;border-color:var(--dina-line)}
.internal-messages{background:var(--dina-canvas)}
.internal-message.mine{background:#d9eee6;color:#1b3039}
#session-actions{background:var(--dina-panel);border-color:var(--dina-line);box-shadow:none}
#session-actions .nav-current{background:var(--dina-selected);color:var(--dina-accent-strong);border-color:transparent}
#session-actions button:hover{background:var(--dina-hover)}
#session-actions .icon-button,#session-actions .connection-button{font-size:12px;font-weight:600}
body.crm-hierarchy-ready .crm-nav-module{border-bottom-color:color-mix(in srgb,var(--dina-line) 50%,transparent)}
body.crm-hierarchy-ready .crm-nav-module summary{min-height:38px;padding:9px 7px;font-size:12px;font-weight:600}
body.crm-hierarchy-ready .crm-nav-module summary:hover{background:var(--dina-hover)}
body.crm-hierarchy-ready .crm-function-list button{min-height:36px;font-size:12px!important}
.filters,.queue-more>div,.conversation-head .actions{background:var(--dina-panel);border-color:var(--dina-line);box-shadow:var(--dina-shadow)}
@media(min-width:1100px){
  .app-shell{grid-template-rows:60px minmax(0,1fr)}
  .topbar{padding-inline:18px}
  .workspace{margin-left:196px;padding:12px 12px 12px 0;gap:10px;grid-template-columns:clamp(320px,26vw,360px) minmax(0,1fr)}
  html:not([data-theme="dark"]) .workspace{grid-template-columns:clamp(320px,26vw,360px) minmax(0,1fr)}
  #session-actions{top:72px;bottom:12px;left:12px;width:174px;padding:12px 8px;border-radius:12px}
  #session-actions .icon-button,#session-actions .connection-button{min-height:38px;padding:8px 10px}
  .inbox,.conversation{border-radius:12px}
}
@media(min-width:1600px){.conversation-inner.contact-panel-open{grid-template-columns:minmax(0,1fr) 280px}}
@media(min-width:1100px) and (max-width:1599px){
  .conversation-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:64px;padding:8px 12px}
  .conversation-head .contact-title{min-width:0;overflow:hidden}
  .conversation-head .contact-title h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .conversation-head .meta-row{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden}
  .conversation-head .meta-row>span:nth-child(2),.conversation-head .meta-row>span:nth-child(3){display:none}
  .conversation-head .channel-switch{max-width:170px;min-width:0;text-overflow:ellipsis}
  .conversation-head .chat-actions-toggle,#contact-panel-toggle{min-height:36px;padding:6px 9px;font-size:11px}
}
@media(min-width:1400px) and (max-width:1599px){
  .conversation-inner.contact-panel-open{grid-template-columns:minmax(0,1fr)}
  .contact-panel{position:absolute;right:0;top:0;bottom:0;width:min(340px,100%);box-shadow:-12px 0 35px #0003;z-index:75;grid-column:1;grid-row:1/-1}
}
@media(min-width:721px) and (max-width:1099px){
  .workspace{grid-template-columns:clamp(280px,32vw,330px) minmax(0,1fr)}
  .inbox-toolbar{padding:12px 10px}
  .conversation-head{padding:8px 10px}
}
@media(max-width:1099px){
  .topbar{gap:10px;padding-inline:12px}
  .mobile-menu-toggle{display:grid;place-items:center;margin-left:auto;width:40px;height:40px;border:1px solid var(--dina-line);border-radius:9px;background:var(--dina-panel);color:var(--dina-text)}
  body.crm-hierarchy-ready #session-actions:not(.mobile-open){display:none}
}
@media(min-width:721px) and (max-width:1099px){
  .workspace{display:block;min-height:0}
  .inbox{width:100%;height:100%;border:0;border-radius:0}
  #conversation,.internal-mode #internal-conversation{display:none}
  .chat-open .inbox,.internal-chat-open .inbox{display:none}
  .chat-open #conversation,.internal-chat-open .internal-mode #internal-conversation{position:fixed;inset:68px 0 0;z-index:15;display:block;width:100%;height:calc(100dvh - 68px);border:0;border-radius:0}
  .chat-open .conversation-inner{height:100%}
  .chat-open .conversation-head{display:grid;grid-template-columns:40px 42px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:64px;padding:8px 14px}
  .chat-open .contact-title{min-width:0;overflow:hidden}
  .chat-open .contact-title h2{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .chat-open .contact-title .meta-row{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden}
  .chat-open .contact-title .meta-row>span:nth-child(2),.chat-open .contact-title .meta-row>span:nth-child(3){display:none}
  .chat-open .channel-switch{max-width:170px;min-width:0;text-overflow:ellipsis}
  .chat-open .chat-actions-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;max-width:130px;padding:7px 10px;border:1px solid var(--dina-line);border-radius:8px;background:var(--dina-subtle);color:var(--dina-text);font-size:12px;font-weight:650;white-space:nowrap}
  .chat-open .conversation-head .actions{display:none;position:fixed;top:auto;right:12px;bottom:12px;left:auto;z-index:96;width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 90px);overflow:auto;padding:16px;border:1px solid var(--dina-line);border-radius:12px;background:var(--dina-panel);box-shadow:var(--dina-shadow)}
  .chat-open .conversation-head .actions.open{display:grid;gap:10px}
  .chat-open .conversation-head .actions .mobile-sheet-head{display:flex;align-items:center;justify-content:space-between}
  .chat-open .conversation-head .actions .mobile-action-label{display:grid;gap:5px;font-size:11px}
  .chat-open .conversation-head .actions select{display:block;max-width:none;width:100%}
  .chat-open .chat-actions-backdrop.open{display:block;position:fixed;inset:0;z-index:95;background:#11182780}
  .chat-open #contact-panel-toggle{min-height:38px;padding:7px 10px;font-size:12px}
  .back-button{display:grid;place-items:center;flex:none}
  .contact-panel{width:min(380px,100%)}
}
@media(max-width:720px){
  .workspace{min-width:0;padding:0;gap:0}
  .inbox,.conversation{border-radius:0}
  .inbox-toolbar{padding:12px 10px 10px;gap:9px}
  .inbox-open{min-height:72px}
  .chat-open .conversation .conversation-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto 36px;align-items:center;gap:6px;min-height:60px;padding:7px 9px}
  .chat-open .conversation-head .contact-avatar.large{display:none}
  .chat-open .conversation-head .contact-title{min-width:0;overflow:hidden}
  .chat-open .conversation-head .contact-title h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .chat-open .conversation-head .channel-switch{max-width:100%;min-width:0;text-overflow:ellipsis}
  .chat-open #contact-panel-toggle{display:grid;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0}
  .chat-open #contact-panel-toggle .contact-toggle-label{display:none}
  .chat-open #contact-panel-toggle .ui-icon{width:19px;height:19px}
  .conversation-context>summary{padding:6px 10px}
  .messages{padding:12px 10px 16px;gap:7px}
  .message{max-width:87%;font-size:13px;padding:8px 10px}
  .message[data-message-id]{padding-right:10px}
  .message[data-message-id]>strong{padding-right:55px}
  .message-react,.message-options{top:6px;width:24px;height:24px;min-width:24px;min-height:24px;font-size:17px}
  .message-react{right:34px}
  .message-options{right:6px}
  .inbox-title-actions .live-status-label{display:none}
  .inbox-open{min-height:72px}
  .inbox-peek{min-width:40px;min-height:40px}
  .composer-more,.send-button{min-width:44px;min-height:44px}
  .composer{padding:8px 10px max(10px,env(safe-area-inset-bottom))}
  .composer textarea{font-size:16px}
  .contact-panel{width:100%}
}
@media(max-width:390px){
  .inbox .queue-tabs>button{font-size:10px;padding:4px 2px}
  .inbox-modes button,.unread-quick{padding:6px 7px;font-size:11px}
  .inbox-actions #new-qr-chat,.inbox-actions #filters-toggle{font-size:10px}
  .message{max-width:88%}
}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .inbox,html[data-theme="dark"] .conversation,
html[data-theme="dark"] .inbox-toolbar,html[data-theme="dark"] .conversation-head,html[data-theme="dark"] .composer,
html[data-theme="dark"] .contact-panel,html[data-theme="dark"] .contact-panel-heading{background:var(--dina-panel);color:var(--dina-text);border-color:var(--dina-line)}
html[data-theme="dark"] .messages,html[data-theme="dark"] .preview-messages{background-color:#263443;background-image:linear-gradient(rgb(38 52 67 / 64%),rgb(38 52 67 / 64%)),url('/chat-wallpaper.svg?v=3')}
html[data-theme="dark"] .inbox-item{background:var(--dina-panel);border-color:var(--dina-line)}
html[data-theme="dark"] .inbox-item:hover{background:var(--dina-hover)}
html[data-theme="dark"] .inbox-item.active{background:var(--dina-selected)}
html[data-theme="dark"] .inbox .preview,html[data-theme="dark"] .inbox .inbox-head time{color:var(--dina-secondary)}
html[data-theme="dark"] .inbox-modes button.active,html[data-theme="dark"] .unread-quick[aria-pressed="true"],
html[data-theme="dark"] .queue-tabs>button.active,html[data-theme="dark"] #session-actions .nav-current{background:var(--dina-selected);color:var(--dina-accent-strong);border-color:var(--dina-line)}
html[data-theme="dark"] .queue-tabs>button,html[data-theme="dark"] .queue-more summary{background:var(--dina-panel);color:var(--dina-secondary);border-color:var(--dina-line)}
html[data-theme="dark"] .internal-message.mine{background:#0c6162;color:#fff}
html[data-theme="dark"] .brand-logo{background:#fff;border-radius:5px;padding:3px}
@media(prefers-reduced-motion:reduce){button,input,textarea,select{transition:none}.skeleton-row span,.skeleton-row i,.skeleton-row b{animation:none}}

/* Responsive guardrails: use the available column width, never the viewport,
   for message attachments. Values here intentionally resolve legacy overrides. */
:root{--dina-header-height:60px;--dina-faint:#60747e}
.app-shell{grid-template-rows:var(--dina-header-height) minmax(0,1fr)}
html:not([data-theme="dark"]) .inbox .inbox-head time{color:var(--dina-secondary)}
.unread-count,.unread-quick b,.inbox-modes span,.internal-item>b{background:#087c65;color:#fff}
html[data-theme="dark"]{--dina-faint:#b0bfc9}
.message,.preview-message{overflow-wrap:anywhere;min-width:0}
.message .audio-card,.message .pdf-card,.preview-media .audio-card,.preview-media .pdf-card{min-width:0;width:100%;max-width:100%}
.message audio,.message iframe,.message video,.message img,.preview-media audio,.preview-media iframe{max-width:100%;min-width:0}
.message .audio-card audio{width:280px;max-width:100%}
.message .pdf-card iframe{width:360px;max-width:100%}
.file-card,.contact-card,.location-card{min-width:0;max-width:100%}
.file-card>span:last-child{min-width:0;overflow-wrap:anywhere}
.conversation-head .actions{max-height:calc(var(--dina-viewport-height,100dvh) - 100px);overflow-y:auto;overscroll-behavior:contain}
.inbox-list,.messages,.internal-messages,.contact-panel{overscroll-behavior:contain}
.inbox .inbox-name{font-size:14px}
.inbox .preview{font-size:13px}
.contact-panel .contact-summary dt,.contact-group-label{font-size:11px}
.contact-panel .contact-summary dd{font-size:13px}
.internal-item-main strong,.internal-detail>header div{min-width:0}
.internal-item-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.internal-detail>header div{flex:1;overflow-wrap:anywhere}
.internal-composer textarea{min-width:0;font-size:16px}
.inbox-error .quiet{min-height:44px}
.conversation[aria-busy="true"] .conversation-head{opacity:.65}
@media(min-width:1100px){
  body.crm-hierarchy-ready #crm-area-rail,body.crm-hierarchy-ready #session-actions{top:var(--dina-header-height)}
  body.crm-hierarchy-ready .inbox-toolbar{padding-top:16px}
}
@media(min-width:721px) and (max-width:1099px){
  .chat-open #conversation,.internal-chat-open .internal-mode #internal-conversation{top:var(--dina-header-height);height:calc(var(--dina-viewport-height,100dvh) - var(--dina-header-height))}
}
@media(max-width:1099px){
  body.crm-hierarchy-ready #session-actions.mobile-open{top:var(--dina-header-height);max-height:calc(var(--dina-viewport-height,100dvh) - var(--dina-header-height) - 8px)}
  #crm-mobile-areas button,.crm-function-list button{min-height:44px}
}
@media(max-width:720px){
  .inbox .queue-tabs>button,.queue-more summary,.inbox-actions #new-qr-chat,.inbox-actions #filters-toggle,.inbox-modes button,.unread-quick{min-height:40px}
  .inbox .queue-tabs>button{font-size:11px}
  .chat-open .conversation .conversation-head{grid-template-columns:40px minmax(0,1fr) auto 40px}
  .chat-open #contact-panel-toggle,.chat-open .back-button{width:40px;height:44px;min-height:44px}
  .chat-open .chat-actions-toggle{min-height:44px}
  #composer .composer-tool{min-height:44px}
  #composer .send-button{min-width:44px;min-height:44px}
  .message-react,.message-options{width:36px;height:40px;min-width:36px;min-height:40px;top:2px}
  .message-react{right:40px}.message-options{right:3px}
  .message[data-message-id]>strong{padding-right:70px;min-height:30px}
  .conversation-head .actions{max-height:calc(var(--dina-viewport-height,100dvh) - 24px)}
  dialog{max-width:calc(100vw - 16px);max-height:calc(var(--dina-viewport-height,100dvh) - 16px);overflow:auto}
  .dialog-head{gap:10px}.dialog-head h2{font-size:20px;overflow-wrap:anywhere}
  .dialog-head>button{flex:none;min-height:44px}
}
/* One restrained icon palette; note mode remains the deliberate exception. */
#composer .composer-tool .composer-tool-icon,#composer #signature-settings .composer-tool-icon,
#composer #schedule-message .composer-tool-icon,#composer .composer-attachment svg,
#composer .send-button[data-action="audio"] .primary-action-icon{color:var(--dina-accent-strong)}
#composer #note-mode .composer-tool-icon{color:var(--dina-warning)}
html[data-theme="dark"] #composer #note-mode .composer-tool-icon{color:#edc367}

/* Shared module components. Dialogs opt in explicitly; permission and native form
   behavior remain in their owners. These tokens replace legacy per-screen widths. */
:root{--module-dialog-width:640px;--module-dialog-padding:24px;--module-control-height:42px;--module-section-gap:24px}
dialog.module-dialog{box-sizing:border-box;width:min(var(--module-dialog-width),calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(var(--dina-viewport-height,100dvh) - 32px);margin:auto;padding:var(--module-dialog-padding);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--dina-line);border-radius:var(--dina-radius-lg);background:var(--dina-panel);color:var(--dina-text);box-shadow:0 24px 80px rgb(0 0 0 / 24%);font-size:14px;line-height:1.5}
dialog.module-dialog--wide{--module-dialog-width:1120px}
dialog.module-dialog--compact{--module-dialog-width:420px}
dialog.module-dialog::backdrop{background:rgb(12 26 34 / 58%)}
dialog.module-dialog > .dialog-head,.module-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;position:sticky;top:calc(-1 * var(--module-dialog-padding));z-index:3;margin:calc(-1 * var(--module-dialog-padding)) calc(-1 * var(--module-dialog-padding)) 20px;padding:18px var(--module-dialog-padding);border-bottom:1px solid var(--dina-line);background:var(--dina-panel)}
dialog.module-dialog .dialog-head h2{margin:2px 0 0;font-size:21px;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
dialog.module-dialog .dialog-head .eyebrow{margin:0 0 3px;font-size:10px;color:var(--dina-secondary)}
dialog.module-dialog .dialog-head > button{flex:none}
.module-dialog__body,.module-content,.module-section{min-width:0}
.module-dialog__body{display:grid;gap:16px}
.module-section{margin:0 0 var(--module-section-gap)}
.module-section:last-child{margin-bottom:0}
.module-section > h3,.module-dialog h3{margin:0 0 12px;font-size:16px;font-weight:650}
.module-dialog h4{margin:0;font-size:15px}
.module-dialog p{overflow-wrap:anywhere}
.module-dialog label{min-width:0;font-size:13px;font-weight:600}
.module-dialog :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%;width:100%;border:1px solid var(--dina-line);border-radius:var(--dina-radius-sm);padding:10px 11px;background:var(--dina-subtle);color:var(--dina-text);font:inherit;line-height:1.4}
.module-dialog :is(input,select){min-height:var(--module-control-height)}
.module-dialog textarea{resize:vertical;min-height:90px}
.module-dialog input[readonly],.module-dialog textarea[readonly]{color:var(--dina-secondary);background:var(--dina-canvas)}
.module-dialog input[type=file]{font-size:12px;padding:8px}
.module-dialog input[type=checkbox],.module-dialog input[type=radio]{width:18px;height:18px;min-height:18px;flex:none;margin:2px 0;accent-color:var(--dina-accent-strong)}
.module-dialog input[type=color]{width:56px;padding:4px}
.module-dialog :is(button,.button){min-height:var(--module-control-height);font-size:13px;line-height:1.3;white-space:normal}
.module-dialog button:disabled{cursor:wait;opacity:.6}
.module-dialog .quiet{border:1px solid var(--dina-line);background:var(--dina-subtle);color:var(--dina-text)}
.module-dialog .quiet:hover:not(:disabled){background:var(--dina-hover)}
.module-dialog .primary{background:#087c65;color:#fff;border-color:#087c65}
.module-dialog .muted,.module-help,.module-dialog small{color:var(--dina-secondary);font-size:12px;font-weight:400;line-height:1.5}
.module-help{margin:6px 0 12px}
.module-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.module-form-grid label,.module-dialog .user-form label{display:grid;gap:6px}
.module-form-grid .wide,.module-dialog .wide{grid-column:1/-1}
.module-form-grid fieldset{min-width:0;margin:0;padding:16px;border:1px solid var(--dina-line);border-radius:var(--dina-radius-md)}
.module-form-grid legend{padding:0 6px;font-size:13px;font-weight:650}
.module-dialog__actions,.module-toolbar,.module-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.module-dialog__actions{justify-content:flex-end;padding-top:12px;border-top:1px solid var(--dina-line)}
.module-dialog__actions .module-help{margin:0 auto 0 0}
.module-checkbox,.module-dialog label.module-checkbox,.module-dialog label.check-filter{display:flex;align-items:flex-start;gap:10px;min-height:32px;line-height:1.5}
.module-feedback{margin:8px 0;min-width:0;overflow-wrap:anywhere;font-size:13px;color:var(--dina-secondary)}
.module-feedback:empty{display:none}
.module-feedback button{margin-left:8px}
.module-error,.module-dialog .error{color:var(--dina-danger)}
.module-error:not(:empty){padding:10px 12px;border-left:3px solid var(--dina-danger);border-radius:4px;background:color-mix(in srgb,var(--dina-danger) 9%,var(--dina-panel))}
html[data-theme="dark"]{--dina-danger:#ffb4b4}
.module-empty{padding:24px 16px;border:1px dashed var(--dina-line);border-radius:var(--dina-radius-md);background:var(--dina-subtle);color:var(--dina-secondary);text-align:center}
.module-empty h3{color:var(--dina-text)}
.module-list{display:grid;gap:12px;margin:16px 0}
.module-card,.module-list > article{min-width:0;padding:16px;border:1px solid var(--dina-line);border-radius:var(--dina-radius-md);background:var(--dina-panel);color:var(--dina-text);overflow-wrap:anywhere}
.module-card h3{font-size:14px;margin:0 0 8px}
.module-badge{display:inline-block;max-width:100%;padding:3px 8px;border-radius:999px;background:var(--dina-selected);color:var(--dina-accent-strong);font-size:11px;font-weight:650;vertical-align:middle;overflow-wrap:anywhere}
.module-status[aria-busy=true],.module-dialog [aria-busy=true]{cursor:progress}
.module-table-wrap{max-width:100%;overflow:auto;overscroll-behavior:contain;border:1px solid var(--dina-line);border-radius:var(--dina-radius-md)}
.module-table-wrap:focus-visible{outline:2px solid var(--dina-focus);outline-offset:2px}
.module-dialog .connection-note,.module-dialog .campaign-note{border:1px solid var(--dina-line);border-radius:var(--dina-radius-md);background:var(--dina-subtle);color:var(--dina-secondary);padding:16px;line-height:1.6}
.module-dialog .connection-note strong,.module-dialog .campaign-note strong{color:var(--dina-text)}
.module-dialog .meta-setup{display:grid;gap:12px}
.module-dialog .meta-setup p{margin:0}
.module-dialog .meta-inline{display:flex;align-items:center;gap:8px;min-width:0}
.module-dialog .meta-inline input{flex:1}
.module-dialog .meta-inline button{flex:none}
.module-dialog .template-image-preview{display:block;width:auto;height:auto;max-width:min(100%,380px);max-height:240px;object-fit:contain;border:1px solid var(--dina-line);border-radius:8px;background:var(--dina-subtle);margin-top:10px}
.module-dialog .meta-template-list{display:grid;gap:12px}
.module-dialog .meta-template-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--dina-line);border-radius:var(--dina-radius-md);padding:16px;background:var(--dina-subtle);color:var(--dina-text);min-width:0}
.meta-template-list article > div{min-width:0;overflow-wrap:anywhere}
.meta-template-list article small{display:block}
.meta-template-list article p{white-space:pre-wrap}
.module-dialog .meta-templates-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px}
.module-dialog .meta-template-status{flex:none;font-size:11px;max-width:100%;overflow-wrap:anywhere}
.campaign-list .module-card{display:block}
.campaign-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.campaign-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:16px 0;padding:12px 0;border-block:1px solid var(--dina-line)}
.campaign-counts dt{font-size:11px;color:var(--dina-secondary)}
.campaign-counts dd{margin:3px 0 0;font-size:18px;font-weight:650}
.module-dialog .campaign-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.module-dialog .campaign-image-label{display:grid;gap:6px;flex:1 1 260px;min-width:0}
.module-dialog .campaign-import{padding:12px;border:1px dashed var(--dina-line);border-radius:var(--dina-radius-sm);background:var(--dina-subtle)}
.module-dialog .metric-cards{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.module-dialog :is(.metric-cards article,.channel-card,.pipeline-card,.insight){background:var(--dina-subtle);color:var(--dina-text);border-color:var(--dina-line);border-radius:var(--dina-radius-md);padding:16px;min-width:0;overflow-wrap:anywhere}
.module-dialog .metric-cards article:first-child{grid-column:auto}
.module-dialog .metric-warning{background:color-mix(in srgb,var(--dina-warning) 12%,var(--dina-panel));border-color:color-mix(in srgb,var(--dina-warning) 45%,var(--dina-line))}
.module-dialog .channel-grid,.module-dialog .pipeline-grid,.module-dialog .insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.module-dialog .metrics-table-wrap{overflow:auto;border:1px solid var(--dina-line);border-radius:var(--dina-radius-md)}
.module-dialog .metrics-toolbar{flex-wrap:wrap}
.module-dialog .metrics-section{margin-top:24px}
.module-dialog .metrics-table thead th{background:var(--dina-subtle);color:var(--dina-secondary)}
.module-dialog .metrics-table tbody tr{background:var(--dina-panel)}
.module-dialog .module-board{grid-template-columns:repeat(4,minmax(200px,1fr));gap:12px;padding-bottom:8px}
.module-board > section{padding:12px;border-radius:var(--dina-radius-md);background:var(--dina-subtle);min-width:0}
.module-board button.module-card{display:grid;gap:6px;text-align:left;width:100%;background:var(--dina-panel);padding:12px}
.module-board button span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:var(--dina-secondary)}
.module-dialog .color-palette{grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:10px}
.module-dialog button.color-swatch{width:40px;height:40px;min-height:40px;border:3px solid var(--dina-panel);background:var(--swatch);padding:0}
.module-dialog .color-swatch[aria-pressed=true]{outline:2px solid var(--dina-focus);outline-offset:3px}
.module-dialog .user-row[aria-pressed=true],.module-dialog #role-permissions article[data-selected=true]{border-color:var(--dina-focus);background:var(--dina-selected);box-shadow:inset 3px 0 var(--dina-focus)}
.module-dialog .user-row[aria-pressed=true]{color:var(--dina-text)}
.module-dialog .ai-draft-result,.ai-draft-result{overflow-wrap:anywhere}
@media(min-width:721px){.module-dialog .metrics-table{min-width:960px}}
@media(max-width:720px){
 :root{--module-dialog-padding:16px;--module-control-height:44px;--module-section-gap:20px}
 dialog.module-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(var(--dina-viewport-height,100dvh) - 16px);scrollbar-gutter:auto}
 dialog.module-dialog > .dialog-head,.module-dialog__header{padding-block:14px}
 dialog.module-dialog .dialog-head h2{font-size:19px}
 .module-dialog :is(input,select,textarea){font-size:16px}
 .module-form-grid{grid-template-columns:1fr;gap:14px}
 .module-form-grid fieldset{padding:12px}
 .module-dialog .compact-form,.module-dialog .contact-form{grid-template-columns:1fr}
 .module-dialog__actions{gap:8px}
 .module-dialog__actions > .module-help{flex-basis:100%}
 .module-dialog .meta-template-list article{flex-direction:column;gap:8px}
 .campaign-counts{grid-template-columns:repeat(3,minmax(0,1fr))}
 .module-dialog .metric-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .module-dialog .metrics-table-wrap{border:0;overflow:visible}
 .module-dialog .metrics-table td{font-size:12px}
 .module-dialog .metrics-table td::before{font-size:11px}
 .module-dialog .module-board{grid-template-columns:1fr}
 .module-dialog .channel-grid,.module-dialog .pipeline-grid,.module-dialog .insight-grid{grid-template-columns:1fr}
}
@media(max-width:360px){.module-dialog .metric-cards{grid-template-columns:1fr}.module-dialog .meta-inline{flex-wrap:wrap}.module-dialog .meta-inline input{flex-basis:100%}}
/* Directory shares form/card components with administration. */
.module-dialog .directory-contact{min-width:0;overflow-wrap:anywhere}
.module-dialog .directory-channel-form{display:grid;gap:14px;align-items:stretch}
.module-dialog.directory-editor label:not(.module-checkbox){display:grid;gap:6px;min-width:0}
.module-dialog .directory-form .module-error{color:var(--dina-danger)}
/* Do not let an automatic grid track inherit the breadcrumb's min-content width. */
.app-shell{grid-template-columns:minmax(0,1fr)}
.topbar{min-width:0}
/* A single vertical scroll surface in long modules. Secondary actions expand in
   normal flow, so they cannot be clipped by the dialog or cover another row. */
.module-dialog .users-list{max-height:none;overflow:visible;padding-right:0}
.module-dialog .users-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.module-dialog .users-layout>section,.module-dialog .user-row>span{min-width:0}
.module-dialog .user-row{overflow-wrap:anywhere}
.module-dialog .users-permissions{margin-block:16px}
.module-dialog .role-permissions ul{color:var(--dina-secondary)}
.module-dialog .users-permissions>summary,.module-dialog .directory-secondary>summary{min-height:44px;cursor:pointer;padding:10px 12px;border:1px solid var(--dina-line);border-radius:var(--dina-radius-sm);background:var(--dina-subtle);color:var(--dina-text);font-size:13px;font-weight:600}
.module-dialog summary:focus-visible{outline:2px solid var(--dina-focus);outline-offset:2px}
.module-dialog .directory-actions{flex:0 0 240px;align-items:flex-start;justify-content:flex-end}
.module-dialog .directory-secondary{min-width:0;max-width:100%}
.module-dialog .directory-secondary-actions{display:grid;gap:8px;margin-top:8px}
.module-dialog .directory-secondary-actions button{text-align:left;width:100%}
.module-dialog .directory-delete{color:var(--dina-danger)}
.module-dialog .directory-tags{max-height:none;overflow:visible}
.module-dialog .directory-toolbar{position:static}
.module-dialog :is(input,select,textarea,button,summary){scroll-margin-block:100px 24px}
@media(max-width:720px){
 .module-dialog .users-layout{grid-template-columns:minmax(0,1fr)}
 .module-dialog .directory-actions{flex-basis:auto;justify-content:flex-start}
 .module-dialog .directory-actions>button,.module-dialog .directory-secondary{flex:1 1 110px}
 .module-dialog .user-row{flex-wrap:wrap;gap:8px}
 .module-dialog .user-row>span:last-child{text-align:left;justify-items:start}
}

/* Mobile gestures preserve vertical scrolling; the chevron is compact visually
   with an expanded, invisible touch target. */
.message[data-message-id]{touch-action:pan-y pinch-zoom}
.message .message-options{width:22px;height:22px;min-width:22px;min-height:22px;top:6px;right:6px;font-size:16px;line-height:1;border-radius:5px}
.message .message-options::after{content:"";position:absolute;inset:-9px -6px}
.message .message-react{right:39px}
.message.swipe-reply-ready{outline:2px solid var(--dina-accent);outline-offset:2px}
.reply-preview,.message-quote{border-left:3px solid var(--dina-accent);border-radius:6px;background:var(--dina-selected);color:var(--dina-text);padding:8px 10px;font-size:13px}
.reply-preview{display:flex;align-items:center;gap:10px;min-width:0}
.reply-preview span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply-preview button{border:0;background:transparent;color:inherit;min-width:44px;min-height:44px;font-size:22px}
.message-quote{margin-block:6px;max-height:72px;overflow:hidden;white-space:pre-wrap}
/* Chat production polish: visible controls, branded doodle surface and stable scrollbars. */
.message .message-react,.message .message-options{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  border:1px solid color-mix(in srgb,var(--dina-line) 88%,transparent);
  background:color-mix(in srgb,var(--dina-panel) 94%,transparent);
  color:var(--dina-secondary);box-shadow:0 1px 4px rgb(20 45 50 / 10%);
}
.message .message-react:hover,.message .message-options:hover,
.message .message-react:focus-visible,.message .message-options:focus-visible{
  background:var(--dina-selected);color:var(--dina-accent-strong);border-color:var(--dina-focus);
}
.message .message-react:disabled{opacity:.42!important;pointer-events:none!important}

/* Reveal actions with mouse hover, keyboard focus, or a touch selection. */
:root .message .message-react,:root .message .message-options{opacity:0!important;pointer-events:none!important;transition:opacity .12s ease}
:root .message:hover .message-react,:root .message:hover .message-options,
:root .message:focus-within .message-react,:root .message:focus-within .message-options,
:root .message.message-touch-selected .message-react,:root .message.message-touch-selected .message-options{opacity:1!important;pointer-events:auto!important}
@media(hover:none){
 :root .message:not(.message-touch-selected):not(:focus-within) .message-react,
 :root .message:not(.message-touch-selected):not(:focus-within) .message-options{opacity:0!important;pointer-events:none!important}
}
:root .message .message-react:disabled{pointer-events:none!important}
:root .message.INBOUND,:root .message.OUTBOUND{max-width:calc(100% - 48px);overflow:visible}
:root .message .message-react{top:50%;right:-38px;left:auto;transform:translateY(-50%);width:32px;height:36px;min-width:32px;min-height:36px;border-radius:50%;background:var(--dina-panel)}
:root .message.OUTBOUND .message-react{left:-38px;right:auto}
:root .message.INBOUND::after,:root .message.OUTBOUND::after{content:"";position:absolute;top:0;bottom:0;width:10px;right:-10px}
:root .message.OUTBOUND::after{right:auto;left:-10px}
#reaction-dialog .reaction-choices{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;max-height:45dvh;overflow-y:auto}
#reaction-dialog .reaction-choices button{min-width:40px;min-height:40px;font-size:24px;padding:5px}
#message-actions-dialog{position:fixed;inset:auto;margin:0;width:260px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:8px;border:1px solid var(--dina-line);border-radius:13px;background:var(--dina-panel);color:var(--dina-text);box-shadow:0 12px 36px #0004;overflow:auto}
#message-actions-dialog::backdrop{background:transparent}
#message-actions-dialog .message-action-list{display:grid;gap:2px}
#message-actions-dialog .message-action-list button{display:flex;align-items:center;gap:14px;width:100%;min-height:44px;padding:10px 12px;text-align:left;background:transparent;border:0;box-shadow:none;color:inherit;font-size:15px;border-radius:7px}
#message-actions-dialog .message-action-list button:hover,#message-actions-dialog .message-action-list button:focus-visible{background:var(--dina-selected)}
#message-actions-dialog .message-actions-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;font-size:12px}
#message-actions-dialog p{font-size:11px;line-height:1.4;margin:8px;color:var(--dina-secondary)}

:root .messages,:root .preview-messages,:root .internal-messages{
  background-color:#efeae2!important;
  background-image:url('/chat-wallpaper.svg?v=4-doodles')!important;
  background-size:360px 360px!important;
  background-position:0 0!important;
  background-repeat:repeat!important;
}
html[data-theme="dark"] .messages,html[data-theme="dark"] .preview-messages,html[data-theme="dark"] .internal-messages{
  background-color:#0b141a!important;
}

:is(.messages,.inbox-list,#crm-module-list,.preview-messages,.module-dialog,.quick-suggestions){
  scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--dina-accent) 58%,var(--dina-line)) transparent;
}
:is(.messages,.inbox-list,#crm-module-list,.preview-messages,.module-dialog,.quick-suggestions)::-webkit-scrollbar{width:9px;height:9px}
:is(.messages,.inbox-list,#crm-module-list,.preview-messages,.module-dialog,.quick-suggestions)::-webkit-scrollbar-track{background:transparent}
:is(.messages,.inbox-list,#crm-module-list,.preview-messages,.module-dialog,.quick-suggestions)::-webkit-scrollbar-thumb{
  min-height:40px;border:2px solid transparent;border-radius:999px;background-clip:padding-box;
  background-color:color-mix(in srgb,var(--dina-accent) 55%,var(--dina-line));
}
:is(.messages,.inbox-list,#crm-module-list,.preview-messages,.module-dialog,.quick-suggestions)::-webkit-scrollbar-thumb:hover{background-color:var(--dina-accent)}
@media(max-width:720px){:is(.messages,.inbox-list,#crm-module-list,.preview-messages,.module-dialog,.quick-suggestions)::-webkit-scrollbar{width:6px;height:6px}}
/* Persistent audio composer: real microphone levels, pause and explicit send. */
.composer.is-recording > :not(.audio-recording-bar){display:none!important}
.audio-recording-bar{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-width:0;width:100%;padding:8px;border:1px solid var(--dina-line);border-radius:20px;background:var(--dina-panel);color:var(--dina-text);box-sizing:border-box}
.audio-recording-bar button{flex-shrink:0;min-width:44px;height:44px;border:0;border-radius:24px;background:transparent;color:inherit;cursor:pointer;font-size:20px}
.audio-recording-bar button:focus-visible{outline:2px solid #8ecaff;outline-offset:2px}
.audio-wave{display:flex;flex:1;min-width:30px;height:30px;align-items:center;justify-content:center;gap:2px;overflow:hidden}
.audio-wave i{display:block;width:3px;flex:1;max-width:5px;height:3px;background:currentColor;border-radius:2px}
.audio-duration{font-variant-numeric:tabular-nums;border:1px solid #71809688;border-radius:22px;padding:8px;font-size:14px;white-space:nowrap}
.audio-recording-bar .audio-send{background:#a4d3fb;color:#082237;padding:0 16px;font-size:16px;font-weight:600}
.audio-recording-bar.paused .audio-wave{opacity:.45}
@media(max-width:480px){.audio-recording-bar{gap:4px;padding:5px}.audio-recording-bar .audio-send{padding:0 10px}.audio-wave{gap:1px}.audio-duration{padding:6px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.audio-wave i{height:4px!important}}
/* Labels stay visible independently of the optional contact drawer. */
.conversation-inner:has(>.chat-visible-labels){grid-template-rows:auto auto minmax(0,1fr) auto}
.conversation-inner>.chat-visible-labels{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:auto;max-height:104px;overflow-y:auto;padding:8px 14px;background:var(--dina-panel);border-bottom:1px solid var(--dina-line)}
.conversation-inner:has(>.chat-visible-labels)>.messages{grid-row:3}
.conversation-inner:has(>.chat-visible-labels)>.composer{grid-row:4}
.chat-visible-labels .context-caption{display:none}
.chat-visible-labels .label-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 9px;font-size:13px;font-weight:600;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.chat-visible-labels .label-pill span{display:grid;place-items:center;width:16px;height:16px;flex:none;border-radius:50%;background:#ffffff35}
.ticket-tags{flex-wrap:wrap}
.ticket-tags>.inbox-label{width:auto;min-width:0;max-width:100%;height:auto;padding:3px 7px;font-size:11px;line-height:1.3;font-weight:600;white-space:normal;overflow-wrap:anywhere}
@media(max-width:720px){.chat-open .conversation-inner:has(>.chat-visible-labels){grid-template-rows:auto auto minmax(0,1fr) auto}.conversation-inner>.chat-visible-labels{padding:6px 9px;max-height:94px}.chat-visible-labels .label-pill{min-height:36px}}

/* Inline label entry below the contact header. */
.conversation-inner>.chat-visible-labels{position:relative;z-index:12;overflow:visible;max-height:none}
.chat-visible-labels .inline-label-editor{position:relative!important;inset:auto!important;display:block!important;flex:1 1 230px;width:auto!important;min-width:180px;max-width:440px;margin:0;padding:0;background:transparent;box-shadow:none;border:0}
.chat-visible-labels .inline-label-editor input[type="search"]{width:100%;margin:0;min-height:38px;background:var(--dina-panel);color:inherit;border:1px solid var(--dina-line);border-radius:8px}
.inline-label-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:min(320px,45vh);overflow:auto;padding:8px;border:1px solid var(--dina-line);border-radius:10px;background:var(--dina-panel);color:var(--dina-text);box-shadow:0 8px 24px #0003}
.inline-label-suggestions[hidden]{display:none!important}
.inline-label-suggestions .label-menu-options{max-height:none}
.inline-label-suggestions>button{width:100%;white-space:normal}
@media(max-width:720px){.chat-visible-labels .inline-label-editor{max-width:none;flex-basis:100%}}

.chat-visible-labels .inline-label-editor{overflow:visible!important;max-height:none!important}

.inline-label-colors{border:0;padding:8px 0;margin:0;min-width:0}
.inline-label-colors[hidden]{display:none!important}
.inline-label-colors legend{font-size:13px;font-weight:600}
.inline-label-colors .color-palette{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.inline-label-colors .color-swatch{width:30px;height:30px;min-width:30px;padding:0;background:var(--swatch);border:2px solid transparent;border-radius:50%}
.inline-label-colors .color-swatch[aria-pressed="true"]{outline:2px solid var(--dina-text);outline-offset:2px}
.inline-label-colors label{display:flex;align-items:center;gap:8px;font-size:13px}
.inline-label-colors input[type="color"]{width:48px;height:32px;padding:2px}

/* Transparent contact header controls; preserve text contrast and focus. */
.conversation-head #chat-actions-toggle,
.conversation-head #contact-panel-toggle,
.conversation-head #label-menu-toggle,
.chat-visible-labels .inline-label-editor input[type="search"]{background:transparent!important;box-shadow:none;color:var(--dina-text)}
.conversation-head #chat-actions-toggle:hover,
.conversation-head #contact-panel-toggle:hover,
.conversation-head #label-menu-toggle:hover{background:color-mix(in srgb,var(--dina-text) 7%,transparent)!important}
.conversation-head #chat-actions-toggle:focus-visible,
.conversation-head #contact-panel-toggle:focus-visible,
.conversation-head #label-menu-toggle:focus-visible,
.chat-visible-labels .inline-label-editor input[type="search"]:focus-visible{outline:2px solid var(--dina-focus);outline-offset:2px}

/* Borderless controls in the contact header and label strip. */
html .conversation-head #contact-panel-toggle,
html .chat-visible-labels [data-commercial-detail],
html .chat-visible-labels .inline-label-editor input[type="search"]{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;color:var(--dina-text)}
html .conversation-head #contact-panel-toggle:hover,
html .chat-visible-labels [data-commercial-detail]:hover{background:transparent!important;text-decoration:underline;text-underline-offset:4px}
html .conversation-head #contact-panel-toggle:focus-visible,
html .chat-visible-labels [data-commercial-detail]:focus-visible,
html .chat-visible-labels .inline-label-editor input[type="search"]:focus-visible{outline:2px solid var(--dina-focus);outline-offset:2px}

/* Typography hierarchy: size and spacing instead of heavy UI text. */
html body,html button,html input,html select,html textarea{font-family:"Segoe UI",Arial,sans-serif}
html :is(button,input,select,textarea,summary,label,h1,h2,h3,h4),html :is(.topbar,#session-actions,#crm-area-rail,.inbox-toolbar,.inbox-item,.conversation-head,.chat-visible-labels,.composer-tools,.work-dialog) :is(strong,b,span,small){font-weight:400!important}
html body{font-weight:400}
html .inbox .section-title h1,html .module-dialog h2,html .work-dialog h2{font-size:24px;line-height:1.3;letter-spacing:normal}
html .conversation-head .contact-title :is(h2,strong){font-size:20px;line-height:1.35}
html .inbox :is(.inbox-name,.inbox-item strong){font-size:18px;line-height:1.35}
html .inbox .preview{font-size:15px;line-height:1.45}
html :is(.inbox-search input,.inline-label-editor input[type="search"],.composer textarea){font-size:16px;line-height:1.45}
html .conversation-head button,html .chat-visible-labels [data-commercial-detail],html #team-toolbar .inbox-actions button{font-size:16px;line-height:1.35;white-space:normal}
html .inbox :is(.queue-tabs>button,.inbox-modes button){font-size:14px;line-height:1.35}
html .inbox :is(.inbox-head time,.ticket-tags>span),html :is(.work-badge,.live-status,.chat-visible-labels .label-pill,.conversation-head .meta-row){font-size:13px;line-height:1.4}
html .inbox .ticket-tags{max-height:none;flex-wrap:wrap}
html body.crm-hierarchy-ready .crm-nav-module summary,html .crm-function-list button{font-size:15px!important;line-height:1.4}
html #session-actions .crm-panel-head strong{font-size:20px}
html .crm-nav-search label{font-size:13px}
html .module-dialog h3,html .work-dialog h3{font-size:20px;line-height:1.35}
@media(max-width:720px){
 html .inbox .section-title h1,html .module-dialog h2,html .work-dialog h2{font-size:22px}
 html .conversation-head .contact-title :is(h2,strong){font-size:18px}
 html .inbox :is(.inbox-name,.inbox-item strong){font-size:17px}
 html .conversation-head .chat-actions-toggle{font-size:14px}
 html .chat-visible-labels [data-commercial-detail]{font-size:15px}
}
