:root{
  --bo-primary:#2f67b1;
  --bo-primary-dark:#234f89;
  --bo-primary-soft:#eaf2ff;
  --bo-navy:#172b4d;
  --bo-text:#17233a;
  --bo-muted:#6f7f96;
  --bo-line:#dfe6f0;
  --bo-bg:#eef3f9;
  --bo-card:#fff;
  --bo-green:#17865f;
  --bo-red:#c23a43;
  --bo-yellow:#a76a00;
  --bo-shadow:0 10px 28px rgba(21,44,78,.08);
}

.bshq-omni-wrap,.bshq-omni-wrap *{box-sizing:border-box}
.bshq-omni-wrap{margin:0;min-height:100vh;background:var(--bo-bg);color:var(--bo-text);font:14px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;overflow:hidden}
.bshq-omni-wrap a{text-decoration:none}
.bshq-omni-wrap h1,.bshq-omni-wrap h2,.bshq-omni-wrap h3,.bshq-omni-wrap h4,.bshq-omni-wrap p{margin-top:0}

/* Top bar */
.bshq-omni-top{height:64px;display:flex;align-items:center;gap:18px;padding:0 18px;background:linear-gradient(90deg,#356fbd,#477ec4);color:#fff;box-shadow:0 2px 12px rgba(22,55,100,.18);position:relative;z-index:50}
.bshq-logo{display:flex;align-items:center;gap:9px;color:#fff!important;min-width:165px}
.bshq-logo .logo-mark{width:26px;height:26px;border-radius:8px;background:#fff;color:var(--bo-primary);display:grid;place-items:center;font-size:12px;transform:rotate(45deg)}
.bshq-logo .logo-mark::first-letter{transform:rotate(-45deg)}
.bshq-logo strong{font-size:22px;letter-spacing:-.5px}
.bshq-logo em{font-style:normal;font-weight:700;opacity:.75}
.bshq-top-title{display:flex;flex-direction:column;min-width:0}
.bshq-top-title b{font-size:16px;line-height:1.15}
.bshq-top-title span{font-size:11px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bshq-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.bshq-icon-btn,.bshq-logout{width:36px;height:36px;border:0;border-radius:10px;background:rgba(255,255,255,.14);color:#fff!important;display:grid;place-items:center;font-size:18px;font-weight:800;cursor:pointer}
.bshq-icon-btn:hover,.bshq-icon-btn.active,.bshq-logout:hover{background:#fff;color:var(--bo-primary)!important}
.bshq-user-chip{display:flex;align-items:center;gap:8px;padding:4px 9px 4px 4px;border-radius:12px;color:#fff!important;background:rgba(255,255,255,.12);min-width:0}
.bshq-user-chip i{width:32px;height:32px;border-radius:9px;background:#fff;color:var(--bo-primary);display:grid;place-items:center;font-style:normal;font-weight:900}
.bshq-user-chip span{display:flex;flex-direction:column;max-width:170px;min-width:0}
.bshq-user-chip b,.bshq-user-chip small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bshq-user-chip b{font-size:12px}.bshq-user-chip small{font-size:10px;opacity:.75}

.bshq-omni-main{height:calc(100vh - 64px);overflow:auto;padding:22px}
.bshq-omni-main.inbox-main{padding:0;overflow:hidden}

/* Inbox full screen */
.bshq-inbox{height:100%;width:100%;display:grid;grid-template-columns:minmax(280px,25%) minmax(440px,1fr) minmax(285px,350px);background:#fff;overflow:hidden}
.conv-col,.chat-col,.detail-col{min-width:0;min-height:0;background:#fff}
.conv-col{border-right:1px solid var(--bo-line);display:flex;flex-direction:column}
.chat-col{border-right:1px solid var(--bo-line);display:flex;flex-direction:column;background:#f6f9fd}
.detail-col{overflow-y:auto;background:#fbfcfe;padding:16px}
.conv-tools{padding:14px;border-bottom:1px solid var(--bo-line);display:grid;gap:10px;background:#fff}
.conv-tools input,.conv-tools select{width:100%;height:42px;border:1px solid #ccd7e6;border-radius:10px;background:#fff;padding:0 12px;font:inherit;color:var(--bo-text);outline:0}
.conv-tools input:focus,.conv-tools select:focus{border-color:var(--bo-primary);box-shadow:0 0 0 3px rgba(47,103,177,.12)}
.conv-list{flex:1;overflow-y:auto;overscroll-behavior:contain}
.conv-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;padding:14px 13px;border-bottom:1px solid #edf1f6;cursor:pointer;background:#fff;transition:.12s}
.conv-item:hover{background:#f5f8fc}.conv-item.active{background:var(--bo-primary-soft);box-shadow:inset 4px 0 0 var(--bo-primary)}
.avatar{width:44px;height:44px;border-radius:50%;background:#dce9fb;color:var(--bo-primary);display:grid;place-items:center;font-weight:900;font-size:17px;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.conv-name{font-size:14px;font-weight:850;color:var(--bo-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.conv-preview{font-size:12px;color:var(--bo-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.conv-meta{text-align:right;color:#8a98ab;font-size:10px;white-space:nowrap}.unread{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:var(--bo-primary);color:#fff;font-size:10px;font-weight:900;margin-top:5px}
.chat-head{height:62px;flex:0 0 62px;background:#fff;border-bottom:1px solid var(--bo-line);display:flex;align-items:center;gap:8px;padding:0 16px;color:var(--bo-text)}
.chat-head>b{font-size:15px}.chat-head .bshq-btn{margin-left:auto}.mobile-back{display:none;border:0;background:transparent;font-size:30px;color:var(--bo-primary);padding:0 8px 0 0;cursor:pointer}
.messages{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain;background:linear-gradient(#f6f9fd,#f3f7fc)}
.msg{display:flex}.msg.out{justify-content:flex-end}.bubble{max-width:min(72%,680px);padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #e3e9f2;box-shadow:0 2px 6px rgba(31,52,83,.04);color:#24324a;word-break:break-word}.msg.out .bubble{background:#dceaff;border-color:#c7dcfa}.msg.draft .bubble{border-style:dashed;border-color:#e1a72c;background:#fffaf0}
.msg-time{margin-top:5px;font-size:9px;color:#8390a2}.draft-actions{margin-top:8px}
.composer{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 14px;background:#fff;border-top:1px solid var(--bo-line)}
.composer textarea{resize:none;min-height:44px;max-height:130px;border:1px solid #ccd7e6;border-radius:12px;padding:10px 12px;font:inherit;outline:0}.composer textarea:focus{border-color:var(--bo-primary);box-shadow:0 0 0 3px rgba(47,103,177,.1)}
.composer.locked{display:block;color:var(--bo-muted);text-align:center}
.detail-card{background:#fff;border:1px solid var(--bo-line);border-radius:13px;padding:14px;margin-bottom:12px;box-shadow:0 3px 12px rgba(24,52,90,.04)}
.detail-card h4{margin:0 0 10px;font-size:13px}.detail-card p{margin:6px 0;color:#516078;font-size:12px}.detail-grid{display:grid;gap:8px}.detail-grid label{font-size:10px;font-weight:900;color:var(--bo-muted);text-transform:uppercase;letter-spacing:.04em}.detail-grid input,.detail-grid select{width:100%;height:38px;border:1px solid #ccd7e6;border-radius:9px;padding:0 10px}
.channel-badge{display:inline-flex;border-radius:999px;padding:3px 8px;background:#e8eef8;color:#35547d;font-size:10px;font-weight:900}
.slot-preview{white-space:pre-wrap;background:#f6f8fb;border:1px solid var(--bo-line);border-radius:10px;padding:12px;max-height:380px;overflow:auto;font-size:12px;color:#31445f}
.empty{color:#8a97a9;text-align:center;padding:32px 15px}.empty.compact{padding:15px}

/* Settings */
.bshq-settings-shell{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}
.bshq-settings-nav{position:sticky;top:0;background:#fff;border:1px solid var(--bo-line);border-radius:16px;padding:10px;box-shadow:var(--bo-shadow);overflow:hidden}
.settings-nav-head{padding:10px 10px 14px;border-bottom:1px solid var(--bo-line);margin-bottom:7px}.settings-nav-head>a{font-size:12px;font-weight:800;color:var(--bo-primary)}.settings-nav-head h2{margin:8px 0 2px;font-size:22px}.settings-nav-head p{margin:0;color:var(--bo-muted);font-size:11px}
.bshq-settings-nav>a{display:flex;align-items:center;gap:11px;padding:10px;border-radius:11px;color:var(--bo-text);margin:2px 0}.bshq-settings-nav>a:hover{background:#f4f7fb}.bshq-settings-nav>a.active{background:var(--bo-primary-soft);color:var(--bo-primary-dark)}
.bshq-settings-nav>a i{width:29px;height:29px;border-radius:9px;background:#f0f4f9;display:grid;place-items:center;font-style:normal;font-weight:900}.bshq-settings-nav>a.active i{background:var(--bo-primary);color:#fff}
.bshq-settings-nav>a span{display:flex;flex-direction:column;min-width:0}.bshq-settings-nav>a b{font-size:13px}.bshq-settings-nav>a small{font-size:10px;color:var(--bo-muted)}
.bshq-settings-content{min-width:0;padding-bottom:30px}
.bshq-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 16px}.bshq-page-head h1{margin:0;font-size:28px;line-height:1.12;color:#25364e}.bshq-page-head p{margin:6px 0 0;color:var(--bo-muted);font-size:13px}
.bshq-card,.bshq-omni-card{background:#fff;border:1px solid var(--bo-line);border-radius:16px;padding:18px;box-shadow:var(--bo-shadow);margin-bottom:16px;min-width:0}.bshq-card.narrow{max-width:760px}.bshq-card h3,.bshq-omni-card h3{font-size:16px;margin:0 0 14px}.card-title{display:flex;align-items:center;gap:12px;margin-bottom:15px}.card-title h3{margin:0}.card-title p{margin:2px 0 0;color:var(--bo-muted);font-size:11px}.brand{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:19px}.brand.fb{background:#1877f2}.brand.tt{background:#111}.brand.zalo{background:#0868ff}
.bshq-grid-2,.bshq-grid-ai,.bshq-grid-rule,.bshq-grid-staff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bshq-grid-ai{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)}.bshq-grid-rule{grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr)}.bshq-grid-staff{grid-template-columns:minmax(340px,.7fr) minmax(0,1.3fr)}
.bshq-channel-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.channel-setting-card{height:auto}.zalo-login-card{background:linear-gradient(180deg,#fff,#f7fbff)}
.field{display:grid;grid-template-columns:180px minmax(0,1fr);gap:15px;padding:10px 0;border-bottom:1px solid #edf1f6;align-items:start}.field>label{font-size:12px;font-weight:850;color:#40516a;padding-top:9px}.field input:not([type=checkbox]),.field select,.field textarea{width:100%;border:1px solid #cad5e4;border-radius:9px;padding:9px 10px;font:inherit;color:var(--bo-text);background:#fff;outline:0}.field input:not([type=checkbox]),.field select{height:40px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bo-primary);box-shadow:0 0 0 3px rgba(47,103,177,.1)}.field small{display:block;margin-top:5px;color:var(--bo-muted);font-size:10px}.inline{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inline-suffix{display:flex;align-items:center;gap:8px}.inline-suffix input{max-width:150px}.switchline{display:flex;align-items:center;gap:8px;margin:10px 0;color:#34465f;font-weight:750}.switchline input{width:18px;height:18px}.switchline small{display:block;margin:2px 0 0!important;font-weight:550;line-height:1.35}.ai-master-switch{padding:10px 12px;border:1px solid #d9e5f3;border-radius:11px;background:#f6faff}.ai-master-switch input{flex:0 0 auto;margin-top:2px}.ai-master-switch span{display:block}
.bshq-form>.bshq-btn{margin-top:14px}.inline-form{display:inline;margin:0}.row-actions{display:flex;gap:6px;align-items:center}
.bshq-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 13px;border:1px solid #c9d4e3;border-radius:9px;background:#fff;color:#2d4667!important;font:800 12px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;text-decoration:none!important}.bshq-btn:hover{background:#f2f6fb}.bshq-btn.primary{background:var(--bo-primary);border-color:var(--bo-primary);color:#fff!important}.bshq-btn.primary:hover{background:var(--bo-primary-dark)}.bshq-btn.danger{background:#fff4f4;border-color:#f0c8cc;color:var(--bo-red)!important}.bshq-btn.tiny{min-height:30px;padding:0 9px;font-size:10px}.bshq-btn.full{width:100%;margin-top:10px}
.bshq-alert{max-width:1500px;margin:0 auto 14px;padding:12px 14px;border-radius:11px;border:1px solid;font-size:12px}.bshq-alert.success{background:#ecfaf3;border-color:#b9e4ce;color:#116744}.bshq-alert.warning{background:#fff8e8;border-color:#ecd39c;color:#735000}.bshq-alert.danger{background:#fff0f1;border-color:#efc6ca;color:#9d2630}.bshq-alert code{display:inline-block;padding:2px 5px;background:#fff;border-radius:5px;word-break:break-all}
.webhook{display:block;margin-top:12px;padding:9px;background:#f3f6fa;border:1px solid var(--bo-line);border-radius:8px;word-break:break-all;font-size:10px;color:#4c5e77}.muted{color:var(--bo-muted)!important;font-size:11px}
.bshq-table{width:100%;border-collapse:collapse}.bshq-table th,.bshq-table td{padding:10px;border-bottom:1px solid var(--bo-line);text-align:left;font-size:11px;vertical-align:middle}.bshq-table th{color:#6d7c90;text-transform:uppercase;letter-spacing:.04em;font-size:9px}.table-scroll{overflow:auto}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900}.pill.ok{background:#e7f7ef;color:#17704f}.pill.off{background:#f1f3f6;color:#778396}
.card-header-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-header-line h3{margin:0}.card-header-line p{margin:3px 0 0}
.bshq-channel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.bshq-channel-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--bo-line);border-radius:12px}.bshq-channel-card>div{display:flex;flex-direction:column}.bshq-channel-card small{color:var(--bo-muted)}.bshq-channel-card .bshq-btn{margin-left:auto}
.login-steps{display:grid;gap:7px;margin:10px 0 15px}.login-steps span{display:flex;align-items:center;gap:8px;font-size:11px;color:#465a75}.login-steps b{width:22px;height:22px;border-radius:7px;background:#e7f0ff;color:var(--bo-primary);display:grid;place-items:center}
.device-list{margin-top:14px;border-top:1px solid var(--bo-line)}.device{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f6}.device .status{width:10px;height:10px;border-radius:50%;background:#aab4c2}.device .status.online{background:#1aaf72;box-shadow:0 0 0 4px rgba(26,175,114,.12)}.device div{display:flex;flex-direction:column;min-width:0}.device b,.device small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device small{color:var(--bo-muted);font-size:9px}
.ai-test textarea{width:100%;border:1px solid #ccd7e6;border-radius:10px;padding:10px;resize:vertical}.ai-test pre{min-height:190px;white-space:pre-wrap;background:#13233a;color:#d9e8ff;border-radius:10px;padding:13px;overflow:auto;font-size:11px}
.rule-list article,.timeline article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--bo-line)}.rule-list article>div:first-child,.timeline article>div:nth-child(2){min-width:0;display:flex;flex-direction:column}.rule-list small,.timeline small{color:var(--bo-muted);font-size:9px}.rule-list p,.timeline p{margin:5px 0 0;color:#52627a;font-size:11px}.timeline article{grid-template-columns:78px minmax(0,1fr) auto}.timeline time{font-weight:900;color:var(--bo-primary)}
.health{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f6}.health span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900}.health.ok span{background:#e8f8f0;color:#14704d}.health.bad span{background:#fff0f1;color:#b72b35}.health em{font-style:normal;font-size:10px;color:var(--bo-muted)}
.flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.flow span{padding:8px 10px;border-radius:9px;background:#edf4ff;color:#315680;font-weight:800;font-size:11px}.flow i{font-style:normal;color:#94a3b8}
.log-row{display:grid;grid-template-columns:135px 90px 160px minmax(0,1fr);gap:10px;padding:9px;border-bottom:1px solid var(--bo-line);font-size:11px}.log-row code{white-space:pre-wrap;word-break:break-word}.log-level-error{color:#bd252d}.log-level-warning{color:#956000}
.permission-summary{display:grid;gap:6px;padding:12px;margin:13px 0;background:#f5f8fc;border-radius:10px;font-size:11px}.permission-summary b{margin-bottom:2px}.permission-summary span{color:#287256}.permission-summary .denied{color:#9a3941}
.staff-list{display:grid;gap:10px}.staff-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--bo-line);border-radius:12px}.staff-avatar{width:42px;height:42px;border-radius:12px;background:#e5efff;color:var(--bo-primary);display:grid;place-items:center;font-size:18px;font-weight:900}.staff-main{min-width:0}.staff-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.staff-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.staff-edit-grid label{font-size:9px;font-weight:800;color:var(--bo-muted)}.staff-edit-grid input:not([type=checkbox]){width:100%;height:34px;margin-top:3px;border:1px solid #ced8e6;border-radius:8px;padding:0 8px}.staff-enable{display:flex;align-items:center;gap:6px;padding-top:15px}.reset-pass-form{display:flex;gap:7px;margin-top:9px}.reset-pass-form input{flex:1;min-width:0;height:32px;border:1px solid #ced8e6;border-radius:8px;padding:0 8px}
.profile-card{max-width:760px}.profile-role{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;margin-bottom:12px;border-radius:12px;background:#f2f6fb}.profile-role span{color:var(--bo-muted);font-size:11px}.permission-note{margin-top:15px;padding:11px;border-radius:9px;background:#f8f3e8;color:#76561d;font-size:11px}

/* Frontend route */
html:has(body.bshq-omni-frontend){margin-top:0!important;background:var(--bo-bg)}
body.bshq-omni-frontend{margin:0!important;padding:0!important;overflow:hidden;background:var(--bo-bg);min-height:100vh}
body.bshq-omni-frontend #wpadminbar{display:none!important}
body.bshq-omni-frontend .bshq-omni-wrap{height:100vh;width:100vw;max-width:none!important;overflow:hidden}
body.bshq-omni-frontend .bshq-omni-main{height:calc(100vh - 64px)}


/* Facebook comment thread — Vpage-like context */
.reply-context{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;background:#eef5ff;border-bottom:1px solid #d2e2f8;color:#294d79}.reply-context[hidden]{display:none}.reply-context>div{display:flex;flex-direction:column;min-width:0}.reply-context b{font-size:11px}.reply-context span{font-size:10px;color:#6b7e97;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-context button{border:0;background:transparent;color:#587295;font-size:20px;cursor:pointer}
.fb-comment-thread{width:min(820px,100%);margin:0 auto;display:flex;flex-direction:column;gap:12px}.fb-post-card{display:grid;grid-template-columns:1fr;gap:12px;padding:13px;background:#fff;border:1px solid #dce4ef;border-radius:14px;box-shadow:0 5px 18px rgba(25,49,82,.06)}.fb-post-card.has-image{grid-template-columns:180px minmax(0,1fr)}.fb-post-card>a{display:block;border-radius:10px;overflow:hidden;background:#e8edf4}.fb-post-card img{width:100%;height:112px;object-fit:cover;display:block}.fb-post-card>div{display:flex;flex-direction:column;justify-content:center;min-width:0}.fb-post-kicker{font-size:9px;font-weight:950;letter-spacing:.08em;color:#2f67b1;margin-bottom:5px}.fb-post-card b{font-size:13px;line-height:1.4;color:#253750;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.fb-post-card small{margin-top:7px;color:#7a899c;font-size:9px}.fb-post-card small a{color:#2f67b1;font-weight:800}
.fb-thread-label{display:flex;align-items:center;gap:8px;color:#61758d;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:0 2px}.fb-thread-label b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#e2ecfa;color:#2f67b1;font-size:9px}.fb-comment-node{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;position:relative}.fb-comment-node.reply{margin-left:42px}.fb-comment-node.reply:before{content:"";position:absolute;left:-23px;top:-13px;width:18px;height:31px;border-left:2px solid #d6e0ed;border-bottom:2px solid #d6e0ed;border-radius:0 0 0 10px}.fb-comment-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#dce9fb;color:#2f67b1;font-size:11px;font-weight:950}.fb-comment-avatar img{width:100%;height:100%;object-fit:cover}.fb-comment-main{min-width:0}.fb-comment-head{display:flex;align-items:center;gap:8px;margin:0 0 4px}.fb-comment-head b{font-size:11px;color:#253750}.fb-comment-head span{font-size:9px;color:#8896a8}.fb-comment-bubble{display:inline-block;max-width:min(100%,690px);padding:9px 11px;border-radius:13px;background:#fff;border:1px solid #e0e7f0;color:#2d3d55;font-size:13px;line-height:1.45;box-shadow:0 2px 7px rgba(31,52,83,.035)}.fb-comment-node.page-reply .fb-comment-bubble{background:#e7f1ff;border-color:#cfe0f7}.fb-comment-node.page-reply .fb-comment-avatar{background:#2f67b1;color:#fff}.fb-comment-actions{display:flex;align-items:center;gap:10px;margin-top:4px;padding-left:4px}.fb-comment-actions button,.fb-comment-actions a{border:0;background:transparent;padding:0;color:#667b96;font-size:9px;font-weight:850;cursor:pointer}.fb-comment-actions button:hover,.fb-comment-actions a:hover{color:#2f67b1}.send-failed{color:#c23a43;font-size:9px;font-weight:900}
@media(max-width:760px){.fb-post-card.has-image{grid-template-columns:105px minmax(0,1fr)}.fb-post-card img{height:92px}.fb-comment-node.reply{margin-left:24px}.fb-comment-node.reply:before{left:-13px;width:10px}.fb-comment-thread{padding-bottom:8px}}

@media(max-width:1250px){
  .bshq-inbox{grid-template-columns:310px minmax(0,1fr)}
  .detail-col{display:none}
  .bshq-channel-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
  .bshq-settings-shell{grid-template-columns:82px minmax(0,1fr)}
  .settings-nav-head h2,.settings-nav-head p,.bshq-settings-nav>a span{display:none}
  .settings-nav-head{padding:8px 4px}.settings-nav-head>a{font-size:0}.settings-nav-head>a:before{content:"←";font-size:18px}
  .bshq-settings-nav>a{justify-content:center}.bshq-settings-nav>a i{width:38px;height:38px}
  .bshq-grid-ai,.bshq-grid-rule,.bshq-grid-staff{grid-template-columns:1fr}
}
@media(max-width:760px){
  .bshq-omni-top{height:58px;padding:0 10px;gap:8px}.bshq-logo{min-width:auto}.bshq-logo em,.bshq-top-title span,.bshq-user-chip span,.bshq-logout{display:none}.bshq-logo strong{font-size:18px}.bshq-top-title{flex:1}.bshq-user-chip{padding:3px;background:transparent}.bshq-user-chip i{width:34px;height:34px}
  .bshq-omni-main{height:calc(100vh - 58px);padding:12px}
  body.bshq-omni-frontend .bshq-omni-main{height:calc(100vh - 58px)}
  .bshq-inbox{display:block;position:relative}.conv-col,.chat-col{position:absolute;inset:0}.chat-col{display:none;border-right:0}.bshq-inbox.has-current .conv-col{display:none}.bshq-inbox.has-current .chat-col{display:flex}.mobile-back{display:inline-block}.messages{padding:14px}.bubble{max-width:88%}
  .bshq-settings-shell{display:block}.bshq-settings-nav{position:static;display:flex;overflow-x:auto;border-radius:12px;margin-bottom:12px;padding:6px}.settings-nav-head{display:none}.bshq-settings-nav>a{flex:0 0 auto;padding:5px}.bshq-settings-nav>a span{display:none}.bshq-settings-nav>a i{width:36px;height:36px}
  .bshq-page-head h1{font-size:23px}.bshq-page-head p{font-size:11px}
  .bshq-grid-2,.bshq-channel-settings-grid{grid-template-columns:1fr}.field{grid-template-columns:1fr;gap:4px}.field>label{padding-top:0}.staff-edit-grid{grid-template-columns:1fr}.timeline article{grid-template-columns:64px minmax(0,1fr)}.timeline article>.row-actions{grid-column:2}.log-row{grid-template-columns:1fr;gap:3px}.bshq-card{padding:14px}
}

/* === v0.4: composer + tin nhắn nhanh kiểu Vpage === */
.composer{position:relative;display:block;padding:0;background:#fff}
.composer-tools{height:34px;display:flex;align-items:center;gap:10px;padding:0 12px;border-top:1px solid var(--bo-line);border-bottom:1px solid #edf1f6;background:#f9fbfe;color:#7a899e;font-size:10px}
.composer-tool{border:0;background:transparent;color:var(--bo-primary);font-weight:850;cursor:pointer;padding:5px 7px;border-radius:6px}.composer-tool:hover{background:var(--bo-primary-soft)}
.composer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 12px}
.composer-main textarea{width:100%;resize:none;min-height:48px;max-height:150px;border:1px solid #ccd7e6;border-radius:9px;padding:10px 12px;font:inherit;outline:0}
.composer-main textarea:focus{border-color:var(--bo-primary);box-shadow:0 0 0 3px rgba(47,103,177,.1)}
.quick-popup{position:absolute;left:12px;right:90px;bottom:102px;z-index:80;max-height:390px;overflow:hidden;background:#fff;border:1px solid #cbd7e7;border-radius:12px;box-shadow:0 18px 48px rgba(19,43,78,.22)}
.quick-popup[hidden]{display:none}.quick-popup-head{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--bo-line);background:#f8faff}.quick-popup-head b{font-size:12px}.quick-popup-head span{font-size:9px;color:var(--bo-muted)}
.quick-popup-list{max-height:345px;overflow-y:auto;padding:5px}.quick-popup-item{width:100%;display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;align-items:center;text-align:left;border:0;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--bo-text)}.quick-popup-item:hover,.quick-popup-item.active{background:#eaf2ff}.quick-popup-shortcut{font-weight:900;color:var(--bo-primary)}.quick-popup-copy{display:flex;flex-direction:column;min-width:0}.quick-popup-copy b,.quick-popup-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-popup-copy small{color:var(--bo-muted);font-size:10px;margin-top:2px}
.detail-grid textarea{width:100%;border:1px solid #ccd7e6;border-radius:9px;padding:8px 10px;font:inherit;resize:vertical}

/* === v0.4: quản lý tin nhắn nhanh === */
.bshq-quick-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:14px;background:#fff;border:1px solid var(--bo-line);border-radius:13px;box-shadow:var(--bo-shadow)}.bshq-quick-toolbar>div:first-child{display:flex;flex-direction:column}.bshq-quick-toolbar span{font-size:10px;color:var(--bo-muted);margin-top:2px}.quick-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.bshq-import-panel{padding:13px 16px}.import-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.import-row input[type=file]{flex:1;min-width:240px}.import-row .switchline{margin:0}
.bshq-grid-quick{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);gap:16px;align-items:start}.quick-editor{position:sticky;top:0}.shortcut-input{display:flex;align-items:center;border:1px solid #cad5e4;border-radius:9px;overflow:hidden;background:#fff}.shortcut-input span{height:40px;display:grid;place-items:center;padding:0 10px;background:#f1f5fa;color:var(--bo-primary);font-weight:900}.shortcut-input input{border:0!important;box-shadow:none!important;border-radius:0!important}.compact-search{height:36px;min-width:260px;border:1px solid #cbd6e5;border-radius:8px;padding:0 10px}.quick-table{min-width:880px}.quick-shortcut{font-weight:900;color:var(--bo-primary)}.quick-category{display:inline-flex;padding:4px 7px;border-radius:5px;font-size:9px;font-weight:900;white-space:nowrap}.quick-preview{max-width:340px;white-space:pre-wrap;color:#53637a;font-size:10px;line-height:1.35}

/* === v0.4: phân quyền chi tiết === */
.staff-create-card{max-width:1220px}.staff-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}.staff-create-grid .field{grid-template-columns:130px minmax(0,1fr)}
.permission-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:14px 0 10px;padding:9px 10px;border:1px solid var(--bo-line);border-radius:9px;background:#f8fafd}.permission-presets b{margin-right:4px;font-size:11px}.permission-presets button{border:1px solid #c9d5e5;border-radius:7px;background:#fff;color:#375474;padding:6px 9px;font:800 10px/1 inherit;cursor:pointer}.permission-presets button:hover{border-color:var(--bo-primary);color:var(--bo-primary);background:#edf4ff}
.permission-matrix{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px}.permission-matrix fieldset{min-width:0;border:1px solid var(--bo-line);border-radius:10px;padding:9px;margin:0;background:#fff}.permission-matrix legend{padding:0 5px;color:var(--bo-primary-dark);font-size:10px;font-weight:900}.permission-matrix label{display:grid;grid-template-columns:17px minmax(0,1fr);gap:7px;align-items:start;padding:7px 5px;border-radius:7px;cursor:pointer}.permission-matrix label:hover{background:#f4f7fb}.permission-matrix input{width:16px;height:16px;margin-top:1px}.permission-matrix span{display:flex;flex-direction:column;min-width:0}.permission-matrix b{font-size:10px;line-height:1.25}.permission-matrix small{font-size:8px;color:#9aa5b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.admin-only-lock{padding:10px 12px;margin:10px 0;border-radius:9px;background:#fff7e8;border:1px solid #ead5a5;color:#74551c;font-size:10px}
.staff-card{display:block;padding:0;overflow:hidden}.staff-card>summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) auto 20px;gap:10px;align-items:center;padding:12px;cursor:pointer}.staff-card>summary::-webkit-details-marker{display:none}.staff-card>summary>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.staff-card>summary small{color:var(--bo-muted);font-size:9px}.staff-card>summary i{font-style:normal;color:#8290a4}.staff-card[open]>summary{background:#f4f8fd;border-bottom:1px solid var(--bo-line)}.staff-card-body{padding:14px}.staff-card-body .permission-matrix{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-edit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

/* === v0.4: màn hình đăng nhập riêng === */
body.bshq-omni-login-page{overflow:auto!important;background:#eaf1fb!important}.bshq-auth-shell,.bshq-auth-shell *{box-sizing:border-box}.bshq-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(390px,.95fr);background:linear-gradient(135deg,#245a9d 0%,#3978c8 52%,#eaf1fb 52%,#f5f8fc 100%);font:14px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17233a}.bshq-auth-brand{display:flex;flex-direction:column;justify-content:center;padding:8vw;color:#fff}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:44px}.auth-logo span{width:38px;height:38px;border-radius:11px;background:#fff;color:#2f67b1;display:grid;place-items:center}.auth-logo b{font-size:28px}.auth-logo em{font-style:normal;font-weight:800;opacity:.75}.bshq-auth-brand h1{max-width:560px;margin:0 0 16px;font-size:46px;line-height:1.06;letter-spacing:-1.3px}.bshq-auth-brand p{max-width:570px;font-size:17px;opacity:.86}.auth-points{display:grid;gap:9px;margin-top:24px;font-size:12px;font-weight:750}.bshq-auth-card{align-self:center;justify-self:center;width:min(430px,calc(100vw - 32px));padding:34px;border:1px solid #dce5f1;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(20,49,88,.2)}.auth-card-head small{font-size:10px;letter-spacing:.12em;color:#2f67b1;font-weight:900}.auth-card-head h2{margin:7px 0 4px;font-size:28px}.auth-card-head p{margin:0 0 22px;color:#738198}.bshq-auth-card form{display:grid;gap:15px}.bshq-auth-card form>label{display:grid;gap:6px}.bshq-auth-card label span{font-size:11px;font-weight:850;color:#40526b}.bshq-auth-card input[type=text],.bshq-auth-card input[type=password],.bshq-auth-card input:not([type]){width:100%;height:46px;border:1px solid #c9d5e5;border-radius:10px;padding:0 12px;font:inherit;outline:0}.bshq-auth-card input:focus{border-color:#2f67b1;box-shadow:0 0 0 3px rgba(47,103,177,.12)}.auth-row{display:flex;align-items:center;justify-content:space-between;font-size:11px}.auth-row .remember{display:flex;align-items:center;gap:6px}.auth-row a{color:#2f67b1;font-weight:800}.bshq-auth-card button[type=submit]{height:47px;border:0;border-radius:10px;background:#2f67b1;color:#fff;font-size:13px;font-weight:900;cursor:pointer}.bshq-auth-card button[type=submit]:hover{background:#234f89}.bshq-auth-error{padding:10px 12px;margin-bottom:14px;border-radius:9px;background:#fff0f1;border:1px solid #efc6ca;color:#9d2630;font-size:11px}.auth-security{margin:16px 0 0!important;text-align:center;color:#7d8999;font-size:9px}

@media(max-width:1100px){.bshq-grid-quick{grid-template-columns:1fr}.quick-editor{position:static}.permission-matrix,.staff-card-body .permission-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-create-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.composer-tools span{display:none}.quick-popup{left:8px;right:8px;bottom:100px}.quick-popup-item{grid-template-columns:85px minmax(0,1fr)}.bshq-quick-toolbar{align-items:flex-start;flex-direction:column}.compact-search{min-width:0;width:100%}.permission-matrix,.staff-card-body .permission-matrix{grid-template-columns:1fr}.staff-create-grid{grid-template-columns:1fr}.staff-create-grid .field{grid-template-columns:1fr}.bshq-auth-shell{display:flex;align-items:center;justify-content:center;padding:18px;background:linear-gradient(145deg,#245a9d,#477fc5 42%,#eaf1fb 42%)}.bshq-auth-brand{display:none}.bshq-auth-card{padding:25px}.staff-card>summary{grid-template-columns:42px minmax(0,1fr) auto}.staff-card>summary>i{display:none}}

/* ===== v0.4: Kết nối tài khoản kiểu Vpage ===== */
.channel-connect-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;margin:0 0 14px;background:#fff;border:1px solid var(--bshq-border,#dce7ef);border-radius:15px;box-shadow:0 8px 24px rgba(31,64,104,.04)}
.channel-connect-intro>div:first-child{display:flex;flex-direction:column;gap:3px}.channel-connect-intro b{font-size:16px;color:#162944}.channel-connect-intro span{color:#6c7d94;font-size:13px}
.connect-stats{display:flex;gap:8px;flex-wrap:wrap}.connect-stats>span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e1e9f1;border-radius:999px;background:#f8fafc;color:#44566f!important;font-weight:800;font-size:12px!important}.connect-stats i{width:8px;height:8px;border-radius:50%}.fb-dot{background:#1877f2}.tt-dot{background:#111}.zalo-dot{background:#0866ff}
.vpage-connect-grid{align-items:start}.connect-card{padding:0!important;overflow:hidden}.connect-card .card-title{padding:18px 18px 14px;margin:0;border-bottom:1px solid #e5ebf2}.connect-card .connection-count{margin-left:auto;background:#edf3fa;color:#45627f;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;white-space:nowrap}.connect-card-body{padding:15px 18px 18px}.connect-copy{min-height:42px;margin:0 0 14px;color:#667890;font-size:13px;line-height:1.55}.connect-main-btn{min-height:44px;font-size:14px!important}.connection-setup-note,.connection-ok{display:flex;flex-direction:column;gap:3px;padding:11px 12px;margin:0 0 12px;border-radius:10px;border:1px solid #f0d99a;background:#fff9e9;color:#79580f}.connection-setup-note span{font-size:12px;color:#8a6b28}.connection-ok{border-color:#bce4cf;background:#effbf4;color:#167246;font-weight:800}
.channel-tech{margin-top:13px;border-top:1px solid #e5ebf2;padding-top:10px}.channel-tech>summary{cursor:pointer;list-style:none;color:#315f92;font-weight:850;font-size:12px;padding:7px 0}.channel-tech>summary::-webkit-details-marker{display:none}.channel-tech>summary:after{content:'›';float:right;transition:.15s}.channel-tech[open]>summary:after{transform:rotate(90deg)}.channel-tech-body{padding:12px 0 0}.channel-tech-body .field{grid-template-columns:1fr!important;gap:5px!important;margin-bottom:10px}.channel-tech-body .field>label{font-size:11px;color:#61758d}.channel-tech-body input{width:100%}.tech-label{display:block;margin:12px 0 5px;font-size:11px;font-weight:900;color:#4c6079}.channel-tech-body .webhook{display:block;max-width:100%;overflow-wrap:anywhere}.connected-pages-card{margin-top:14px}.channel-badge.facebook_page{background:#eaf2ff;color:#1864ca}.channel-badge.zalo_personal{background:#e8f2ff;color:#0969da}.channel-badge.tiktok_business,.channel-badge.tiktok_shop{background:#f1f1f1;color:#111}

@media(max-width:920px){.channel-connect-intro{align-items:flex-start;flex-direction:column}.connect-stats{width:100%}.vpage-connect-grid{grid-template-columns:1fr!important}.connect-copy{min-height:0}}

/* ===== v0.4.4: Facebook Verify Token ===== */
.token-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}.token-input-row input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.channel-tech-body small{display:block;margin-top:5px;color:#78879a;font-size:10px;line-height:1.4}

/* ===== v0.4.4: Tin nhắn nhanh kiểu Vpage ===== */
.bshq-quick-vpage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;background:#fff;border:1px solid var(--bo-line);border-radius:12px;box-shadow:var(--bo-shadow)}.quick-toolbar-left,.quick-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quick-toolbar-right{margin-left:auto}.quick-library-vpage{padding:0!important;overflow:visible}.quick-group-tabs{min-height:86px;padding:14px 16px 0;border-bottom:1px solid var(--bo-line);display:flex;align-items:flex-start;gap:8px;position:relative}.quick-group-tabs>button{height:38px;border:0;border-bottom:3px solid transparent;background:transparent;color:#68778b;padding:0 12px;font-weight:850;cursor:default}.quick-group-tabs>button.active{color:#1e65ad;border-bottom-color:#1689da}.quick-group-tabs>button span{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:4px;background:#1689da;color:#fff;font-size:8px}.quick-group-tabs .quick-group-spacer{flex:1}.quick-group-tabs>b{position:absolute;left:18px;bottom:8px;font-size:11px;color:#243954}.quick-table-vpage{min-width:1320px;border-collapse:separate;border-spacing:0}.quick-table-vpage thead th{position:sticky;top:0;z-index:2;background:#eef0f3;color:#26374d;font-size:10px;white-space:nowrap}.quick-table-vpage th,.quick-table-vpage td{padding:10px 9px;border-bottom:1px solid #e7ebf0;vertical-align:top}.quick-table-vpage tbody tr:hover{background:#f8fbff}.quick-table-vpage .check-col{width:34px;text-align:center}.quick-table-vpage .action-col{width:54px;text-align:center}.quick-scope{display:block;margin-top:4px;color:#8a98aa;font-size:8px}.order-box{display:inline-grid;place-items:center;min-width:38px;height:28px;border:1px solid #d4dce7;border-radius:5px;background:#fff;font-size:10px}.quick-message-cell{width:100%;min-width:390px;max-width:620px;max-height:78px;overflow:auto;white-space:pre-wrap;color:#26374d;font-size:10px;line-height:1.45}.quick-date{white-space:nowrap;color:#53647a;font-size:9px}.center{text-align:center}.attach-badge{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:6px;background:#fff0e8}.status-check{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:3px;border:1px solid #bdc8d5;font-size:11px;font-weight:900}.status-check.on{background:#0f91d8;border-color:#0f91d8;color:#fff}.status-check.off{background:#fff;color:transparent}.quick-actions-menu{position:relative;display:inline-block}.quick-actions-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;border-radius:6px;color:#40536b;font-size:12px}.quick-actions-menu>summary::-webkit-details-marker{display:none}.quick-actions-menu[open]>summary,.quick-actions-menu>summary:hover{background:#eaf2fb}.quick-actions-pop{position:absolute;right:0;top:32px;z-index:30;min-width:112px;padding:5px;background:#fff;border:1px solid #d9e0e8;border-radius:7px;box-shadow:0 10px 28px rgba(20,40,70,.18);text-align:left}.quick-actions-pop a,.quick-actions-pop button{display:flex;width:100%;align-items:center;gap:7px;padding:8px 9px;border:0;border-radius:5px;background:#fff;color:#26374d;text-decoration:none;font:700 10px/1.2 inherit;cursor:pointer}.quick-actions-pop a:hover,.quick-actions-pop button:hover{background:#f1f6fb}.quick-actions-pop button{color:#e04444}.quick-editor-backdrop{position:fixed;inset:0;z-index:9997;background:rgba(13,28,50,.38);backdrop-filter:blur(1px)}.quick-editor-drawer{position:fixed;right:0;top:0;bottom:0;z-index:9998;width:min(560px,94vw);overflow-y:auto;background:#f7f9fc;border-left:1px solid #dbe3ed;box-shadow:-22px 0 58px rgba(18,41,72,.22);padding:0 18px 22px}.quick-drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -18px 16px;padding:16px 18px;background:#fff;border-bottom:1px solid #e2e8f0}.quick-drawer-head small{font-size:8px;letter-spacing:.12em;color:#2e6db7;font-weight:900}.quick-drawer-head h3{margin:3px 0 0;font-size:20px}.quick-drawer-close{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#eef3f8;color:#334a66;text-decoration:none;font-size:23px}.quick-editor-form{padding:16px;background:#fff;border:1px solid #dfe6ef;border-radius:12px}.quick-editor-form .field{grid-template-columns:125px minmax(0,1fr)}.quick-drawer-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.quick-toast{position:fixed;right:22px;bottom:22px;z-index:10020;max-width:380px;padding:12px 15px;border-radius:9px;background:#157347;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2);font-weight:850;font-size:11px}.quick-toast.error{background:#b42318}
@media(max-width:900px){.token-input-row{grid-template-columns:1fr 1fr}.token-input-row input{grid-column:1/-1}.bshq-quick-vpage-toolbar{align-items:stretch;flex-direction:column}.quick-toolbar-right{margin-left:0}.quick-toolbar-right .compact-search{width:100%}.quick-editor-form .field{grid-template-columns:1fr}.quick-message-cell{min-width:300px}}

/* ===== v0.4.5: Facebook-first diagnostics + giao diện kết nối gọn ===== */
.channel-dashboard{display:flex;flex-direction:column;gap:16px}
.facebook-focus-card{background:#fff;border:1px solid var(--bo-line);border-radius:18px;box-shadow:var(--bo-shadow);overflow:hidden}
.facebook-focus-head{display:flex;align-items:center;gap:14px;padding:20px 22px 16px;border-bottom:1px solid #e7edf4;background:linear-gradient(135deg,#fff,#f7fbff)}
.facebook-brand-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#1877f2;color:#fff;font-size:32px;font-weight:900;box-shadow:0 8px 20px rgba(24,119,242,.22)}
.facebook-focus-head>div:nth-child(2){min-width:0;flex:1}.facebook-focus-head small{display:block;color:#3773b8;font-size:9px;font-weight:900;letter-spacing:.12em}.facebook-focus-head h3{margin:2px 0 1px;font-size:22px;color:#162944}.facebook-focus-head p{margin:0;color:#6d7f96;font-size:12px}.connection-count.big{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#eaf2ff;color:#1e5fa8;font-size:11px;font-weight:900;white-space:nowrap}
.facebook-focus-actions{display:flex;flex-wrap:wrap;gap:9px;padding:16px 22px 4px}.facebook-focus-actions .repair{border-color:#b8d6c8;color:#176847!important;background:#f0fbf5}.facebook-focus-actions .repair:hover{background:#e2f6ea}
.facebook-diagnostics{margin:14px 22px 18px;border:1px solid #dce6f0;border-radius:14px;background:#f8fbfe;overflow:hidden}.diag-placeholder,.diag-loading{padding:18px;display:flex;flex-direction:column;gap:3px;color:#6d7d91}.diag-placeholder b{color:#273a55}.diag-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #dde7f0}.diag-summary article{padding:14px 16px;border-right:1px solid #dde7f0}.diag-summary article:last-child{border-right:0}.diag-summary small{display:block;margin-bottom:5px;color:#7b8ca1;font-size:8px;font-weight:900;letter-spacing:.1em}.diag-summary b{display:block;color:#243a57;font-size:12px}.diag-summary span{display:block;margin-top:4px;color:#6f8095;font-size:9px;word-break:break-word}.diag-status{display:inline-flex!important;align-items:center;gap:4px;margin:0!important;font-weight:900!important}.diag-status.ok{color:#177552!important}.diag-status.bad{color:#bb3540!important}.diag-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:12px}.diag-pages>article{padding:13px;border:1px solid #dce5ef;border-radius:11px;background:#fff}.diag-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.diag-page-head>div{display:flex;flex-direction:column}.diag-page-head small{color:#7a899c;font-size:9px}.diag-checks{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 7px}.diag-pages p{margin:0;color:#64758b;font-size:9px;line-height:1.45}.diag-error{margin:9px 12px;padding:9px 11px;border-radius:8px;background:#fff0f1;border:1px solid #f0c4c8;color:#a62a35;font-size:10px}
.facebook-tech{margin:0 22px 18px;border:1px solid #dce6f0;border-radius:12px;padding:0!important;overflow:hidden}.facebook-tech>summary{padding:12px 14px!important;background:#f7f9fc}.facebook-tech .channel-tech-body{padding:16px!important}.tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tech-grid .field{margin:0!important}.endpoint-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.endpoint-grid>div{padding:11px;border:1px solid #dde5ef;border-radius:10px;background:#fafcff}.endpoint-grid label{display:block;margin-bottom:5px;color:#596d86;font-size:9px;font-weight:900;text-transform:uppercase}.endpoint-grid code{display:block;word-break:break-all;color:#284566;font-size:10px}
.managed-accounts{margin:0 22px 22px;border-top:1px solid #e4ebf3;padding-top:15px}.managed-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.managed-head h4{margin:0;font-size:14px}.managed-head p{margin:2px 0 0;color:#7a899c;font-size:10px}.managed-account-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.managed-account-row:last-child{border-bottom:0}.managed-platform{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:900}.managed-platform.facebook{background:#e8f1ff;color:#1877f2;font-size:20px}.managed-name{display:flex;flex-direction:column;min-width:0}.managed-name b,.managed-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.managed-name small{color:#7c8a9c;font-size:9px}
.other-channels{background:#fff;border:1px solid var(--bo-line);border-radius:16px;box-shadow:var(--bo-shadow);overflow:hidden}.other-channels>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer}.other-channels>summary::-webkit-details-marker{display:none}.other-channels>summary>div:first-child{display:flex;flex-direction:column}.other-channels>summary b{font-size:14px;color:#203550}.other-channels>summary span{font-size:10px;color:#76879c}.other-channels[open]>summary{border-bottom:1px solid #e5ebf2}.other-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.other-channel-card{border:1px solid #dfe7f0;border-radius:13px;overflow:hidden;background:#fff}.other-channel-card .card-title{padding:14px;margin:0;border-bottom:1px solid #e7edf3}.other-channel-card .connect-card-body{padding:14px}
.fb-page-picker{border:1px solid #bad3f4!important;background:#f8fbff!important}.fb-picker-head small{font-size:8px;color:#1f6cc1;font-weight:900;letter-spacing:.12em}.fb-picker-head h3{margin:3px 0 2px!important}.fb-picker-head p{margin:0;color:#718197;font-size:10px}.fb-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:12px}.fb-picker-page{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #d7e4f2;border-radius:11px;background:#fff}.fb-picker-page img,.fb-page-fallback{width:42px;height:42px;border-radius:50%;object-fit:cover}.fb-page-fallback{display:grid;place-items:center;background:#e7f1ff;color:#1877f2;font-size:20px;font-weight:900}.fb-picker-page>div{display:flex;flex-direction:column;min-width:0}.fb-picker-page strong,.fb-picker-page small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-picker-page small{color:#75869b;font-size:9px}.bshq-fb-pick-status{margin:12px 0 0;padding:10px;border-radius:8px;background:#eef4fb;color:#35516f}.bshq-fb-pick-status.success{background:#eaf8f0;color:#176d4b}.bshq-fb-pick-status.error{background:#fff0f1;color:#a92e38}

/* ===== v0.4.5: Tin nhắn nhanh sạch, dễ sửa/xóa ===== */
.quick-page-shell{display:flex;flex-direction:column;gap:12px}.quick-toolbar-v2{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff;border:1px solid var(--bo-line);border-radius:14px;box-shadow:var(--bo-shadow)}.quick-toolbar-primary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quick-toolbar-search{display:flex;align-items:center;gap:7px;min-width:280px;height:38px;padding:0 11px;border:1px solid #ccd7e5;border-radius:9px;background:#fff}.quick-toolbar-search span{color:#7990aa;font-size:18px}.quick-toolbar-search input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;padding:0!important;font-size:11px}.quick-import-panel{padding:12px 14px;border:1px solid #cfe0f3;border-radius:12px;background:#f7fbff}.quick-import-panel form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,auto) auto auto;gap:12px;align-items:center}.quick-import-panel form>div{display:flex;flex-direction:column}.quick-import-panel span{color:#74869b;font-size:9px}.quick-import-panel input[type=file]{font-size:10px}
.quick-library-card{background:#fff;border:1px solid var(--bo-line);border-radius:14px;box-shadow:var(--bo-shadow);overflow:hidden}.quick-library-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-bottom:1px solid #e1e8f0}.quick-tabs{display:flex;gap:5px}.quick-tabs button{height:52px;border:0;border-bottom:3px solid transparent;background:transparent;color:#7a899c;font-size:11px;font-weight:900}.quick-tabs button.active{color:#1d64ae;border-bottom-color:#168ad8}.quick-tabs button span{margin-left:5px;padding:3px 5px;border-radius:4px;background:#168ad8;color:#fff;font-size:7px}.quick-count{display:flex;align-items:baseline;gap:4px;color:#78889c;font-size:9px}.quick-count b{font-size:16px;color:#25466c}.quick-table-wrap{overflow:auto;max-height:calc(100vh - 310px);min-height:360px}.quick-table-clean{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0}.quick-table-clean thead th{position:sticky;top:0;z-index:5;padding:10px 9px;background:#eef2f6;border-bottom:1px solid #dbe3ec;color:#4e6077;font-size:8px;font-weight:900;text-transform:uppercase;white-space:nowrap;text-align:left}.quick-table-clean td{padding:10px 9px;border-bottom:1px solid #e9eef3;vertical-align:top;font-size:10px}.quick-table-clean tbody tr:hover{background:#f8fbff}.quick-table-clean .q-check{width:36px;text-align:center}.quick-table-clean .q-shortcut{width:105px}.quick-table-clean .q-title{width:170px}.quick-table-clean .q-message{min-width:360px}.quick-table-clean .q-scope{width:90px}.quick-table-clean .q-order{width:70px;text-align:center}.quick-table-clean .q-status{width:115px}.quick-table-clean .q-date{width:85px}.quick-table-clean .q-actions{position:sticky;right:0;z-index:2;width:86px;background:inherit;text-align:right;white-space:nowrap}.quick-table-clean thead .q-actions{z-index:7;background:#eef2f6}.quick-copy-shortcut{border:0;background:transparent;padding:2px 0;color:#1767b4;font-weight:900;cursor:pointer}.q-title>b{display:block;margin-bottom:5px;color:#253a55}.quick-category{display:inline-flex;padding:3px 6px;border-radius:5px;font-size:8px;font-weight:900}.quick-message-preview{max-height:64px;overflow:auto;line-height:1.45;color:#43556d;white-space:normal}.scope-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef3f8;color:#546a84;font-size:8px;font-weight:850}.quick-status-toggle{display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:0;cursor:pointer;color:#687a90;font-size:9px;font-weight:850}.quick-status-toggle i{width:26px;height:15px;border-radius:999px;background:#cbd5e1;position:relative;transition:.15s}.quick-status-toggle i:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.15s}.quick-status-toggle.on{color:#177552}.quick-status-toggle.on i{background:#24a06f}.quick-status-toggle.on i:after{left:13px}.q-date{color:#5b6e84;white-space:nowrap}.q-date small{display:block;color:#8b98a9;font-size:8px}.quick-icon-btn{display:inline-grid;place-items:center;width:29px;height:29px;margin-left:3px;border:1px solid #d5dfea;border-radius:7px;background:#fff;color:#38526f!important;text-decoration:none!important;cursor:pointer;font-size:12px}.quick-icon-btn:hover{background:#edf4fb}.quick-icon-btn.delete{color:#c83944!important}.quick-icon-btn.delete:hover{background:#fff0f1;border-color:#efc2c7}.quick-editor-drawer{width:min(620px,96vw)}.quick-editor-form textarea[name=message]{min-height:230px;line-height:1.55}

@media(max-width:1100px){.diag-summary{grid-template-columns:1fr}.diag-summary article{border-right:0;border-bottom:1px solid #dde7f0}.diag-summary article:last-child{border-bottom:0}.tech-grid,.endpoint-grid,.other-channel-grid{grid-template-columns:1fr}.quick-toolbar-v2{align-items:stretch;flex-direction:column}.quick-toolbar-search{min-width:0;width:100%}.quick-import-panel form{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.facebook-focus-head{align-items:flex-start;padding:16px}.facebook-brand-icon{width:44px;height:44px}.facebook-focus-actions,.facebook-diagnostics,.facebook-tech,.managed-accounts{margin-left:14px;margin-right:14px}.facebook-focus-actions{padding-left:0;padding-right:0}.facebook-focus-actions .bshq-btn{flex:1 1 100%}.managed-account-row{grid-template-columns:36px minmax(0,1fr) auto}.managed-account-row form{grid-column:2/-1}.other-channels>summary{align-items:flex-start;flex-direction:column}.quick-import-panel form{grid-template-columns:1fr}.quick-toolbar-primary .bshq-btn{flex:1}.quick-table-wrap{max-height:none}.quick-editor-drawer{width:100vw}}


/* ===== v0.4.8: interaction-first inbox ===== */
.bshq-inbox{grid-template-columns:minmax(280px,24%) minmax(460px,1fr) minmax(300px,360px)}
.conv-item{contain:layout paint;transition:background .08s ease,border-color .08s ease}.conv-item:active{transform:translateY(1px)}
.conv-copy{min-width:0}.conv-name{display:flex!important;align-items:center;gap:7px}.flow-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 7px}
.flow-new{background:#4b8bd8}.flow-need_reply{background:#e45151}.flow-booking{background:#f0a22f}.flow-followup{background:#7b61c9}.flow-done{background:#27a06d}.flow-spam{background:#9aa5b3}
.chat-loading{margin:auto;display:flex;align-items:center;gap:10px;color:#74859a}.chat-loading i{width:18px;height:18px;border:2px solid #cbd8e8;border-top-color:#2f67b1;border-radius:50%;animation:bshqspin .7s linear infinite}@keyframes bshqspin{to{transform:rotate(360deg)}}
.head-person{display:flex;flex-direction:column;min-width:0}.head-person b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head-person span{font-size:9px;color:#75869b}
.chat-head-actions{margin-left:auto;display:flex;gap:6px;align-items:center}.head-action{height:30px;border:1px solid #d4dfeb;border-radius:8px;background:#fff;color:#36506d;padding:0 9px;font-size:9px;font-weight:850;cursor:pointer}.head-action:hover{background:#edf4fb}.head-action.primary-soft{background:#eaf3ff;color:#1766b4;border-color:#bed6f2}.head-loading{margin-left:auto;color:#8391a3;font-size:9px}
.send-pending{color:#8b6b1b}.send-failed{color:#b62d38}
.detail-col{padding:0;overflow:hidden;display:flex;flex-direction:column}.detail-tabs{height:52px;flex:0 0 52px;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--bo-line);background:#fff;padding:7px}
.detail-tabs button{border:0;background:transparent;border-radius:8px;color:#73849a;font-size:10px;font-weight:850;cursor:pointer}.detail-tabs button.active{background:#eaf2ff;color:#1e64ad}
#bshq-detail{overflow-y:auto;padding:12px;flex:1}.detail-module[hidden]{display:none!important}.detail-card{margin-bottom:10px!important;padding:14px!important}.detail-card h4{margin-bottom:11px!important}.compact-summary{padding:12px!important}
.customer-summary-row{display:flex;gap:10px;align-items:center}.customer-summary-row .avatar.large{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#e8f1ff;display:grid;place-items:center;color:#1877f2;font-weight:900}.customer-summary-row img{width:100%;height:100%;object-fit:cover}.customer-summary-row>div:last-child{display:flex;flex-direction:column;min-width:0}.customer-summary-row small{color:#74859a;font-size:9px}
.flow-classifier{display:grid;grid-template-columns:1fr 1fr;gap:7px}.flow-classifier button{height:36px;border:1px solid #d9e2ec;border-radius:9px;background:#fff;color:#53677f;font-size:10px;font-weight:850;cursor:pointer}.flow-classifier button.active{box-shadow:0 0 0 2px rgba(47,103,177,.15);border-color:#2f67b1;color:#1d5da4;background:#edf5ff}
@media(max-width:1200px){.bshq-inbox{grid-template-columns:300px minmax(0,1fr)}.detail-col{position:fixed;right:0;top:64px;bottom:0;width:min(360px,92vw);z-index:80;box-shadow:-12px 0 30px rgba(20,40,70,.16);transform:translateX(100%);transition:.18s}.bshq-inbox.detail-open .detail-col{transform:translateX(0)}}

/* ===== v0.4.9: booking chỉ chọn slot hợp lệ ===== */
.booking-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.booking-title-row h4{margin:0!important}.booking-title-row small{display:block;margin-top:3px;color:#71839a;font-size:9px}.mini-icon-btn{width:32px;height:32px;border:1px solid #d4dfeb;border-radius:9px;background:#fff;color:#285f9f;font-size:17px;cursor:pointer}.mini-icon-btn:hover{background:#edf5ff}.booking-form{gap:9px}.booking-picker-block{margin-top:5px}.booking-picker-block>label{display:block;margin-bottom:7px!important}.booking-date-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.booking-date-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:58px;padding:9px 10px;border:1px solid #d6e1ed;border-radius:10px;background:#fff;color:#273d59;text-align:left;cursor:pointer}.booking-date-card b{font-size:11px}.booking-date-card small{color:#7b8ca0;font-size:8px}.booking-date-card:hover{background:#f4f8fd;border-color:#a9c7e8}.booking-date-card.active{background:#eaf3ff;border-color:#2f67b1;box-shadow:0 0 0 2px rgba(47,103,177,.1)}.booking-date-card.active b{color:#175ea9}.booking-time-list{display:flex;flex-wrap:wrap;gap:7px}.booking-time-chip{min-width:64px;height:36px;padding:0 11px;border:1px solid #d2deeb;border-radius:9px;background:#fff;color:#2e4968;font-size:11px;font-weight:850;cursor:pointer}.booking-time-chip:hover{background:#f0f6fd;border-color:#9cbce0}.booking-time-chip.active{background:#2f67b1;border-color:#2f67b1;color:#fff;box-shadow:0 5px 12px rgba(47,103,177,.22)}.booking-selection{display:flex;align-items:center;gap:7px;margin-top:3px;padding:9px 10px;border-radius:9px;background:#ecf8f1;color:#16704d;font-size:10px}.booking-selection span{font-size:15px}.booking-submit{width:100%;margin-top:4px}.booking-submit:disabled{opacity:.52;cursor:not-allowed}.booking-skeleton{padding:18px;border:1px dashed #cad8e7;border-radius:10px;color:#7b8ba0;text-align:center;font-size:9px;background:linear-gradient(90deg,#f7f9fc,#eef3f9,#f7f9fc);background-size:200% 100%;animation:bshqBookingLoad 1.1s linear infinite}@keyframes bshqBookingLoad{to{background-position:-200% 0}}.bshq-toast{position:fixed;right:22px;bottom:22px;z-index:100000;max-width:min(380px,calc(100vw - 30px));padding:12px 15px;border-radius:11px;background:#243b59;color:#fff;box-shadow:0 14px 38px rgba(15,31,54,.28);font-size:11px;font-weight:750;opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s}.bshq-toast.show{opacity:1;transform:translateY(0)}.bshq-toast.success{background:#147653}.bshq-toast.error{background:#b73540}
@media(max-width:420px){.booking-date-list{grid-template-columns:1fr}.booking-time-chip{flex:1 1 calc(33.33% - 7px)}}


/* ===== v0.5.0: nguồn hội thoại + tên/avatar nền ===== */
.avatar-wrap{position:relative;flex:0 0 auto}.avatar-wrap>.avatar{margin:0!important}.source-badge{position:absolute;left:-3px;top:-4px;z-index:4;width:19px;height:19px;border:2px solid #fff;border-radius:6px;display:grid;place-items:center;box-sizing:border-box;font-size:11px;font-weight:950;line-height:1;box-shadow:0 2px 5px rgba(24,45,75,.18);overflow:hidden}.source-badge svg{width:14px;height:14px;display:block}.source-messenger{border-radius:50%;background:#1687f8;color:#fff}.source-messenger svg{fill:#fff}.source-facebook-comment{background:#1877f2;color:#fff;font-family:Arial,sans-serif}.source-facebook-comment b{font-size:14px;line-height:1}.source-facebook-comment i{position:absolute;right:1px;bottom:1px;width:5px;height:5px;border-radius:50%;background:#fff;opacity:.95}.source-zalo{background:#fff;color:#0878e8;border-color:#0878e8;font-family:Arial,sans-serif}.source-tiktok{border-radius:50%;background:#111;color:#fff;text-shadow:1px 0 #ff2d55,-1px 0 #20e3e3}.source-inbox{background:#687b91;color:#fff}.conv-item[data-source="facebook_comment"]{border-left-color:#1877f2}.conv-item[data-source="facebook_messenger"]{border-left-color:#1687f8}.conv-item[data-source="zalo_personal"]{border-left-color:#0878e8}.conv-item[data-source^="tiktok"]{border-left-color:#111}.head-person>span{display:flex!important;align-items:center;gap:5px}.head-person>span>.source-badge{position:relative;left:auto;top:auto;width:17px;height:17px;border-width:1px;box-shadow:none;flex:0 0 17px}.head-person>span>.source-badge svg{width:12px;height:12px}.conv-tools select{min-width:150px}.conv-item .avatar img{background:#edf2f7}

.channel-badge{display:inline-flex!important;align-items:center;gap:5px}.channel-badge .source-badge{position:relative;left:auto;top:auto;width:17px;height:17px;border-width:1px;box-shadow:none;flex:0 0 17px}.channel-badge .source-badge svg{width:12px;height:12px}


/* === v0.6.0: filter rail, unread priority, labels === */
.conv-col{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);overflow:hidden}
.conv-rail{background:#233247;border-right:1px solid #31445e;display:flex;flex-direction:column;align-items:center;padding:9px 6px;gap:7px;overflow-y:auto}
.conv-rail button{position:relative;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:#d7e4f5;display:grid;place-items:center;cursor:pointer;font:inherit}
.conv-rail button>span{font-size:18px;font-weight:900;line-height:1}.conv-rail button:hover{background:rgba(255,255,255,.1)}.conv-rail button.active{background:#fff;color:#2563a8;box-shadow:0 5px 14px rgba(0,0,0,.2)}
.conv-rail button>b{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;font-size:9px;line-height:17px;text-align:center}.conv-rail button>b:empty{display:none}
.conv-pane{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff}.active-filter{font-size:10px;font-weight:800;color:#245f9f;background:#eaf3ff;border:1px solid #cfe2fb;border-radius:999px;padding:5px 9px;width:max-content;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-item.unread-item{background:#fff1f2;border-left:4px solid #ef4444;padding-left:9px}.conv-item.unread-item:hover{background:#ffe4e6}.conv-item.unread-item .conv-name{color:#dc2626;font-weight:950}.conv-item.unread-item .conv-preview{color:#334155;font-weight:650}.conv-item.unread-item.active{background:#fee2e2;box-shadow:inset 4px 0 0 #dc2626}
.conv-labels{display:flex;gap:4px;align-items:center;margin-top:4px;min-height:14px;overflow:hidden}.conv-label-chip{display:inline-flex;align-items:center;max-width:90px;height:17px;padding:0 6px;border-radius:9px;color:#fff;font-size:8px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-flag{font-size:10px;color:#059669;font-weight:900;margin-left:5px}.conv-label-btn{border:0;background:transparent;color:#8493a7;cursor:pointer;padding:0 2px;font-size:13px;line-height:1}.conv-label-btn:hover{color:#1d66b1}
.label-popover{position:fixed;z-index:100020;width:290px;max-height:420px;overflow:auto;background:#fff;border:1px solid #d7e2ef;border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.24);padding:10px}.label-popover-head{display:flex;align-items:center;justify-content:space-between;padding:3px 5px 8px}.label-popover-list{display:grid;gap:4px}.label-popover-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;cursor:pointer;border:0;background:#fff;text-align:left;font:inherit}.label-popover-item:hover{background:#f1f5f9}.label-popover-item.active{background:#eaf3ff}.label-color{width:12px;height:12px;border-radius:50%;flex:0 0 12px}.label-popover-item i{margin-left:auto;color:#0f766e;font-style:normal;font-weight:900}.label-create{display:grid;grid-template-columns:1fr 42px;gap:6px;border-top:1px solid #e5eaf1;margin-top:8px;padding-top:8px}.label-create input{height:36px;border:1px solid #cbd5e1;border-radius:9px;padding:0 9px}.label-create button{border:0;border-radius:9px;background:#2563a8;color:#fff;font-weight:900;cursor:pointer}
@media(max-width:760px){.conv-col{grid-template-columns:48px minmax(0,1fr)}.conv-rail{padding-left:4px;padding-right:4px}.conv-rail button{width:38px;height:38px}.label-popover{width:min(290px,calc(100vw - 20px))}}


/* ===== v0.6.1: compact density, rail dễ hiểu, composer tự giãn ===== */
.bshq-omni-top{height:56px;padding:0 14px;gap:14px}
.bshq-logo{min-width:145px}.bshq-logo strong{font-size:19px}.bshq-logo .logo-mark{width:24px;height:24px}.bshq-top-title b{font-size:14px}.bshq-top-title span{font-size:9px}
.bshq-top-actions{gap:6px}.bshq-icon-btn,.bshq-logout{width:32px;height:32px;border-radius:8px}.bshq-user-chip i{width:29px;height:29px}.bshq-user-chip b{font-size:10px}.bshq-user-chip small{font-size:8px}
.bshq-omni-main{height:calc(100vh - 56px)}
.bshq-inbox{grid-template-columns:minmax(260px,22%) minmax(420px,1fr) minmax(270px,320px)}
.conv-col{grid-template-columns:46px minmax(0,1fr)}
.conv-rail{position:relative;z-index:30;width:46px;padding:6px 5px;gap:4px;overflow-y:auto;overflow-x:hidden;transition:width .16s ease;align-items:flex-start;box-shadow:2px 0 8px rgba(13,28,48,.05)}
.conv-rail:hover{width:148px;overflow:visible;box-shadow:9px 0 24px rgba(13,28,48,.18)}
.conv-rail button{width:36px;height:34px;min-height:34px;border-radius:8px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;justify-items:start;padding:0 4px;gap:5px;overflow:visible}
.conv-rail:hover button{width:136px}.conv-rail button .rail-svg{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px}.conv-rail button .rail-svg svg{width:17px;height:17px;fill:currentColor}
.conv-rail button>em{display:none;font-style:normal;font-size:10px;font-weight:800;white-space:nowrap;color:inherit}.conv-rail:hover button>em{display:block}
.conv-rail button>b{right:-2px;top:-3px;min-width:15px;height:15px;line-height:15px;font-size:8px}
.conv-tools{padding:9px 10px;gap:7px}.conv-tools input,.conv-tools select{height:36px;border-radius:9px;padding:0 10px;font-size:12px}
.conv-list{scrollbar-width:thin}.conv-item{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:9px 9px;min-height:64px}.conv-item.unread-item{padding-left:6px}
.avatar{width:36px;height:36px;font-size:14px}.source-badge{width:16px;height:16px;border-width:1px;border-radius:5px;font-size:9px}.source-badge svg{width:12px;height:12px}
.conv-name{font-size:12.5px;margin-top:0}.conv-preview{font-size:11px;margin-top:2px}.conv-meta{font-size:8.5px}.unread{min-width:16px;height:16px;padding:0 4px;font-size:8px;margin-top:3px}
.conv-labels{margin-top:2px;min-height:10px;gap:3px}.conv-label-chip{height:14px;padding:0 5px;font-size:7px;max-width:72px}.conv-label-btn{font-size:11px;opacity:.45}.conv-item:hover .conv-label-btn{opacity:1}.phone-flag{font-size:8px;margin-left:3px}
.active-filter{font-size:8px;padding:4px 7px}
.chat-head{height:54px;flex-basis:54px;padding:0 12px}.chat-head>b{font-size:13px}.messages{padding:14px;gap:8px}.bubble{padding:8px 10px;border-radius:11px;font-size:12px}.msg-time{font-size:8px}
.composer-tools{height:30px;padding:0 10px;font-size:9px}.composer-main{padding:8px 10px;align-items:end}.composer-main textarea{min-height:68px;max-height:240px;line-height:1.45;padding:10px 11px;overflow-y:hidden;transition:height .08s ease}.composer-main .bshq-btn{height:44px;min-width:70px}
.detail-tabs{height:44px;flex-basis:44px;padding:5px}.detail-tabs button{font-size:9px}.detail-card{padding:11px!important;margin-bottom:8px!important}.detail-card h4{font-size:11px;margin-bottom:8px!important}.detail-card p{font-size:10px}.detail-grid{gap:6px}.detail-grid label{font-size:8px}.detail-grid input,.detail-grid select{height:34px;font-size:11px}
#bshq-detail{padding:9px}.customer-summary-row .avatar.large{width:40px;height:40px}.customer-summary-row small{font-size:8px}
.load-more-conversations{display:block;width:calc(100% - 18px);height:34px;margin:9px;border:1px solid #cbd8e7;border-radius:9px;background:#f5f8fc;color:#2c5f98;font:800 10px/1 inherit;cursor:pointer}.load-more-conversations:hover{background:#eaf3ff}.conversation-list-end{padding:10px;text-align:center;color:#96a2b3;font-size:8px}
@media(max-width:1200px){.detail-col{top:56px}.bshq-inbox{grid-template-columns:minmax(250px,300px) minmax(0,1fr)}}
@media(max-width:760px){.conv-col{grid-template-columns:42px minmax(0,1fr)}.conv-rail{width:42px}.conv-rail:hover{width:140px}.conv-rail button{width:32px}.conv-rail:hover button{width:128px}.conv-item{min-height:60px}}

/* ===== v0.6.2: bulk read, nhãn nhanh, composer rộng và mật độ Vpage ===== */
.conv-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.conv-tool-btn{height:36px;padding:0 9px;border:1px solid #cbd8e7;border-radius:9px;background:#f7faff;color:#285f9e;font:850 9px/1 inherit;white-space:nowrap;cursor:pointer}
.conv-tool-btn:hover{background:#eaf3ff;border-color:#aac8ea}
.conv-name{display:flex;align-items:center;min-width:0;gap:4px}.conv-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conv-label-btn{margin-left:auto;display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:5px;font-size:13px!important;opacity:.42}
.conv-label-btn:hover{background:#eaf3ff;opacity:1}.conv-item:hover .conv-label-btn{opacity:1}
.conv-labels{padding-right:2px}
.head-name-line{display:flex;align-items:center;gap:6px;min-width:0}.head-name-line b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.head-label-button{border:0;background:transparent;color:#e0a100;font-size:15px;line-height:1;cursor:pointer;padding:2px;border-radius:5px}.head-label-button:hover{background:#fff7d6}
.composer-tool.has-labels{color:#b77900;background:#fff8df}
.composer-main textarea{min-height:84px!important;max-height:300px!important}.composer-main .bshq-btn{height:48px!important}
.label-head-actions{display:flex;align-items:center;gap:4px}.label-head-actions button,.label-popover-head>button{border:0;background:#eef3f8;color:#39536f;width:28px;height:28px;border-radius:7px;cursor:pointer;font-weight:900}
.label-create{grid-template-columns:38px minmax(0,1fr) 42px!important}.label-create input[type=color]{width:38px;height:36px;padding:3px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.label-manage-list{display:grid;gap:6px;max-height:285px;overflow:auto}.label-manage-row{display:grid;grid-template-columns:34px minmax(0,1fr) 32px 32px;gap:5px;align-items:center}.label-manage-row input[type=color]{width:34px;height:34px;padding:3px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.label-manage-row input[type=text]{height:34px;border:1px solid #cbd5e1;border-radius:8px;padding:0 8px;min-width:0}.label-manage-row button{height:32px;border:0;border-radius:8px;background:#eef4fb;color:#245d9e;font-weight:900;cursor:pointer}.label-manage-row button[data-label-delete]{background:#fff0f0;color:#c43131}.label-back-button{width:100%;height:34px;margin-top:8px;border:1px solid #d8e2ed;border-radius:9px;background:#f8fafc;color:#52677f;font-weight:800;cursor:pointer}
.mark-read-popover{position:fixed;z-index:100025;width:320px;max-height:390px;overflow:auto;background:#fff;border:1px solid #d7e2ef;border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.24);padding:10px}.mark-read-check{display:flex;align-items:center;gap:7px;padding:7px 5px 10px;color:#4b6079;font-size:10px;font-weight:750}.mark-read-action{width:100%;min-height:36px;border:1px solid #cdd9e7;border-radius:9px;background:#f7faff;color:#285f9e;font:850 10px/1.25 inherit;cursor:pointer;padding:8px}.mark-read-action.primary{background:#2f6fb6;border-color:#2f6fb6;color:#fff}.mark-read-action:disabled{opacity:.55;cursor:wait}.mark-read-section{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #e7edf4}.mark-read-section>b{font-size:10px;color:#304963}.mark-read-section input{height:36px;border:1px solid #cbd5e1;border-radius:8px;padding:0 7px;font:inherit;font-size:10px}
@media(max-width:760px){.conv-search-row{grid-template-columns:1fr}.conv-tool-btn{width:100%}.mark-read-popover{width:min(320px,calc(100vw - 20px))}.composer-main textarea{min-height:74px!important}}

/* ===== v0.6.3: token health, bulk-read modal, Zalo setup, Bot chat, nhãn một dòng ===== */
.conv-name-row{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:4px;min-width:0;line-height:1.15}
.conv-name-main{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}
.conv-name-row .conv-name-text{font-size:12.5px;font-weight:900;color:var(--bo-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conv-item.unread-item .conv-name-row .conv-name-text{color:#dc2626;font-weight:950}
.conv-name-row .conv-label-btn{margin:0!important;position:static!important;align-self:center;justify-self:end;opacity:.72!important}
.conv-name-row .flow-dot,.conv-name-row .phone-flag{flex:0 0 auto}
.head-name-line{flex-wrap:nowrap!important}.head-name-line b{min-width:0;flex:0 1 auto}.head-label-button{flex:0 0 24px}

/* Badge rail giờ chỉ hiển thị số chưa đọc. */
.conv-rail button>b[hidden]{display:none!important}

.mark-read-backdrop{position:fixed;inset:0;z-index:100024;background:rgba(15,23,42,.48);backdrop-filter:blur(3px)}
.mark-read-backdrop[hidden],.mark-read-popover[hidden]{display:none!important}
body.mark-read-open{overflow:hidden}
.mark-read-popover{position:fixed!important;z-index:100025!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(760px,calc(100vw - 32px))!important;max-height:min(760px,calc(100vh - 32px))!important;overflow:auto!important;background:#f8fafc!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:22px!important;box-shadow:0 28px 90px rgba(15,23,42,.38)!important;padding:0!important;color:#17243a}
.mark-read-head{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:52px minmax(0,1fr) 38px;align-items:center;gap:13px;padding:18px 20px;background:#fff;border-bottom:1px solid #e4eaf2}
.mark-read-head .mark-read-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#2f75bf,#1c5ea7);color:#fff;font-size:25px;font-weight:950;box-shadow:0 10px 24px rgba(37,99,169,.24)}
.mark-read-head small{display:block;color:#3271b7;font-size:8px;font-weight:950;letter-spacing:.13em}.mark-read-head b{display:block;margin-top:2px;font-size:20px}.mark-read-head span{display:block;margin-top:3px;color:#6b7d92;font-size:10px}.mark-read-head>button{width:36px;height:36px;border:0;border-radius:11px;background:#eef3f8;color:#415a75;font-size:20px;cursor:pointer}
.mark-read-scope{display:flex;align-items:center;gap:10px;margin:16px 18px 0;padding:12px 14px;background:#fff;border:1px solid #dfe7f0;border-radius:13px;cursor:pointer}.mark-read-scope input{width:18px;height:18px}.mark-read-scope span{display:flex;flex-direction:column}.mark-read-scope b{font-size:11px}.mark-read-scope small{margin-top:2px;color:#718196;font-size:9px}
.mark-read-all-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 18px 0;padding:15px 16px;border-radius:15px;background:linear-gradient(135deg,#eaf4ff,#f4f9ff);border:1px solid #cfe3f8}.mark-read-all-card>div{display:flex;flex-direction:column}.mark-read-all-card b{font-size:13px}.mark-read-all-card span{margin-top:4px;color:#657990;font-size:9px}.mark-read-all-card .mark-read-action{width:auto;min-width:180px}
.mark-read-divider{display:flex;align-items:center;gap:10px;margin:16px 18px 10px;color:#8a98aa;font-size:8px;font-weight:900;letter-spacing:.11em}.mark-read-divider:before,.mark-read-divider:after{content:"";height:1px;background:#dfe6ef;flex:1}
.mark-read-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px}.mark-read-section{display:flex!important;flex-direction:column;gap:8px!important;margin:0!important;padding:14px!important;background:#fff;border:1px solid #dfe7f0!important;border-radius:15px}.mark-read-section-title{display:flex;flex-direction:column}.mark-read-section-title b{font-size:12px}.mark-read-section-title span{margin-top:3px;color:#718196;font-size:9px}.mark-read-section label{display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:7px;color:#536981;font-size:9px;font-weight:800}.mark-read-section input{width:100%;height:38px!important;border:1px solid #cfd9e5!important;border-radius:10px!important;padding:0 10px!important;background:#fbfdff}.mark-read-presets{display:flex;gap:6px}.mark-read-presets button{height:28px;padding:0 9px;border:1px solid #cfe0f1;border-radius:8px;background:#f4f9ff;color:#2d66a3;font-size:8px;font-weight:850;cursor:pointer}.mark-read-action{min-height:40px!important;border-radius:10px!important;font-size:10px!important}.mark-read-action.primary{background:linear-gradient(135deg,#3479c1,#245fa4)!important}
.mark-read-note{margin:14px 18px 18px;padding:10px 12px;border-radius:11px;background:#fff7df;color:#7a5b10;font-size:9px;line-height:1.45;border:1px solid #f1dfaa}
@media(max-width:700px){.mark-read-popover{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:16px!important}.mark-read-time-grid{grid-template-columns:1fr}.mark-read-all-card{align-items:flex-start;flex-direction:column}.mark-read-all-card .mark-read-action{width:100%}.mark-read-head{grid-template-columns:44px minmax(0,1fr) 34px;padding:14px}.mark-read-head .mark-read-icon{width:44px;height:44px}}

.managed-account-row.token-invalid{border-color:#fecaca!important;background:#fff7f7!important}.managed-account-row.token-invalid .managed-name em{display:block;margin-top:5px;color:#c24141;font-size:9px;font-style:normal;font-weight:750}.pill.bad{background:#fee2e2!important;color:#b42318!important;border-color:#fecaca!important}

.zalo-token-box{margin:0 0 18px;padding:18px;border:1px solid #a9cdf7;border-radius:18px;background:linear-gradient(145deg,#eef7ff,#fff);box-shadow:0 14px 34px rgba(29,94,170,.12)}
.zalo-token-head{display:flex;align-items:center;gap:13px}.zalo-token-head>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#0878f9;color:#fff;font-size:24px;font-weight:950}.zalo-token-head small{font-size:8px;letter-spacing:.12em;color:#1768b9;font-weight:950}.zalo-token-head h3{margin:2px 0 0;font-size:18px}.zalo-token-head p{margin:3px 0 0;color:#6c7f95;font-size:9px}.zalo-token-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:15px}.zalo-token-grid>label,.zalo-config-label{display:flex;flex-direction:column;gap:5px;color:#435a74;font-size:9px;font-weight:900}.copy-field{display:grid;grid-template-columns:minmax(0,1fr) 58px}.copy-field input{height:39px;border:1px solid #c8d8ea;border-radius:10px 0 0 10px;padding:0 10px;background:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}.copy-field button{border:0;border-radius:0 10px 10px 0;background:#2d70b9;color:#fff;font-size:9px;font-weight:900;cursor:pointer}.zalo-config-label{margin-top:11px}.zalo-config-label textarea{width:100%;border:1px solid #c8d8ea;border-radius:11px;padding:11px;background:#172334;color:#d7ecff;font:9px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.zalo-token-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.zalo-token-actions code{color:#63778d;font-size:9px}.bridge-explain{margin:10px 0 14px;padding:12px 14px;border-radius:12px;background:#f3f8ff;border:1px solid #d9e8f8;color:#465e78}.bridge-explain b{font-size:11px}.bridge-explain ol{margin:7px 0 0 18px;padding:0;font-size:9px;line-height:1.7}.zalo-create-actions{display:flex;gap:8px}.device-list>h4{margin:16px 0 8px;font-size:11px}.device-copy{min-width:0;flex:1}.device-copy small{overflow-wrap:anywhere}.device-actions{display:flex;align-items:center;gap:5px}.device{gap:9px!important}.device code{font-size:8px}.zalo-bridge-card .login-steps span{min-width:0}
@media(max-width:700px){.zalo-token-grid{grid-template-columns:1fr}.zalo-token-actions,.zalo-create-actions{flex-direction:column;align-items:stretch}.device{align-items:flex-start!important;flex-wrap:wrap}.device-actions{width:100%;justify-content:flex-end}}

.bot-overview{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#173b67,#2869ae);color:#fff;box-shadow:0 18px 42px rgba(26,72,126,.2)}.bot-overview small{font-size:8px;letter-spacing:.14em;font-weight:950;color:#b9dbff}.bot-overview h2{margin:4px 0 0;font-size:24px}.bot-overview p{margin:5px 0 0;max-width:650px;color:#d9eaff;font-size:10px}.bot-overview-stats{display:flex;gap:8px}.bot-overview-stats span{display:flex;flex-direction:column;align-items:center;min-width:88px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.11);font-size:8px;color:#dcecff}.bot-overview-stats b{font-size:16px;color:#fff}
.bot-starter{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:13px 0;padding:12px 14px;border:1px solid #dfe7f0;border-radius:14px;background:#fff}.bot-starter>div:first-child{display:flex;flex-direction:column}.bot-starter b{font-size:12px}.bot-starter span{margin-top:3px;color:#718196;font-size:9px}.bot-template-buttons{display:flex;gap:6px;flex-wrap:wrap}.bot-template-buttons button{height:34px;padding:0 11px;border:1px solid #cfdceb;border-radius:10px;background:#f7faff;color:#2b5f96;font-size:9px;font-weight:850;cursor:pointer}.bot-template-buttons button:hover,.bot-template-buttons button.active{background:#e7f2ff;border-color:#9ec5ec;color:#174f8d}
.bot-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:14px;align-items:start}.bot-builder-card,.bot-flow-list{background:#fff;border:1px solid #dfe6ef;border-radius:17px;box-shadow:0 10px 28px rgba(20,40,70,.07);overflow:hidden}.bot-builder-card>header,.bot-flow-list>header{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #e5ebf2;background:#fbfdff}.bot-builder-card header small,.bot-flow-list header small{display:block;color:#2e6fb5;font-size:8px;font-weight:950;letter-spacing:.12em}.bot-builder-card header h3,.bot-flow-list header h3{margin:3px 0 0;font-size:17px}.bot-flow-list>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf3ff;color:#2364aa;font-weight:950}.bot-builder-form{padding:16px}.bot-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:14px;border:1px solid #dfe7f0;border-radius:15px;background:#fcfdff}.bot-step.action{border-color:#cde2f8;background:#f8fbff}.bot-step.safe{border-color:#dfe7f0;background:#fafbfd}.bot-step-number{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#2f70b5;color:#fff;font-size:14px;font-weight:950}.bot-step.action .bot-step-number{background:#0f8a78}.bot-step.safe .bot-step-number{background:#7a5fb2}.bot-step-body h4{margin:1px 0 0;font-size:14px}.bot-step-body>p{margin:3px 0 11px;color:#738398;font-size:9px}.bot-connector{text-align:center;height:28px;line-height:28px;color:#79a5d4;font-weight:950}.bot-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bot-form-grid.compact{grid-template-columns:1fr 1fr}.bot-form-grid .span-2{grid-column:1/-1}.bot-form-grid>label,.bot-time-range{display:flex;flex-direction:column;gap:5px;color:#415870;font-size:9px;font-weight:900}.bot-form-grid input,.bot-form-grid select,.bot-form-grid textarea{width:100%;border:1px solid #ccd8e5;border-radius:10px;background:#fff;color:#1f3046;padding:0 10px;font:inherit;font-size:10px}.bot-form-grid input,.bot-form-grid select{height:38px}.bot-form-grid textarea{padding:10px;line-height:1.5;resize:vertical}.bot-form-grid label>small{color:#7b8a9d;font-size:8px;font-weight:500}.bot-time-range>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bot-days>span{font-size:9px}.bot-days>div{display:flex;gap:5px;flex-wrap:wrap}.bot-days label{cursor:pointer}.bot-days input{position:absolute;opacity:0;pointer-events:none}.bot-days i{display:grid;place-items:center;width:34px;height:30px;border:1px solid #d2dce8;border-radius:8px;background:#fff;color:#65768a;font-style:normal;font-size:8px}.bot-days input:checked+i{background:#2f70b5;border-color:#2f70b5;color:#fff}.bot-live-preview{margin-top:12px;padding:12px 14px;border-radius:13px;background:#142b48;color:#fff}.bot-live-preview>small{font-size:7px;letter-spacing:.13em;color:#9bc8f6;font-weight:900}.bot-live-preview>div{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;gap:6px;margin-top:7px}.bot-live-preview span{padding:9px;border-radius:9px;background:rgba(255,255,255,.08);font-size:9px}.bot-live-preview i{text-align:center;color:#76b7f6;font-style:normal}.bot-save-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px}.bot-switch{display:flex;align-items:center;gap:8px;color:#425a73;font-size:9px;font-weight:850}.bot-switch>input{position:absolute;opacity:0}.bot-switch>span{position:relative;width:35px;height:20px;border-radius:999px;background:#cbd5e1}.bot-switch>span:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.16s}.bot-switch>input:checked+span{background:#23836f}.bot-switch>input:checked+span:after{transform:translateX(15px)}
.bot-flow-items{display:grid;gap:9px;padding:12px;max-height:650px;overflow:auto}.bot-flow-item{padding:12px;border:1px solid #e0e7ef;border-radius:13px;background:#fff}.bot-flow-item.off{opacity:.64}.bot-flow-top{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px}.bot-status-dot{width:8px;height:8px;border-radius:50%;background:#a8b3c1}.bot-flow-item.on .bot-status-dot{background:#20a077;box-shadow:0 0 0 4px #e0f6ef}.bot-flow-top b{display:block;font-size:11px}.bot-flow-top small{display:block;margin-top:2px;color:#7b8b9e;font-size:8px}.bot-flow-top em{padding:4px 7px;border-radius:999px;background:#e8f7f1;color:#188365;font-size:7px;font-style:normal;font-weight:900}.bot-flow-item.off .bot-flow-top em{background:#eef1f5;color:#667589}.bot-flow-path{display:grid;grid-template-columns:1fr 18px 1fr;align-items:center;gap:5px;margin-top:10px}.bot-flow-path>span{min-height:52px;padding:8px;border-radius:9px;background:#f6f9fc;color:#344b64;font-size:8px;line-height:1.4;overflow:hidden}.bot-flow-path small{display:block;margin-bottom:4px;color:#7b8da1;font-size:6.5px;font-weight:950;letter-spacing:.08em}.bot-flow-path i{text-align:center;color:#6294c8;font-style:normal}.bot-flow-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:9px}.bot-flow-actions a,.bot-flow-actions button{border:0;background:transparent;color:#2b67a6;font:850 8px/1 inherit;text-decoration:none;cursor:pointer}.bot-flow-actions button{color:#c43f3f}.bot-guide{margin:0 12px 12px;padding:11px 13px;border-radius:11px;background:#fff8e8;border:1px solid #f0dfb8;color:#725b25}.bot-guide b{font-size:9px}.bot-guide ol{margin:6px 0 0 17px;padding:0;font-size:8px;line-height:1.65}
@media(max-width:1050px){.bot-layout{grid-template-columns:1fr}.bot-flow-items{max-height:none}.bot-overview{align-items:flex-start;flex-direction:column}.bot-starter{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.bot-form-grid,.bot-form-grid.compact{grid-template-columns:1fr}.bot-form-grid .span-2{grid-column:auto}.bot-step{grid-template-columns:1fr}.bot-overview-stats{width:100%;overflow:auto}.bot-starter{padding:10px}.bot-template-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%}.bot-save-row{align-items:stretch;flex-direction:column}.bot-save-row .bshq-btn{width:100%}}

/* ===== v0.6.3 final: cân lại 3 cột, cảnh báo token và modal sạch ===== */
@media(min-width:1201px){
  .bshq-inbox{grid-template-columns:minmax(350px,25%) minmax(520px,1fr) minmax(360px,27%)!important}
}
.facebook-token-strip{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;background:#fff4e5;border-bottom:1px solid #f1c98e;color:#7b4b08}
.facebook-token-strip>div{min-width:0;display:flex;flex-direction:column}.facebook-token-strip b{font-size:10px}.facebook-token-strip span{margin-top:2px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.facebook-token-strip a{flex:0 0 auto;padding:7px 10px;border-radius:8px;background:#c65c16;color:#fff;text-decoration:none;font-size:8px;font-weight:900}
.facebook-token-strip a:hover{background:#a9470c}
.mark-read-popover{overflow-x:hidden!important}.mark-read-time-grid>*{min-width:0}.mark-read-section input{min-width:0}
.chat-head .head-person{min-width:0}.head-name-line{max-width:100%;width:max-content}.head-name-line b{max-width:min(320px,42vw)}
@media(max-width:1200px){.facebook-token-strip span{white-space:normal}.facebook-token-strip{align-items:flex-start}}
@media(max-width:700px){.facebook-token-strip{flex-direction:column}.facebook-token-strip a{width:100%;text-align:center}.head-name-line b{max-width:55vw}}

/* ================================================================
 * v0.7 BOT STUDIO + LABELS + COMPACT CHANNELS
 * ================================================================ */
.channel-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 18px}.channel-compact-card{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid #dbe7f5;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(30,64,175,.06)}.channel-compact-card .channel-logo{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;color:#fff}.channel-compact-card.facebook .channel-logo{background:#1877f2}.channel-compact-card.zalo .channel-logo{background:#0969ff}.channel-compact-card.tiktok .channel-logo{background:#111827}.channel-compact-card h3{margin:0 0 4px;font-size:17px;color:#12213d}.channel-compact-card p{margin:0;color:#71809c;font-size:13px}.channel-compact-card>b{font-size:12px;color:#275fae;background:#edf5ff;border-radius:999px;padding:6px 9px}.channel-compact-card .bshq-btn{grid-column:3}.omni-advanced-connections{border:1px solid #dce7f4;border-radius:16px;background:#f8fbff;margin-top:14px;overflow:hidden}.omni-advanced-connections>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;font-weight:900;color:#244d85;list-style:none}.omni-advanced-connections>summary::-webkit-details-marker{display:none}.omni-advanced-connections>summary small{font-weight:600;color:#8a98ad}.omni-advanced-connections-body{padding:0 16px 16px}.zalo-web-qr-panel{position:relative;background:#fff;border:1px solid #bcd5ff;border-radius:18px;padding:22px;margin:0 0 18px;box-shadow:0 12px 32px rgba(37,99,235,.11)}.zalo-web-qr-panel .qr-close{position:absolute;right:14px;top:12px;border:0;background:#edf3fb;border-radius:10px;width:36px;height:36px;font-size:22px;cursor:pointer}.zalo-web-qr-panel h3{margin:0 0 5px}.zalo-web-qr-panel p{margin:0 0 14px;color:#66758c}.zalo-web-qr-panel select{max-width:360px}.qr-stage{width:300px;min-height:300px;margin:18px 0;border:1px dashed #aac8f7;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#f8fbff;padding:14px}.qr-stage img{width:270px;height:270px;object-fit:contain}.qr-placeholder{color:#7b8aa2;text-align:center;padding:30px}

.label-settings-layout{display:grid;grid-template-columns:minmax(320px,430px) 1fr;gap:18px}.label-editor-card h3,.label-library-card h3{margin-top:0}.label-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.label-form-grid label,.field-wide{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#253550}.label-form-grid input,.label-form-grid select,.field-wide textarea{width:100%}.field-wide{margin-top:14px}.form-actions{display:flex;gap:10px;margin-top:16px}.label-library-card>header{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #e4ebf4;padding-bottom:14px;margin-bottom:8px}.label-library-card>header h3,.label-library-card>header p{margin:0}.label-library-card>header p{color:#8290a7;font-size:13px}.label-library-card>header input{max-width:260px}.label-admin-list article{display:flex;align-items:center;gap:12px;padding:13px 6px;border-bottom:1px solid #edf1f7}.label-admin-list article>div{min-width:0;flex:1}.label-admin-list article b,.label-admin-list article small{display:block}.label-admin-list article small{color:#77859b;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-color-dot{width:16px;height:16px;border-radius:50%;flex:0 0 auto}

.bot-studio-head{display:flex;justify-content:space-between;align-items:center}.studio-badge{background:#123f7f;color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.bot-studio-tabs{display:flex;gap:8px;background:#fff;border:1px solid #dae5f4;border-radius:14px;padding:7px;margin:0 0 18px;overflow:auto}.bot-studio-tabs a{padding:10px 16px;border-radius:10px;text-decoration:none;color:#5d6b82;font-weight:800;white-space:nowrap}.bot-studio-tabs a.active{background:#286cc1;color:#fff}.studio-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.studio-metrics article{background:#fff;border:1px solid #dfe8f4;border-radius:16px;padding:18px}.studio-metrics b{display:block;font-size:30px;color:#1d5fae}.studio-metrics span{color:#718099;font-weight:700}.studio-overview-grid,.ai-factory-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.studio-roadmap{list-style:none;margin:0;padding:0}.studio-roadmap li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid #edf1f6;counter-increment:road}.studio-roadmap li:before{content:counter(road);width:28px;height:28px;border-radius:9px;background:#e6f1ff;color:#1d64b9;display:flex;align-items:center;justify-content:center;font-weight:900}.studio-roadmap b,.studio-roadmap span{display:block}.studio-roadmap span{color:#75839a;margin-top:3px}.studio-actions-card{display:flex;flex-direction:column;gap:12px}.studio-actions-card p{color:#6e7d94}.flow-library>header,.suggestion-library>header,.flow-builder-main>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e7edf5;padding-bottom:14px;margin-bottom:16px}.flow-library>header h3,.flow-library>header p,.suggestion-library>header h3,.suggestion-library>header p{margin:0}.flow-library-grid,.suggestion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.flow-library-grid article,.suggestion-grid article{border:1px solid #dfe7f1;border-radius:15px;padding:15px;background:#fbfdff}.flow-card-top,.suggestion-meta{display:flex;justify-content:space-between;align-items:center}.flow-card-top em,.suggestion-meta em{font-size:11px;color:#8391a6}.flow-library-grid h4,.suggestion-grid h4{margin:14px 0 7px}.flow-library-grid p,.suggestion-grid p{color:#687890;min-height:38px}.flow-card-actions,.suggestion-grid article>div:last-child{display:flex;gap:8px;align-items:center;margin-top:14px}.flow-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.flow-simulator{position:sticky;top:24px}.flow-simulator textarea{width:100%}.flow-simulator pre{white-space:pre-wrap;max-height:420px;overflow:auto;background:#0e1d33;color:#dbeafe;border-radius:12px;padding:14px}.flow-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.flow-meta-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800}.flow-meta-grid .span-2{grid-column:span 2}.node-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0 12px;padding:12px;background:#edf5ff;border-radius:14px}.node-toolbar button{border:1px solid #bfd4ef;background:#fff;border-radius:9px;padding:8px 10px;cursor:pointer;font-weight:800;color:#285a96}.flow-node-list{display:flex;flex-direction:column;gap:10px}.flow-node{display:grid;grid-template-columns:38px 1fr;gap:12px;border:1px solid #dce6f2;border-radius:14px;padding:13px;background:#fff}.node-index{width:32px;height:32px;border-radius:10px;background:#2b70c7;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.flow-node header{display:flex;align-items:center;gap:8px;margin-bottom:9px}.flow-node header b{font-size:11px;color:#2b70c7;min-width:74px}.flow-node header input{flex:1}.flow-node header button{border:0;background:#edf2f8;border-radius:8px;width:30px;height:30px;cursor:pointer}.flow-node textarea,.flow-node>div>input{width:100%;margin-top:7px}.flow-save-bar{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid #e4ebf3}.knowledge-list{margin-top:16px}.knowledge-list article{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #edf1f5}.knowledge-list b,.knowledge-list small{display:block}.knowledge-list small{color:#8491a4}.suggestion-library{margin-top:18px}.suggestion-library>header>span{font-size:24px;font-weight:900;color:#2b6dbd}.suggestion-meta span{font-size:10px;background:#eaf2ff;color:#255ea4;padding:5px 7px;border-radius:999px;font-weight:900}

@media(max-width:1100px){.channel-compact-grid,.flow-library-grid,.suggestion-grid{grid-template-columns:1fr 1fr}.flow-builder-layout,.label-settings-layout,.studio-overview-grid,.ai-factory-grid{grid-template-columns:1fr}.flow-simulator{position:static}.studio-metrics{grid-template-columns:1fr 1fr}}@media(max-width:680px){.channel-compact-grid,.flow-library-grid,.suggestion-grid,.studio-metrics{grid-template-columns:1fr}.label-form-grid,.flow-meta-grid{grid-template-columns:1fr}.flow-meta-grid .span-2{grid-column:span 1}.channel-compact-card{grid-template-columns:48px 1fr}.channel-compact-card>b,.channel-compact-card .bshq-btn{grid-column:2}.bot-studio-tabs a{padding:9px 12px}.qr-stage{width:100%;min-height:240px}.qr-stage img{width:220px;height:220px}}

/* v0.7.3 — hội thoại gọn hơn, bỏ chấm xanh khó hiểu, bubble rõ chiều gửi/nhận */
.flow-dot{display:none!important}
.flow-pill{display:inline-flex;align-items:center;height:16px;max-width:78px;padding:0 6px;border-radius:999px;font-size:7.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#e8eef7;color:#52657f;flex:0 1 auto}
.flow-pill.flow-need_reply{background:#fff0db;color:#a45300}.flow-pill.flow-booking{background:#e8f1ff;color:#1558a6}.flow-pill.flow-followup{background:#eee9ff;color:#6543b5}.flow-pill.flow-done{background:#e5f7ec;color:#13713a}.flow-pill.flow-spam{background:#edf0f4;color:#667085}
.conv-item.unread-item{background:#f5f9ff!important;border-left:3px solid #2f73c8!important;padding-left:7px!important}
.conv-item.unread-item:hover{background:#edf5ff!important}.conv-item.unread-item.active{background:#e6f0ff!important;box-shadow:inset 3px 0 0 #1f66bc!important}
.conv-item.unread-item .conv-name-row .conv-name-text,.conv-item.unread-item .conv-name{color:#163c70!important}
.conv-item.unread-item .conv-preview{color:#40546e!important;font-weight:650}
.messages{background:linear-gradient(180deg,#f7f9fc 0%,#f2f6fb 100%);padding:18px 22px!important;gap:10px!important}
.msg{width:100%;display:flex}.msg.out{justify-content:flex-end}.msg.in{justify-content:flex-start}
.msg-stack{display:flex;flex-direction:column;max-width:min(72%,720px);min-width:72px}.msg.out .msg-stack{align-items:flex-end}.msg.in .msg-stack{align-items:flex-start}
.msg-sender{font-size:10px;font-weight:850;color:#57708e;margin:0 7px 4px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg .bubble{max-width:100%!important;min-width:54px;padding:10px 13px!important;border-radius:16px!important;background:#fff!important;border:1px solid #dfe7f1!important;box-shadow:0 2px 9px rgba(35,60,90,.055)!important;color:#1f3048!important;font-size:13px!important;line-height:1.42}
.msg.in .bubble{border-bottom-left-radius:5px!important}.msg.out .bubble{background:#dfeeff!important;border-color:#c5dbf6!important;border-bottom-right-radius:5px!important;color:#15365e!important}
.msg-text{white-space:normal;word-break:break-word}.msg-time{margin:4px 7px 0!important;font-size:8.5px!important;color:#8492a5!important;display:flex;align-items:center;gap:5px;min-height:12px}.msg.out .msg-time{justify-content:flex-end}
.msg-sync{color:#2470bf;font-weight:750}.send-pending{color:#9a6500}.send-failed{color:#c93636;font-weight:800}
@media(max-width:760px){.messages{padding:12px!important}.msg-stack{max-width:88%}.msg .bubble{font-size:12.5px!important}}


/* v0.7.4: không dùng chấm xanh trạng thái mơ hồ cạnh tên hội thoại */
.conv-name-row .flow-dot,.conv-name-row .status-dot,.conv-name-row .presence-dot,.conv-name-row .online-dot{display:none!important}
/* Bubble gọn hơn, giảm cảm giác khối trắng nặng */
.messages .msg-stack{max-width:min(76%,760px)}
.messages .bubble{border-radius:16px!important;box-shadow:0 2px 8px rgba(27,55,90,.06)!important}
.messages .msg.in .bubble{background:#fff!important;border:1px solid #e3eaf3!important}
.messages .msg.out .bubble{background:#e8f2ff!important;border:1px solid #c9ddf7!important}

/* ========================================================================
 * v0.7.9 — BOT STUDIO UX: rõ quy trình, hướng dẫn nhẹ, builder dễ hiểu
 * ======================================================================== */
.bot-studio-shell{--studio-blue:#2568b5;--studio-blue-dark:#164c89;--studio-ink:#17243a;--studio-muted:#64748b;--studio-line:#dce6f1;--studio-soft:#f5f9ff;display:flex;flex-direction:column;gap:16px;color:var(--studio-ink);font-size:13px;line-height:1.5}
.bot-studio-shell *{box-sizing:border-box}.bot-studio-shell h1,.bot-studio-shell h2,.bot-studio-shell h3,.bot-studio-shell h4,.bot-studio-shell p{margin-top:0}.bot-studio-shell input,.bot-studio-shell select,.bot-studio-shell textarea,.bot-studio-shell button{font:inherit}.bot-studio-shell input,.bot-studio-shell select,.bot-studio-shell textarea{border:1px solid #cbd8e7;border-radius:10px;background:#fff;color:#17243a;min-height:42px;padding:9px 11px;outline:none;transition:border-color .15s,box-shadow .15s}.bot-studio-shell textarea{resize:vertical;line-height:1.5}.bot-studio-shell input:focus,.bot-studio-shell select:focus,.bot-studio-shell textarea:focus{border-color:#4d8ed1;box-shadow:0 0 0 3px rgba(52,126,198,.13)}
.bot-studio-shell .bshq-card{border:1px solid var(--studio-line);border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(31,66,105,.055);padding:20px}.section-kicker{color:#2c6eb6;font-size:10px;font-weight:950;letter-spacing:.12em}.section-lead{color:var(--studio-muted);font-size:13px}.bot-studio-shell .bshq-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border-radius:10px;font-size:12px;font-weight:850;text-decoration:none;cursor:pointer}.bot-studio-shell .bshq-btn.primary{background:linear-gradient(135deg,#347dca,#245fa8);border-color:#245fa8;color:#fff}.bot-studio-shell .bshq-btn.tiny{min-height:32px;padding:6px 10px;font-size:11px}.bot-studio-shell .bshq-btn.danger{color:#b42318}.bot-studio-shell .inline-form{display:inline-flex;margin:0}

.bot-studio-hero{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:15px;padding:20px 22px;border-radius:20px;background:linear-gradient(135deg,#153d70 0%,#286fb9 62%,#3f86cd 100%);color:#fff;box-shadow:0 18px 42px rgba(27,82,145,.20)}.studio-hero-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;background:rgba(255,255,255,.14);font-size:29px;font-weight:950}.studio-eyebrow{display:block;color:#cbe5ff;font-size:9px;font-weight:950;letter-spacing:.14em}.studio-hero-copy h1{margin:2px 0 2px;font-size:26px;line-height:1.15;color:#fff}.studio-hero-copy p{margin:0;color:#e2efff;font-size:12px}.studio-hero-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.studio-version{padding:5px 9px;border-radius:999px;background:#fff;color:#154f91;font-size:10px;font-weight:950}.studio-safety{display:flex;align-items:center;gap:6px;color:#dceeff;font-size:10px;font-weight:800}.studio-safety i{width:7px;height:7px;border-radius:50%;background:#52dfaa;box-shadow:0 0 0 4px rgba(82,223,170,.14)}

.bot-studio-shell .bot-studio-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:7px;margin:0;border:1px solid #d7e3f1;border-radius:16px;background:#fff;overflow:visible}.bot-studio-shell .bot-studio-tabs a{display:flex;align-items:center;gap:9px;min-width:0;padding:10px 12px;border-radius:11px;color:#53667e;text-decoration:none;transition:.15s}.bot-studio-shell .bot-studio-tabs a:hover{background:#f2f7fd}.bot-studio-shell .bot-studio-tabs a.active{background:linear-gradient(135deg,#2f75c0,#2666aa);color:#fff;box-shadow:0 7px 16px rgba(36,101,170,.18)}.tab-number{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:#edf4fc;color:#2868ac;font-size:11px;font-weight:950}.active .tab-number{background:rgba(255,255,255,.18);color:#fff}.tab-copy{display:flex;min-width:0;flex-direction:column}.tab-copy b{font-size:12px;line-height:1.2}.tab-copy small{margin-top:2px;color:#8493a6;font-size:9px;white-space:nowrap}.active .tab-copy small{color:#dbeafe}

.studio-help{border:1px solid #d8e5f2;border-radius:15px;background:#f8fbff;overflow:hidden}.studio-help summary{display:grid;grid-template-columns:28px auto 1fr;align-items:center;gap:8px;padding:11px 14px;cursor:pointer;list-style:none}.studio-help summary::-webkit-details-marker{display:none}.studio-help summary>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e4f0fd;color:#2468af;font-weight:950}.studio-help summary>b{font-size:12px}.studio-help summary>small{color:#78899e;font-size:10px}.studio-help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 14px 14px}.studio-help-grid article{padding:11px;border:1px solid #e0eaf4;border-radius:11px;background:#fff}.studio-help-grid b{font-size:11px}.studio-help-grid p{margin:3px 0 0;color:#66788f;font-size:10px;line-height:1.45}

.bot-studio-shell .studio-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0}.bot-studio-shell .studio-metrics article{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid #dce6f1;border-radius:15px;background:#fff}.bot-studio-shell .studio-metrics article>div{min-width:0}.bot-studio-shell .studio-metrics b{display:block;color:#173d68;font-size:24px;line-height:1}.bot-studio-shell .studio-metrics small{display:block;margin-top:5px;color:#6f8095;font-size:10px;font-weight:750}.metric-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-size:17px;font-weight:950}.metric-icon.running{background:#e3f7ed;color:#168057}.metric-icon.flow{background:#e7f1ff;color:#2568b5}.metric-icon.docs{background:#fff4d9;color:#9b6a00}.metric-icon.draft{background:#f0eaff;color:#6b45b5}

.bot-studio-shell .studio-overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px}.studio-start-card h2{margin:4px 0 5px;font-size:20px}.studio-roadmap-v2{display:grid;gap:9px;margin-top:15px}.studio-roadmap-v2 article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:11px;border:1px solid #e1e8f0;border-radius:12px;background:#fbfdff}.studio-roadmap-v2 article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e9f2fc;color:#2367ad;font-weight:950}.studio-roadmap-v2 article.current{border-color:#9dc6ef;background:#f3f8ff}.studio-roadmap-v2 article.done{border-color:#b8e5d1;background:#f4fcf8}.studio-roadmap-v2 article.done>span{background:#dff5ea;color:#168057}.studio-roadmap-v2 b{font-size:12px}.studio-roadmap-v2 p{margin:2px 0 0;color:#66788e;font-size:10px}.studio-quick-card h3{margin:4px 0 12px;font-size:17px}.studio-choice{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:9px;padding:12px;border:1px solid #dce6f1;border-radius:13px;color:#1d314b;text-decoration:none}.studio-choice:hover{border-color:#9dc3e9;background:#f7fbff}.studio-choice>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf3ff;color:#266db5;font-size:16px}.studio-choice div{display:flex;min-width:0;flex-direction:column}.studio-choice b{font-size:12px}.studio-choice small{margin-top:2px;color:#6e8095;font-size:9px;line-height:1.4}.studio-choice>i{position:absolute;right:9px;top:8px;padding:3px 6px;border-radius:999px;background:#eef2f6;color:#627287;font-size:8px;font-style:normal;font-weight:900}.studio-choice.recommended{border-color:#a5d7c2;background:#f4fcf8}.studio-choice.recommended>span{background:#dff5ea;color:#168057}.studio-choice.recommended>i{background:#dcf5e8;color:#168057}.studio-safety-note{margin-top:12px;padding:11px 12px;border:1px solid #f0ddb0;border-radius:12px;background:#fff9e9;color:#72591e}.studio-safety-note b{font-size:11px}.studio-safety-note p{margin:3px 0 0;font-size:10px;line-height:1.5}.studio-glossary{display:grid!important;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:18px}.studio-glossary>div{display:flex;align-items:center;gap:10px}.glossary-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f2fc;color:#2869ad;font-weight:950}.studio-glossary b{font-size:12px}.studio-glossary p{margin:2px 0 0;color:#708198;font-size:9px}.studio-glossary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0}.studio-glossary dl>div{padding:10px;border-radius:11px;background:#f6f9fd}.studio-glossary dt{font-size:11px;font-weight:950;color:#245f9d}.studio-glossary dd{margin:2px 0 0;color:#63758c;font-size:9px}

.bot-studio-shell .flow-library{padding:20px}.bot-studio-shell .flow-library>header,.bot-studio-shell .suggestion-library>header,.bot-studio-shell .flow-builder-main>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 16px;padding:0 0 15px;border-bottom:1px solid #e3eaf2}.bot-studio-shell .flow-library>header h2,.bot-studio-shell .suggestion-library>header h2,.bot-studio-shell .flow-builder-main>header h2{margin:3px 0 2px;font-size:20px}.bot-studio-shell .flow-library>header p,.bot-studio-shell .suggestion-library>header p,.bot-studio-shell .flow-builder-main>header p{margin:0;color:#6b7e94;font-size:11px}.bot-studio-shell .flow-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.flow-card{display:flex;flex-direction:column;min-width:0;padding:15px;border:1px solid #dce5ef;border-radius:15px;background:#fff}.flow-card.is-live{border-top:4px solid #28a276;padding-top:12px}.flow-card.is-draft{border-top:4px solid #aeb9c6;padding-top:12px}.flow-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.flow-card-top em{color:#8492a5;font-size:9px;font-style:normal}.flow-card h3{margin:11px 0 5px;font-size:15px}.flow-card>p{margin:0;min-height:42px;color:#65778d;font-size:10px;line-height:1.5}.flow-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.flow-card-stats span{display:flex;min-width:0;flex-direction:column;padding:8px;border-radius:9px;background:#f5f8fc;color:#728298;font-size:8px}.flow-card-stats b{overflow:hidden;color:#284866;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.flow-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:13px}.studio-empty-state{display:flex;align-items:center;flex-direction:column;padding:46px 20px;text-align:center}.studio-empty-state>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#eaf3ff;color:#276bb2;font-size:27px}.studio-empty-state h3{margin:12px 0 4px;font-size:17px}.studio-empty-state p{max-width:480px;margin:0;color:#6b7d92;font-size:11px}.studio-empty-state>div{display:flex;gap:8px;margin-top:14px}.studio-empty-state.compact{padding:30px 18px}.studio-empty-state.compact>span{width:48px;height:48px;font-size:22px}

.builder-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.builder-progress>span{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dce5ef;border-radius:12px;background:#fff;color:#66788d}.builder-progress b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf2f7;color:#5e7189}.builder-progress i{font-size:10px;font-style:normal;font-weight:850}.builder-progress>span.active{border-color:#9dc5ec;background:#f4f9ff;color:#245e9e}.builder-progress>span.active b{background:#2d70b7;color:#fff}.bot-studio-shell .flow-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.bot-studio-shell .flow-builder-main{padding:20px}.draft-chip{padding:6px 9px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:9px;font-weight:900}.builder-section{padding:17px 0;border-bottom:1px solid #e5ebf2}.builder-section:first-of-type{padding-top:0}.builder-section-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;margin-bottom:14px}.builder-section-head>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#2d70b7;color:#fff;font-weight:950}.builder-section-head h3{margin:0;font-size:15px}.builder-section-head p{margin:2px 0 0;color:#6e8095;font-size:10px}.bot-studio-shell .flow-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bot-studio-shell .flow-meta-grid label,.advanced-grid label,.node-field,.ai-step-card form>label,.analysis-form label,.flow-simulator label{display:flex;min-width:0;flex-direction:column;gap:5px;color:#3d536d;font-size:10px;font-weight:850}.bot-studio-shell label>span{font-weight:900}.bot-studio-shell label>small{color:#7b8b9e;font-size:8.5px;font-weight:650;line-height:1.4}.bot-studio-shell .flow-meta-grid .span-2{grid-column:span 2}.builder-advanced{margin-top:13px;border:1px solid #dfe7f0;border-radius:12px;background:#f9fbfd}.builder-advanced summary{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;cursor:pointer;color:#315f90;font-size:10px;font-weight:900}.builder-advanced summary small{color:#7f8ea0;font-weight:650}.advanced-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 13px 13px}.input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto}.input-with-unit input{border-radius:10px 0 0 10px!important}.input-with-unit i{display:flex;align-items:center;padding:0 10px;border:1px solid #cbd8e7;border-left:0;border-radius:0 10px 10px 0;background:#f2f6fa;color:#6c7d91;font-size:9px;font-style:normal;font-weight:850}.bot-studio-shell .node-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 12px;padding:11px;border:1px solid #d8e5f2;border-radius:13px;background:#f3f8fe}.bot-studio-shell .node-toolbar>b{margin-right:2px;color:#325f8f;font-size:10px}.bot-studio-shell .node-toolbar button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 9px;border:1px solid #bfd4e9;border-radius:9px;background:#fff;color:#285d93;font-size:9px;font-weight:850;cursor:pointer}.bot-studio-shell .node-toolbar button:hover{border-color:#6fa6d8;background:#eaf4ff}.bot-studio-shell .node-toolbar button span{font-size:12px}.bot-studio-shell .flow-node-list{display:flex;flex-direction:column;gap:10px}.bot-studio-shell .flow-node{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:13px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.bot-studio-shell .flow-node:hover{border-color:#b5cee7;box-shadow:0 5px 18px rgba(35,78,122,.06)}.bot-studio-shell .node-index{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#2d70b7;color:#fff;font-size:12px;font-weight:950}.bot-studio-shell .node-content>header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin:0 0 10px;padding:0;border:0;background:none}.node-type{display:flex;min-width:0;flex-direction:column}.node-type b{color:#2867a7;font-size:11px}.node-type small{margin-top:1px;color:#8190a2;font-size:8.5px}.node-actions{display:flex;gap:5px}.bot-studio-shell .node-actions button{display:grid;place-items:center;width:29px;height:29px;border:0;border-radius:8px;background:#eef3f8;color:#526b85;cursor:pointer}.bot-studio-shell .node-actions button[data-remove]{color:#b42318}.node-field{margin-top:9px}.node-condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.system-node-note{display:flex;flex-direction:column;padding:11px;border-radius:10px;background:#f3f7fb}.system-node-note b{font-size:11px}.system-node-note span{margin-top:2px;color:#6f8094;font-size:9px}.flow-save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;padding-top:15px;border-top:1px solid #e2e9f1}.publish-check{display:flex;align-items:flex-start;gap:9px}.publish-check input{min-height:auto;width:17px;height:17px;margin-top:2px}.publish-check>span{display:flex;flex-direction:column}.publish-check b{font-size:10px}.publish-check small{color:#7c8b9e;font-size:8.5px}.flow-builder-aside{display:flex;flex-direction:column;gap:12px}.bot-studio-shell .flow-simulator{position:sticky;top:18px;padding:16px}.simulator-head{display:flex;align-items:center;gap:9px;margin-bottom:12px}.simulator-head>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e9f2fc;color:#2467ac}.simulator-head h3{margin:0;font-size:15px}.simulator-head p{margin:1px 0 0;color:#74869a;font-size:9px}.flow-simulator .bshq-btn{width:100%;margin-top:9px}.studio-sim-output{margin-top:11px;border:1px solid #dce5ef;border-radius:12px;background:#f8fafc;overflow:hidden}.sim-empty,.sim-error{display:flex;align-items:center;flex-direction:column;padding:22px 14px;text-align:center}.sim-empty b,.sim-error b{font-size:11px}.sim-empty span,.sim-error span{margin-top:3px;color:#78899d;font-size:9px}.sim-error{background:#fff7f7;color:#a72d2d}.sim-match{display:flex;flex-direction:column;padding:11px 12px;border-bottom:1px solid #dfe7f0}.sim-match.ok{background:#effaf5;color:#187653}.sim-match.no{background:#fff7e6;color:#885b00}.sim-match b{font-size:11px}.sim-match span{margin-top:2px;font-size:9px}.sim-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.sim-steps li{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;padding:10px 11px;border-bottom:1px solid #e7edf3}.sim-steps li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#e7f1fc;color:#2568aa;font-size:9px;font-weight:950}.sim-steps b{font-size:10px}.sim-steps p{margin:2px 0 0;color:#61738a;font-size:9px;white-space:pre-wrap}.sim-steps small{display:block;margin-top:3px;color:#9a6500;font-size:8px}.sim-foot{padding:8px 10px;color:#7e8da0;font-size:8px;text-align:center}.sim-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:22px}.sim-loading span{width:17px;height:17px;border:2px solid #c8dbef;border-top-color:#2d70b7;border-radius:50%;animation:studio-spin .8s linear infinite}.sim-loading b{font-size:10px}@keyframes studio-spin{to{transform:rotate(360deg)}}.builder-tips{padding:15px!important}.builder-tips h4{margin:0 0 8px;font-size:12px}.builder-tips ul{margin:0;padding-left:18px;color:#65778d;font-size:9px;line-height:1.7}

.ai-intro-banner{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:13px;padding:17px 19px;border:1px solid #bcd9f3;border-radius:17px;background:linear-gradient(135deg,#edf7ff,#f8fbff)}.ai-intro-banner>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#2d70b7;color:#fff;font-size:23px}.ai-intro-banner h2{margin:2px 0 2px;font-size:19px}.ai-intro-banner p{margin:0;color:#65788e;font-size:10px}.ai-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ai-step-card{padding:17px!important}.ai-step-card>header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:9px;margin-bottom:13px}.ai-step-card>header>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#2d70b7;color:#fff;font-weight:950}.ai-step-card h3{margin:0;font-size:14px}.ai-step-card header p{margin:2px 0 0;color:#718398;font-size:9px}.step-done{padding:4px 7px;border-radius:999px;background:#e1f6eb;color:#187b57;font-size:8px;font-style:normal;font-weight:900}.knowledge-upload-form{display:flex;flex-direction:column;gap:9px}.knowledge-drop{position:relative;display:flex;align-items:center!important;flex-direction:column!important;justify-content:center;min-height:132px;padding:15px;border:1.5px dashed #9dbfdf;border-radius:13px;background:#f7fbff;text-align:center;cursor:pointer}.knowledge-drop:hover{border-color:#4c8ac6;background:#eff7ff}.knowledge-drop>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e4f0fd;color:#2467aa;font-size:17px}.knowledge-drop b{margin-top:7px;font-size:11px}.knowledge-drop small{margin-top:2px;color:#75869a;font-size:8px}.knowledge-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.ai-step-tip{margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#f6f8fb;color:#687a90;font-size:8.5px;line-height:1.5}.ai-step-tip b{color:#38536f}.ai-step-tip p{margin:3px 0 0}.analysis-form{display:flex;flex-direction:column;gap:10px}.ai-step-card form textarea{width:100%}.ai-step-card .bshq-btn{width:100%}.bot-studio-shell .knowledge-list{display:flex;flex-direction:column;margin-top:12px}.bot-studio-shell .knowledge-list article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #e7edf3}.doc-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#eaf3ff;color:#276bb0}.knowledge-list b{display:block;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.knowledge-list small{display:block;margin-top:1px;color:#8492a4;font-size:8px}.icon-delete{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:8px;background:#fff0f0;color:#b42318;cursor:pointer}.mini-empty{padding:14px 8px;color:#7a8a9d;font-size:9px;text-align:center}.bot-studio-shell .suggestion-library{padding:20px}.bot-studio-shell .suggestion-library>header>span{display:grid;place-items:center;min-width:45px;height:45px;border-radius:13px;background:#eaf3ff;color:#276ab0;font-size:19px;font-weight:950}.bot-studio-shell .suggestion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bot-studio-shell .suggestion-grid article{display:flex;flex-direction:column;padding:14px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.bot-studio-shell .suggestion-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.bot-studio-shell .suggestion-meta span{padding:4px 7px;border-radius:999px;background:#e8f2ff;color:#2564a4;font-size:8px;font-weight:950}.bot-studio-shell .suggestion-meta em{color:#8493a5;font-size:8px;font-style:normal}.bot-studio-shell .suggestion-grid h3{margin:11px 0 5px;font-size:13px}.bot-studio-shell .suggestion-grid article>p{margin:0;color:#66788e;font-size:9.5px;line-height:1.5}.suggestion-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}

@media(max-width:1180px){.studio-help-grid{grid-template-columns:1fr 1fr}.bot-studio-shell .flow-library-grid,.bot-studio-shell .suggestion-grid{grid-template-columns:1fr 1fr}.ai-steps-grid{grid-template-columns:1fr 1fr}.ai-generate-card{grid-column:span 2}.bot-studio-shell .flow-builder-layout{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:900px){.bot-studio-shell .bot-studio-tabs{grid-template-columns:1fr 1fr}.bot-studio-shell .studio-metrics{grid-template-columns:1fr 1fr}.bot-studio-shell .studio-overview-grid,.bot-studio-shell .flow-builder-layout{grid-template-columns:1fr}.bot-studio-shell .flow-simulator{position:static}.studio-glossary{grid-template-columns:1fr}.ai-steps-grid{grid-template-columns:1fr}.ai-generate-card{grid-column:auto}}
@media(max-width:680px){.bot-studio-hero{grid-template-columns:46px minmax(0,1fr);padding:16px}.studio-hero-icon{width:46px;height:46px}.studio-hero-status{grid-column:1/-1;align-items:flex-start;flex-direction:row}.bot-studio-shell .bot-studio-tabs{grid-template-columns:1fr}.studio-help-grid,.bot-studio-shell .studio-metrics,.bot-studio-shell .flow-library-grid,.bot-studio-shell .suggestion-grid,.bot-studio-shell .flow-meta-grid,.advanced-grid,.node-condition-grid,.builder-progress,.studio-glossary dl{grid-template-columns:1fr}.bot-studio-shell .flow-meta-grid .span-2{grid-column:auto}.studio-glossary{display:flex!important;align-items:stretch;flex-direction:column}.flow-save-bar,.bot-studio-shell .flow-library>header,.bot-studio-shell .suggestion-library>header,.bot-studio-shell .flow-builder-main>header{align-items:stretch;flex-direction:column}.publish-check{width:100%}.flow-save-bar .bshq-btn{width:100%}.studio-empty-state>div{width:100%;flex-direction:column}.studio-empty-state .bshq-btn{width:100%}.bot-studio-shell .flow-node{grid-template-columns:30px minmax(0,1fr);padding:10px}.bot-studio-shell .node-index{width:28px;height:28px}.node-content>header{align-items:stretch!important;flex-direction:column}.node-actions{justify-content:flex-end}.flow-card-stats{grid-template-columns:1fr}.tab-copy small{white-space:normal}}

/* v0.7.10 — AI master switch: tách bật/tắt khỏi provider. */

/* ================================================================
 * v0.8.0 CONVERSATION MATRIX + SLOT FILLING
 * ================================================================ */
.matrix-generator{margin:0 0 16px;border:1px solid #b9d6f3;border-radius:18px;background:linear-gradient(135deg,#edf7ff,#fff);overflow:hidden;box-shadow:0 10px 28px rgba(31,91,157,.08)}
.matrix-generator>summary{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 17px;cursor:pointer;list-style:none}.matrix-generator>summary::-webkit-details-marker{display:none}
.matrix-generator>summary .matrix-spark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#286fbd;color:#fff;font-size:20px}.matrix-generator>summary div{display:flex;min-width:0;flex-direction:column}.matrix-generator>summary b{font-size:13px;color:#173d68}.matrix-generator>summary small{margin-top:3px;color:#6b7f96;font-size:9px}.matrix-generator>summary i{padding:6px 9px;border-radius:999px;background:#dff2ea;color:#137051;font-size:8px;font-style:normal;font-weight:900}
.matrix-generator-body{padding:0 17px 17px}.matrix-generator-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px;border:1px solid #d9e8f6;border-radius:14px;background:#fff}.matrix-generator-form .span-2{grid-column:1/-1}.matrix-generator-form label{display:flex;flex-direction:column;gap:6px}.matrix-generator-form label>span{font-size:10px;font-weight:900;color:#284563}.matrix-generator-form label>small{font-size:8px;color:#8090a2}.matrix-generator-form textarea,.matrix-generator-form input{width:100%}.matrix-submit-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:11px;border-top:1px solid #e3ebf4}.matrix-submit-row>div{display:flex;flex-direction:column}.matrix-submit-row b{font-size:10px}.matrix-submit-row span{margin-top:2px;color:#718399;font-size:8.5px}
.node-id-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:9px;border-radius:11px;background:#f7fafc}.node-id-grid .node-field{margin:0}.node-content>header code{margin-left:auto;padding:4px 7px;border-radius:7px;background:#edf4fb;color:#315e89;font-size:8px}.node-type{flex:1}.mini-switch{display:flex!important;align-items:center!important;flex-direction:row!important;gap:8px!important;padding:8px 9px;border:1px solid #dce6ef;border-radius:10px;background:#f8fafc}.mini-switch input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important}.mini-switch b{font-size:9px;color:#34536f}
.flow-node.type-collect{border-left:4px solid #0ea5a8}.flow-node.type-decision{border-left:4px solid #f59e0b}.flow-node.type-recommend{border-left:4px solid #8b5cf6}.flow-node.type-booking{border-left:4px solid #16a34a}.flow-node.type-handover{border-left:4px solid #dc2626}.sim-steps code{padding:2px 5px;border-radius:5px;background:#edf3f8;color:#45647f;font-size:7px;font-weight:700}
@media(max-width:760px){.matrix-generator>summary{grid-template-columns:40px 1fr}.matrix-generator>summary i{grid-column:1/-1;width:max-content}.matrix-generator-form,.node-id-grid{grid-template-columns:1fr}.matrix-generator-form .span-2,.matrix-submit-row{grid-column:auto}.matrix-submit-row{align-items:stretch;flex-direction:column}.matrix-submit-row .bshq-btn{width:100%}}

/* v0.8.1 - background matrix generation */
.matrix-job-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 14px;padding:14px 16px;border:1px solid #b9d6f3;background:#f3f9ff}
.matrix-job-card b{font-size:11px;color:#173d68}.matrix-job-card p{margin:3px 0 0;color:#62758c;font-size:9px;line-height:1.45}
.matrix-job-spinner{width:28px;height:28px;border:3px solid #d8e8f8;border-top-color:#286fbd;border-radius:50%;animation:bshqMatrixSpin .9s linear infinite}
.matrix-job-card.status-completed{border-color:#a7dfc5;background:#effbf5}.matrix-job-card.status-completed .matrix-job-spinner{border:0;background:#20a36a;animation:none;position:relative}.matrix-job-card.status-completed .matrix-job-spinner:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900}
.matrix-job-card.status-failed,.matrix-job-card.status-skipped{border-color:#efc5c8;background:#fff5f5}.matrix-job-card.status-failed .matrix-job-spinner,.matrix-job-card.status-skipped .matrix-job-spinner{border:0;background:#d85b64;animation:none}
@keyframes bshqMatrixSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.matrix-job-card{grid-template-columns:30px minmax(0,1fr)}.matrix-job-card .bshq-btn{grid-column:1/-1;width:100%}}

/* ========================================================================
 * v0.8.2 - Visual Workflow Builder (n8n-style, vanilla JS)
 * ======================================================================== */
.workflow-editor-form{margin:0!important}
.workflow-ai-generator{margin-bottom:14px}
.workflow-editor-shell{overflow:hidden;border:1px solid #cfe0f1;border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(29,73,122,.12);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#172b4d}
.workflow-editor-shell *{box-sizing:border-box}
.workflow-editor-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid #dbe7f2;background:linear-gradient(180deg,#fff,#f8fbff)}
.workflow-title-block{min-width:0}.workflow-kicker{display:block;margin-bottom:3px;color:#3774b7;font-size:10px;font-weight:950;letter-spacing:.09em}.workflow-title-line{display:flex;align-items:center;gap:10px;min-width:0}.workflow-title-line h2{overflow:hidden;margin:0;color:#153962;font-size:20px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.workflow-title-block>p{margin:5px 0 0;color:#6a7d92;font-size:11px}.workflow-status{display:inline-flex;align-items:center;flex:none;padding:5px 9px;border-radius:999px;background:#eef3f8;color:#60758b;font-size:9px;font-weight:900}.workflow-status.live{background:#e3f8ee;color:#16805b}.workflow-status.draft{background:#fff5db;color:#956400}
.workflow-top-actions{display:flex;align-items:center;gap:8px;flex:none}.wf-top-btn{min-height:38px;padding:0 14px;border:1px solid #bdd0e5;border-radius:11px;background:#fff;color:#245f9e;font:800 11px/1 inherit;cursor:pointer;box-shadow:0 3px 8px rgba(28,74,124,.05)}.wf-top-btn:hover{border-color:#6da2d7;background:#f4f9ff}.wf-top-btn.primary{border-color:#1767bf;background:linear-gradient(135deg,#2579d2,#175ba8);color:#fff;box-shadow:0 8px 18px rgba(28,100,181,.23)}
.workflow-settings-drawer{border-bottom:1px solid #dbe7f2;background:#fbfdff}.workflow-settings-drawer>summary{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 18px;cursor:pointer;list-style:none}.workflow-settings-drawer>summary::-webkit-details-marker{display:none}.workflow-settings-drawer>summary>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e9f3ff;color:#2670bb}.workflow-settings-drawer>summary div{display:flex;min-width:0;flex-direction:column}.workflow-settings-drawer>summary b{font-size:11px}.workflow-settings-drawer>summary small{margin-top:2px;color:#72849a;font-size:9px}.workflow-settings-drawer>summary i{color:#6e8298;font-size:9px;font-style:normal;font-weight:800}.workflow-settings-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px;padding:2px 18px 16px}.workflow-settings-grid .span-2{grid-column:span 2}.workflow-settings-grid label{display:flex;min-width:0;flex-direction:column;gap:5px}.workflow-settings-grid label>span{color:#2b4968;font-size:9px;font-weight:900}.workflow-settings-grid label>small{color:#7a8b9f;font-size:8px;line-height:1.4}.workflow-settings-grid input,.workflow-settings-grid textarea,.workflow-settings-grid select{width:100%;min-height:37px;padding:9px 10px;border:1px solid #cbd9e7;border-radius:9px;background:#fff;color:#172b4d;font:500 11px/1.35 inherit;outline:none}.workflow-settings-grid textarea{resize:vertical}.workflow-settings-grid input:focus,.workflow-settings-grid textarea:focus,.workflow-settings-grid select:focus{border-color:#3b82d0;box-shadow:0 0 0 3px rgba(59,130,208,.11)}
.workflow-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #d9e6f2;background:#f7faff}.wf-palette{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:2px}.wf-palette button,.wf-canvas-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:34px;padding:0 10px;border:1px solid #c8d8e8;border-radius:9px;background:#fff;color:#315b85;font:850 9px/1 inherit;white-space:nowrap;cursor:pointer}.wf-palette button:hover,.wf-canvas-actions button:hover{border-color:#5993cb;background:#eef6ff;color:#175b9e}.wf-palette button span{font-size:13px}.wf-palette .wf-more-node{color:#66778a}.wf-canvas-actions{display:flex;align-items:center;gap:5px;flex:none}.wf-canvas-actions b{min-width:48px;color:#365675;font-size:9px;text-align:center}
.workflow-editor-main{display:grid;grid-template-columns:minmax(0,1fr) 345px;min-height:640px;background:#f5f8fc}.workflow-canvas-viewport{position:relative;min-width:0;overflow:hidden;border-right:1px solid #d8e5f0;background-color:#fbfdff;background-image:radial-gradient(circle,#cbd9e8 1px,transparent 1px);background-size:20px 20px;cursor:grab;touch-action:none}.workflow-canvas-viewport.panning{cursor:grabbing}.workflow-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.workflow-edges{position:absolute;inset:0;overflow:visible;pointer-events:none}.workflow-edges .wf-edge{fill:none;stroke:#7890aa;stroke-width:2.2;opacity:.92;filter:drop-shadow(0 1px 0 #fff)}.workflow-edges .wf-edge.kind-branch{stroke:#8358cf}.workflow-edges .wf-edge.kind-default{stroke:#4d9b78;stroke-dasharray:5 4}.workflow-edges .wf-edge.kind-trigger{stroke:#2f8b64}.workflow-edges .wf-edge.kind-true{stroke:#268d65}.workflow-edges .wf-edge.kind-false{stroke:#d4666e}.workflow-edges .wf-edge-label text{paint-order:stroke;stroke:#fff;stroke-width:7px;stroke-linejoin:round;fill:#4d6279;font-size:10px;font-weight:900}
.workflow-node-layer{position:absolute;inset:0}.wf-node{position:absolute;width:226px;min-height:118px;padding:0;border:1px solid #ccdae7;border-left:4px solid var(--node-color,#2d76be);border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(24,62,104,.1);cursor:pointer;user-select:none;transition:box-shadow .16s,border-color .16s,transform .16s}.wf-node:hover{border-color:#80a9d2;box-shadow:0 12px 27px rgba(25,69,116,.16);transform:translateY(-1px)}.wf-node.selected{border-color:var(--node-color,#2878d0);box-shadow:0 0 0 3px color-mix(in srgb,var(--node-color,#2878d0) 20%,transparent),0 15px 30px rgba(23,64,109,.17)}.wf-node.dragging{z-index:20;cursor:grabbing;transition:none}.wf-node header{display:grid;grid-template-columns:36px minmax(0,1fr) 23px;align-items:center;gap:8px;padding:11px 11px 8px;cursor:grab}.wf-node-drag:active{cursor:grabbing}.wf-node-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--node-color,#2878d0) 14%,#fff);color:var(--node-color,#2878d0);font-size:16px;font-weight:950}.wf-node header div{display:flex;min-width:0;flex-direction:column}.wf-node header b{overflow:hidden;color:#1c3857;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.wf-node header small{margin-top:2px;color:#7a8b9c;font-size:8px}.wf-node header em{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#f1f5f9;color:#60758c;font-size:8px;font-style:normal;font-weight:900}.wf-node>p{min-height:35px;margin:0;padding:0 11px;color:#60758b;font-size:9px;line-height:1.45}.wf-node>footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;padding:8px 10px;border-top:1px solid #edf2f7}.wf-node footer code{overflow:hidden;max-width:105px;padding:3px 5px;border-radius:5px;background:#f3f6f9;color:#577088;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.wf-node footer>span{display:flex;gap:4px}.wf-node footer i{padding:3px 5px;border-radius:999px;background:#eef5fc;color:#3a6a98;font-size:7px;font-style:normal;font-weight:900}.wf-port{position:absolute;top:50%;z-index:2;width:12px;height:12px;margin-top:-6px;border:3px solid #fff;border-radius:50%;background:#7890aa;box-shadow:0 0 0 1px #7890aa}.wf-port.in{left:-8px}.wf-port.out{right:-8px}.wf-trigger-node{width:215px;min-height:112px;border-left-color:#269268;--node-color:#269268}.wf-trigger-node header{grid-template-columns:36px minmax(0,1fr)}.wf-trigger-node>p{min-height:30px}.wf-trigger-node footer code{max-width:180px}
.workflow-canvas-help{position:absolute;left:14px;bottom:12px;padding:6px 9px;border:1px solid #d9e5f0;border-radius:8px;background:rgba(255,255,255,.9);color:#667a90;font-size:8px;font-weight:700;pointer-events:none}.workflow-minimap{position:absolute;right:13px;bottom:13px;width:154px;height:94px;padding:6px;border:1px solid #cbdbe9;border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(27,68,112,.12);pointer-events:none}.workflow-minimap>div{position:relative;width:140px;height:82px;overflow:hidden;border-radius:6px;background:#f3f7fb}.mini-node{position:absolute;width:13px;height:8px;border-radius:2px;transform:translate(-50%,-50%)}.mini-trigger{position:absolute;width:14px;height:9px;border-radius:2px;background:#269268;transform:translate(-50%,-50%)}
.workflow-inspector{display:flex;min-width:0;flex-direction:column;background:#fff}.wf-inspector-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:35px;flex-direction:column;text-align:center}.wf-inspector-empty>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#edf5fd;color:#2c72b7;font-size:25px}.wf-inspector-empty h3{margin:12px 0 5px;color:#274765;font-size:16px}.wf-inspector-empty p{max-width:250px;margin:0;color:#75879a;font-size:10px;line-height:1.55}.wf-inspector-head{display:grid;grid-template-columns:42px minmax(0,1fr) 30px;align-items:start;gap:10px;padding:15px 14px;border-bottom:1px solid #dfe8f1;background:#fbfdff}.wf-inspector-head>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:color-mix(in srgb,var(--node-color,#2878d0) 14%,#fff);color:var(--node-color,#2878d0);font-size:18px}.wf-inspector-head div{min-width:0}.wf-inspector-head small{color:#7d8fa1;font-size:8px;font-weight:900}.wf-inspector-head h3{overflow:hidden;margin:2px 0;color:#203f60;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.wf-inspector-head p{margin:0;color:#77899b;font-size:8px}.wf-inspector-head button{width:29px;height:29px;border:0;border-radius:8px;background:#f1f5f9;color:#718399;font-size:17px;cursor:pointer}.wf-inspector-scroll{flex:1;overflow:auto;padding:13px}.wf-field{display:flex;min-width:0;flex-direction:column;gap:5px;margin-bottom:11px}.wf-field>span{color:#31506f;font-size:9px;font-weight:900}.wf-field>small{color:#8190a0;font-size:7.5px;line-height:1.4}.wf-field input,.wf-field textarea,.wf-field select{width:100%;min-height:36px;padding:8px 9px;border:1px solid #cbd9e6;border-radius:8px;background:#fff;color:#1c344e;font:500 10px/1.4 inherit;outline:none}.wf-field textarea{resize:vertical}.wf-field input:focus,.wf-field textarea:focus,.wf-field select:focus{border-color:#3881c9;box-shadow:0 0 0 3px rgba(56,129,201,.1)}.wf-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wf-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.wf-type-chip{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:12px;padding:8px;border:1px solid #e1e9f1;border-radius:9px;background:#f8fbfe}.wf-type-chip>span{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;color:#fff}.wf-type-chip b{font-size:10px}.wf-type-chip small{color:#778a9e;font-size:8px}.wf-structured-list{margin:0 0 12px}.wf-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.wf-list-head b{font-size:10px}.wf-list-head button{height:29px;padding:0 8px;border:1px solid #bcd0e3;border-radius:7px;background:#fff;color:#2c6ba9;font:850 8px/1 inherit;cursor:pointer}.wf-slot-row,.wf-rule-row{margin-bottom:9px;padding:9px;border:1px solid #dce6ef;border-radius:10px;background:#f9fbfd}.wf-row-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.wf-row-title b{color:#2a4a6a;font-size:9px}.wf-row-title button{width:24px;height:24px;border:0;border-radius:7px;background:#fff0f1;color:#bc3e4d;cursor:pointer}.wf-switch{display:flex;align-items:center;gap:7px}.wf-switch input{display:none}.wf-switch span{position:relative;width:35px;height:19px;border-radius:999px;background:#cbd7e3;transition:.2s}.wf-switch span:after{content:"";position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.wf-switch input:checked+span{background:#2582cf}.wf-switch input:checked+span:after{transform:translateX(16px)}.wf-switch b{font-size:9px}.wf-system-note{display:flex;gap:3px;padding:10px;border:1px solid #d7e6f3;border-radius:10px;background:#f1f8ff;flex-direction:column}.wf-system-note b{color:#245d91;font-size:10px}.wf-system-note span{color:#677d92;font-size:8px;line-height:1.45}.wf-inspector-actions{display:flex;gap:8px;padding:11px 13px;border-top:1px solid #dfe8f1;background:#fbfdff}.wf-inspector-actions button{flex:1;height:34px;border:1px solid #bfd1e2;border-radius:8px;background:#fff;color:#2e658f;font:850 9px/1 inherit;cursor:pointer}.wf-inspector-actions button.danger{border-color:#efc3c8;color:#b53745;background:#fff8f8}
.workflow-simulator-drawer{border-top:1px solid #d9e5ef;background:#fff}.workflow-simulator-drawer>summary{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 15px;cursor:pointer;list-style:none}.workflow-simulator-drawer>summary::-webkit-details-marker{display:none}.workflow-simulator-drawer>summary>span{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#e8f3ff;color:#286eaf}.workflow-simulator-drawer>summary div{display:flex;flex-direction:column}.workflow-simulator-drawer>summary b{font-size:10px}.workflow-simulator-drawer>summary small{margin-top:2px;color:#778a9d;font-size:8px}.workflow-simulator-drawer>summary i{font-size:8px;font-style:normal;color:#74869a}.workflow-simulator-body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px;padding:0 14px 14px}.workflow-sim-input{padding:11px;border:1px solid #dce6ef;border-radius:11px;background:#f8fbfe}.workflow-sim-input label{display:flex;flex-direction:column;gap:5px}.workflow-sim-input label>span{font-size:9px;font-weight:900}.workflow-sim-input textarea{width:100%;padding:9px;border:1px solid #c9d8e6;border-radius:8px;font:500 10px/1.45 inherit}.workflow-sim-input .bshq-btn{width:100%;margin-top:8px}.workflow-sim-output{max-height:330px;overflow:auto;border:1px solid #dce6ef;border-radius:11px;background:#fff}.workflow-sim-output .sim-steps{display:flex;gap:8px;overflow-x:auto;padding:10px;list-style:none}.workflow-sim-output .sim-steps li{display:grid;grid-template-columns:29px 180px;gap:8px;flex:none;padding:9px;border:1px solid #dfe8f0;border-radius:9px;background:#fbfdff}.workflow-sim-output .sim-steps li>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;color:#fff}.workflow-sim-output .sim-steps b{font-size:9px}.workflow-sim-output .sim-steps p{margin:4px 0;color:#667b90;font-size:8px;line-height:1.4}.workflow-sim-output .sim-steps small{display:block;color:#4b739d;font-size:7px}.workflow-sim-output .sim-match,.workflow-sim-output .sim-foot{margin:10px}.workflow-sim-output .sim-match{padding:9px;border-radius:8px}.workflow-sim-output .sim-match.ok{background:#eaf8f1;color:#187657}.workflow-sim-output .sim-match.no{background:#fff3e0;color:#9b6514}.workflow-sim-output .sim-match b,.workflow-sim-output .sim-match span{display:block;font-size:9px}.workflow-sim-output .sim-foot{color:#718499;font-size:8px}.workflow-sim-output .sim-error,.workflow-sim-output .sim-loading,.workflow-sim-output .sim-empty{display:flex;align-items:center;justify-content:center;min-height:120px;gap:4px;padding:20px;flex-direction:column;color:#6f8296}.workflow-sim-output .sim-error{color:#b43d49}
@media(max-width:1250px){.workflow-editor-main{grid-template-columns:minmax(0,1fr) 310px}.workflow-settings-grid{grid-template-columns:1fr 1fr}.workflow-settings-grid .span-2{grid-column:span 2}.wf-palette button{padding:0 8px}.wf-palette button:not(:nth-child(-n+5)){font-size:0}.wf-palette button:not(:nth-child(-n+5)) span{font-size:13px}}
@media(max-width:920px){.workflow-editor-topbar{align-items:flex-start;flex-direction:column}.workflow-top-actions{width:100%;justify-content:flex-end}.workflow-editor-main{grid-template-columns:1fr}.workflow-canvas-viewport{min-height:560px;border-right:0;border-bottom:1px solid #d8e5f0}.workflow-inspector{min-height:420px}.workflow-settings-grid{grid-template-columns:1fr}.workflow-settings-grid .span-2{grid-column:auto}.workflow-canvas-toolbar{align-items:flex-start;flex-direction:column}.wf-canvas-actions{align-self:flex-end}.workflow-simulator-body{grid-template-columns:1fr}}
@media(max-width:620px){.workflow-editor-shell{border-radius:14px}.workflow-title-line{align-items:flex-start;flex-direction:column}.workflow-title-line h2{white-space:normal}.workflow-top-actions{display:grid;grid-template-columns:1fr 1fr}.workflow-top-actions .primary{grid-column:1/-1}.wf-top-btn{width:100%}.wf-two-cols,.wf-rule-grid{grid-template-columns:1fr}.workflow-canvas-viewport{min-height:500px}.workflow-minimap{display:none}.workflow-canvas-help{right:10px;text-align:center}.wf-palette{width:100%}.wf-canvas-actions{align-self:stretch;overflow-x:auto}.workflow-inspector{min-height:480px}}


/* ========================================================================== 
 * v0.8.3 - Workflow Layout Stability
 * Component-responsive editor: fixed canvas height, internal inspector scroll,
 * compact overlay inspector, node menu and full-screen focus mode.
 * ========================================================================== */
.bshq-settings-shell.workflow-mode{width:calc(100% - 24px);max-width:none;grid-template-columns:220px minmax(0,1fr);gap:14px}
.bshq-settings-shell.workflow-mode .bshq-settings-content{min-width:0;overflow:visible}
.workflow-editor-shell{container-type:inline-size;isolation:isolate}
.workflow-editor-main{position:relative;height:clamp(620px,72vh,860px);min-height:620px;overflow:hidden;align-items:stretch}
.workflow-canvas-viewport{height:100%;min-height:0}
.workflow-inspector{height:100%;min-height:0;overflow:hidden}
.wf-inspector-scroll{min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable}

.workflow-canvas-toolbar{position:relative;z-index:40;flex-wrap:wrap;padding:10px 12px;background:#f8fbff}
.wf-toolbar-primary{display:flex;min-width:0;align-items:center;gap:8px;flex:1 1 520px}
.wf-toolbar-btn,.wf-add-menu>summary,.wf-canvas-actions>button,.wf-zoom-group button{display:inline-flex;height:38px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid #c7d8e8;border-radius:10px;background:#fff;color:#285d91;font-family:inherit;font-size:11px;font-weight:850;line-height:1;white-space:nowrap;cursor:pointer;box-sizing:border-box}
.wf-toolbar-btn:hover,.wf-add-menu>summary:hover,.wf-canvas-actions>button:hover,.wf-zoom-group button:hover{border-color:#5b94cb;background:#eef6ff;color:#155b9e}
.wf-toolbar-btn.ai{color:#6d43b8;border-color:#d9c9f2;background:#faf7ff}
.wf-add-menu{position:relative;flex:0 0 auto}
.wf-add-menu>summary{list-style:none;min-width:132px}
.wf-add-menu>summary::-webkit-details-marker{display:none}
.wf-add-menu>summary>span{font-size:17px}.wf-add-menu>summary>i{margin-left:auto;font-style:normal;color:#7890a7}
.wf-add-menu[open]>summary{border-color:#397fc2;background:#edf6ff;box-shadow:0 0 0 3px rgba(57,127,194,.1)}
.wf-node-menu-grid{position:absolute;top:calc(100% + 8px);left:0;z-index:100;width:min(520px,calc(100vw - 48px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;border:1px solid #cbdbea;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(20,57,96,.22)}
.wf-node-menu-grid button{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 9px;min-width:0;padding:9px;border:1px solid #e0e8f0;border-radius:10px;background:#fbfdff;color:#284765;text-align:left;cursor:pointer;font-family:inherit}
.wf-node-menu-grid button:hover{border-color:#7babd5;background:#f0f7ff}
.wf-node-menu-grid button>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf3fc;color:#2b70b4;font-size:15px}
.wf-node-menu-grid button>b{overflow:hidden;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.wf-node-menu-grid button>small{overflow:hidden;color:#77899c;font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.wf-canvas-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 1 auto;min-width:0}
.wf-canvas-actions>button{width:38px;padding:0;font-size:14px}
.wf-canvas-actions .wf-inspector-toggle{display:none;width:auto;padding:0 11px;font-size:10px}
.wf-zoom-group{display:inline-flex;align-items:center;height:38px;border:1px solid #c7d8e8;border-radius:10px;background:#fff;overflow:hidden}
.wf-zoom-group button{width:34px;height:36px;padding:0;border:0;border-radius:0;background:transparent}
.wf-zoom-group b{min-width:52px;color:#355b80;font-size:10px;text-align:center}

.wf-inspector-backdrop{display:none;border:0;background:rgba(20,43,67,.22);cursor:pointer}
.workflow-editor-shell.workflow-compact .workflow-editor-main{grid-template-columns:minmax(0,1fr)}
.workflow-editor-shell.workflow-compact .workflow-canvas-viewport{border-right:0}
.workflow-editor-shell.workflow-compact .workflow-inspector{position:absolute;top:0;right:0;bottom:0;z-index:35;width:min(390px,92%);height:auto;border-left:1px solid #cbdbea;box-shadow:-18px 0 44px rgba(18,53,89,.18);transform:translateX(102%);transition:transform .2s ease;pointer-events:none}
.workflow-editor-shell.workflow-compact.inspector-open .workflow-inspector{transform:translateX(0);pointer-events:auto}
.workflow-editor-shell.workflow-compact.inspector-open .wf-inspector-backdrop{display:block;position:absolute;inset:0;z-index:34}
.workflow-editor-shell.workflow-compact .wf-canvas-actions .wf-inspector-toggle{display:inline-flex}
.workflow-editor-shell.workflow-compact .workflow-canvas-toolbar{align-items:center;flex-direction:row}
.workflow-editor-shell.workflow-compact .wf-toolbar-primary{flex:1 1 100%;overflow:visible}
.workflow-editor-shell.workflow-compact .wf-canvas-actions{width:100%;justify-content:flex-end}
.workflow-editor-shell.workflow-compact .workflow-editor-topbar{align-items:flex-start;flex-direction:column}
.workflow-editor-shell.workflow-compact .workflow-top-actions{width:100%;justify-content:flex-end}

.wf-slot-row,.wf-rule-row{padding:0;overflow:hidden}
.wf-slot-row>summary,.wf-rule-row>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 10px;list-style:none;cursor:pointer;background:#f9fbfd}
.wf-slot-row>summary::-webkit-details-marker,.wf-rule-row>summary::-webkit-details-marker{display:none}
.wf-slot-row>summary div,.wf-rule-row>summary div{display:flex;min-width:0;flex-direction:column;gap:2px}
.wf-slot-row>summary b,.wf-rule-row>summary b{overflow:hidden;color:#294969;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.wf-slot-row>summary small,.wf-rule-row>summary small{overflow:hidden;color:#7b8c9e;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}
.wf-slot-row>summary>i,.wf-rule-row>summary>i{font-style:normal;color:#7990a5;transition:transform .16s}
.wf-slot-row[open]>summary>i,.wf-rule-row[open]>summary>i{transform:rotate(180deg)}
.wf-slot-row .wf-row-body,.wf-rule-row .wf-row-body{padding:9px;border-top:1px solid #e3eaf1;background:#fff}
.wf-slot-row>summary button,.wf-rule-row>summary button{width:24px;height:24px;border:0;border-radius:7px;background:#fff0f1;color:#bc3e4d;cursor:pointer}

.workflow-editor-shell.workflow-focus{position:fixed;inset:8px;z-index:100000;width:auto;max-width:none;height:calc(100vh - 16px);margin:0;border-radius:16px;box-shadow:0 24px 90px rgba(12,35,61,.32);background:#fff}
body.workflow-focus-active{overflow:hidden!important}
.workflow-editor-shell.workflow-focus .workflow-editor-main{height:calc(100vh - 214px);min-height:420px}
.workflow-editor-shell.workflow-focus .workflow-settings-drawer{display:none}
.workflow-editor-shell.workflow-focus .workflow-editor-topbar{flex:none}

@media(max-width:1000px){.bshq-settings-shell.workflow-mode{grid-template-columns:82px minmax(0,1fr)}}
@media(max-width:760px){.bshq-settings-shell.workflow-mode{width:100%;grid-template-columns:1fr}.bshq-settings-shell.workflow-mode .bshq-settings-side{display:none}.workflow-editor-main{height:calc(100vh - 220px);min-height:500px}.wf-toolbar-primary{flex-wrap:wrap}.wf-toolbar-btn{flex:1}.wf-add-menu{flex:1}.wf-add-menu>summary{width:100%}.wf-node-menu-grid{grid-template-columns:1fr}.workflow-top-actions{display:grid;grid-template-columns:1fr 1fr}.workflow-top-actions .primary{grid-column:1/-1}}


/* ================================================================
 * v0.8.4 - Excel Workflow Bridge
 * ================================================================ */
.workflow-excel-bridge{margin:18px 0;border:1px solid #bfd6f1;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(27,78,135,.08);overflow:hidden}
.workflow-excel-bridge>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;background:linear-gradient(135deg,#f8fbff,#eef6ff)}
.workflow-excel-bridge>summary::-webkit-details-marker{display:none}.workflow-excel-bridge>summary div{flex:1}.workflow-excel-bridge>summary b{display:block;color:#173d6a;font-size:16px}.workflow-excel-bridge>summary small{display:block;color:#71839b;margin-top:3px}.workflow-excel-bridge>summary i{font-style:normal;color:#607b9b;font-weight:800;font-size:12px}.excel-bridge-icon{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:42px;border-radius:12px;background:#16784a;color:#fff;font-weight:900;font-size:12px;letter-spacing:.06em}
.workflow-excel-body{padding:18px}.workflow-excel-steps{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border-radius:13px;background:#f5f9ff;color:#516b89;font-size:12px;font-weight:800;overflow:auto;white-space:nowrap}.workflow-excel-steps span{display:inline-flex;align-items:center;gap:7px}.workflow-excel-steps b{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#2878d0;color:#fff}.workflow-excel-steps em{font-style:normal;color:#9bb0c7}
.workflow-excel-grid{display:grid;grid-template-columns:.85fr 1.15fr 1.2fr;gap:14px;margin-top:14px}.workflow-excel-grid article{min-width:0;border:1px solid #dbe7f4;border-radius:15px;padding:16px;background:#fff}.workflow-excel-grid h3{margin:0 0 7px;color:#173d6a;font-size:15px}.workflow-excel-grid p,.workflow-excel-grid small{color:#71839b;line-height:1.5}.excel-prompt-card textarea{width:100%;resize:vertical;background:#f8fafc;border-color:#dbe7f4;font-size:12px;line-height:1.5}.workflow-excel-form{display:grid!important;gap:10px!important}.workflow-excel-form label{display:grid;gap:5px}.workflow-excel-form label span{font-size:12px;font-weight:800;color:#405b7a}.workflow-excel-form input[type=file],.workflow-excel-form select{width:100%;min-height:42px;border:1px solid #c9dbee;border-radius:10px;background:#fff;padding:8px 10px}.workflow-excel-form button{justify-self:start}
@media(max-width:1100px){.workflow-excel-grid{grid-template-columns:1fr}.workflow-excel-steps{justify-content:flex-start}}
@media(max-width:640px){.workflow-excel-bridge>summary{align-items:flex-start}.workflow-excel-bridge>summary i{display:none}.workflow-excel-body{padding:12px}.workflow-excel-grid article{padding:13px}}
/* v0.8.5 — booking CRM polish */
.detail-module[data-module="booking"]{padding-bottom:22px}.detail-module[data-module="booking"] .detail-card{border:1px solid #d9e5f1!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 28px rgba(26,64,105,.06)!important;padding:16px!important;margin-bottom:14px!important}
.booking-current-card{background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%)!important}.booking-card-headline{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center}.booking-card-icon{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563aa,#70a9ed);font-size:21px;box-shadow:0 10px 22px rgba(37,99,170,.24)}.booking-card-copy{min-width:0}.booking-eyebrow{display:block;font-size:9px;font-weight:900;letter-spacing:.09em;color:#74869b;margin-bottom:4px}.booking-card-copy h4,.booking-title-row h4{font-size:15px!important;line-height:1.25;color:#153450;margin:0!important}.booking-card-copy small,.booking-title-row small{display:block;margin-top:4px;font-size:10px!important;line-height:1.4;color:#708198}
.booking-status-badge{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap;border:1px solid #d6e2ef;background:#f3f6fa;color:#53667c}.booking-status-badge i{width:19px;height:19px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;background:rgba(255,255,255,.7)}.booking-status-badge.tone-confirmed{background:#eaf4ff;border-color:#b9d4f2;color:#155c9f}.booking-status-badge.tone-visited{background:#eaf8ef;border-color:#b8e2c6;color:#176c49}.booking-status-badge.tone-no_show{background:#fff6e7;border-color:#f0d49d;color:#93620f}.booking-status-badge.tone-cancelled{background:#fff0f1;border-color:#efc5ca;color:#b12d3c}
.booking-location-panel{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 13px;border-radius:14px;border:1px solid #dce8f4;background:linear-gradient(180deg,#fbfdff,#f6faff)}.booking-location-panel>span{width:32px;height:32px;border-radius:11px;background:#e7f1ff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.booking-location-panel b{display:block;font-size:11px;color:#163754}.booking-location-panel small{display:block;margin-top:4px;font-size:10px;line-height:1.5;color:#6d8097}.booking-location-panel.compact{margin:0 0 14px}
.booking-section-label{display:block;margin:15px 0 9px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#718298}.booking-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}.booking-action-btn{min-height:46px!important;border-radius:13px!important;border:1px solid #d7e3ef!important;background:#fff!important;color:#23415e!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:0 12px!important;font-size:11px!important;font-weight:900!important;cursor:pointer;transition:.16s ease}.booking-action-btn i{width:25px;height:25px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;background:#f0f5fa;color:#355879}.booking-action-btn:hover{transform:translateY(-1px);border-color:#a8c3df!important;box-shadow:0 8px 18px rgba(27,69,111,.08)}.booking-action-btn.is-active{border-color:#79a9da!important;background:#edf6ff!important;color:#14558f!important}.booking-action-btn.visited i{background:#e7f7ed;color:#17704a}.booking-action-btn.confirmed i{background:#e8f3ff;color:#1c60a3}.booking-action-btn.no-show i{background:#fff5df;color:#a46909}.booking-action-btn.cancel i{background:#fff0f2;color:#b42d3b}.booking-action-btn.cancel:hover{border-color:#e5a4ad!important;background:#fff8f8!important}.booking-action-btn.reschedule{grid-column:1/-1;justify-content:center!important;background:#f8fbff!important}.booking-action-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.booking-template-panel{margin-top:14px;padding-top:13px;border-top:1px dashed #d8e4ef}.booking-template-panel>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.booking-template-panel .booking-section-label{margin:0}.booking-template-panel small{font-size:9px;color:#7d8da0}.booking-template-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.booking-template-btn{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid #d7e4ef;background:#f9fbfd;color:#2a4a68;font-size:10px;font-weight:850;cursor:pointer}.booking-template-btn:hover{background:#eff6fd}.booking-template-btn.is-used{background:#eaf7ef;border-color:#b8dfc2;color:#176b47}
.booking-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.booking-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.booking-field-pair label{display:grid;gap:6px}.booking-field-pair input{width:100%;height:40px;border:1px solid #d3dfeb;border-radius:12px;padding:0 11px;background:#fff;font-size:11px}.booking-date-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}.booking-date-card{min-height:66px!important;padding:11px 12px!important;border-radius:14px!important;border:1px solid #d7e3ef!important;background:#fff!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:5px!important}.booking-date-card span{font-size:11px;font-weight:900;color:#203d59}.booking-date-card b{font-size:9px!important;color:#75879b;text-transform:uppercase}.booking-date-card.active{background:#edf5ff!important;border-color:#4a86c7!important;box-shadow:0 0 0 2px rgba(74,134,199,.10)!important}.booking-time-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important}.booking-time-chip{min-width:0!important;height:38px!important;padding:0 8px!important;border-radius:12px!important;border:1px solid #d6e2ed!important;background:#fff!important;color:#23415d!important;font-size:10px!important;font-weight:900!important}.booking-time-chip.active{background:#2967ac!important;border-color:#2967ac!important;color:#fff!important;box-shadow:0 8px 16px rgba(41,103,172,.22)!important}.booking-selection{display:flex!important;align-items:center!important;gap:10px!important;padding:12px 13px!important;border-radius:14px!important;border:1px solid #cfe2f4!important;background:#f1f7fe!important;color:#173d61!important}.booking-selection[hidden]{display:none!important}.booking-selection>span{width:25px;height:25px;border-radius:9px;background:#1f8a59;color:#fff;display:flex;align-items:center;justify-content:center}.booking-selection small{display:block;font-size:8px;color:#6b8299;font-weight:900;letter-spacing:.06em}.booking-selection b{display:block;margin-top:2px;font-size:11px}.booking-submit{min-height:48px!important;border:none!important;border-radius:14px!important;background:linear-gradient(135deg,#2865aa,#73a9eb)!important;box-shadow:0 11px 22px rgba(40,101,170,.22)!important;font-size:11px!important;font-weight:900!important}.booking-submit:disabled{background:#c5d2e1!important;box-shadow:none!important}.booking-reschedule-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #bdd4ed;border-radius:13px;background:#edf5ff;color:#1b5c9e}.booking-reschedule-banner[hidden]{display:none!important}.booking-reschedule-banner b{display:block;font-size:10px}.booking-reschedule-banner span{display:block;margin-top:3px;font-size:9px}.booking-reschedule-banner button{border:none;background:transparent;color:#1a5d9f;font-size:9px;font-weight:900;cursor:pointer}
.booking-confirm-backdrop{position:fixed;inset:0;z-index:100020;background:rgba(15,30,50,.52);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:.16s ease}.booking-confirm-backdrop.open{opacity:1}.booking-confirm-dialog{position:relative;width:min(430px,100%);padding:26px 24px 22px;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(11,28,48,.3);transform:translateY(12px) scale(.98);transition:.16s ease;text-align:center}.booking-confirm-backdrop.open .booking-confirm-dialog{transform:none}.booking-confirm-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:none;border-radius:10px;background:#f2f5f8;color:#65788f;font-size:22px;cursor:pointer}.booking-confirm-icon{width:54px;height:54px;border-radius:18px;margin:0 auto 13px;display:flex;align-items:center;justify-content:center;background:#eaf3ff;color:#1d61a5;font-size:24px;font-weight:900}.booking-confirm-icon.danger{background:#fff0f2;color:#b72b3c}.booking-confirm-dialog h3{margin:0;color:#173651;font-size:18px}.booking-confirm-dialog p{margin:10px auto 20px;max-width:340px;color:#65788e;font-size:12px;line-height:1.6}.booking-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-confirm-actions button{min-height:44px;border-radius:13px;font-size:11px;font-weight:900;cursor:pointer}.booking-confirm-cancel{border:1px solid #d8e2ec;background:#fff;color:#40566d}.booking-confirm-ok{border:none;background:#2866aa;color:#fff}.booking-confirm-ok.danger{background:#c73647}
/* one-click bundled workflow */
.workflow-excel-grid .excel-bundle-card{position:relative;overflow:hidden;border:1px solid #bfdbfe!important;background:linear-gradient(145deg,#eff7ff,#ffffff)!important}.excel-bundle-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-45px;top:-45px;background:rgba(59,130,246,.10)}.excel-bundle-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#dbeafe;color:#1d4f91;font-size:9px;font-weight:900;letter-spacing:.06em}.workflow-bundle-import{width:100%;min-height:44px;margin-top:10px}.workflow-bundle-form small{display:block;margin-top:8px;color:#70839a;font-size:9px;line-height:1.45}
@media(max-width:480px){.booking-card-headline{grid-template-columns:42px 1fr}.booking-status-badge{grid-column:1/-1;justify-self:start}.booking-field-pair{grid-template-columns:1fr}.booking-time-list{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-action-grid{grid-template-columns:1fr!important}.booking-action-btn.reschedule{grid-column:auto}.booking-confirm-actions{grid-template-columns:1fr}}
/* v0.8.6 workflow import integrity + module grouping */
.wf-module-box{position:absolute;z-index:0;border:1px dashed #b9cbe1;border-radius:20px;background:rgba(239,246,255,.42);pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.wf-module-box header{position:absolute;left:16px;top:10px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#355676;font-size:11px;font-weight:900;letter-spacing:.01em}
.wf-module-box header span{padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #d6e3f0;color:#68809a;font-size:9px;font-weight:800}
.workflow-node-layer .wf-node{z-index:2}
.excel-bundle-card.needs-repair{border-color:#f5b7b7!important;background:linear-gradient(145deg,#fff6f6,#ffffff)!important}.excel-bundle-card.needs-repair .excel-bundle-badge{background:#fee2e2;color:#b4232d}.excel-bundle-card.needs-repair .workflow-bundle-import{background:#c03945!important;border-color:#c03945!important}
/* v0.8.7: workflow module overview */
.wf-toolbar-btn.module{border-color:#c9d8ef!important;background:#f3f7ff!important;color:#315f9b!important}.wf-toolbar-btn.module:hover{background:#e8f1ff!important}
.wf-overview-note{position:absolute;left:28px;top:245px;width:205px;padding:14px;border:1px solid #d6e3ef;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(32,70,110,.08);color:#43617f}.wf-overview-note b{display:block;margin-bottom:5px;font-size:12px;color:#173b61}.wf-overview-note span{display:block;font-size:9px;line-height:1.55;color:#71859a}
.wf-module-summary{width:300px;min-height:142px;border-width:1px!important;border-color:#cbdced!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;box-shadow:0 12px 30px rgba(32,70,110,.09)!important;cursor:pointer}.wf-module-summary:hover{transform:translateY(-2px);border-color:#84aeda!important;box-shadow:0 16px 34px rgba(32,70,110,.14)!important}.wf-module-summary header{padding-bottom:10px}.wf-module-summary header em{min-width:32px;height:24px;border-radius:999px;background:#eaf2ff;color:#245f9d;font-size:10px;font-style:normal;display:flex;align-items:center;justify-content:center}.wf-module-summary p{min-height:28px}.wf-module-summary footer code{max-width:155px;overflow:hidden;text-overflow:ellipsis}
.wf-module-breadcrumb{position:absolute;left:22px;top:18px;z-index:12;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #d6e3ef;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 20px rgba(32,70,110,.08)}.wf-module-breadcrumb button{height:30px;padding:0 10px;border:1px solid #c7d7e8;border-radius:9px;background:#f7fbff;color:#285d93;font-size:9px;font-weight:850;cursor:pointer}.wf-module-breadcrumb b{font-size:11px;color:#173b61}.wf-module-breadcrumb span{padding:4px 8px;border-radius:999px;background:#edf3fb;color:#627b94;font-size:9px;font-weight:800}
.workflow-edges .wf-edge{transition:opacity .15s ease}.wf-module-summary+.wf-edge{opacity:.7}
/* v0.8.10 - clinical summary + doctor review status */
.doctor-review-pill{display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:999px;font-size:7.5px;font-weight:950;white-space:nowrap}.doctor-review-pill.urgent{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.doctor-review-pill.pending{background:#fff7ed;color:#b45309;border:1px solid #fed7aa}
.conv-clinical-summary{margin-top:3px;font-size:10px;line-height:1.3;font-weight:850;color:#1f3b57;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-preview.secondary{margin-top:2px;font-size:9px;color:#8a98aa}.conv-item.unread-item .conv-clinical-summary{color:#183b5d}
.clinical-summary-card{border-left:4px solid #3b82f6!important;background:linear-gradient(180deg,#f8fbff,#fff)!important}.clinical-summary-card.pending{border-left-color:#f59e0b!important;background:linear-gradient(180deg,#fffaf2,#fff)!important}.clinical-summary-card.urgent{border-left-color:#dc2626!important;background:linear-gradient(180deg,#fff6f6,#fff)!important}.clinical-summary-head{display:flex;align-items:flex-start;gap:9px}.clinical-summary-head>span{width:34px;height:34px;border-radius:11px;background:#eaf3ff;display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto}.clinical-summary-head small{display:block;font-size:8px;font-weight:950;letter-spacing:.08em;color:#7890aa;margin-bottom:4px}.clinical-summary-head b{display:block;font-size:12px;line-height:1.45;color:#17344f}.clinical-summary-card p{margin:10px 0 0!important;padding-top:9px;border-top:1px dashed #d9e4ef;font-size:10px!important;line-height:1.5;color:#536980!important}.clinical-review-state{margin-top:9px;padding:8px 10px;border-radius:10px;background:#fff;font-size:9px;font-weight:900;color:#314b67;border:1px solid #e3eaf2}
/* v0.8.12: booking for relatives + compact public time */
.booking-person-panel{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 13px;border-radius:14px;border:1px solid #dfe7f2;background:#fffaf2}.booking-person-panel>span{width:32px;height:32px;border-radius:11px;background:#fff0cf;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.booking-person-panel b{display:block;font-size:11px;color:#684a10}.booking-person-panel small{display:block;margin-top:4px;font-size:10px;line-height:1.5;color:#806c43}.conv-clinical-summary{background:transparent!important;padding:0!important;border:0!important}.conv-preview.secondary{background:transparent!important}
/* v0.8.14 - multi booking + doctor handoff controls */
.doctor-review-pill.viewed{background:#fff7d6;color:#9a6700;border:1px solid #f5d977}.doctor-review-pill.staff{background:#eaf2ff;color:#235da6;border:1px solid #bfd3f2}
.booking-card-icon.group{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.booking-group-card{border-color:#ddd4ff!important;background:linear-gradient(180deg,#fbf9ff 0%,#fff 100%)}
.booking-group-list{display:grid;gap:8px;margin-top:12px}.booking-group-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e6e0f8;border-radius:12px;background:#fff}.booking-group-row>span{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f0eaff;color:#6d28d9;font-weight:900}.booking-group-row b{display:block;font-size:11px;color:#233b56}.booking-group-row small{display:block;margin-top:3px;font-size:9px;color:#71839a}.booking-group-row em{font-style:normal;font-size:9px;font-weight:850;color:#1b7a50}.booking-group-row.inactive{opacity:.58}.booking-group-row.inactive em{color:#a33a46}.booking-group-note{margin-top:9px;padding:9px 10px;border-radius:10px;background:#f7f4ff;color:#67558c;font-size:9px;line-height:1.5}
.doctor-control-card{border:1px solid #f1d7a4!important;background:linear-gradient(180deg,#fffaf0 0%,#fff 100%)}.doctor-control-card.status-urgent{border-color:#f1b8bd!important;background:linear-gradient(180deg,#fff4f5 0%,#fff 100%)}.doctor-control-card.status-viewed{border-color:#efd77a!important}.doctor-control-card.status-staff{border-color:#bfd3f2!important;background:linear-gradient(180deg,#f5f9ff 0%,#fff 100%)}.doctor-control-card.empty{border-style:dashed!important;background:#fafcff}.doctor-control-card.empty p{margin-bottom:0}
.doctor-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.doctor-control-head>div{display:flex;gap:9px;align-items:center}.doctor-control-head>div>span{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff0c7;font-size:18px}.doctor-control-head small{display:block;font-size:8px;font-weight:900;color:#87651d;letter-spacing:.06em}.doctor-control-head h4{margin:2px 0 0!important;font-size:14px}.doctor-control-head>b{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #ead8b5;font-size:9px;color:#70592d;white-space:nowrap}.doctor-control-card p{margin:11px 0 8px;padding:10px;border-radius:10px;background:rgba(255,255,255,.72);font-size:10px;line-height:1.55;color:#46596f}.doctor-control-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:9px;color:#76879a}.doctor-control-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.doctor-control-actions button{min-height:38px;border:1px solid #d5dfeb;border-radius:10px;background:#fff;color:#2d4968;font-size:10px;font-weight:850;cursor:pointer}.doctor-control-actions button.primary{background:#2f67b1;color:#fff;border-color:#2f67b1}.doctor-control-actions button:hover{filter:brightness(.98)}.doctor-control-actions button:disabled{opacity:.55;cursor:not-allowed}
.bot-control-card h3{margin:18px 0 8px}.bot-control-card h3:first-child{margin-top:0}.bot-control-card .description{color:#718096;margin-top:-2px}.bot-control-card select,.bot-control-card input[type=number]{width:100%;min-height:40px;border:1px solid #ccd8e6;border-radius:9px;padding:0 10px;background:#fff}.bot-control-card small{display:block;margin-top:5px;color:#718096}
@media(max-width:480px){.doctor-control-actions{grid-template-columns:1fr}.booking-group-row{grid-template-columns:28px 1fr}.booking-group-row em{grid-column:2}}
/* v0.8.15 - chuyển Bác sĩ thủ công */
.doctor-manual-card{border:1px solid #cbdcf0!important;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.doctor-manual-card .doctor-control-head{margin-bottom:12px}.doctor-manual-card .doctor-control-head>div>span{background:#e8f2ff;color:#1f5e9d}.doctor-manual-card .doctor-control-head small{color:#416b99}
.doctor-manual-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d6e3f1;border-radius:12px;background:#fff;cursor:pointer}.doctor-manual-check input{width:18px;height:18px;margin-top:1px;accent-color:#2f67b1;flex:0 0 auto}.doctor-manual-check span{display:block}.doctor-manual-check b{display:block;font-size:11px;color:#24415f}.doctor-manual-check small{display:block;margin-top:4px;font-size:9px;line-height:1.45;color:#74869a}
.doctor-manual-reason{display:block;margin-top:11px;font-size:9px;font-weight:900;color:#66798f;text-transform:uppercase;letter-spacing:.05em}.doctor-manual-reason textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:10px 11px;border:1px solid #d2deeb;border-radius:11px;background:#fff;font:inherit;font-size:10px;line-height:1.5;color:#2d4968;resize:vertical;min-height:88px}.doctor-manual-reason textarea:focus{outline:none;border-color:#6fa0d5;box-shadow:0 0 0 3px rgba(47,103,177,.08)}
.doctor-manual-urgent{display:flex;align-items:center;gap:8px;margin:11px 0 0;padding:9px 10px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a4f13;font-size:10px;font-weight:850;cursor:pointer}.doctor-manual-urgent input{width:16px;height:16px;accent-color:#d97706}
.doctor-manual-submit{width:100%;min-height:42px;margin-top:10px;border-radius:11px!important}.doctor-manual-submit:disabled{opacity:.45;cursor:not-allowed}.doctor-manual-policy{margin:9px 0 0!important;padding:0!important;background:transparent!important;font-size:9px!important;line-height:1.45!important;color:#74869a!important}

/* === v0.8.17: media Zalo hai chiều, clipboard, preview nội trang === */
.composer-tool.attach-tool[hidden]{display:none!important}.composer-tool.attach-tool:disabled{opacity:.45;cursor:not-allowed}
.attachment-tray{display:flex;gap:8px;overflow-x:auto;padding:9px 12px 7px;background:#f7faff;border-top:1px solid #e4ebf5;scrollbar-width:thin}.attachment-tray[hidden]{display:none!important}
.attachment-chip{position:relative;display:grid;grid-template-columns:50px minmax(90px,1fr) 24px;align-items:center;gap:8px;min-width:210px;max-width:280px;padding:6px;background:#fff;border:1px solid #dce6f3;border-radius:12px;box-shadow:0 2px 8px rgba(31,52,83,.05)}
.attachment-chip img,.attachment-placeholder{width:50px;height:50px;border-radius:9px;object-fit:cover;background:#edf3fb;display:flex;align-items:center;justify-content:center}.attachment-chip b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#1f3048}.attachment-state{display:block;margin-top:3px;font-size:9px;color:#6c7e95}.attachment-state.ready{color:#16835b}.attachment-state.failed{color:#d43d3d}.attachment-chip.uploading{opacity:.76}.attachment-chip.failed{border-color:#efb9b9;background:#fff7f7}.attachment-chip button{border:0;background:#edf2f8;color:#52657e;width:22px;height:22px;border-radius:50%;font-weight:900;cursor:pointer}.attachment-chip button:hover{background:#ffe6e6;color:#b52222}
.msg-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:-3px -5px 6px;align-items:start;justify-content:flex-start}.msg-media-grid.count-1{display:flex;width:min(320px,100%);max-width:100%}.msg-media-grid.count-1 .msg-media-item{width:min(320px,58vw);max-width:100%}
.msg-media-item{position:relative;display:block;overflow:hidden;border:0!important;padding:0!important;margin:0!important;border-radius:12px;background:#edf2f8;min-width:140px;max-width:380px;cursor:zoom-in;font:inherit;text-align:left;appearance:none;-webkit-appearance:none;box-shadow:none!important}.msg-media-item img{display:block;width:100%!important;height:auto!important;max-height:260px!important;object-fit:contain!important;background:#edf2f8;border-radius:12px}.msg-media-grid:not(.count-1) .msg-media-item img{height:176px!important;object-fit:cover!important}.msg-media-item.sticker{background:transparent}.msg-media-item.sticker img{max-width:210px;background:transparent;object-fit:contain!important}.msg-media-item.sticker.sprite-sheet{width:130px!important;height:130px!important;min-width:130px!important;max-width:130px!important;overflow:hidden!important;background:transparent!important}.msg-media-item.sticker.sprite-sheet img{width:auto!important;height:130px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}.msg-media-unavailable{padding:12px;border:1px dashed #c7d4e4;border-radius:10px;color:#667991;background:#f8fbff;font-size:12px}.msg-media-grid+.msg-text{margin-top:5px}
.msg-media-zoom{position:absolute;right:7px;bottom:7px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(15,23,42,.72);color:#fff;font-size:17px;line-height:1;opacity:0;transform:translateY(3px);transition:.16s ease;pointer-events:none}.msg-media-item:hover .msg-media-zoom,.msg-media-item:focus-visible .msg-media-zoom{opacity:1;transform:none}.msg-media-item:focus-visible{outline:3px solid rgba(47,103,177,.28)!important;outline-offset:2px}
.msg-media-item.media-load-failed{min-height:120px;display:grid;place-items:center;border:1px dashed #d5dfeb!important}.msg-media-item.media-load-failed img{display:none!important}.msg-media-item.media-load-failed:before{content:'Ảnh chưa tải được · bấm để thử lại';padding:14px;color:#6a7d94;font-size:11px;text-align:center}
body.bshq-media-viewer-open{overflow:hidden!important}.bshq-media-viewer[hidden]{display:none!important}.bshq-media-viewer{position:fixed;inset:0;z-index:1000000;display:grid;place-items:center;opacity:0;transition:opacity .16s ease;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.bshq-media-viewer.open{opacity:1}.bshq-media-viewer-backdrop{position:absolute;inset:0;background:rgba(8,14,24,.88);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.bshq-media-viewer-dialog{position:relative;z-index:1;width:100vw;height:100vh;display:grid;grid-template-columns:74px minmax(0,1fr) 74px;grid-template-rows:minmax(0,1fr) 54px;align-items:center;justify-items:center;padding:26px 22px 12px}.bshq-media-viewer-stage{grid-column:2;grid-row:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain}.bshq-media-viewer-stage img{display:block;max-width:min(92vw,1500px);max-height:calc(100vh - 105px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.44);transition:transform .18s ease;transform-origin:center}.bshq-media-viewer.zoomed .bshq-media-viewer-stage{justify-content:flex-start;align-items:flex-start;padding:30px}.bshq-media-viewer.zoomed .bshq-media-viewer-stage img{max-width:none;max-height:none;transform:scale(1.35);cursor:zoom-out}
.bshq-media-viewer-close,.bshq-media-viewer-nav{position:relative;z-index:2;border:0;background:rgba(255,255,255,.13);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.15s ease;box-shadow:0 8px 28px rgba(0,0,0,.2)}.bshq-media-viewer-close:hover,.bshq-media-viewer-nav:hover{background:rgba(255,255,255,.24);transform:scale(1.04)}.bshq-media-viewer-close{position:absolute;right:20px;top:18px;width:44px;height:44px;border-radius:50%;font-size:31px;font-weight:300}.bshq-media-viewer-nav{width:48px;height:64px;border-radius:16px;font-size:44px;font-weight:300;line-height:1}.bshq-media-viewer-nav.prev{grid-column:1;grid-row:1}.bshq-media-viewer-nav.next{grid-column:3;grid-row:1}.bshq-media-viewer-foot{grid-column:1/4;grid-row:2;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;min-width:0;max-width:80vw}.bshq-media-viewer-count{font-size:12px;font-weight:850;color:#b9c7da}.bshq-media-viewer-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65vw}
@media(max-width:760px){.attachment-chip{min-width:190px}.msg-media-grid.count-1{width:min(260px,100%)}.msg-media-grid.count-1 .msg-media-item{width:min(260px,70vw)}.msg-media-item img{max-height:210px!important}.msg-media-grid:not(.count-1) .msg-media-item img{height:132px!important}.bshq-media-viewer-dialog{grid-template-columns:46px minmax(0,1fr) 46px;padding:18px 7px 8px}.bshq-media-viewer-nav{width:38px;height:52px;border-radius:13px;font-size:36px}.bshq-media-viewer-close{right:10px;top:10px;width:40px;height:40px}.bshq-media-viewer-stage img{max-width:94vw;max-height:calc(100vh - 88px)}}
.composer.media-dragover{position:relative;box-shadow:inset 0 0 0 3px rgba(47,103,177,.28);background:#f1f7ff}.composer.media-dragover:after{content:'Thả ảnh để đính kèm';position:absolute;inset:6px;z-index:20;display:grid;place-items:center;border:2px dashed #2f67b1;border-radius:14px;background:rgba(241,247,255,.92);color:#1d5b9d;font-size:13px;font-weight:900;pointer-events:none}

/* === v0.8.19: media toolbar compact + single-line icons === */
.composer-tools{
  min-height:38px!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  padding:0 10px!important;
  overflow:hidden!important;
  background:#fbfdff!important;
}
.composer-tool-group{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:6px;
  min-width:0;
}
.composer-tool{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:30px!important;
  padding:0 9px!important;
  border-radius:8px!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:10.5px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.composer-tool>span:not(.composer-tool-icon){display:inline!important;white-space:nowrap!important}
.composer-tool-icon{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  flex:0 0 16px;
}
.composer-tool-icon svg{display:block;width:16px;height:16px;fill:currentColor;stroke:none}
.composer-help{
  display:block!important;
  min-width:0;
  margin-left:auto;
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#8492a5;
  font-size:9px;
}
@media(max-width:1050px){.composer-help{display:none!important}}
@media(max-width:760px){
  .composer-tools{overflow-x:auto!important;scrollbar-width:none}
  .composer-tools::-webkit-scrollbar{display:none}
  .composer-tools .composer-tool span{display:inline!important}
  .composer-tool{padding:0 8px!important;font-size:10px!important}
}
/* v0.8.22 - trạng thái bài Facebook chưa tải được */
.fb-post-card.fb-post-missing{display:flex;align-items:center;gap:14px;min-height:118px;border:1px dashed #c7d9ee;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}
.fb-post-missing-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#e8f2ff;color:#2368b5;font-size:22px;font-weight:900}
.fb-post-card.fb-post-missing>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.fb-post-card.fb-post-missing b{font-size:14px;color:#213b58}
.fb-post-card.fb-post-missing small{font-size:10px;color:#6f8399;line-height:1.45}
.fb-post-retry{border:1px solid #a9c6e8;background:#fff;color:#2368b5;border-radius:9px;min-height:32px;padding:0 12px;font-size:10px;font-weight:850;cursor:pointer;margin-top:4px}
.fb-post-retry:hover{background:#eef6ff}.fb-post-retry:disabled{opacity:.6;cursor:wait}

/* === v0.8.23 — compact icon actions + Facebook moderation === */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ui-action-svg{width:19px;height:19px;display:block;pointer-events:none}
.chat-head-actions{gap:8px;flex-wrap:nowrap;overflow:visible}
.head-action.icon-only{position:relative;width:38px;height:38px;min-width:38px;padding:0;border-radius:11px;display:grid;place-items:center;color:#365b82;background:#fff;border:1px solid #d3dfec;box-shadow:0 2px 7px rgba(24,56,92,.05)}
.head-action.icon-only:hover{background:#f1f7ff;border-color:#8fb5df;color:#1e62a8;transform:translateY(-1px)}
.head-action.icon-only.primary-soft{background:#eaf3ff;border-color:#a9c9ec;color:#1766b4}
.head-action.icon-only.is-loading .ui-action-svg,.fb-comment-icon-action.is-loading .ui-action-svg{animation:bshq-action-spin .85s linear infinite}
@keyframes bshq-action-spin{to{transform:rotate(360deg)}}
.head-action[data-tip],.fb-comment-icon-action[data-tip]{position:relative}
.head-action[data-tip]:after,.fb-comment-icon-action[data-tip]:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(3px);z-index:120;min-width:max-content;max-width:220px;padding:7px 9px;border-radius:8px;background:#172b46;color:#fff;font-size:10px;font-weight:750;line-height:1.25;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 8px 22px rgba(13,31,51,.2);transition:.14s ease}
.head-action[data-tip]:before,.fb-comment-icon-action[data-tip]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:5px solid transparent;border-top-color:#172b46;opacity:0;visibility:hidden;pointer-events:none;transition:.14s ease;z-index:121}
.head-action[data-tip]:hover:after,.head-action[data-tip]:hover:before,.head-action[data-tip]:focus-visible:after,.head-action[data-tip]:focus-visible:before,.fb-comment-icon-action[data-tip]:hover:after,.fb-comment-icon-action[data-tip]:hover:before,.fb-comment-icon-action[data-tip]:focus-visible:after,.fb-comment-icon-action[data-tip]:focus-visible:before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.fb-comment-actions{gap:6px;margin-top:7px;padding-left:1px;overflow:visible}
.fb-comment-icon-action{position:relative!important;width:31px;height:31px;min-width:31px;border:1px solid #d9e3ef!important;border-radius:9px!important;background:#fff!important;color:#617792!important;display:grid!important;place-items:center!important;padding:0!important;cursor:pointer;transition:.14s ease;box-shadow:0 1px 4px rgba(24,54,88,.03)}
.fb-comment-icon-action .ui-action-svg{width:16px;height:16px}
.fb-comment-icon-action:hover{background:#edf5ff!important;border-color:#9ebfe3!important;color:#2168ae!important;transform:translateY(-1px)}
.fb-comment-icon-action.danger{color:#a94c56!important}.fb-comment-icon-action.danger:hover{background:#fff1f2!important;border-color:#e8aeb5!important;color:#b72f3e!important}
.fb-comment-icon-action.is-active{background:#eaf3ff!important;border-color:#8cb5e3!important;color:#1f64aa!important}
.fb-comment-icon-action.is-done{background:#ebf8f0!important;border-color:#b6dfc5!important;color:#18734b!important}
.fb-comment-icon-action:disabled{opacity:.52;cursor:not-allowed;transform:none!important}
.fb-comment-status{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}
.fb-comment-status.hidden{background:#edf1f6;color:#5d6f83}.fb-comment-status.blocked{background:#fff0f1;color:#b33442}.fb-comment-status.private{background:#eaf7ef;color:#187048}
.fb-comment-node.is-hidden-comment .fb-comment-bubble{opacity:.68;border-style:dashed}.fb-comment-node.is-blocked-user .fb-comment-avatar{filter:grayscale(.75);opacity:.7}
.comment-message-dialog{position:relative;width:min(500px,100%);padding:24px;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(11,28,48,.32);transform:translateY(12px) scale(.98);transition:.16s ease;text-align:left}.booking-confirm-backdrop.open .comment-message-dialog{transform:none}
.comment-message-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin-bottom:12px;background:#eaf3ff;color:#2168ae}.comment-message-icon .ui-action-svg{width:23px;height:23px}
.comment-message-dialog h3{margin:0;color:#173651;font-size:18px}.comment-message-dialog p{margin:9px 0 14px;color:#65788e;font-size:12px;line-height:1.55}.comment-message-dialog textarea{width:100%;min-height:118px;resize:vertical;border:1px solid #ccd9e8;border-radius:13px;padding:12px 13px;font:13px/1.5 inherit;color:#243950;outline:0}.comment-message-dialog textarea:focus{border-color:#5591d0;box-shadow:0 0 0 3px rgba(47,103,177,.12)}
.comment-message-count{text-align:right;margin:5px 3px 14px;color:#8493a6;font-size:9px}
@media(max-width:760px){.chat-head-actions{gap:5px;overflow-x:auto;max-width:58vw;padding:2px}.head-action.icon-only{width:34px;height:34px;min-width:34px;border-radius:9px}.head-action[data-tip]:after,.head-action[data-tip]:before{display:none}.fb-comment-actions{overflow-x:auto;padding-bottom:3px}.fb-comment-icon-action[data-tip]:after,.fb-comment-icon-action[data-tip]:before{display:none}}
/* v0.8.28: icon media ổn định, không phụ thuộc emoji/font hệ thống */
.composer-tool{display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important;flex:0 0 auto!important}
.composer-tool-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;flex:0 0 18px!important;color:currentColor!important}
.composer-tool-icon svg{display:block!important;width:18px!important;height:18px!important;fill:currentColor!important}
.conv-preview-media{display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important}
.conv-preview-media-icon{width:14px;height:14px;flex:0 0 14px;fill:currentColor;opacity:.9}
.conv-preview-media span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-media-unavailable{display:flex;align-items:center;gap:8px}.msg-media-unavailable-icon{width:18px;height:18px;flex:0 0 18px;fill:currentColor}
.msg-media-zoom svg{width:16px;height:16px;display:block;fill:currentColor}


/* ======================================================================
   v0.8.35 — MEDIA FIT: ảnh đơn co đúng tỷ lệ, không còn ô lớn/ảnh bé.
   ====================================================================== */
.msg-media-grid.count-1{display:block!important;width:fit-content!important;max-width:100%!important}
.msg-media-grid.count-1 .msg-media-item{display:inline-flex!important;width:auto!important;min-width:0!important;max-width:min(440px,72vw)!important;min-height:0!important;padding:0!important;background:#111827!important;align-items:center!important;justify-content:center!important}
.msg-media-grid.count-1 .msg-media-item img{display:block!important;width:auto!important;height:auto!important;max-width:min(440px,72vw)!important;max-height:440px!important;object-fit:contain!important;margin:0!important}
.msg-media-grid.count-1 .msg-media-item.aspect-portrait{max-width:min(310px,64vw)!important}
.msg-media-grid.count-1 .msg-media-item.aspect-portrait img{max-width:min(310px,64vw)!important;max-height:470px!important}
.msg-media-grid.count-1 .msg-media-item.aspect-square{max-width:min(360px,68vw)!important}
.msg-media-grid.count-1 .msg-media-item.aspect-square img{max-width:min(360px,68vw)!important;max-height:360px!important}
.msg-media-grid.count-1 .msg-media-item.sticker{background:transparent!important}
.msg-media-grid.count-1 .msg-media-item.sticker img{max-width:170px!important;max-height:170px!important}
.msg-media-item.media-load-failed{min-height:88px!important;background:#f5f7fa!important}
@media(max-width:600px){.msg-media-grid.count-1 .msg-media-item,.msg-media-grid.count-1 .msg-media-item img{max-width:min(390px,78vw)!important}.msg-media-grid.count-1 .msg-media-item.aspect-portrait,.msg-media-grid.count-1 .msg-media-item.aspect-portrait img{max-width:min(285px,68vw)!important}}

/* ======================================================================
   v0.8.35 — BOOKING PICKER: cùng luồng với Public Booking v1.4.10.
   ====================================================================== */
.booking-date-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.booking-date-card{min-height:112px!important;padding:15px 16px!important;border-radius:18px!important;align-items:flex-start!important;gap:3px!important;justify-content:center!important}
.booking-date-card .booking-date-dow{font-size:13px!important;letter-spacing:.02em;text-transform:uppercase;color:#1a3a58!important}
.booking-date-card strong{font-size:19px;line-height:1.1;color:#183b5c}
.booking-date-card b{margin-top:8px;font-size:10px!important;color:#75879b!important}
.booking-date-card.active{background:#eaf4ff!important;border-color:#377fc6!important;box-shadow:0 0 0 3px rgba(55,127,198,.12)!important}
.booking-date-card.active .booking-date-dow,.booking-date-card.active strong{color:#15599b!important}
#booking-time-block{display:none!important}
.omni-booking-lock{overflow:hidden!important}
.omni-booking-modal{position:fixed;inset:0;z-index:100050;display:flex;align-items:center;justify-content:center;padding:22px;opacity:0;transition:.15s ease}
.omni-booking-modal[hidden]{display:none!important}.omni-booking-modal.open{opacity:1}
.omni-booking-backdrop{position:absolute;inset:0;background:rgba(11,47,91,.58);backdrop-filter:blur(3px)}
.omni-booking-dialog{position:relative;width:min(560px,100%);max-height:88vh;display:flex;flex-direction:column;background:#fff;border-radius:24px;box-shadow:0 28px 80px rgba(8,35,65,.34);transform:translateY(10px) scale(.98);transition:.16s ease;overflow:hidden}
.omni-booking-modal.open .omni-booking-dialog{transform:none}
.omni-booking-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:21px 22px 16px;border-bottom:1px solid #e8edf3;background:#fff}
.omni-booking-dialog>header h3{margin:0!important;font-size:21px!important;line-height:1.2!important;color:#0b315d!important;font-weight:900!important}
.omni-booking-dialog>header p{margin:5px 0 0!important;font-size:13px!important;color:#64748b!important;font-weight:750!important}
.omni-booking-dialog>header button{width:42px;height:42px;flex:0 0 auto;border:0;border-radius:14px;background:#f1f5f9;color:#0b315d;font-size:24px;font-weight:900;cursor:pointer}
.omni-booking-dialog>main{flex:1;overflow:auto;padding:20px 22px;-webkit-overflow-scrolling:touch}
.omni-booking-slot-group{margin:0 0 22px}.omni-booking-slot-group:last-child{margin-bottom:0}
.omni-booking-slot-group h4{display:flex;align-items:center;gap:12px;margin:0 0 10px!important;color:#0b315d!important;font-size:15px!important;font-weight:900!important}
.omni-booking-slot-group h4:after{content:"";height:1px;flex:1;background:#e8edf3}
.omni-booking-slot-group>div{display:grid;gap:11px}
.omni-booking-slot{width:100%;min-height:70px;padding:13px 18px;border:2px solid #e1e6ec;border-radius:18px;background:#fff;display:flex;align-items:center;gap:16px;text-align:left;cursor:pointer;transition:.14s ease}
.omni-booking-slot:hover{border-color:#0d6b57;background:#f0fdf8;transform:translateY(-1px);box-shadow:0 8px 20px rgba(13,107,87,.10)}
.omni-booking-slot span{flex:0 0 auto;padding:5px 13px;border-radius:999px;background:#eef2fb;color:#0b315d;font-size:11px;font-weight:900;text-transform:uppercase}
.omni-booking-slot b{font-size:20px;color:#08735b;font-weight:900;letter-spacing:.01em}
.omni-booking-dialog>footer{display:flex;align-items:flex-start;gap:9px;padding:14px 22px 18px;border-top:1px solid #e8edf3;background:#fff;color:#64748b}
.omni-booking-dialog>footer p{margin:0;font-size:12px;line-height:1.5;font-weight:700}.omni-booking-dialog>footer span{flex:0 0 auto}
.omni-booking-empty{padding:45px 18px;text-align:center;color:#64748b;font-size:13px;font-weight:750}
.tiktok-capability-note{display:grid;gap:5px;margin:12px 0;padding:12px 13px;border:1px solid #e5d8ff;border-radius:14px;background:#faf7ff;color:#4d3b73}
.tiktok-capability-note b{font-size:11px}.tiktok-capability-note span,.tiktok-capability-note em{font-size:10px;line-height:1.5}.tiktok-capability-note em{font-style:normal;color:#8b5e13;background:#fff8e5;border-radius:8px;padding:6px 8px}
.connection-setup-note.connected{border-color:#bfe6ce;background:#effaf3}.connection-setup-note small{display:block;margin-top:5px;color:#6b7d90;font-size:9px}
@media(max-width:760px){.omni-booking-modal{padding:0;align-items:stretch}.omni-booking-dialog{width:100%;height:100dvh;max-height:none;border-radius:0}.omni-booking-dialog>header{padding:17px 18px 14px}.omni-booking-dialog>main{padding:17px 18px}.omni-booking-dialog>footer{padding:13px 18px calc(13px + env(safe-area-inset-bottom,0px))}.omni-booking-slot{min-height:68px}.omni-booking-slot b{font-size:18px}}

/* v0.8.37 — Zalo native actions, friend state, compact message clusters */
.zalo-stranger-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;background:#7b7f86;color:#fff;font-size:8px;font-weight:900;letter-spacing:.04em;white-space:nowrap;flex:0 0 auto}
.zalo-friend-bar{flex:0 0 auto;min-height:50px;padding:8px 14px;display:flex;align-items:center;gap:12px;background:#f7f9fc;border-bottom:1px solid #dfe6ef;color:#26364b}
.zalo-friend-bar[hidden]{display:none!important}
.zalo-friend-copy{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.zalo-friend-copy>span{display:flex;flex-direction:column;min-width:0;line-height:1.25}.zalo-friend-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zalo-friend-copy small{margin-top:2px;font-size:9px;color:#7c899a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zalo-friend-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e2efff;color:#1370c6;font-style:normal;font-size:18px;font-weight:700;flex:0 0 28px}.zalo-friend-icon.loading{border:2px solid #c8d9eb;border-top-color:#1976c9;background:transparent;animation:bshqspin .8s linear infinite}
.zalo-friend-primary,.zalo-friend-muted{height:32px;padding:0 13px;border-radius:8px;font-size:10px;font-weight:850;white-space:nowrap}.zalo-friend-primary{border:1px solid #176fc1;background:#1976d2;color:#fff;cursor:pointer}.zalo-friend-primary:hover{background:#1267ba}.zalo-friend-primary:disabled{opacity:.55;cursor:wait}.zalo-friend-muted{border:1px solid #d4dde8;background:#e9edf2;color:#6f7b8b}
.msg-meta-row{min-height:17px;margin:3px 6px 0;display:flex;align-items:center;gap:6px;color:#8492a5;font-size:8.5px}.msg.out .msg-meta-row{justify-content:flex-end}.msg.in .msg-meta-row{justify-content:flex-start}.msg-meta-row .msg-time{display:inline-flex!important;min-height:0!important;margin:0!important;font-size:8.5px!important}.zalo-undo-button{width:27px;height:27px;border-radius:50%;border:1px solid #d7e1ec;background:#fff;color:#54708f;display:grid;place-items:center;padding:0;font-size:17px;line-height:1;cursor:pointer;box-shadow:0 2px 7px rgba(35,60,90,.08)}.zalo-undo-button:hover{background:#eaf3ff;color:#176fc1;border-color:#bcd3eb}.zalo-undo-button.pending{cursor:wait;opacity:.65}
.msg.recalled .bubble{background:#f1f3f6!important;border-style:dashed!important;color:#7c8795!important;font-style:italic;box-shadow:none!important}.msg.recalled .msg-text:before{content:'↶ ';font-style:normal}

@media(max-width:760px){
  .zalo-friend-bar{min-height:46px;padding:7px 10px;gap:8px}.zalo-friend-copy{gap:7px}.zalo-friend-icon{width:25px;height:25px;flex-basis:25px;font-size:16px}.zalo-friend-copy b{font-size:10px}.zalo-friend-copy small{font-size:8px}.zalo-friend-primary,.zalo-friend-muted{height:30px;padding:0 10px;font-size:9px}.zalo-stranger-badge{height:18px;padding:0 5px;font-size:7px}.zalo-undo-button{width:25px;height:25px;font-size:16px}
}
.conv-stranger-pill{display:inline-flex;align-items:center;height:17px;padding:0 5px;border-radius:5px;background:#7c8189;color:#fff;font-size:7px;font-weight:900;letter-spacing:.03em;white-space:nowrap}

/* ===== v0.8.38: nút thu hồi Zalo nổi cạnh bong bóng — không chiếm chiều cao riêng, không "rớt dòng" ===== */
.msg-stack{position:relative}
.msg .bubble{position:relative}
/* hàng meta giờ chỉ còn giờ/trạng thái → bỏ min-height thừa cho gọn */
.msg .msg-meta-row{min-height:0!important;margin:2px 6px 0!important}
/* nút thu hồi: tách khỏi luồng, canh giữa theo chiều dọc bong bóng, nằm sát mép trái bong bóng gửi đi */
.msg.out .bubble .zalo-undo-button{
  position:absolute!important;top:50%;right:calc(100% + 7px);left:auto;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;border:1px solid #d7e1ec;background:#fff;
  color:#54708f;display:grid;place-items:center;padding:0;font-size:15px;line-height:1;
  cursor:pointer;box-shadow:0 2px 8px rgba(35,60,90,.14);z-index:4;margin:0
}
.msg.out .bubble .zalo-undo-button:hover{background:#eaf3ff;color:#176fc1;border-color:#bcd3eb}
.msg.out .bubble .zalo-undo-button.pending{cursor:wait;opacity:.6}
/* Desktop có chuột: ẩn cho sạch, chỉ hiện khi rê vào tin nhắn → hết cảnh mỗi tin một cái nút to */
@media (hover:hover) and (pointer:fine){
  .msg.out .bubble .zalo-undo-button{opacity:0;pointer-events:none;transition:opacity .12s ease}
  .msg.out:hover .bubble .zalo-undo-button{opacity:1;pointer-events:auto}
}
/* Mobile/cảm ứng: nhỏ gọn, luôn hiện, ép sát mép để không tràn màn hình */
@media (max-width:760px){
  .msg.out .bubble .zalo-undo-button{width:24px;height:24px;font-size:14px;right:calc(100% + 5px)}
}

/* ============================================================
   v0.8.39 — Mobile như app chat thực thụ (Pancake/Vpage-style)
   1) Bỏ thanh rail tối dọc bên trái → chip lọc cuộn ngang trên đầu danh sách
   2) Mở hội thoại = vào thẳng CHAT (không tự bung panel Xử lý nữa — sửa ở JS)
   3) Trang chi tiết (Khách hàng/Đặt lịch/Xử lý) = trang riêng full màn hình, có nút Quay lại
   ============================================================ */

/* --- Trang chi tiết: nút quay lại + lớp nền (mặc định ẩn trên desktop) --- */
.detail-head-mobile{display:none}
.detail-backdrop{display:none}

@media (max-width:1200px){
  /* tablet: panel trượt phải + có backdrop bấm ra ngoài để đóng + nút Quay lại */
  .detail-head-mobile{display:flex;align-items:center;height:48px;flex:0 0 48px;padding:0 6px;border-bottom:1px solid var(--bo-line);background:#fff}
  .detail-back{border:0;background:transparent;color:var(--bo-primary);font-size:15px;font-weight:800;cursor:pointer;padding:8px 10px;display:inline-flex;align-items:center;gap:3px;border-radius:8px}
  .detail-back:active{background:var(--bo-primary-soft)}
  .bshq-inbox.detail-open .detail-backdrop{display:block;position:fixed;inset:0;z-index:79;background:rgba(15,30,55,.34)}
}

@media (max-width:760px){
  /* điện thoại: trang chi tiết chiếm nguyên bề ngang, không còn "he hé" danh sách phía sau */
  .detail-col{width:100vw!important;max-width:100vw!important}
  .bshq-inbox.detail-open .detail-backdrop{display:none!important}

  /* ---- Rail tối → chip lọc ngang (CHỈ khi đang ở danh sách, không đè lên chat) ---- */
  .bshq-inbox:not(.has-current) .conv-col{display:flex!important}
  .conv-col{flex-direction:column!important;grid-template-columns:none!important}
  .conv-rail{
    order:0;flex:0 0 auto;
    width:100%!important;height:48px;min-height:48px;
    flex-direction:row!important;flex-wrap:nowrap;align-items:center;
    gap:6px;padding:8px 10px;
    overflow-x:auto;overflow-y:hidden;
    background:#fff!important;border-right:0!important;border-bottom:1px solid var(--bo-line);
    box-shadow:none!important;scrollbar-width:none;-webkit-overflow-scrolling:touch
  }
  .conv-rail::-webkit-scrollbar{display:none}
  .conv-rail:hover{width:100%!important}
  .conv-rail button{
    width:auto!important;min-width:0!important;height:34px!important;min-height:34px!important;
    flex:0 0 auto;
    display:inline-flex!important;align-items:center;gap:6px;
    padding:0 13px!important;border-radius:999px!important;
    background:#eef3fa!important;color:#3a5372!important;
    grid-template-columns:none!important;box-shadow:none!important;justify-items:unset!important
  }
  .conv-rail:hover button,.conv-rail button:hover{width:auto!important}
  .conv-rail button.active{background:#2563a8!important;color:#fff!important;box-shadow:0 3px 10px rgba(37,99,168,.28)!important}
  .conv-rail button .rail-svg{width:16px!important;height:16px!important;flex:0 0 16px!important}
  .conv-rail button .rail-svg svg{width:15px!important;height:15px!important}
  .conv-rail button>em,.conv-rail:hover button>em{display:inline!important;font-style:normal;font-size:11px;font-weight:800;white-space:nowrap;color:inherit}
  .conv-rail button>b{position:static!important;right:auto;top:auto;margin-left:1px;min-width:16px;height:16px;line-height:16px;font-size:9px;border-radius:8px;background:#e2513f}
  .conv-rail button>b:empty{display:none!important}
  .conv-pane{order:1;flex:1 1 auto;min-height:0}

  /* ---- Chat header trên mobile: các nút hành động khỏi tràn ---- */
  .chat-head-actions{gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .chat-head-actions::-webkit-scrollbar{display:none}
}

/* ============================================================
   v0.8.40 — Mobile: hết zoom vỡ giao diện + composer không bị che
   ============================================================ */

/* Chặn double-tap zoom, vẫn cuộn/tap bình thường */
.bshq-omni-wrap{touch-action:manipulation}

/* Shell co giãn bằng flex: header cao tự nhiên, khung chính lấp phần còn lại.
   Bỏ calc(100vh - Npx) cứng (sai khi header xuống dòng) → dùng dvh + flex */
body.bshq-omni-frontend .bshq-omni-wrap{display:flex;flex-direction:column;height:100vh}
body.bshq-omni-frontend .bshq-omni-top{flex:0 0 auto}
body.bshq-omni-frontend .bshq-omni-main{flex:1 1 auto;height:auto!important;min-height:0}
@supports (height:100dvh){
  body.bshq-omni-frontend .bshq-omni-wrap{height:100dvh}
}

@media (max-width:760px){
  /* Header một dòng, gọn, không xuống 3 dòng "Hộp / thư đa / kênh" nữa */
  .bshq-omni-top{height:52px!important}
  .bshq-top-title b{font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}

  /* Input ≥16px: iOS sẽ KHÔNG auto-zoom khi focus (thủ phạm 'vỡ tung tóe') */
  #bshq-compose,.composer-main textarea,.composer textarea{font-size:16px!important;line-height:1.4!important}
  #bshq-search,.conv-tools input,.conv-tools select,
  #bshq-detail input,#bshq-detail textarea,#bshq-detail select,
  .detail-grid input,.detail-grid select,.detail-grid textarea,
  .booking-form input,.booking-form select{font-size:16px!important}

  /* Composer chừa safe-area (home indicator) để không lọt sau thanh trình duyệt */
  .composer{padding-bottom:env(safe-area-inset-bottom)!important}
}

/* ============================================================
   v0.8.40.1 — Popup tin mới + badge favicon/tab (desktop only)
   ============================================================ */
.bshq-new-message-stack{
  position:fixed;top:82px;right:18px;z-index:100080;
  display:flex;flex-direction:column;gap:10px;width:min(390px,calc(100vw - 36px));
  pointer-events:none
}
.bshq-new-message-card{
  position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:10px;
  align-items:center;width:100%;min-height:82px;padding:11px 12px 13px;
  border:1px solid #d9e3ef;border-radius:16px;background:#fff;color:#19324f;
  box-shadow:0 14px 34px rgba(22,50,86,.22);text-align:left;cursor:pointer;
  overflow:hidden;pointer-events:auto;font:inherit;appearance:none;animation:bshqNewMessageIn .18s ease-out both
}
.bshq-new-message-card:hover{border-color:#9fc0e7;box-shadow:0 16px 38px rgba(22,50,86,.28)}
.bshq-new-message-card.leaving{animation:bshqNewMessageOut .22s ease-in both}
.bshq-new-message-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#e8f1ff;color:#2768ad;display:grid;place-items:center;font-weight:900;font-size:18px}
.bshq-new-message-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.bshq-new-message-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;min-width:0}
.bshq-new-message-copy b{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bshq-new-message-copy small{font-size:10px;line-height:1.2;color:#52708f;white-space:nowrap}
.bshq-new-message-copy em{grid-column:1/-1;margin-top:5px;font-style:normal;font-size:12px;line-height:1.35;color:#60748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bshq-new-message-close{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#8291a2;font-size:22px;font-weight:300;line-height:1}
.bshq-new-message-close:hover{background:#f0f4f8;color:#364b61}
.bshq-new-message-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#3e7de0;transform-origin:left;animation:bshqNewMessageProgress 6.2s linear forwards}
@keyframes bshqNewMessageIn{from{opacity:0;transform:translate3d(18px,-5px,0)}to{opacity:1;transform:none}}
@keyframes bshqNewMessageOut{to{opacity:0;transform:translate3d(22px,0,0)}}
@keyframes bshqNewMessageProgress{to{transform:scaleX(0)}}
@media(max-width:760px){.bshq-new-message-stack{display:none!important}}


/* ============================================================
   v0.8.40.2 — Unread emphasis + refined desktop popup
   Chỉ thay đổi giao diện, không đụng logic.
   ============================================================ */
.conv-item.unread-item{
  background:#fff7f7!important;
  border-left:3px solid #ef7b83!important;
  padding-left:7px!important;
  box-shadow:inset 0 0 0 1px rgba(239,123,131,.08)!important;
}
.conv-item.unread-item:hover{
  background:#fff0f1!important;
  box-shadow:inset 0 0 0 1px rgba(239,123,131,.14)!important;
}
.conv-item.unread-item.active{
  background:#ffecee!important;
  border-left-color:#e85d68!important;
  box-shadow:inset 3px 0 0 #e85d68,inset 0 0 0 1px rgba(232,93,104,.12)!important;
}
.conv-item.unread-item .conv-name-row .conv-name-text,
.conv-item.unread-item .conv-name{
  color:#1d2f45!important;
  font-weight:950!important;
}
.conv-item.unread-item .conv-preview{
  color:#5e6f83!important;
  font-weight:700!important;
}
.conv-item.unread-item .unread{
  background:#ef5964!important;
  box-shadow:0 3px 9px rgba(239,89,100,.24)!important;
}

.bshq-new-message-stack{
  top:76px!important;
  right:16px!important;
  gap:8px!important;
  width:min(330px,calc(100vw - 32px))!important;
}
.bshq-new-message-card{
  grid-template-columns:38px minmax(0,1fr) 24px!important;
  gap:9px!important;
  min-height:66px!important;
  padding:9px 10px 10px!important;
  border-color:#e2e8f0!important;
  border-radius:13px!important;
  box-shadow:0 10px 28px rgba(22,50,86,.16)!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.bshq-new-message-card:hover{
  border-color:#bdd0e6!important;
  box-shadow:0 13px 30px rgba(22,50,86,.2)!important;
}
.bshq-new-message-avatar{
  width:38px!important;
  height:38px!important;
  font-size:15px!important;
}
.bshq-new-message-copy{
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:7px!important;
  row-gap:1px!important;
  text-transform:none!important;
}
.bshq-new-message-copy b{
  font-size:12.5px!important;
  line-height:1.2!important;
  font-weight:850!important;
  color:#20364f!important;
  text-transform:none!important;
}
.bshq-new-message-copy small{
  font-size:9px!important;
  line-height:1.2!important;
  color:#7890a9!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.bshq-new-message-copy em{
  margin-top:2px!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#60748a!important;
  text-transform:none!important;
}
.bshq-new-message-close{
  width:22px!important;
  height:22px!important;
  font-size:18px!important;
  color:#9aa7b5!important;
}
.bshq-new-message-progress{
  height:2px!important;
  background:#7aa6db!important;
}
