/* Operator handoff: scoped, responsive additions; no external assets or fonts. */
.ai-rules-form,.ai-operator-layout,.ai-operator-inbox { min-width:0; }
.ai-rules-form { display:grid;gap:16px; }
.ai-rules-form label,.ai-chat__flow label { display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:650;min-width:0; }
.ai-rules-form input:not([type="checkbox"]),.ai-rules-form select,.ai-rules-form textarea,
.ai-chat__flow input:not([type="checkbox"]),.ai-chat__flow select,.ai-chat__flow textarea { width:100%;max-width:100%;min-width:0;box-sizing:border-box; }
.ai-rules-form small,.ai-chat__flow small { font-weight:400;color:#526471;line-height:1.5; }
.ai-rules-form .panel { margin:0; }
.ai-rule-explainer { display:flex;flex-wrap:wrap;gap:10px;margin:18px 0; }
.ai-rule-explainer span { padding:9px 12px;border-radius:9px;background:#edf4f6;color:#245064;font-size:.82rem; }
.ai-rule-card { background:#fff;border:1px solid #d6e1e6;border-radius:16px;overflow:hidden; }
.ai-rule-card>summary { display:flex;align-items:center;gap:14px;padding:20px;cursor:pointer;list-style:none; }
.ai-rule-card>summary::-webkit-details-marker { display:none; }
.ai-rule-card>summary::after { content:"+";margin-left:4px;font-size:1.4rem;color:#426273; }
.ai-rule-card[open]>summary::after { content:"−"; }
.ai-rule-card>summary>span:nth-child(2) { flex:1;min-width:0; }
.ai-rule-card>summary strong,.ai-rule-card>summary small { display:block; }
.ai-rule-card>summary strong { font-size:1.08rem;color:#173e52; }
.ai-rule-card>summary small { margin-top:5px;font-size:.8rem; }
.ai-rule-number { display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;background:#eaf3f6;border-radius:12px;color:#235569;font-weight:750; }
.ai-rule-badge,.ai-state-pill { display:inline-flex;align-items:center;border-radius:20px;background:#edf3f7;color:#224b60;padding:7px 11px;font-size:.8rem;line-height:1.4;font-weight:650; }
.ai-state-pill.is-waiting,.ai-state-pill.is-waiting_long { background:#fff2d7;color:#775212; }
.ai-state-pill.is-active { background:#e7f5ec;color:#24613c; }
.ai-state-pill.is-closed { background:#eceff1;color:#4f6069; }
.ai-rule-body { padding:0 24px 24px;border-top:1px solid #e5ecef; }
.ai-rule-body>.crm-check { margin-top:20px; }
.ai-rule-section { padding-top:22px;margin-top:22px;border-top:1px solid #e5ecef; }
.ai-rule-section h3 { font-size:1rem;margin:0 0 16px;color:#21485c; }
.ai-rule-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.ai-rule-wide { grid-column:1/-1; }
.ai-rule-section fieldset { border:1px solid #d8e3e8;border-radius:12px;padding:14px;margin:16px 0 0;min-width:0; }
.ai-rule-section legend { font-size:.86rem;padding:0 6px;font-weight:650; }
.ai-choice-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.ai-rules-form label.crm-check,.ai-dialog-toolbar .crm-check { flex-direction:row;align-items:flex-start;gap:10px;min-height:36px;font-size:.88rem;font-weight:500; }
.ai-rules-form input[type="checkbox"],.ai-dialog-toolbar input[type="checkbox"],.ai-dialog-check input { width:20px;height:20px;flex:0 0 20px;margin:2px 0;accent-color:#216377; }
.ai-rules-form .crm-check small { display:block;font-size:.75rem;overflow-wrap:anywhere; }
.ai-rule-note { padding:14px;border-radius:12px;background:#f1f7fa;margin-top:14px;font-size:.87rem;line-height:1.65;color:#375969; }
.ai-rule-note a { display:block;margin-top:8px;font-weight:650; }
.ai-recipient-options { max-height:245px;overflow:auto;display:grid;gap:6px;margin-top:12px; }
.ai-recipient-options>label { padding:8px;border-radius:8px;background:#f7f9fa; }
.ai-rule-save { display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px;border:1px solid #d5e1e6;border-radius:14px;background:#fff; }
.ai-rule-save p { max-width:620px;margin:0;font-size:.84rem;color:#506977;line-height:1.6; }
.ai-rule-save button { flex-shrink:0; }
.ai-rules-form [hidden],.ai-chat [hidden],.ai-operator-layout [hidden] { display:none!important; }
.ai-rules-form :focus-visible,.ai-dialog-toolbar :focus-visible,.ai-chat :focus-visible,.ai-operator-layout :focus-visible { outline:3px solid #3a839b;outline-offset:3px; }
.ai-dialog-toolbar { display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:16px;background:#f5f8fa;border:1px solid #dbe5e9;border-radius:12px;margin-bottom:18px; }
.ai-dialog-toolbar strong { font-size:.86rem; }
.ai-delete-confirm { margin-left:auto;max-width:620px; }
.ai-delete-confirm>summary { cursor:pointer;color:#973d3d;font-weight:650;min-height:44px;display:flex;align-items:center; }
.ai-delete-confirm p { font-size:.86rem;line-height:1.6; }
.ai-delete-confirm button { margin-top:12px; }
.ai-dialog-select-row { display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:6px; }
.ai-dialog-check { display:grid;place-items:center;min-height:70px;cursor:pointer; }
.ai-dialog-card { min-width:0; }
.ai-dialog-card strong,.ai-dialog-card small,.ai-dialog-card p,.ai-dialog-lead { overflow-wrap:anywhere; }
.ai-dialog-operator-link { display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid #e4ecef; }
.ai-routing-warning { color:#80550b;font-size:.79rem;line-height:1.5; }
.ai-dialog-pagination { display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px; }
.ai-operator-inbox { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.ai-inbox-card { display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:20px;border:1px solid #dbe5e9;background:#fff;border-radius:16px;color:#224657;text-decoration:none; }
.ai-inbox-card:hover { border-color:#73a0b2; }
.ai-inbox-card>div { display:flex;align-items:center;gap:12px;min-width:0;max-width:100%; }
.ai-inbox-card strong,.ai-inbox-card small { display:block;overflow-wrap:anywhere; }
.ai-inbox-card small { color:#56707c;font-size:.82rem;margin-top:4px; }
.ai-operator-layout { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start; }
.ai-operator-layout .panel.ai-operator-thread { padding:0;overflow:hidden; }
.ai-operator-thread-head { display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid #e0e8ec; }
.ai-operator-thread-head span { font-size:.84rem;color:#58727f; }
.ai-operator-connection { margin:0;padding:8px 18px;font-size:.78rem;color:#53717c;background:#f1f6f8; }
.ai-operator-messages { height:min(58vh,620px);min-height:280px;overflow:auto;display:flex;flex-direction:column;gap:14px;background:#f6f9fa;padding:20px; }
.ai-operator-message { max-width:90%;border:1px solid #dbe6ea;background:#fff;border-radius:14px;padding:12px 15px;align-self:flex-start;overflow-wrap:anywhere; }
.ai-operator-message.is-operator { align-self:flex-end;background:#eaf4f7; }
.ai-operator-message.is-system { align-self:center;max-width:100%;background:#eef2f4;font-size:.85rem; }
.ai-operator-message p { white-space:pre-wrap;margin:6px 0 0;line-height:1.6;font-size:.91rem; }
.ai-operator-message small { color:#50707c;font-size:.75rem; }
.ai-operator-reply { padding:18px 20px;border-top:1px solid #dbe6ea; }
.ai-operator-reply label { display:grid;gap:8px;font-size:.9rem; }
.ai-operator-reply>div { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px; }
.ai-operator-reply small { color:#5c7079;font-size:.78rem; }
.ai-operator-details>.panel { margin-bottom:16px; }
.ai-operator-details h2 { font-size:1rem; }
.ai-contact-facts { display:grid;gap:14px; }
.ai-contact-facts div { min-width:0; }
.ai-contact-facts dt { color:#617984;font-size:.76rem;margin-bottom:4px; }
.ai-contact-facts dd { margin:0;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem; }
.ai-flow-error { color:#a33232;line-height:1.55;font-size:.88rem; }
.ai-flow-error:empty { display:none; }
.ai-chat__panel { position:fixed;inset:auto 20px 20px auto;margin:0;padding:0;width:min(440px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:min(760px,calc(var(--visual-height,100dvh) - 32px));max-height:calc(var(--visual-height,100dvh) - 32px);display:flex;flex-direction:column;overflow:hidden; }
.ai-chat__panel>.ai-chat__head { flex-shrink:0; }
.ai-chat__panel .ai-chat__messages { flex:1;min-height:90px;overflow:auto;padding:16px; }
.ai-chat__panel .ai-chat__message p { font-size:.88rem;line-height:1.6;overflow-wrap:anywhere; }
.ai-chat__message.is-operator p { border-color:#b4d8c4;background:#f0faf4; }
.ai-chat__message.is-system { align-self:center;max-width:96%; }
.ai-chat__message.is-system p { background:#edf3f6;border:0;font-size:.8rem;color:#476373;box-shadow:none; }
.ai-chat__operator-open { flex-shrink:0;padding:10px 16px;min-height:44px;margin:0;border:0;border-top:1px solid #e2eaed;background:#fff;color:#236076;cursor:pointer;font:inherit;font-size:.84rem;font-weight:650; }
.ai-chat__operator-status { flex-shrink:0;padding:11px 16px;background:#eef6f8;border-bottom:1px solid #dce9ee;color:#1d536a; }
.ai-chat__operator-status>div { display:flex;justify-content:space-between;align-items:center;gap:12px; }
.ai-chat__operator-status strong { font-size:.85rem; }
.ai-chat__operator-status small { display:block;margin-top:5px;font-size:.73rem;line-height:1.45; }
.ai-chat__operator-status button { border:0;background:transparent;text-decoration:underline;color:inherit;padding:8px 0;cursor:pointer;min-height:36px;font-size:.8rem; }
.ai-chat__operator-status [data-operator-timer] { font-variant-numeric:tabular-nums;font-size:.82rem; }
.ai-chat__panel .ai-chat__quick { flex-shrink:0;max-height:85px;overflow:auto; }
.ai-chat__panel .ai-chat__cta { flex-shrink:0;margin:8px 14px; }
.ai-chat__panel .ai-chat__composer { flex-shrink:0; }
.ai-chat__panel>footer { flex-shrink:0;font-size:.66rem;padding:4px 14px 10px;line-height:1.4; }
.ai-chat__flow,.ai-chat__panel .ai-chat__lead { position:static;inset:auto;z-index:auto;display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;overflow:auto;padding:18px;background:#fff; }
.ai-chat__flow>fieldset { display:grid;gap:15px;border:0;padding:0;margin:0;min-width:0; }
.ai-chat__flow-title { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.ai-chat__flow-title h2 { font-size:1.24rem;margin:5px 0 0;color:#173e52;line-height:1.3; }
.ai-chat__flow-title small { font-size:.72rem; }
.ai-chat__flow-title button { background:#eef3f5;border:0;border-radius:10px;min-width:44px;min-height:44px;font-size:1.6rem;cursor:pointer;color:#325563; }
.ai-chat__flow-help { margin:0;color:#526b78;font-size:.84rem;line-height:1.55; }
.ai-chat__flow input:not([type="checkbox"]),.ai-chat__flow select,.ai-chat__flow textarea { border:1px solid #bacdd7;border-radius:10px;padding:10px 12px;min-height:44px;background:#fff;color:#243e4c;font:inherit;font-size:16px; }
.ai-chat__flow textarea { resize:vertical; }
.ai-chat__flow-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.ai-chat__flow>button { flex-shrink:0;min-height:48px; }
.ai-category-choices { border:0;padding:0;margin:0;min-width:0; }
.ai-category-choices legend { margin-bottom:8px;font-size:.87rem;font-weight:650; }
.ai-category-choices>div { display:grid;grid-template-columns:1fr;gap:8px; }
.ai-chat__flow .ai-category-choices label { display:flex;flex-direction:row;align-items:center;gap:10px;border:1px solid #d5e1e7;border-radius:10px;padding:11px 12px;cursor:pointer;font-size:.88rem;font-weight:500; }
.ai-category-choices label:has(input:checked) { background:#edf6f9;border-color:#5b94aa; }
.ai-category-choices input { width:18px;height:18px;flex:0 0 18px;accent-color:#216377; }
.ai-chat__flow label.ai-chat__consent { flex-direction:row;align-items:flex-start;gap:10px;font-size:.76rem;font-weight:400;line-height:1.5; }
.ai-chat__flow .ai-chat__consent input { width:20px;height:20px;flex:0 0 20px; }
.ai-chat__panel.is-flow-open>.ai-chat__messages,.ai-chat__panel.is-flow-open>.ai-chat__quick,
.ai-chat__panel.is-flow-open>.ai-chat__cta,.ai-chat__panel.is-flow-open>.ai-chat__operator-open,
.ai-chat__panel.is-flow-open>.ai-chat__composer,.ai-chat__panel.is-flow-open>.ai-chat__operator-status,
.ai-chat__panel.is-flow-open>footer { display:none!important; }
.ai-chat__retry { border:1px solid #c5d7e0;border-radius:8px;background:#fff;color:#2a5970;padding:9px 12px;min-height:44px;margin-top:8px;cursor:pointer; }
@media(max-width:1100px) {
  .ai-operator-layout { grid-template-columns:minmax(0,1fr); }
  .ai-operator-details { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
}
@media(max-width:700px) {
  .ai-rule-grid,.ai-choice-grid,.ai-operator-inbox,.ai-operator-details { grid-template-columns:minmax(0,1fr); }
  .ai-rule-body { padding:0 16px 18px; }
  .ai-rule-card>summary { padding:16px;gap:10px; }
  .ai-rule-card>summary small { font-size:.76rem; }
  .ai-rule-badge { display:none; }
  .ai-rule-save { flex-direction:column;align-items:stretch; }
  .ai-dialog-toolbar { align-items:flex-start;gap:12px; }
  .ai-delete-confirm { width:100%;margin-left:0; }
  .ai-dialog-select-row { grid-template-columns:26px minmax(0,1fr);gap:4px; }
  .ai-dialog-card>summary { padding:12px;gap:8px; }
  .ai-dialog-card .status { white-space:normal; }
  .ai-operator-messages { padding:12px; }
  .ai-operator-reply { padding:14px; }
  .ai-operator-reply>div { align-items:stretch;flex-direction:column; }
  .ai-operator-thread-head { padding:14px; }
}
@media(max-width:480px) {
  .ai-chat__panel { inset:auto 8px calc(var(--visual-bottom,0px) + max(8px,env(safe-area-inset-bottom))) auto;width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(var(--visual-height,100dvh) - 16px);max-height:calc(var(--visual-height,100dvh) - 16px);border-radius:16px; }
  .ai-chat__flow,.ai-chat__panel .ai-chat__lead { padding:16px; }
  .ai-chat__flow-grid { grid-template-columns:minmax(0,1fr); }
  .ai-operator-message { max-width:96%; }
  .ai-rule-explainer { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .ai-chat__panel { animation:none; } }
