:root{color-scheme:light;font-family:PingFang SC,Microsoft YaHei,sans-serif;background:#f5f7fa;color:#101828}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,rgba(15,23,42,.04),transparent 18%),linear-gradient(180deg,#f7f8fb,#f2f4f7);color:#101828}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{width:100%;min-height:38px;padding:8px 12px;border:1px solid #d5dde8;border-radius:8px;background:#fff;color:#101828;outline:none;transition:border-color .18s ease,box-shadow .18s ease}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:#8ea0b8;box-shadow:0 0 0 3px #4066ff14}.hidden-input{display:none}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,380px);display:grid;gap:14px;padding:28px;border:1px solid #e1e6ef;border-radius:10px;background:#fffffffa;box-shadow:0 18px 36px #0f172a0d}.auth-card h1{margin:0;font-size:24px;font-weight:700}.app-shell{height:100vh;min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:18px 16px;border-right:1px solid rgba(15,23,42,.07)}.sidebar-title{padding:10px 12px 18px;font-size:18px;font-weight:700}.sidebar-nav{display:grid;gap:8px}.nav-link{min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:8px;background:transparent;color:#101828;text-align:left;font-size:15px;font-weight:600}.nav-link.active{background:#fff;border-color:#e3e8ef;box-shadow:0 10px 24px #0f172a0a}.main-shell{padding:8px 14px 12px;min-width:0;min-height:100vh;height:100vh;display:flex;flex-direction:column;gap:8px;overflow:hidden}.main-view-slot{flex:1;min-width:0;min-height:0;overflow:auto}.support-view-slot{overflow:hidden}.topbar{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px}.topbar-title{font-size:20px;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:8px}.field{display:grid;gap:6px}.field>span{font-size:12px;color:#697386}.solid,.ghost,.link-button{min-height:38px;padding:0 14px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;flex-shrink:0}.solid{background:#111827;color:#fff}.ghost,.link-button{background:#fff;color:#101828;border-color:#d8dee7}.compact{min-height:36px}.compact-send{min-width:78px}.danger{color:#b42318}.notice-pill{min-height:30px;padding:0 12px;border-radius:999px;border:1px solid #dce2ea;background:#fff;color:#101828;font-size:12px;display:inline-flex;align-items:center}.notice-success{border-color:#b7e4c7;background:#ecfdf3;color:#166534}.notice-info{border-color:#bfd7ff;background:#eff6ff;color:#1d4ed8}.error-strip{min-height:40px;padding:10px 12px;border-radius:8px;border:1px solid #efc0ba;background:#fff5f4;color:#b42318;font-size:13px;display:flex;align-items:center}.empty-state{padding:18px 14px;color:#697386;font-size:13px}.page-stack,.compact-stack,.qr-layout,.dashboard-stack{display:grid;gap:8px}.compact-stack,.ipblocks-stack,.dashboard-stack{gap:6px}.panel{overflow:hidden;border:1px solid #e1e6ee;border-radius:9px;background:#fffffffa;box-shadow:0 14px 30px #0f172a0a}.panel-head{min-height:40px;padding:0 14px;display:flex;align-items:center;border-bottom:1px solid #edf0f4;font-size:15px;font-weight:700}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-panel{padding:11px 13px}.metric-top{display:flex;align-items:center;gap:10px}.metric-badge{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:8px;font-size:13px;font-weight:700}.tone-blue .metric-badge{background:#3b82f61f;color:#2563eb}.tone-cyan .metric-badge{background:#0ea5e91f;color:#0284c7}.tone-slate .metric-badge{background:#4755691f;color:#334155}.metric-label{font-size:13px;color:#667085}.metric-value{margin-top:8px;display:block;font-size:26px;line-height:1}.dashboard-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:32px}.dashboard-filter-field{width:164px;padding:7px 10px;border:1px solid #e1e6ee;border-radius:999px;background:#fffffffa;box-shadow:0 8px 18px #0f172a06}.dashboard-filter-field span{font-size:11px;color:#667085}.dashboard-filter-field select{min-height:32px;padding:0 12px;border-radius:999px;border-color:#d8dee7;background:#fff;font-size:13px}.dashboard-filter-field select:focus{border-color:#9fb0c8}.dashboard-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-chart-panel{min-height:360px}.chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:8px 14px 0;font-size:12px;color:#4b5563}.chart-shell{padding:2px 10px 12px}.legend-dot{width:10px;height:10px;display:inline-block;margin-right:6px;border-radius:999px}.legend-dot.active{background:#2563eb}.legend-dot.new{background:#7bb0ff}.legend-dot.source-wechat{background:#16a34a}.legend-dot.source-douyin{background:#111827}.legend-dot.source-alipay{background:#2563eb}.legend-dot.source-taobao{background:#f97316}.legend-dot.source-mobile_browser{background:#8b5cf6}.legend-dot.source-desktop_browser{background:#0ea5e9}.legend-dot.source-other_inapp{background:#64748b}.trend-chart{position:relative}.trend-chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:#e8ecf3;stroke-width:1}.chart-axis-label,.chart-date-label{fill:#7a8494;font-size:11px}.chart-date-label{text-anchor:middle}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-hover-zone{fill:transparent;cursor:crosshair}.chart-hover-line{stroke:#cbd5e1;stroke-width:1.2;stroke-dasharray:4 4}.chart-hover-dot{stroke:#fff;stroke-width:2.5}.chart-tooltip{position:absolute;min-width:132px;max-width:240px;padding:10px 12px;border-radius:12px;background:#0f172af0;color:#fff;box-shadow:0 16px 34px #0f172a38;pointer-events:none;transform:translate(-50%,-100%);z-index:2}.chart-tooltip strong{display:block;margin-bottom:8px;font-size:12px;font-weight:700}.chart-tooltip-list{display:grid;gap:6px}.chart-tooltip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;font-size:12px}.chart-tooltip-label{display:inline-flex;align-items:center;gap:6px;min-width:0}.support-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 320px;gap:8px;height:100%;min-height:0;overflow:hidden}.support-list-panel,.detail-panel,.message-panel{min-height:0}.support-list-panel{display:grid;grid-template-rows:42px minmax(0,1fr)}.conversation-list{display:grid;gap:2px;padding:4px;min-height:0;overflow:auto}.conversation-row{min-height:56px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;display:grid;gap:4px}.conversation-row:hover,.conversation-row.active{background:#f8fafc;border-color:#dce3ed}.conversation-row-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.conversation-row-top strong{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-row-time{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#677180}.conversation-row-bottom{font-size:12px;color:#677180;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e11d48;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.message-panel{display:grid;grid-template-rows:42px minmax(0,1fr) auto}.message-feed{min-height:0;overflow:auto;padding:8px 10px 10px;display:grid;align-content:start;gap:7px;background:#fafbfc}.message-item{display:grid;gap:4px}.message-item.right{justify-items:end}.message-item.left{justify-items:start}.message-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:#6f7b8d}.message-bubble{max-width:min(72%,520px);padding:8px 10px;border-radius:8px;border:1px solid #e3e7ef;background:#fff;box-shadow:0 4px 14px #0f172a0a}.message-item.right .message-bubble{border-color:transparent;background:#111827;color:#fff}.message-text{font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.typing-bubble{color:#5b6677}.attachment-image-link,.message-attachment{display:inline-flex;margin-top:8px}.attachment-image{max-width:220px;border-radius:10px;border:1px solid rgba(17,24,39,.08)}.message-attachment{color:inherit;text-decoration:underline}.composer-shell{position:relative;display:grid;gap:4px;padding:8px 10px 10px;border-top:1px solid #edf0f4;background:#fff}.reply-popover{max-height:180px;overflow:auto;display:grid;gap:2px;padding:4px;border:1px solid #e4e8ef;border-radius:8px;background:#fff}.reply-popover-item{padding:7px 8px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:13px;color:#111827}.reply-popover-item:hover{background:#f5f7fb}.attachment-inline{font-size:11px;color:#4b5563}.composer-row{display:grid;grid-template-columns:36px 36px minmax(0,1fr) 78px;gap:6px;align-items:center}.icon-button{width:36px;height:36px;border:1px solid #d7dde6;border-radius:8px;background:#fff;color:#13161b;display:inline-grid;place-items:center}.icon-button svg{width:16px;height:16px}.composer-input{min-height:36px;padding:0 12px;background:#fff;border-color:#b9c5d8;border-radius:8px}.detail-panel{display:grid;grid-template-rows:42px minmax(0,1fr)}.detail-stack{padding:10px;display:grid;gap:10px;align-content:start;min-height:0;overflow:auto}.detail-box{display:grid;gap:10px;padding:12px 14px;border:1px solid #e6ebf2;border-radius:8px;background:#fbfcfe}.detail-box-title{font-size:13px;font-weight:700}.inline-actions,.stack-actions{display:flex;align-items:center;gap:8px}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.stack-actions{flex-wrap:wrap}.vertical-actions{flex-direction:column;align-items:stretch}.detail-list{display:grid;gap:10px}.info-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:start;font-size:12px;padding:2px 0}.info-row span{color:#697282}.info-row strong{word-break:break-word;font-weight:600}.detail-save-button,.detail-action-button{min-width:86px}.qr-top-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:8px}.qr-toolbar{padding:10px 12px;display:grid;gap:8px}.qr-toolbar-row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.split-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.toolbar-filters,.batch-inline,.bulk-right{display:flex;align-items:end;gap:8px}.toolbar-filters{flex:1 1 auto}.toolbar-filters .field,.batch-inline .field{min-width:0}.batch-inline{justify-content:flex-end}.balance-box{min-height:94px;padding:14px;display:grid;align-content:start;gap:8px}.balance-box span{font-size:13px;color:#667085}.balance-box strong{font-size:30px;line-height:1}.qr-bulk-toolbar{min-height:40px;padding:6px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.bulk-left{font-size:13px;color:#667085}.bulk-button{min-width:80px}.table-wrap{overflow:auto}.qr-table-panel table,.panel table{width:100%;border-collapse:collapse}th,td{padding:10px 8px;border-bottom:1px solid #edf0f4;text-align:left;font-size:12px;vertical-align:middle}th{color:#667085;font-weight:600}.tiny-check{width:24px}.tiny-check-input{width:14px;height:14px;min-height:14px;padding:0;border-radius:3px}.domain-cell{min-width:180px}.domain-link{color:#101828;text-decoration:none;font-weight:700}.table-error{margin-top:4px;font-size:11px;color:#b42318}.qr-thumb-link{display:inline-flex}.qr-thumb{width:78px;height:78px;object-fit:contain;border-radius:6px;border:1px solid #e6ebf1;background:#fff}.remark-input{width:110px}.mode-cell{min-width:220px;display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:6px;align-items:center}.mode-save-button{min-width:64px}.pager{padding:10px 12px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.job-list{display:grid;gap:1px;padding:4px 8px 8px}.job-row{min-height:38px;padding:6px 8px;border:1px solid #eef2f6;border-radius:8px;display:grid;gap:4px;background:#fff}.job-main,.job-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.job-main strong{font-size:13px}.job-main span,.job-meta{font-size:12px;color:#697386}.compact-form-panel{padding-bottom:8px}.inline-form{padding:10px 12px 4px;display:grid;grid-template-columns:220px minmax(0,1fr) 96px;gap:8px;align-items:end}.config-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-block{padding:12px;display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:start}.profile-avatar{width:96px;height:96px;border-radius:999px;object-fit:cover;border:1px solid #e2e7ee;background:transparent}.profile-avatar.placeholder{display:grid;place-items:center;font-size:28px;font-weight:700;color:#101828}.config-fields,.config-greeting-grid{padding:12px;display:grid;gap:10px}.toggle-row{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.toggle-row input{width:18px;height:18px;min-height:18px;padding:0}.greeting-preview-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center}.greeting-preview{min-height:96px;border:1px solid #e3e8ef;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:#fff}.config-quick-grid{padding:12px;display:grid;grid-template-columns:420px minmax(0,1fr);gap:12px}.quick-form textarea{min-height:188px}.stack-form,.reply-list{display:grid;gap:6px}.quick-reply-form-actions{justify-content:flex-start}.quick-reply-submit{min-width:120px}.reply-list-item{min-height:42px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid #e8edf4;border-radius:8px;background:#fff}.reply-index{font-size:11px;color:#7b8595}.reply-content{font-size:12px;color:#101828;line-height:1.4;white-space:pre-wrap;word-break:break-word}.reply-actions{display:flex;align-items:center;gap:6px}@media (max-width: 1400px){.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1200px){.support-layout{grid-template-columns:200px minmax(0,1fr)}.detail-panel{grid-column:1 / -1}}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid rgba(15,23,42,.07)}.dashboard-metrics,.dashboard-chart-grid,.qr-top-grid,.config-top-grid,.config-quick-grid,.support-layout{grid-template-columns:1fr}}.qr-top-stack{display:grid;gap:10px}.qr-summary-panel,.qr-query-create-panel{overflow:visible}.qr-summary-strip{padding:16px 20px;display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(140px,.95fr)) auto;gap:16px;align-items:center}.qr-summary-item{display:flex;flex-direction:column;gap:6px;min-width:0}.qr-summary-item--primary{align-items:flex-start}.qr-summary-item--action{align-items:flex-end}.qr-summary-label{font-size:13px;font-weight:600;color:#697386}.qr-summary-balance-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.qr-summary-value{font-size:28px;line-height:1.1;font-weight:700;color:#0f172a}.qr-summary-item--metric .qr-summary-value{font-size:20px;line-height:1.15}.balance-status{width:fit-content;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid #d7dde7;display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:#344054;background:#fff}.balance-status.low_balance{color:#b42318;border-color:#efc0ba;background:#fff5f4}.balance-status.sync_error{color:#9a3412;border-color:#f3d0a5;background:#fffbeb}.balance-metric{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;color:#344054}.balance-metric strong{font-size:15px;color:#0f172a}.balance-metric-label{color:#697386}.qr-query-create-strip{padding:16px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}.qr-query-group,.qr-create-group{display:flex;gap:10px;align-items:end;min-width:0}.qr-query-group{flex:1 1 auto}.qr-create-group{margin-left:auto}.qr-query-group .field,.qr-create-group .field{min-width:0}.qr-query-group input[type=date]{width:148px;min-width:148px}.qr-query-group .ghost.compact{white-space:nowrap}.compact-field{min-width:0}.qr-create-group input,.qr-create-group select{width:auto;min-width:0}.qr-create-group .compact-field:nth-child(1) input{width:84px}.qr-create-group .compact-field:nth-child(2) input{width:92px}.qr-create-group .compact-field:nth-child(3) select{width:148px}.qr-create-group .solid.compact{min-width:88px;padding-inline:14px}.bulk-bar-panel{overflow:visible}.bulk-bar{padding:12px 16px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.bulk-bar-count{font-size:13px;font-weight:600;color:#344054}.bulk-bar-actions{display:grid;grid-template-columns:160px minmax(220px,1fr) 104px;gap:8px;align-items:center;justify-self:end;width:min(100%,640px)}.checkbox-cell{width:42px;text-align:center}.checkbox-cell input{width:16px;height:16px;min-height:16px;padding:0}.qr-thumb{width:72px;height:72px;object-fit:contain;display:block;border-radius:8px;border:1px solid #e3e8ef;background:#fff}.table-link{color:#0f172a;text-decoration:none;font-weight:600}.table-link:hover{text-decoration:underline}.muted-text{color:#697386;font-size:12px}.remark-input{max-width:180px;min-width:140px}.table-inline-actions{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:8px;align-items:center}.download-link{min-width:72px}.pager-row{padding:10px 16px 14px;display:flex;justify-content:flex-end;align-items:center;gap:10px}.compact-job-list{padding:8px 12px 12px;display:grid;gap:6px}.compact-job-list .job-row{min-height:34px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.job-side{display:grid;gap:2px;justify-items:end;font-size:12px;color:#697386}.ip-form-row{padding:14px 16px 16px;display:grid;grid-template-columns:220px minmax(0,1fr) 96px;gap:10px;align-items:end}.profile-panel-body{padding:16px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start}.profile-avatar{width:96px;height:96px;border-radius:999px;border:1px solid #e2e7ee;background:transparent;overflow:hidden;display:grid;place-items:center}.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar span{font-size:28px;font-weight:700;color:#101828}.profile-form{display:grid;gap:12px}.upload-label{position:relative;overflow:hidden}.config-panel-body{padding:16px;display:grid;gap:12px}.checkbox-row{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.checkbox-row input{width:16px;height:16px;min-height:16px;padding:0}.greeting-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center}.greeting-preview{min-height:104px;border:1px solid #e3e8ef;border-radius:10px;background:#fff;overflow:hidden;display:grid;place-items:center}.greeting-preview img{width:100%;height:100%;object-fit:cover}.status-panel-body{padding:16px;display:grid;grid-template-columns:180px minmax(0,1fr) 116px;gap:12px;align-items:start}.flex-grow{min-width:0}.quick-reply-layout{padding:16px;display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:16px;align-items:start}.quick-reply-editor{display:grid;gap:12px}.quick-reply-editor textarea{min-height:180px}.quick-reply-list{display:grid;gap:8px;align-content:start}.quick-reply-row{min-height:46px;padding:10px 12px;border:1px solid #e8edf4;border-radius:8px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.quick-reply-content{font-size:13px;line-height:1.45;color:#101828;white-space:pre-wrap;word-break:break-word}.quick-reply-actions{display:flex;align-items:center;gap:6px}.seat-form-grid{padding:16px;display:grid;grid-template-columns:minmax(180px,260px) minmax(220px,320px) 120px;gap:10px;align-items:end}.seat-secret-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seat-secret-cell code{display:inline-block;max-width:280px;padding:4px 6px;border-radius:6px;background:#f4f6f9;border:1px solid #e3e8ef;font-size:12px;word-break:break-all}@media (max-width: 1280px){.config-top-grid,.quick-reply-layout,.status-panel-body{grid-template-columns:1fr}}@media (max-width: 1024px){.bulk-bar,.ip-form-row,.seat-form-grid{grid-template-columns:1fr}.bulk-bar-actions,.table-inline-actions{grid-template-columns:1fr;width:100%}.qr-summary-strip,.qr-query-create-strip,.qr-query-group,.qr-create-group{grid-template-columns:1fr;display:grid;justify-content:stretch}.qr-summary-strip,.qr-query-create-strip{gap:12px}.qr-summary-item--action{align-items:flex-start}.qr-create-group{margin-left:0}.qr-query-group input[type=date],.qr-create-group .compact-field:nth-child(1) input,.qr-create-group .compact-field:nth-child(2) input,.qr-create-group .compact-field:nth-child(3) select{width:100%;min-width:0}}
