@import url("/site-broadcast.css");

:root {
  --ink: #18231f;
  --muted: #708078;
  --line: #e5e9e6;
  --soft: #f5f7f5;
  --paper: #fbfcfa;
  --green: #166f4a;
  --green-soft: #e3f2ea;
  --orange: #d96b2b;
  --red: #c9463d;
  --navy: #243d55;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: #eef1ed; font: 14px/1.45 Inter, "Segoe UI", "Microsoft YaHei", sans-serif; overflow: hidden; }
body.has-site-broadcast .shell { height: calc(100vh - 38px); }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.shell { width: 100vw; height: 100vh; display: grid; grid-template-columns: 92px 340px minmax(460px, 1fr) 300px; background: var(--paper); }
.rail { background: #13251e; padding: 18px 10px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.brand-mark { width: 68px; height: 40px; display: grid; place-items: center; border: 1px solid #507565; color: #eaf6ef; font: 700 17px/1 Georgia, serif; border-radius: 12px; margin-bottom: 12px; }
.rail-button, .avatar.small { border: 0; width: 68px; min-height: 46px; border-radius: 11px; background: transparent; color: #9bb3a7; }
.rail-button { display: grid; grid-template-columns: 24px 1fr; place-items: center; gap: 4px; padding: 6px 8px; text-decoration: none; }
.rail-icon { font-size: 13px; font-weight: 800; }
.rail-label { font-size: 11px; font-weight: 650; }
.mobile-back{display:none;border:0;background:var(--soft);color:var(--ink);width:34px;height:34px;border-radius:9px;font-size:24px;line-height:1}
.rail-button.active, .rail-button:hover { background: #28473a; color: white; }
.rail-spacer { flex: 1; }
.avatar.small { background: #e0a863; color: #3c2a18; font-size: 13px; font-weight: 700; }
.sidebar { border-right: 1px solid var(--line); display: flex; flex-direction: column; min-width: 0; background: #f8faf8; }
.sidebar-header { height: 88px; padding: 19px 22px 14px; display: flex; align-items: center; justify-content: space-between; }
.eyebrow { margin: 0 0 2px; color: #839087; font-size: 10px; letter-spacing: .16em; font-weight: 700; }
h1 { margin: 0; font: 700 24px/1.1 Georgia, "Microsoft YaHei", serif; }
.live-dot { color: var(--green); font-size: 11px; padding: 5px 8px; background: var(--green-soft); border-radius: 99px; }
.live-dot::before { content: ""; display: inline-block; width: 6px; height: 6px; background: #2b9567; border-radius: 50%; margin-right: 5px; }
.metrics { margin: 0 16px 14px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 14px; background: white; overflow: hidden; }
.metrics div { padding: 12px 8px; text-align: center; border-right: 1px solid var(--line); }
.metrics div:last-child { border-right: 0; }
.metrics strong { display: block; font-size: 18px; }
.metrics span { color: var(--muted); font-size: 11px; }
.filters { padding: 0 16px 12px; border-bottom: 1px solid var(--line); }
.channel-scope { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; padding: 8px 10px; border: 1px solid #bfe7cc; border-radius: 10px; background: var(--green-soft); color: #176b4b; font-size: 12px; }
.channel-scope .secondary { padding: 5px 8px; background: white; }
.search { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid var(--line); background: white; border-radius: 10px; }
.search input { border: 0; outline: 0; width: 100%; background: transparent; }
.filter-row { display: flex; gap: 5px; margin-top: 10px; }
.filter { border: 0; padding: 6px 10px; background: transparent; color: var(--muted); border-radius: 8px; font-size: 12px; }
.filter.active { color: var(--green); background: var(--green-soft); font-weight: 650; }
.conversation-list { overflow: auto; flex: 1; }
.conversation { padding: 16px 18px; display: grid; grid-template-columns: 42px 1fr auto; gap: 11px; border-bottom: 1px solid #ebeeeb; cursor: pointer; position: relative; }
.conversation:hover, .conversation.active { background: white; }
.conversation.active::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; background: var(--green); border-radius: 0 3px 3px 0; }
.avatar { border: 0; width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: #dcebe4; color: var(--green); font-weight: 750; }
.conversation-main { min-width: 0; }
.conversation-title { display: flex; gap: 7px; align-items: center; font-weight: 700; }
.channel { font-size: 9px; text-transform: uppercase; padding: 2px 5px; border: 1px solid #cfd8d3; border-radius: 4px; color: var(--muted); }
.draft-badge { font-size: 9px; padding: 2px 5px; border-radius: 4px; color: #805500; background: #fff3cd; }
.preview { margin-top: 4px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.conversation-side { text-align: right; color: #9ba49f; font-size: 10px; }
.badge { display: inline-block; margin-top: 7px; min-width: 17px; padding: 1px 5px; border-radius: 99px; color: white; background: var(--green); text-align: center; }
.priority-dot { width: 7px; height: 7px; display: inline-block; flex: 0 0 auto; }
.priority-dot.priority-high { border-radius: 50%; background: var(--orange); }
.priority-dot.priority-urgent { border-radius: 2px; background: var(--red); transform: rotate(45deg); }
.chat { display: flex; min-width: 0; flex-direction: column; background: #fff; }
.chat-header { min-height: 76px; border-bottom: 1px solid var(--line); padding: 14px 22px; display: flex; align-items: center; justify-content: space-between; }
.header-person { display: flex; gap: 12px; align-items: center; }
.header-person h2 { margin: 0; font-size: 16px; }
.header-person p { margin: 3px 0 0; font-size: 11px; color: var(--muted); }
.mode-control { display: flex; gap: 6px; }
.mode-control button { border: 1px solid var(--line); background: white; padding: 7px 10px; border-radius: 8px; color: var(--muted); }
.mode-control button.active { color: var(--green); background: var(--green-soft); border-color: #b9ddca; }
.messages { flex: 1; overflow: auto; padding: 26px clamp(24px, 5vw, 72px); background: linear-gradient(#fff, #fbfcfb); }
.welcome { margin: 18vh auto; max-width: 440px; text-align: center; color: var(--muted); }
.welcome-icon { margin: 0 auto 16px; width: 54px; height: 54px; border: 1px solid #cfe0d7; display: grid; place-items: center; border-radius: 18px; color: var(--green); font-size: 24px; background: var(--green-soft); }
.welcome h2 { color: var(--ink); margin-bottom: 8px; font-family: Georgia, "Microsoft YaHei", serif; }
.message { display: flex; gap: 10px; margin: 15px 0; align-items: flex-end; }
.message.outbound { justify-content: flex-end; }
.bubble { max-width: 72%; padding: 11px 14px; border-radius: 14px; background: var(--soft); white-space: pre-wrap; word-break: break-word; }
.message.outbound .bubble { color: white; background: var(--navy); border-bottom-right-radius: 4px; }
.message.inbound .bubble { border-bottom-left-radius: 4px; }
.bubble-meta { font-size: 10px; color: #96a099; margin-top: 5px; }
.message.outbound .bubble-meta { color: #bbc9d4; }
.delivery-state.failed { color: #ffd0cc; font-weight: 700; }
.delivery-state.queued { color: #ffe0a8; }
.delivery-state.unknown { color: #ffe0a8; font-weight: 700; }
.composer { border-top: 1px solid var(--line); padding: 10px 18px 13px; background: white; }
.hidden { display: none !important; }
.quick-row { display: flex; gap: 6px; margin-bottom: 7px; }
.quick-row button { border: 1px solid var(--line); background: var(--soft); color: var(--muted); padding: 5px 8px; border-radius: 7px; font-size: 11px; }
.compose-box { border: 1px solid #cfd7d2; border-radius: 12px; display: flex; align-items: flex-end; padding: 8px; }
.compose-box textarea { flex: 1; border: 0; outline: 0; resize: none; padding: 5px; }
.send, .primary { border: 0; background: var(--green); color: white; border-radius: 9px; padding: 9px 16px; font-weight: 700; }
.compose-meta { display: flex; justify-content: space-between; color: #9aa39e; font-size: 10px; margin-top: 5px; }
.inspector { border-left: 1px solid var(--line); padding: 22px; overflow: auto; background: #fbfcfa; }
.inspector-empty { color: var(--muted); text-align: center; margin-top: 40vh; font-size: 12px; }
.profile { text-align: center; padding: 8px 0 22px; border-bottom: 1px solid var(--line); }
.profile .avatar { margin: auto; width: 58px; height: 58px; border-radius: 18px; font-size: 18px; }
.profile h3 { margin: 11px 0 3px; }
.profile p { margin: 0; color: var(--muted); font-size: 11px; }
.customer-profile-card { display: grid; gap: 9px; }
.customer-profile-row { display: grid; grid-template-columns: minmax(76px, auto) minmax(0, 1fr); gap: 10px; align-items: start; font-size: 12px; }
.customer-profile-row span { color: var(--muted); }
.customer-profile-row strong { text-align: right; overflow-wrap: anywhere; }
.customer-profile-tags-value { display: grid; justify-items: end; gap: 4px; min-width: 0; }
.customer-profile-tags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; max-width: 100%; max-height: 132px; overflow-y: auto; overscroll-behavior: contain; }
.customer-profile-row .customer-profile-tag { max-width: 100%; box-sizing: border-box; padding: 3px 7px; border-radius: 999px; background: #eaf7f1; color: var(--green); line-height: 1.35; overflow-wrap: anywhere; text-align: left; }
.customer-profile-empty { color: var(--muted); font-size: 11px; }
.customer-profile-popover { position: relative; }
.customer-profile-popover summary { list-style: none; border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; background: white; color: var(--green); font-size: 12px; font-weight: 700; cursor: pointer; }
.customer-profile-popover summary::-webkit-details-marker { display: none; }
.customer-profile-popover-panel { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: min(280px, calc(100vw - 24px)); box-sizing: border-box; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 14px 38px #17261f24; }
.open-customer-inspector, .inspector-close { display: none; }
.section { padding: 19px 0; border-bottom: 1px solid var(--line); }
.section h4 { margin: 0 0 12px; font-size: 11px; color: #87928c; letter-spacing: .08em; text-transform: uppercase; }
.info-row { display: flex; justify-content: space-between; margin: 9px 0; font-size: 12px; }
.info-row span:first-child { color: var(--muted); }
.select, .summary { width: 100%; border: 1px solid var(--line); border-radius: 8px; background: white; padding: 8px; color: var(--ink); }
.summary { min-height: 72px; resize: vertical; }
.radar { padding: 12px; background: #fff6e9; border: 1px solid #f2dfc4; border-radius: 11px; color: #80522d; font-size: 12px; }
.radar strong { display: block; color: #5f3b1f; margin-bottom: 4px; }
dialog { border: 0; border-radius: 18px; box-shadow: 0 24px 80px #15241f33; width: min(390px, 90vw); padding: 28px; }
dialog::backdrop { background: #13251ecc; backdrop-filter: blur(5px); }
dialog h2 { margin: 4px 0 8px; }
dialog p { color: var(--muted); }
dialog input { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 11px; margin: 10px 0 14px; }
.site-auth-password { position: relative; }
.site-auth-password input { padding-right: 86px; }
.site-auth-password button { position: absolute; top: 18px; right: 8px; border: 0; border-radius: 7px; padding: 6px 8px; background: var(--green-soft); color: var(--green); font-weight: 700; }
.site-auth-remember { display: flex; align-items: center; gap: 7px; margin: -2px 0 14px; color: var(--ink); font-size: 13px; }
.site-auth-remember input { width: auto; margin: 0; }
.site-auth-remember small { margin-left: auto; color: var(--muted); }
.site-auth-feedback { margin: 0 0 14px; border: 1px solid #efc2c2; border-radius: 9px; padding: 10px 12px; background: #fff1f1; color: #9a2c2c; font-weight: 700; }
.site-auth-logout { position: fixed; left: 14px; bottom: 14px; z-index: 30; border: 1px solid #b9c8c0; border-radius: 9px; padding: 8px 10px; background: #fff; color: var(--green); font-weight: 700; }
.avatar.small.site-auth-logout { position: static; border-color: #507565; background: #28473a; color: #fff; font-size: 11px; }
.site-auth-logout:disabled { opacity: .55; cursor: wait; }
dialog .primary { width: 100%; }
.toast { position: fixed; z-index: 60; right: 20px; bottom: 20px; opacity: 0; transform: translateY(8px); transition: .2s; background: #17261f; color: white; border-radius: 10px; padding: 10px 14px; pointer-events: none; }
.toast.show { opacity: 1; transform: translateY(0); }
@media (max-width: 1080px) {
  .shell { grid-template-columns: 80px 310px 1fr; }
  .inspector { display: none; }
  .open-customer-inspector { display: block; width: 100%; margin-top: 14px; border: 0; border-radius: 8px; padding: 8px 10px; background: var(--green); color: white; font-weight: 700; }
  body.customer-inspector-open .inspector { display: block; position: fixed; inset: 0 0 0 auto; z-index: 50; width: min(380px, 100vw); box-shadow: -18px 0 45px #17261f33; }
  body.customer-inspector-open .inspector-close { display: grid; position: sticky; top: 0; z-index: 1; margin: 0 0 0 auto; border: 0; border-radius: 9px; width: 36px; height: 36px; place-items: center; background: var(--soft); color: var(--ink); font-size: 22px; }
}
@media (max-width: 760px) { .shell { grid-template-columns: 72px 1fr; } .chat { display: none; } .sidebar { min-width: 0; } .rail{padding-inline:6px}.rail-button{width:60px;grid-template-columns:1fr;gap:1px}.brand-mark{width:58px} body.conversation-open .shell{grid-template-columns:1fr}body.conversation-open .rail,body.conversation-open .sidebar{display:none}body.conversation-open .chat{display:flex}.mobile-back{display:inline-grid;place-items:center}.chat-header{padding:10px 12px;flex-wrap:wrap;gap:8px}.header-person{min-width:0;flex:1 1 100%}.header-person>div:last-child{min-width:0}.header-person h2,.header-person p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-control{width:100%;gap:4px}.mode-control button{flex:1;padding:6px 7px} }

.rail a{display:grid;text-decoration:none}.growth-page{min-height:100vh;background:#f2f3ee;color:#18231d}.growth-top,.growth-wrap{max-width:1180px;margin:auto}.growth-top{display:flex;justify-content:space-between;align-items:center;padding:48px 24px 24px}.growth-top h1{font-size:42px;margin:4px 0}.growth-top>div>p:last-child{color:#67756d}.back-link{color:#176b4b;font-weight:700}.growth-wrap{padding:0 24px 60px}.growth-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.growth-metrics div{background:#fff;padding:24px;border-radius:18px}.growth-metrics strong{font-size:32px;display:block}.growth-metrics span{color:#718078}.growth-panel{margin:24px 0 36px;background:#173d2e;color:white;border-radius:24px;padding:30px;display:grid;grid-template-columns:1fr 1.5fr;gap:36px}.growth-panel p{color:#bdd0c6}.campaign-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.campaign-form input,.campaign-form select{padding:13px;border:0;border-radius:10px}.growth-section-title{display:flex;justify-content:space-between}.campaign-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.campaign-card{background:white;border-radius:20px;padding:22px;border:1px solid #e1e5df}.campaign-head{display:flex;justify-content:space-between}.campaign-head>span{background:#edf5f0;color:#176b4b;padding:5px 9px;border-radius:8px}.campaign-card h3{font-size:22px;margin-bottom:6px}.campaign-card>p{color:#718078}.funnel{display:grid;grid-template-columns:auto auto auto auto auto;align-items:center;gap:8px;background:#f5f6f2;padding:14px;border-radius:12px;margin:18px 0}.funnel b{font-size:20px}.funnel span{font-size:12px;color:#718078}.campaign-link{display:flex;gap:8px}.campaign-link input{min-width:0;flex:1;padding:10px;border:1px solid #dfe3de;border-radius:9px}.campaign-link button,.campaign-link a{padding:10px;border:0;border-radius:9px;background:#eaf2ed;color:#176b4b;text-decoration:none;font-weight:700}@media(max-width:800px){.growth-metrics{grid-template-columns:1fr 1fr}.growth-panel{grid-template-columns:1fr}.campaign-grid{grid-template-columns:1fr}}
.account-page{overflow:auto;min-height:100vh;background:#eef1ed}.account-top,.account-wrap{max-width:1120px;margin:auto}.account-top{padding:44px 24px 24px;display:flex;justify-content:space-between;align-items:center}.account-top h1{font-size:38px}.account-top>div>p:last-child{color:var(--muted)}.account-wrap{padding:0 24px 60px}.account-create,.simulate-panel{background:#173d2e;color:#fff;border-radius:22px;padding:26px;display:grid;grid-template-columns:1fr 1.5fr;gap:28px}.account-create h2,.simulate-panel h2{margin-top:0}.account-create p,.simulate-panel p{color:#bdd0c6}.account-create form,.simulate-panel form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-create input,.account-create select,.simulate-panel input{border:0;border-radius:9px;padding:12px}.connector-state{margin:20px 0;padding:13px 16px;border-radius:11px;background:#fff3d9;color:#725321}.connector-state.online{background:#e3f2ea;color:#166f4a}.connector-state.offline{background:#fde8e5;color:#9b342d}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.account-card,.empty-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.empty-card{grid-column:1/-1;color:var(--muted);text-align:center}.account-head{display:flex;justify-content:space-between}.account-head h3{margin:10px 0 4px;font-size:20px}.account-head p{margin:0;color:var(--muted)}.account-head>strong{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#def5e8;color:#087b42}.status{font-size:11px;border-radius:99px;background:#edf0ee;padding:4px 8px}.status.connected{background:#def5e8;color:#087b42}.status.qr{background:#fff0c7;color:#8a5a00}.status.error{background:#fde8e5;color:#a43730}.qr-box{text-align:center;padding:16px;margin:16px 0;background:#f6f8f5;border-radius:14px}.qr-box img{width:min(260px,100%);display:block;margin:auto}.qr-box p{font-size:12px;color:var(--muted)}.account-error{margin:14px 0;padding:10px;border-radius:9px;background:#fff0ee;color:#9c382f;word-break:break-word}.account-meta{display:flex;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);color:var(--muted)}.account-meta b{color:var(--ink)}.account-actions{display:flex;flex-wrap:wrap;gap:8px}.account-actions button,.account-reply-link,.simulate-panel button{border:1px solid var(--line);background:#f5f7f5;border-radius:9px;padding:9px 11px}.account-reply-link{background:#e3f2ea;color:#166f4a;font-weight:700;text-decoration:none}.account-actions .danger{color:#b23932}.simulate-panel{background:#243d55}.simulate-panel button{background:#eaf2ed;color:#176b4b;font-weight:700}@media(max-width:800px){.account-create,.simulate-panel{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr}.account-top{align-items:flex-start}.account-create form,.simulate-panel form{grid-template-columns:1fr}}

.license-page{overflow:auto;min-height:100vh;background:#eef1ed}.license-top,.license-wrap{max-width:1120px;margin:auto}.license-top{padding:44px 24px 24px;display:flex;justify-content:space-between;align-items:center}.license-top h1{font-size:38px}.license-top>div>p:last-child{color:var(--muted)}.license-wrap{padding:0 24px 60px}.license-create{background:#173d2e;color:white;border-radius:22px;padding:26px;display:grid;grid-template-columns:1fr 1.5fr;gap:28px}.license-create h2{margin-top:0}.license-create p{color:#bdd0c6}.license-create form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.license-create input,.license-create select{border:0;border-radius:9px;padding:12px}.license-create button{grid-column:2}.license-summary{margin:20px 0;padding:13px 16px;border-radius:11px;background:#e3f2ea;color:#166f4a}.license-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.license-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.license-head{display:flex;justify-content:space-between}.license-head h3{margin:10px 0 4px;font-size:20px}.license-head p{margin:0;color:var(--muted)}.license-head>strong{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#def5e8;color:#087b42;font-size:23px}.license-status{font-size:11px;border-radius:99px;padding:4px 8px;background:#def5e8;color:#087b42}.license-status.revoked,.license-status.expired{background:#fde8e5;color:#a43730}.license-card dl{margin:18px 0}.license-card dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0}.license-card dt{color:var(--muted)}.license-card dd{margin:0;text-align:right}.license-actions{display:flex;gap:8px}.license-actions select,.license-actions button{border:1px solid var(--line);background:#f5f7f5;border-radius:9px;padding:9px}.license-actions select{flex:1}.license-actions .danger{color:#b23932}.license-actions button:disabled{opacity:.45;cursor:not-allowed}#codeDialog code{display:block;margin:16px 0;padding:14px;border-radius:10px;background:#f1f3f1;word-break:break-all;user-select:all}#codeDialog button{width:100%;margin-top:8px;border:0;border-radius:9px;padding:10px}@media(max-width:800px){.license-create{grid-template-columns:1fr}.license-create form{grid-template-columns:1fr}.license-create button{grid-column:auto}.license-list{grid-template-columns:1fr}.license-top{align-items:flex-start}}

.cloud-activation{display:grid;place-items:center}.cloud-activation .license-card{width:min(520px,100%);text-align:center}.activation-qr{display:block;width:min(320px,90%);margin:18px auto;background:white}.pairing-number{font:700 36px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.18em;margin:18px 0;color:var(--green)}

.scope-picker{border:1px solid #d8ddd8;border-radius:12px;padding:10px 14px;display:flex;gap:12px;flex-wrap:wrap}.scope-picker legend{color:#65736b;padding:0 6px}.scope-picker label{display:flex;gap:5px;align-items:center;font-size:13px}.scope-picker input{width:auto;margin:0}

.license-status.warning{background:#fff0c7;color:#8a5b00}.license-status.critical{background:#fde8e5;color:#a43730}.license-status.info{background:#e8eef9;color:#315d96}.alert-card.warning{border-color:#e7c96c}.alert-card.critical{border-color:#e2a29d}.alert-card .license-head>strong{width:auto;min-width:44px;padding:0 10px;font-size:12px}#alertAuditDialog>div{width:min(720px,90vw);max-height:80vh;overflow:auto}#alertAuditList{display:grid;gap:10px;margin:16px 0}
.weixin-admin-preview{margin:12px 0;padding:14px;border:1px solid #bfe7cc;border-radius:14px;background:#f2fff6;text-align:center;color:#315e48}.weixin-admin-preview small{display:block;color:#6b8476}.weixin-admin-preview p{margin:9px 0;white-space:pre-wrap;word-break:break-word}.weixin-admin-qr-sample{position:relative;display:grid;place-items:center;width:112px;aspect-ratio:1;margin:auto;border:8px solid #fff;border-radius:12px;background-color:#fff;background-image:linear-gradient(90deg,#173d2e 25%,transparent 25%,transparent 75%,#173d2e 75%),linear-gradient(#173d2e 25%,transparent 25%,transparent 75%,#173d2e 75%);background-size:16px 16px;box-shadow:0 6px 18px #173d2e26}.weixin-admin-qr-sample>span{display:grid;place-items:center;width:36px;height:36px;border:3px solid #fff;border-radius:50%;background:#07c160;color:#fff;font-size:10px;font-weight:800;overflow:hidden}.weixin-admin-qr-sample img{width:100%;height:100%;object-fit:cover}.weixin-admin-preview-bubbles{letter-spacing:1px}.weixin-admin-preview-missing{background:#edf3ef!important;color:#678!important}
.operator-channel-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}.operator-channel-nav a,.admin-quick-links a{border-radius:999px}.operator-channel-nav a{padding:9px 13px;border:1px solid #cad8d0;background:#fff;color:#174d38;text-decoration:none;font-weight:700}.operator-channel-nav a[aria-current="page"],.admin-quick-links a[aria-current="page"]{background:#174d38;color:#fff}.operator-channel-settings{margin-top:14px;padding:16px;border:1px solid #dce6e0;border-radius:14px;background:#f8fbf9}.operator-channel-settings h4{margin:0 0 6px}.operator-channel-settings>p{color:#526159}.operator-step{display:grid;gap:10px}.operator-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.operator-field-grid label{display:grid;gap:5px;color:#526159;font-size:12px;font-weight:700}.operator-field-grid input,.operator-field-grid select,.operator-field-grid button{width:100%;box-sizing:border-box}.operator-field-grid button{min-height:43px}.weixin-live-code-management{margin-top:16px;padding-top:16px;border-top:1px solid #cfe0d6}.weixin-live-code-management h4{margin-top:0}
body[data-operator-channel="account"] .operator-channel-settings{display:none}
body[data-operator-channel="whatsapp"] .operator-channel-weixin{display:none}
body[data-operator-channel="weixin"] .operator-channel-whatsapp{display:none}
body[data-operator-channel="whatsapp"] #operatorForm,body[data-operator-channel="weixin"] #operatorForm,body[data-operator-channel="whatsapp"] .operator-account-settings,body[data-operator-channel="weixin"] .operator-account-settings{display:none}
body[data-operator-channel="whatsapp"] .license-wrap>:not(.operator-channel-nav):not(#operatorPanel):not(#operatorList),body[data-operator-channel="weixin"] .license-wrap>:not(.operator-channel-nav):not(#operatorPanel):not(#operatorList){display:none!important}
body[data-operator-channel="whatsapp"] #operatorList,body[data-operator-channel="weixin"] #operatorList{grid-template-columns:minmax(0,1fr)}
body[data-operator-channel="qq"] #operatorForm{display:none}
body[data-operator-channel="qq"] .license-wrap>:not(.operator-channel-nav):not(#operatorPanel):not(#operatorList):not(#qqPoolPanel){display:none!important}
#qqPoolPanel[hidden]{display:none!important}
body[data-operator-channel="qq"] #operatorPanel{display:block;margin-bottom:0;border-radius:22px 22px 0 0;padding:24px}
body[data-operator-channel="qq"] #operatorPanel .qq-user-picker{margin-top:18px}
body[data-operator-channel="qq"] #operatorList{grid-template-columns:minmax(0,1fr);margin-top:0;gap:0}
body[data-operator-channel="qq"] #operatorList .license-card{border-radius:0 0 22px 22px;border-top:0}
.operator-channel-qq .qq-assignment-preview{grid-column:1/-1;white-space:pre-line;background:#edf6f0;border:1px solid #cad8d0;border-radius:10px;padding:16px;line-height:1.8;color:#174d38}
.operator-channel-qq .qq-current-assignment{padding:12px;border:1px solid #cad8d0;border-radius:10px}
.operator-channel-qq fieldset{border:0;padding:0;margin:12px 0;min-width:0}
.operator-channel-qq code{overflow-wrap:anywhere}
.qq-user-picker{display:grid;gap:8px;align-content:start;min-width:0}
.qq-user-picker[hidden],.operator-channel-qq[hidden]{display:none}
.qq-user-picker label{font-weight:700;font-size:13px}
.qq-user-picker p{margin:2px 0;font-size:13px}
.qq-user-picker button{grid-column:auto;justify-self:start;padding:10px 16px;border:1px solid #cad8d0;border-radius:10px;background:white;color:#174d38}
.qq-user-picker input,.qq-user-picker select{width:100%;min-width:0;box-sizing:border-box}
.operator-channel-qq .operator-field-grid input,.operator-channel-qq .operator-field-grid select{padding:11px;border:1px solid #cad8d0;border-radius:9px;background:white}
.operator-channel-qq fieldset:disabled{opacity:.55}
@media(max-width:760px){.operator-field-grid{grid-template-columns:1fr}.admin-quick-links{align-items:flex-start}}

.quick-tools{display:flex;margin-bottom:6px}.quick-tools input{width:190px;border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-size:11px}.quick-row{overflow-x:auto;min-height:27px}.quick-row button{white-space:nowrap}.quick-row button small{display:block;font-size:8px;opacity:.72;margin-top:2px}.quick-empty{color:var(--muted);font-size:11px;padding:6px 2px}

#quickReplyForm textarea{grid-column:1/-1;min-height:90px;border:0;border-radius:9px;padding:12px;resize:vertical}
.self-quota{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 18px;padding:16px 20px;border-radius:14px;background:#e3f2ea;color:#166f4a}.self-quota.offline{background:#fde8e5;color:#9b342d}.self-quota span{font-size:13px}@media(max-width:700px){.self-quota{align-items:flex-start;flex-direction:column}}

.admin-mode-switch{position:sticky;top:12px;z-index:5;margin:0 0 18px;padding:7px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:14px;background:#ffffffed;box-shadow:0 8px 24px #173d2e14;backdrop-filter:blur(10px)}
.admin-mode-switch button{border:0;border-radius:9px;padding:9px 15px;background:transparent;color:var(--muted);font-weight:700}
.admin-mode-switch button.active{background:var(--green);color:white}
.admin-mode-switch span{margin-left:auto;padding-right:8px;color:var(--muted);font-size:12px}
.admin-advanced[hidden]{display:none!important}
.admin-quick-links{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:560px}
.admin-quick-links a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);font-size:13px;font-weight:700;text-decoration:none}
.admin-quick-links a:hover,.admin-quick-links a:focus-visible{border-color:#9bcbb0;background:var(--green-soft)}
#cloudLicense,#operatorPanel,#quickReplyPanel,#localLicensePanel{scroll-margin-top:84px}
@media(max-width:800px){.admin-mode-switch{top:6px;flex-wrap:wrap}.admin-mode-switch span{width:100%;margin-left:0;padding:2px 8px 4px}.license-top{align-items:flex-start;gap:16px;flex-direction:column}.admin-quick-links{justify-content:flex-start}#cloudLicense,#operatorPanel,#quickReplyPanel,#localLicensePanel{scroll-margin-top:118px}}
.ai-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:7px 0}.ai-tools button,.ai-tools select,.message-tool{border:1px solid var(--line);background:#f6f8f6;color:var(--muted);border-radius:7px;padding:5px 8px;font-size:11px}.ai-tools button:hover,.message-tool:hover{color:var(--green);border-color:#b9ddca}.ai-tools button:disabled{opacity:.45;cursor:not-allowed}.ai-preview{margin:7px 0;padding:10px 12px;border:1px solid #b9ddca;border-radius:10px;background:var(--green-soft);color:#244c39;font-size:12px}.ai-preview p{margin:0 0 8px;white-space:pre-wrap}.ai-preview-actions{display:flex;gap:7px}.ai-preview-actions button{border:0;border-radius:7px;padding:5px 9px}.ai-adopt{background:var(--green);color:white}.translated-text{margin-top:8px;padding-top:8px;border-top:1px dashed #b9c8c0;font-size:12px;color:#4f695c}.message.outbound .translated-text{color:#d8e3ea;border-color:#60778b}.bubble-tools{margin-top:6px}.message-tool{padding:2px 6px;font-size:9px;background:transparent}.message.outbound .message-tool{color:#d8e3ea;border-color:#60778b}
.composer-actions{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.composer-actions button{border:1px solid var(--line);background:#f6f8f6;color:var(--muted);border-radius:7px;padding:5px 9px;font-size:11px}.composer-actions button:hover{color:var(--green);border-color:#b9ddca}.composer-actions button:disabled{opacity:.45;cursor:not-allowed}#scheduledContactDialog{width:min(560px,92vw)}#scheduledContactForm{display:grid;gap:10px}#scheduledContactForm label{display:grid;gap:5px;font-size:12px;color:var(--muted)}#scheduledContactForm select,#scheduledContactForm textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}#scheduledContactForm textarea{min-height:90px;resize:vertical}.scheduled-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.scheduled-check input{width:auto!important;margin:0!important}#scheduledRecipients{max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:10px}#scheduledRecipientList{display:grid;gap:7px}#scheduledRecipientList label{display:flex;grid-template-columns:auto 1fr;align-items:center}#scheduledRecipientList input{width:auto;margin:0}#scheduledContactItemsTitle{font-size:12px;margin:0 0 6px}.scheduled-contact-items{display:grid;gap:6px;max-height:140px;overflow:auto}.scheduled-contact-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:11px}.scheduled-contact-item span{text-align:right;color:var(--muted)}.scheduled-contact-item button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:6px;padding:3px 7px;font-size:11px}.scheduled-contact-item button:hover{color:#a23a32;border-color:#e0aaa5}#scheduledContactStatus{min-height:18px;margin:0;color:var(--green)}
.image-preview{display:flex;align-items:center;gap:9px;margin:6px 0;padding:8px;border:1px solid #b9ddca;border-radius:10px;background:var(--green-soft);font-size:11px;color:var(--muted)}.image-preview img{width:52px;height:52px;object-fit:cover;border-radius:8px;background:#fff}.image-preview span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview button{border:0;border-radius:7px;padding:5px 8px;background:#fff;color:#9b342d}.message-image{display:block;max-width:min(340px,60vw);max-height:360px;border-radius:10px;object-fit:contain;background:#fff}.message.outbound .message-image{background:#edf3ef}

/* lead-intelligence */
.growth-page{overflow:auto}.growth-metrics{grid-template-columns:repeat(5,1fr)}.campaign-form textarea{grid-column:1/-1}.campaign-form button{grid-column:2}.section-note{color:#718078;margin-top:6px}.lead-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 40px}.lead-card{background:#fff;border:1px solid #e1e5df;border-radius:20px;padding:22px}.lead-card.hot{border-color:#e1a06e}.lead-card.warm{border-color:#e5cf78}.lead-head{display:flex;justify-content:space-between;gap:16px}.lead-head h3{margin:10px 0 3px;font-size:20px}.lead-head p{margin:0;color:#718078;font-size:12px;word-break:break-all}.campaign-chip{display:inline-block;background:#edf5f0;color:#176b4b;padding:4px 8px;border-radius:8px;font-size:11px}.intent-score{min-width:72px;text-align:center;padding:9px;border-radius:13px;background:#f5f6f2}.intent-score strong{display:block;font-size:26px}.intent-score span{font-size:11px;color:#718078}.lead-stage{display:inline-block;margin-top:15px;padding:5px 9px;border-radius:99px;background:#fff3d9;color:#755522;font-size:11px}.intent-summary{color:#526159;line-height:1.65}.intent-evidence,.next-action{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f5f7f5}.intent-evidence b,.next-action b{font-size:11px;color:#718078}.intent-evidence ul{margin:7px 0 0;padding-left:18px}.intent-evidence.objection{background:#fff6ee}.next-action{background:#edf5f0}.next-action p{margin:6px 0 0}.lead-actions{display:flex;justify-content:flex-end;margin-top:14px}.lead-actions button{border:0;border-radius:9px;padding:9px 12px;background:#176b4b;color:#fff;font-weight:700}.lead-actions button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:800px){.growth-metrics{grid-template-columns:1fr 1fr}.lead-grid{grid-template-columns:1fr}.campaign-form button{grid-column:auto}}
.lead-toolbar{display:flex;gap:12px;align-items:end;margin:14px 0 4px;padding:14px;border:1px solid #e1e5df;border-radius:14px;background:#fff}.lead-toolbar label{display:grid;gap:5px;color:#718078;font-size:11px}.lead-toolbar input,.lead-toolbar select{min-width:180px;padding:9px 10px;border:1px solid #dfe3de;border-radius:9px;background:#fff}.lead-search{flex:1}.lead-search input{width:100%}.lead-toolbar strong{margin-left:auto;padding-bottom:9px;color:#718078;font-size:12px}.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfd8d3;border-radius:9px;padding:9px 12px;background:#fff;color:#176b4b;text-decoration:none;font-weight:700}.secondary:disabled{opacity:.5;cursor:not-allowed}.error-card{color:#9b342d;background:#fff5f3;border-color:#edc7c2}.lead-actions{gap:8px;flex-wrap:wrap}@media(max-width:800px){.lead-toolbar{align-items:stretch;flex-direction:column}.lead-toolbar input,.lead-toolbar select{width:100%;min-width:0}.lead-toolbar strong{margin-left:0;padding:0}}

/* weixin local scan visual */
.weixin-page{background:linear-gradient(140deg,#f3fbf6 0%,#eff8f1 48%,#e7f5eb 100%)}
.weixin-page .growth-top{position:relative;overflow:hidden;border-bottom:1px solid #cfe9d7;background:linear-gradient(112deg,#fff 0%,#f5fff8 58%,#e0f7e8 100%)}
.weixin-page .growth-top::after{content:"";position:absolute;width:240px;height:240px;right:-92px;top:-142px;border-radius:50%;background:#07c1601a;box-shadow:-34px 58px 0 #07c1600d;pointer-events:none}
.weixin-page .growth-top>div,.weixin-page .growth-top>a{position:relative;z-index:1}
#weixinQrControls{position:relative;overflow:hidden;margin-top:18px;border:1px solid #bfe7cc;background:linear-gradient(145deg,#f7fff9,#eaf9ef)}
#weixinQrControls h3{color:#075f36}
#weixinQrControls .section-note{color:#4a7860}
.weixin-qr-preview[hidden]{display:none!important}
.weixin-qr-preview{position:relative;display:grid;place-items:center;width:min(320px,100%);aspect-ratio:1;margin:18px auto 12px;padding:16px;box-sizing:border-box;border-radius:28px;background:radial-gradient(circle at 50% 45%,#4ce08a 0%,#07c160 58%,#06a653 100%);box-shadow:0 20px 42px #087b4233,inset 0 0 0 1px #ffffff3b}
.weixin-qr-preview::before{content:"";position:absolute;inset:9px;border:1px solid #ffffff55;border-radius:21px;pointer-events:none}
#weixinQrImage{position:relative;z-index:1;display:block;width:100%;height:100%;box-sizing:border-box;border:10px solid #fff;border-radius:20px;background:#fff;box-shadow:0 10px 24px #064b2752}
.weixin-qr-brand{position:absolute;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:4px solid #fff;border-radius:50%;background:#07c160;color:#fff;box-shadow:0 4px 14px #064b2770;pointer-events:none}
.weixin-qr-brand svg{width:27px;height:27px;fill:currentColor}
.weixin-qr-brand path:nth-of-type(2){fill:#dffff0}
.weixin-qr-brand circle{fill:#07c160}
@media(max-width:520px){.weixin-qr-preview{width:min(286px,100%);border-radius:24px;padding:13px}.weixin-qr-brand{width:36px;height:36px;border-width:3px}#weixinQrImage{border-width:8px;border-radius:16px}}

/* Keep history inside the viewport instead of letting its grid row grow. */
.shell { height: 100vh; height: 100dvh; grid-template-rows: minmax(0, 1fr); }
body.has-site-broadcast .shell { height: calc(100vh - 38px); height: calc(100dvh - 38px); }
.chat, .sidebar, .rail { min-height: 0; }
.chat, .sidebar { overflow: hidden; }
.rail { overflow-y: auto; }
.chat-header { flex: 0 0 auto; }
.messages { flex: 1 1 0; min-height: 0; }
.composer { flex: 0 1 auto; min-height: 0; max-height: 65%; overflow-y: auto; }
.compose-box textarea { min-width: 0; }

/* When height is scarce, keep typing first; tools remain reachable by scrolling. */
@media (max-height: 560px) {
  .composer { display: flex; flex-direction: column; max-height: 60%; }
  .composer > * { flex-shrink: 0; }
  .compose-box { order: -2; }
  .compose-meta { order: -1; }
}
