.workspace-page{
  display:none;
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:22px 24px 48px;
}
.workspace-page.on{display:block}
.btn[hidden]{display:none}
.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.wp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.wp-head h1{font-size:21px;letter-spacing:-.025em}
.wp-head p{font-size:12px;line-height:1.65;color:var(--overlay);margin-top:5px}
.wp-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wp-note{
  display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;
  border:1px solid #dbeafe;border-radius:11px;background:#eff6ff;color:#475467;font-size:10.5px;line-height:1.6;
}
.wp-note svg{width:14px;height:14px;color:var(--primary);flex:none}
.wp-toolbar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding:9px 11px;
  border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.025);
}
.wp-toolbar .sp{margin-left:auto}
.seg{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}
.seg button{padding:5px 10px;border-radius:6px;color:var(--overlay);font-size:11px;white-space:nowrap}
.seg button:hover{color:var(--text)}
.seg button.on{background:#fff;color:var(--primary);font-weight:650;box-shadow:0 1px 3px rgba(16,24,40,.09)}
.field-select{
  display:flex;align-items:center;gap:6px;min-height:31px;padding:0 9px;
  border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--sub);font-size:11px;
}
.field-select select{border:0;outline:0;background:transparent;color:var(--sub);font-size:11px}
.field-select svg{width:12px;height:12px;color:var(--overlay)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.stat{
  position:relative;overflow:hidden;padding:14px 16px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg,#fff,#fbfcff);box-shadow:0 1px 2px rgba(16,24,40,.025);
}
.stat-top{display:flex;align-items:center;gap:7px;color:var(--sub);font-size:10.5px}
.stat-top i{width:7px;height:7px;border-radius:2px;background:var(--primary)}
.stat-top svg{width:17px;height:17px;margin-left:auto;color:#b2bcc9}
.stat strong{display:block;font-size:24px;line-height:1.1;letter-spacing:-.04em;margin-top:9px}
.stat strong small{font-size:11px;letter-spacing:0;color:var(--overlay);font-weight:500}
.stat p{font-size:9.5px;color:var(--overlay);margin-top:6px}
.tiny-bar{height:3px;margin-top:10px;border-radius:99px;background:#e9edf4;overflow:hidden}
.tiny-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-2))}
.missed-stat{text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.missed-stat:hover{border-color:#f5d49b;transform:translateY(-1px);box-shadow:0 8px 22px rgba(180,83,9,.07)}

/* chat */
.chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px;min-height:600px;height:calc(100vh - 210px)}
.chat-left,.chat-main{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.store-tabs{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px;
  padding:10px;border-bottom:1px solid #edf0f4;background:#fff;
}
.store-tab{
  flex:0 0 calc((100% - 12px) / 3);min-width:0;padding:8px 4px 7px;border:1px solid var(--line);border-radius:10px;
  background:#fff;color:var(--sub);text-align:center;transition:border-color .15s,background .15s,color .15s;
}
.store-tab:hover{border-color:#bfdbfe;background:#f8fbff;color:var(--primary)}
.store-tab.on{border-color:rgba(37,99,235,.28);background:#eff6ff;color:var(--primary);box-shadow:0 1px 2px rgba(37,99,235,.06)}
.store-tab .store-mark{
  width:24px;height:24px;margin:0 auto 5px;border-radius:7px;display:grid;place-items:center;
  background:#f2f4f7;color:#667085;font-size:9.5px;font-weight:800;
}
.store-tab.on .store-mark{background:#dbeafe;color:var(--primary)}
.store-tab b{display:block;width:100%;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.store-tab small{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:3px;font-size:8px;color:var(--overlay);font-weight:500}
.store-tab small i{width:4px;height:4px;border-radius:50%;background:var(--green)}
.sessions{flex:1;overflow:auto;padding:5px 7px 9px}
.session{display:flex;align-items:flex-start;gap:9px;padding:11px 9px;border-radius:10px;cursor:pointer;border:1px solid transparent}
.session:hover{background:#f8fafc}
.session.on{border-color:#dbeafe;background:#eff6ff}
.session .s-av{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none;
  background:#eef2f7;color:#475467;font-size:11px;font-weight:700;
}
.session.on .s-av{background:#dbeafe;color:var(--primary)}
.session .s-body{flex:1;min-width:0}
.session .s-name{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:650}
.session .s-name small{font-size:8.5px;color:var(--overlay);font-weight:500}
.session .s-msg{font-size:9.5px;color:var(--overlay);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.session .s-time{font-size:8.5px;color:var(--overlay);white-space:nowrap}
.chat-head{display:flex;align-items:center;gap:9px;padding:13px 15px;border-bottom:1px solid #edf0f4}
.chat-head h3{font-size:13px}
.chat-head .sub{font-size:9.5px;color:var(--overlay);margin-top:2px}
.chat-head .sp{margin-left:auto;display:flex;gap:6px}
.messages{flex:1;overflow:auto;padding:18px;background:linear-gradient(180deg,#fff,#fbfdff)}
.date-line{text-align:center;font-size:9px;color:var(--overlay);margin:2px 0 14px}
.message{max-width:68%;margin-bottom:11px}
.message .bubble{
  padding:9px 12px;border:1px solid #edf0f4;border-radius:12px;background:#fff;
  color:#344054;font-size:11.5px;line-height:1.65;box-shadow:0 1px 2px rgba(16,24,40,.025);
}
.message .meta{font-size:8.5px;color:var(--overlay);margin-top:4px}
.message.out{margin-left:auto;text-align:right}
.message.out .bubble{border-color:#dbeafe;background:#eff6ff;color:#1d4ed8}
.message .meta em{font-style:normal;color:var(--green-text)}
.message-product{display:flex;align-items:center;gap:8px;min-width:210px}
.message-product .product-thumb{width:38px;height:38px;border-radius:8px}
.message-product b{display:block;font-size:10.5px;color:var(--text);line-height:1.45}
.message-product small{display:block;margin-top:2px;font-size:8.5px;color:var(--overlay)}
.system-line{text-align:center;margin:14px 0}
.system-line span{display:inline-block;padding:3px 9px;border-radius:99px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:8.5px}
.readonly-bar{
  display:flex;align-items:center;gap:7px;padding:10px 14px;border-top:1px solid #edf0f4;
  background:#fbfcfe;color:var(--overlay);font-size:9.5px;
}
.readonly-bar svg{width:13px;height:13px;color:var(--primary)}
.info-section{padding:12px 14px;border-bottom:1px solid #edf0f4}
.info-section:last-child{border-bottom:0}
.info-section h4{font-size:9px;letter-spacing:.08em;color:var(--overlay);text-transform:uppercase;margin-bottom:9px}
.info-kv{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:10.5px;color:var(--sub)}
.info-kv b{color:var(--text);font-weight:600;text-align:right}
.product-mini{display:flex;gap:9px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.product-thumb{
  width:48px;height:48px;border-radius:9px;flex:none;display:grid;place-items:center;
  background:linear-gradient(145deg,#dbeafe,#eef2ff);color:var(--primary);font-size:16px;font-weight:800;
}
.product-mini b{display:block;font-size:10.5px;line-height:1.45}
.product-mini small{display:block;font-size:8.5px;color:var(--overlay);margin-top:3px}

/* auto reply */
.rule-storebar{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px;padding:9px 11px;
  border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.025);
}
.rule-store-label{font-size:10px;color:var(--overlay);margin-right:2px}
.store-filter{
  display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);
  border-radius:7px;background:#fff;color:var(--sub);font-size:9.5px;white-space:nowrap;
}
.store-filter:hover{border-color:#bfdbfe;color:var(--primary)}
.store-filter.on{border-color:#bfdbfe;background:#eff6ff;color:var(--primary);font-weight:650}
.store-filter-dot{width:5px;height:5px;border-radius:50%;background:var(--green)}
.rule-storebar .sp{margin-left:auto;font-size:9px;color:var(--overlay)}
.rule-workbench{display:block}
.rule-shops{
  overflow:hidden;margin-bottom:12px;
  background:linear-gradient(180deg,#fff,#fbfcff);
}
.rule-shop-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 12px 12px}
.rule-shop-item{
  display:flex;align-items:center;gap:9px;width:100%;min-width:0;min-height:54px;padding:9px 10px;
  border:1px solid #edf0f4;
  border-radius:9px;background:#fff;color:#475467;text-align:left;transition:background .15s,border-color .15s;
}
.rule-shop-item:hover{background:#f8fafc}
.rule-shop-item.on{border-color:#bfdbfe;background:#eff6ff;box-shadow:0 5px 16px rgba(37,99,235,.06)}
.rule-shop-avatar{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,#eef2ff,#e0f2fe);color:var(--primary);font-size:9px;font-weight:800;
}
.rule-shop-item>span:nth-child(2){flex:1;min-width:0}
.rule-shop-item b{display:block;font-size:10.5px;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rule-shop-item small{display:block;margin-top:2px;font-size:8.5px;color:var(--overlay);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rule-shop-item.on b{color:var(--primary)}
.rule-shop-item>i{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none;box-shadow:0 0 0 3px rgba(16,185,129,.1)}
.rule-shop-foot{display:none}
.rule-store-detail{min-width:0}
.rule-store-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-bottom:12px;padding:14px 16px;border:1px solid #dbeafe;border-radius:13px;
  background:linear-gradient(135deg,#fff,#f8fbff);
}
.rule-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rule-title-row h2{font-size:15px;letter-spacing:-.02em}
.rule-store-head p{margin-top:5px;font-size:9.5px;color:var(--overlay);line-height:1.55}
.rule-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.rule-head-actions .btn{padding:5px 9px;font-size:10px}
.rule-tabs{display:flex;align-items:center;gap:3px;margin-bottom:12px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.rule-tab{
  position:relative;padding:12px 11px 10px;color:var(--overlay);font-size:11px;font-weight:650;
}
.rule-tab::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:transparent}
.rule-tab:hover{color:var(--text)}
.rule-tab.on{color:var(--primary)}
.rule-tab.on::after{background:var(--primary)}
.rule-pane{display:none}
.rule-pane.on{display:block}
.record-pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}
.record-pane-head h3{font-size:13px}
.record-pane-head p{margin-top:3px;font-size:9px;color:var(--overlay)}
.rule-store-detail .stats{margin-bottom:12px}
.rule-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:12px;min-height:540px}
.rule-list{display:flex;flex-direction:column;min-height:0;max-height:540px}
.rule-rows{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:7px 10px 12px}
.rule-rows::-webkit-scrollbar,.rule-readonly-content::-webkit-scrollbar{width:8px}
.rule-rows::-webkit-scrollbar-track,.rule-readonly-content::-webkit-scrollbar-track{background:#f8fafc;border-radius:8px}
.rule-rows::-webkit-scrollbar-thumb,.rule-readonly-content::-webkit-scrollbar-thumb{background:#c4ccd8;border:2px solid #f8fafc;border-radius:8px}
.rule-item{
  display:flex;align-items:center;gap:10px;padding:11px 10px;border:1px solid transparent;
  border-radius:11px;cursor:pointer;
}
.rule-item:hover{background:#f8fafc}
.rule-item.on{border-color:#dbeafe;background:#eff6ff}
.rule-group{margin:0 0 10px;border:1px solid #e9edf4;border-radius:11px;background:#fff;overflow:hidden}
.rule-group:last-child{margin-bottom:0}
.rule-group-head{
  display:flex;align-items:center;gap:10px;padding:9px 11px;border-bottom:1px solid #edf0f4;
  background:linear-gradient(90deg,#f8fbff,#fbfcfe);
}
.rule-group-head>div{min-width:0;flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 7px;align-items:center}
.rule-group-head span{
  padding:2px 6px;border-radius:5px;background:#dbeafe;color:#1d4ed8;font-size:8.5px;font-weight:700;
}
.rule-group-head b{font-size:10.5px;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rule-group-head small{grid-column:1/-1;color:#98a2b3;font-size:8.5px}
.rule-group-head em{
  min-width:22px;height:22px;padding:0 6px;border-radius:99px;display:grid;place-items:center;
  background:#eff6ff;color:#1d4ed8;font-size:8.5px;font-style:normal;font-weight:700;
}
.rule-group-rows{padding:4px 6px 7px}
.rule-type{
  padding:3px 7px;border-radius:6px;background:#f2f4f7;color:#475467;
  font-size:9px;white-space:nowrap;
}
.rule-item.on .rule-type{background:#dbeafe;color:var(--primary)}
.rule-copy{flex:1;min-width:0}
.rule-copy b{display:block;font-size:11.5px}
.rule-copy small{display:block;margin-top:3px;color:var(--overlay);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rule-delete,.rule-edit{
  width:25px;height:25px;border-radius:6px;display:grid;place-items:center;flex:none;
  color:#a6adbb;border:1px solid transparent;
}
.rule-delete svg,.rule-edit svg{width:13px;height:13px}
.rule-edit:hover{color:var(--primary);background:#eff6ff;border-color:#dbeafe}
.rule-delete:hover{color:#b42318;background:#fef3f2;border-color:#fee4e2}
.switch{position:relative;width:28px;height:16px;border-radius:99px;background:#e5e7eb;flex:none;transition:background .18s}
.switch::after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.18);transition:transform .18s}
.switch.on{background:var(--primary)}
.switch.on::after{transform:translateX(12px)}
.rule-editor{padding:14px 16px 16px}
.editor-group{margin-bottom:13px}
.editor-group label{display:block;font-size:10px;color:var(--overlay);margin-bottom:6px}
.fake-input,.fake-textarea{
  width:100%;padding:9px 10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;
  color:var(--text);font-size:11.5px;line-height:1.6;
}
.fake-textarea{min-height:128px;color:#475467}
.media-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.media-chip{display:inline-flex;align-items:flex-start;gap:4px;max-width:100%;padding:4px 7px;border-radius:6px;background:#f2f4f7;color:var(--sub);font-size:9px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;word-break:break-all}
.rule-editor .save-row{display:flex;gap:8px;margin-top:14px}
.rule-detail-tip{margin-top:14px;padding:9px 10px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#667085;font-size:9px;line-height:1.55}
.reply-bottom-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:12px;margin-top:12px}
.runtime-panel,.missed-panel{display:flex;flex-direction:column;min-height:280px;height:280px}
.runtime-log,.missed-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.runtime-log{padding:5px 14px 9px}
.log-row{
  display:grid;grid-template-columns:56px 49px 112px minmax(0,1fr);gap:8px;align-items:center;
  padding:9px 0;border-bottom:1px solid #edf0f4;font-size:9.5px;
}
.log-row:last-child{border-bottom:0}
.log-row time{font-family:var(--mono);color:var(--overlay);font-size:8.5px}
.log-level{font-size:8.5px;font-weight:700;text-align:center;padding:2px 5px;border-radius:5px}
.log-level.ok{background:#ecfdf3;color:var(--green-text)}
.log-level.warn{background:#fffbeb;color:#b54708}
.log-store{color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.log-row p{color:#475467;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.missed-list{padding:4px 12px 10px}
.missed-item{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid #edf0f4}
.missed-item:last-child{border-bottom:0}
.missed-item>div{flex:1;min-width:0}
.missed-item b{display:block;font-size:10.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.missed-item small{display:block;margin-top:3px;font-size:8.5px;color:var(--overlay)}

/* tables & manual */
.table-panel{overflow:hidden}
.table-panel table{width:100%;border-collapse:collapse;font-size:11px}
.table-panel thead th{padding:10px 14px;text-align:left;background:#f8fafc;color:var(--overlay);font-size:9px;font-weight:700;letter-spacing:.05em;border-bottom:1px solid #edf0f4}
.table-panel tbody td{padding:12px 14px;border-bottom:1px solid #edf0f4;color:var(--sub);vertical-align:middle}
.table-panel tbody tr:last-child td{border-bottom:0}
.table-panel tbody tr:hover td{background:#fbfcfe}
.person{display:flex;align-items:center;gap:9px}
.person .p-av{width:29px;height:29px;border-radius:9px;background:#eff6ff;color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:700;flex:none}
.person b{display:block;font-size:10.5px;color:var(--text)}
.person small{display:block;font-size:8.5px;color:var(--overlay);margin-top:1px}
.wait{font-weight:650;color:#b54708}
.row-actions{display:flex;gap:5px}

/* supply */
.supply-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.supply-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.03);transition:transform .16s,border-color .16s}
.supply-card:hover{transform:translateY(-2px);border-color:#bfdbfe}
.supply-visual{
  position:relative;height:116px;padding:12px;display:flex;align-items:flex-end;
  background:
    radial-gradient(130px 80px at 82% 8%,rgba(255,255,255,.75),transparent 70%),
    linear-gradient(145deg,#dbeafe,#eef2ff 55%,#f8fafc);
}
.supply-visual::before{
  content:"";position:absolute;width:78px;height:78px;right:20px;top:18px;border-radius:22px;
  background:linear-gradient(145deg,#93c5fd,#818cf8);transform:rotate(-9deg);box-shadow:0 14px 30px rgba(79,70,229,.18);
}
.supply-visual span{position:relative;z-index:1;padding:3px 7px;border-radius:6px;background:rgba(255,255,255,.86);color:var(--primary);font-size:9px;font-weight:700}
.supply-body{padding:13px}
.supply-body h3{font-size:12.5px;line-height:1.5}
.supply-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.supply-meta span{padding:2px 6px;border-radius:5px;background:#f2f4f7;color:var(--sub);font-size:8.5px}
.supply-price{display:flex;align-items:flex-end;justify-content:space-between;margin-top:12px}
.supply-price b{font-size:19px;letter-spacing:-.03em}
.supply-price b small{font-size:9px;color:var(--overlay);font-weight:500;margin-right:2px}
.supply-price span{font-size:8.5px;color:var(--overlay)}
.supply-foot{display:flex;align-items:center;justify-content:space-between;margin-top:11px;padding-top:10px;border-top:1px solid #edf0f4}

/* purchase */
.purchase-banner{
  position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;margin-bottom:12px;padding:18px 20px;
  border:1px solid #dbe7ff;border-radius:16px;
  background:linear-gradient(135deg,#fff,#f5f9ff 62%,#f5f3ff);
}
.purchase-banner::after{content:"";position:absolute;right:-34px;top:-52px;width:150px;height:150px;border-radius:50%;border:1px solid rgba(79,70,229,.08);box-shadow:0 0 0 30px rgba(37,99,235,.025)}
.purchase-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eff6ff;color:var(--primary);flex:none}
.purchase-icon svg{width:25px;height:25px}
.purchase-copy{position:relative;z-index:1;flex:1}
.purchase-copy h2{font-size:15px}
.purchase-copy p{font-size:10.5px;color:var(--sub);line-height:1.65;margin-top:4px}
.purchase-facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--line)}
.purchase-fact{padding:10px 13px;background:#fff}
.purchase-fact span{font-size:8.5px;color:var(--overlay)}
.purchase-fact b{display:block;margin-top:3px;font-size:12px}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.plan{
  position:relative;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;
  cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s;
}
.plan:hover{border-color:#bfdbfe;transform:translateY(-1px)}
.plan.on{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.plan-badge{position:absolute;right:12px;top:12px;padding:2px 7px;border-radius:99px;background:#eff6ff;color:var(--primary);font-size:8.5px;font-weight:700}
.plan h3{font-size:12px;color:var(--sub);font-weight:600}
.plan .price{font-size:24px;font-weight:800;letter-spacing:-.04em;color:var(--text);margin-top:12px}
.plan .price small{font-size:10px;color:var(--overlay);font-weight:500}
.plan .save{font-size:9px;color:var(--green-text);margin-top:4px}
.plan ul{list-style:none;margin-top:12px;padding-top:10px;border-top:1px solid #edf0f4}
.plan li{display:flex;gap:6px;font-size:9.5px;color:var(--sub);padding:3px 0}
.plan li::before{content:"✓";color:var(--green)}

/* feedback */
.feedback-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}
.feedback-form{padding:16px}
.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.type-card{padding:11px 8px;border:1px solid var(--line);border-radius:10px;text-align:center;color:var(--sub);font-size:10px;cursor:pointer}
.type-card svg{width:17px;height:17px;margin:0 auto 6px;color:var(--overlay)}
.type-card.on{border-color:#bfdbfe;background:#eff6ff;color:var(--primary)}
.type-card.on svg{color:var(--primary)}
.feedback-form textarea{
  width:100%;height:125px;resize:none;padding:10px 11px;border:1px solid #d0d5dd;border-radius:9px;
  outline:0;color:var(--text);font-size:11.5px;line-height:1.65;
}
.feedback-form textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.feedback-opt{display:flex;align-items:center;gap:7px;margin:11px 0;color:var(--sub);font-size:9.5px}
.feedback-opt input{accent-color:var(--primary)}
.feedback-foot{display:flex;align-items:center;justify-content:space-between;margin-top:4px;color:var(--overlay);font-size:9px}
.feedback-list{padding:8px 10px}
.feedback-item{padding:12px 10px;border-bottom:1px solid #edf0f4}
.feedback-item:last-child{border-bottom:0}
.feedback-item .fi-top{display:flex;align-items:center;gap:7px}
.feedback-item .fi-top b{font-size:11px;flex:1}
.feedback-item p{font-size:9.5px;line-height:1.65;color:var(--sub);margin:5px 0 8px}
.feedback-item .fi-meta{display:flex;align-items:center;gap:8px;color:var(--overlay);font-size:8.5px}
.feedback-item .fi-meta .sp{margin-left:auto}

.rule-dialog,.record-dialog{margin:auto}
.rule-dialog{width:min(760px,calc(100vw - 32px))}
.record-dialog{width:min(760px,calc(100vw - 32px))}
#systemLogRows{max-height:calc(100vh - 230px);overflow-y:auto}
.rule-dialog .dialog-body{max-height:calc(100vh - 140px);overflow:auto}
.rule-dialog input[type="checkbox"],.rule-dialog input[type="radio"],
.record-dialog input[type="checkbox"],.record-dialog input[type="radio"]{
  width:16px;height:16px;min-height:0;padding:0;margin:0;flex:none;box-shadow:none;
}
.field textarea{
  width:100%;padding:10px 11px;border:1px solid #d0d5dd;border-radius:9px;
  outline:0;background:#fff;color:var(--text);font:inherit;font-size:12px;line-height:1.65;resize:vertical;
}
.field textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.09)}
.modal-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.modal-store{
  padding:8px 7px;border:1px solid var(--line);border-radius:8px;background:#fff;
  color:var(--sub);font-size:9.5px;text-align:center;
}
.modal-store:hover{border-color:#bfdbfe;color:var(--primary)}
.modal-store.on{border-color:#bfdbfe;background:#eff6ff;color:var(--primary);font-weight:650}
.modal-seg{display:flex;width:100%}
.modal-seg button{flex:1}
.modal-check{display:flex;align-items:center;gap:7px;margin:3px 0 14px;color:var(--sub);font-size:10.5px}
.modal-check input{accent-color:var(--primary)}
.modal-store-lock{
  display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;
  border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;
}
.modal-store-lock .tag{margin-left:auto}
.modal-store-lock>div{min-width:0;flex:1}
.modal-store-lock b{display:block;font-size:11.5px;color:#1d4ed8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-store-lock small{display:block;margin-top:3px;font-size:9px;line-height:1.5;color:#667085}
.modal-platform-mark{
  width:29px;height:29px;border-radius:8px;display:grid;place-items:center;flex:none;
  color:#fff;background:linear-gradient(145deg,#3b82f6,#4f46e5);font-size:10px;font-weight:800;
}
.rule-scope-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.rule-scope-option{
  display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid #e5e7eb;
  border-radius:9px;background:#fff;color:#475467;cursor:pointer;
}
.rule-scope-option:has(input:checked){border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.rule-scope-option input{margin-top:2px}
.rule-scope-option span{display:flex;flex-direction:column;gap:3px}
.rule-scope-option b{font-size:10.5px}
.rule-scope-option small{color:#667085;font-size:9px;line-height:1.5}
.product-rule-field{margin:0 0 14px;padding:11px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}
.product-rule-search{
  width:100%;margin:1px 0 8px;padding:8px 10px;border:1px solid #d0d5dd;border-radius:8px;
  outline:0;background:#fff;color:var(--text);font:inherit;font-size:10.5px;
}
.product-rule-search:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.product-rule-list{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:205px;overflow-y:auto;
  overscroll-behavior:contain;
}
.product-rule-card{
  display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid #e5e7eb;
  border-radius:8px;background:#fff;text-align:left;color:#475467;
}
.product-rule-card:hover{border-color:#bfdbfe}
.product-rule-card.on{border-color:#60a5fa;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.07)}
.product-rule-thumb{
  width:34px;height:34px;border-radius:7px;flex:none;object-fit:cover;background:#f2f4f7;
  display:grid;place-items:center;color:#98a2b3;font-size:9px;border:1px solid #edf0f4;
}
.product-rule-copy{min-width:0;flex:1}
.product-rule-copy b,.product-rule-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-rule-copy b{color:#344054;font-size:9.5px}
.product-rule-copy small{margin-top:3px;color:#98a2b3;font-size:8.5px}
.product-rule-empty{padding:14px 10px;border:1px dashed #d8e0ee;border-radius:8px;background:#fff;text-align:center;color:#98a2b3;font-size:9px;line-height:1.6}
.product-rule-selected{
  display:none;margin-top:8px;padding:8px 9px;border:1px solid #bbf7d0;border-radius:8px;
  background:#f0fdf4;color:#166534;font-size:9.5px;line-height:1.55;
}
.product-rule-selected.on{display:block}
.special-keywords{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:-5px 0 14px}
.special-keywords>span{font-size:9px;color:var(--overlay);margin-right:2px}
.special-keywords button{
  padding:3px 7px;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc;color:#667085;font-size:8.5px;
}
.special-keywords button:hover{border-color:#bfdbfe;background:#eff6ff;color:var(--primary)}
.rule-keyword-warning{display:none;margin:-6px 0 12px;padding:8px 10px;border:1px solid #fed7aa;border-radius:8px;background:#fffbeb;color:#b54708;font-size:9.5px;line-height:1.55}
.rule-keyword-warning.on{display:block}
.message-field{min-width:0}
.message-field-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.message-field-head label{margin:0}
.message-field-head span{font-size:9px;color:var(--overlay)}
.message-editor{display:flex;flex-direction:column;gap:8px}
.message-item{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:9px 10px}
.message-item-head{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.message-number{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;background:#eff6ff;color:var(--primary);font-size:8.5px;font-weight:800}
.message-type{
  padding:2px 6px;border-radius:5px;background:#dbeafe;color:#1d4ed8;
  font-size:8.5px;font-weight:700;
}
.message-controls{margin-left:auto;display:flex;gap:2px}
.message-controls button{
  width:24px;height:24px;border-radius:5px;display:grid;place-items:center;
  color:#98a2b3;font-size:12px;
}
.message-controls button:hover{background:#fff;color:#475467}
.message-controls button.delete:hover{background:#fef3f2;color:#b42318}
.message-controls button:disabled{opacity:.3;pointer-events:none}
.message-input,.message-textarea{
  width:100%;padding:8px 9px;border:1px solid #d0d5dd;border-radius:8px;
  outline:0;background:#fff;color:var(--text);font:inherit;font-size:10.5px;line-height:1.6;
}
.message-textarea{min-height:72px;resize:vertical}
.message-input:focus,.message-textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.media-meta{display:flex;align-items:center;gap:6px;margin-bottom:5px;font-size:9px;color:#667085}
.media-mode{font-size:8px;padding:2px 5px;border-radius:4px;background:#fffbeb;color:#b54708;font-weight:700}
.media-mode.file{background:#ecfdf3;color:var(--green-text)}
.media-mode.both{background:#eff6ff;color:#1d4ed8}
.media-hint{margin-top:4px;font-size:8.5px;line-height:1.55;color:var(--overlay)}
.message-tools{display:flex;align-items:center;gap:5px;margin-top:6px}
.message-tools .btn{padding:3px 7px;font-size:8.5px}
.message-add-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.message-add-row .btn{background:#fff}
.message-empty{padding:24px 14px;border:1px dashed #d8e0ee;border-radius:9px;background:#fbfcfe;text-align:center;color:var(--overlay);font-size:10px;line-height:1.6}
.modal-section-label{margin:4px 0 6px;font-size:10.5px;font-weight:650;color:#475467}
.modal-actions-grid{display:flex;gap:18px;flex-wrap:wrap;padding:10px 12px;margin:3px 0 14px;border:1px solid #e5e7eb;border-radius:9px;background:#fbfcfe}
.modal-actions-grid label,.radio-row label,.fallback-mode-list label{display:flex;align-items:center;gap:6px;font-size:10px;color:#475467;cursor:pointer}
.modal-actions-grid input,.radio-row input,.fallback-mode-list input,.fallback-enable input{accent-color:var(--primary)}
.modal-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.radio-row{display:flex;gap:16px;flex-wrap:wrap}
.time-range{display:flex;align-items:center;gap:7px;margin-top:8px;color:var(--overlay);font-size:9px}
.time-range input{width:140px;height:34px;padding:0 8px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#475467;font-size:10px}
.fallback-enable{
  display:flex;align-items:flex-start;gap:8px;margin-bottom:14px;padding:10px 12px;
  border:1px solid #dbeafe;border-radius:9px;background:#eff6ff;
}
.fallback-enable>span{display:flex;flex-direction:column;gap:3px}
.fallback-enable b{font-size:11px;color:#1d4ed8}
.fallback-enable small{font-size:9px;color:#667085;line-height:1.55}
.fallback-mode-list{display:flex;flex-direction:column;gap:6px}
.fallback-mode-list label{padding:9px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}
.fallback-mode-list label>span{display:flex;flex-direction:column;gap:2px}
.fallback-mode-list b{font-size:10px;color:#344054}
.fallback-mode-list small{font-size:8.5px;color:var(--overlay)}
.inline-select{margin-top:5px;padding:4px 6px;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc;color:#475467;font-size:8.5px;outline:0}
.record-table-wrap{
  height:420px;min-height:320px;max-height:440px;overflow-x:auto;overflow-y:scroll;
  border:1px solid var(--line);border-radius:10px;overscroll-behavior:contain;
  scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#b8c2d0 #f3f5f8;
}
.record-table-wrap::-webkit-scrollbar{width:10px;height:10px}
.record-table-wrap::-webkit-scrollbar-track{background:#f3f5f8;border-radius:8px}
.record-table-wrap::-webkit-scrollbar-thumb{background:#b8c2d0;border:2px solid #f3f5f8;border-radius:8px}
.record-table-wrap::-webkit-scrollbar-thumb:hover{background:#98a2b3}
.record-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:12px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--line)}
.record-stats div{padding:10px 12px;background:#f8fafc}
.record-stats span{display:block;font-size:8.5px;color:var(--overlay)}
.record-stats b{display:block;margin-top:3px;font-size:15px;color:var(--text)}
.record-table-wrap table{width:100%;min-width:650px;border-collapse:collapse;font-size:10.5px}
.record-table-wrap th{padding:9px 10px;text-align:left;background:#f8fafc;color:var(--overlay);font-size:8.5px;font-weight:700;border-bottom:1px solid #edf0f4;position:sticky;top:0;z-index:2}
.record-table-wrap td{padding:10px;border-bottom:1px solid #edf0f4;color:var(--sub);white-space:nowrap}
.record-table-wrap tr:last-child td{border-bottom:0}
.log-foot{display:flex;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1px solid #edf0f4;color:var(--overlay);font-size:9px}
.rule-readonly-value{
  padding:10px 11px;border:1px solid #e9edf4;border-radius:9px;
  background:#f8fafc;color:#475467;font-size:10.5px;line-height:1.65;
}
.rule-readonly-content{min-height:42px;max-height:220px;overflow-y:auto;overscroll-behavior:contain;background:#fbfcfe}
.rule-detail-text{white-space:pre-wrap;overflow-wrap:anywhere}
.media-chips:empty,#ruleDetailReply:empty{display:none}
.manual-dialog{width:min(420px,calc(100vw - 32px));margin:auto}
.manual-target{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #dbeafe;border-radius:9px;background:#eff6ff}
.manual-target strong{font-size:12px;color:#1d4ed8}
.manual-desc{margin:13px 0;color:var(--sub);font-size:10.5px;line-height:1.7}
.manual-mode{display:flex;align-items:center;gap:7px;margin-bottom:16px;color:#475467;font-size:11px}
.manual-mode input{accent-color:var(--primary)}
.import-dialog{width:min(520px,calc(100vw - 32px));margin:auto}
.share-dialog{width:min(500px,calc(100vw - 32px));margin:auto}
.import-warning{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px;padding:11px 12px;border:1px solid #fed7aa;border-radius:9px;background:#fffbeb;color:#92400e}
.import-warning svg{width:16px;height:16px;flex:none;margin-top:1px;color:#b54708}
.import-warning b{display:block;font-size:10.5px;color:#9a3412}
.import-warning p{margin-top:3px;font-size:9px;line-height:1.6}
.import-dialog input{letter-spacing:.12em;text-transform:uppercase;font-family:var(--mono)}
.import-target{margin:3px 0 15px;font-size:10px;color:var(--overlay)}
.import-target b{color:var(--text)}
.share-desc{font-size:10.5px;line-height:1.7;color:var(--sub)}
.share-code{margin:16px 0 10px;padding:18px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff;color:#1d4ed8;text-align:center;font-family:var(--mono);font-size:23px;font-weight:800;letter-spacing:.08em}
.share-tip{font-size:9px;line-height:1.65;color:var(--overlay)}

.toast{position:fixed;left:50%;bottom:24px;z-index:80;padding:9px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:11.5px;box-shadow:0 14px 40px rgba(16,24,40,.14);opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:.2s}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media(max-width:1180px){
  .chat-layout{grid-template-columns:300px minmax(0,1fr)}
  .rule-shop-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .supply-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .chat-layout,.rule-layout,.feedback-layout,.reply-bottom-grid{grid-template-columns:1fr;height:auto}
  .rule-list{max-height:460px}
  .rule-shop-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chat-left{min-height:280px}
  .chat-main{min-height:520px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:last-child{grid-column:span 2}
  .purchase-banner{flex-wrap:wrap}
  .purchase-facts{width:100%}
  .plan-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .workspace-page{padding:16px 14px 36px}
  .stats,.supply-grid{grid-template-columns:1fr}
  .stat:last-child{grid-column:auto}
  .type-grid{grid-template-columns:repeat(2,1fr)}
  .purchase-facts{grid-template-columns:1fr}
  .table-panel{overflow-x:auto}
  .table-panel table{min-width:680px}
  .record-table-wrap{height:360px;min-height:280px;max-height:420px}
  .modal-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .modal-two-col,.modal-three-col{grid-template-columns:1fr}
  .rule-scope-options,.product-rule-list{grid-template-columns:1fr}
  .log-row{grid-template-columns:50px 45px minmax(90px,120px) minmax(0,1fr)}
}
