#view-support-aftersales{padding:0!important}
.aftersales-v28{--p:#2568e8;--ink:#14233b;--muted:#75859d;--line:#dde6f1;--soft:#f5f8fc;color:var(--ink);padding:2px}
.aftersales-v28 *{box-sizing:border-box}
.aftersales-v28 button,.aftersales-v28 input,.aftersales-v28 textarea{font:inherit}

/* ==== 主布局：左（输入+历史）/ 右（结果+追问）两栏 ==== */
.aftersales-v28 .as-shell{display:grid;grid-template-columns:minmax(430px,45%) minmax(0,55%);gap:16px;align-items:stretch}
.aftersales-v28 .as-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.aftersales-v28 .as-col .as-grow{flex:1}

/* ==== 卡片 ==== */
.aftersales-v28 .as-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(28,48,77,.05);display:flex;flex-direction:column;overflow:hidden}
.aftersales-v28 .as-head{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdff)}
.aftersales-v28 .as-head h3{margin:0;font-size:15px}
.aftersales-v28 .as-head p{margin:4px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}
.aftersales-v28 .as-head .as-btn{margin-left:auto;flex-shrink:0}
.aftersales-v28 .as-head-actions{display:flex;gap:8px;margin-left:auto;flex-shrink:0}
.aftersales-v28 .as-head-actions .as-btn{margin-left:0}
.aftersales-v28 .as-body{padding:16px 18px;flex:1;display:flex;flex-direction:column;min-height:0}

/* ==== 按钮 ==== */
.aftersales-v28 .as-btn{border:1px solid #d5e0ed;border-radius:9px;background:#fff;color:#3b526e;padding:9px 14px;font-weight:700;cursor:pointer}
.aftersales-v28 .as-btn:hover{border-color:#9db6d3;background:#f8fbff}
.aftersales-v28 .as-btn.primary{border-color:var(--p);background:var(--p);color:#fff}
.aftersales-v28 .as-owner-hidden{display:none!important}
.aftersales-v28 .as-btn.primary:hover{background:#1d57c8}
.aftersales-v28 .as-btn.small{padding:6px 10px;font-size:12px}
.aftersales-v28 .as-btn.danger{border-color:#f3c0c4;color:#e0343c}
.aftersales-v28 .as-btn[disabled]{opacity:.55;cursor:not-allowed}
.aftersales-v28 .as-submit{width:100%;padding:12px 26px;margin-top:16px;font-size:13.5px}

/* ==== 分区标题 ==== */
.aftersales-v28 .as-sec{display:flex;align-items:center;gap:9px;margin:4px 0 12px}
.aftersales-v28 .as-sec:not(:first-child){margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.aftersales-v28 .as-sec-num{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border-radius:7px;background:var(--p);color:#fff;font-size:11.5px;font-weight:800}
.aftersales-v28 .as-sec b{font-size:12.5px;color:#1d3049}
.aftersales-v28 .as-sec .as-sec-sub{display:block;font-size:10.5px;color:#98a2b1;font-weight:400}

/* ==== 表单 ==== */
.aftersales-v28 .as-field{margin-bottom:14px;display:flex;flex-direction:column;gap:5px}
.aftersales-v28 .as-field label{font-size:11px;color:#657289;font-weight:700}
.aftersales-v28 .as-row{display:flex;gap:12px}
.aftersales-v28 .as-field-half{flex:1;min-width:0}
.aftersales-v28 .as-input,.aftersales-v28 .as-textarea{width:100%;border:1px solid #d7e1ed;border-radius:8px;background:#fff;color:#1d3049;padding:9px 11px;outline:none;font-size:12.5px}
.aftersales-v28 .as-input:focus,.aftersales-v28 .as-textarea:focus{border-color:#6ea3ef;box-shadow:0 0 0 3px rgba(37,104,232,.08)}
.aftersales-v28 .as-textarea{resize:vertical;min-height:70px;line-height:1.6}
.aftersales-v28 .as-hint{color:#98a2b1;font-size:10.5px;margin:-6px 0 2px}

/* ==== 上传区（图片 / 视频瓦片） ==== */
.aftersales-v28 .as-upload-zone{display:flex;flex-wrap:wrap;gap:10px;padding:12px;border:2px dashed #c7d6e8;border-radius:11px;background:#fafcff}
.aftersales-v28 .as-upload-item{position:relative;width:84px;height:84px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.aftersales-v28 .as-upload-item img{width:100%;height:100%;object-fit:cover;display:block}
.aftersales-v28 .as-upload-item.as-video{background:linear-gradient(160deg,#223a5e,#33507f);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.aftersales-v28 .as-tile-poster{position:absolute;inset:0;background-size:cover;background-position:center}
.aftersales-v28 .as-video-badge{position:absolute;top:5px;left:5px;width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:rgba(15,26,44,.68);color:#fff;font-size:9px;z-index:2}
.aftersales-v28 .as-video-badge.big{position:static;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.16);font-size:12px}
.aftersales-v28 .as-video-meta{position:relative;z-index:2;text-align:center;padding:0 6px;max-width:80px}
.aftersales-v28 .as-video-name{color:#dbe6f5;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:78px}
.aftersales-v28 .as-video-size{color:#8ba3c4;font-size:9px}
.aftersales-v28 .as-upload-remove{position:absolute;top:3px;right:3px;width:19px;height:19px;display:grid;place-items:center;border:none;border-radius:50%;background:rgba(20,35,59,.72);color:#fff;font-size:12px;line-height:1;cursor:pointer;z-index:3}
.aftersales-v28 .as-upload-add{display:flex;align-items:center;gap:9px;min-width:210px;padding:10px 12px;border:2px dashed #c7d6e8;border-radius:10px;background:#fafcff;cursor:pointer}
.aftersales-v28 .as-upload-add:hover{border-color:#7fa7e8;background:#f5f9ff}
.aftersales-v28 .as-upload-plus{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#e8f1fd;color:#2568e8;font-size:17px;font-weight:700}
.aftersales-v28 .as-upload-label b{display:block;color:#31496b;font-size:11.5px}
.aftersales-v28 .as-upload-label span{display:block;margin-top:2px;color:#8a99ad;font-size:10px}
.aftersales-v28 .as-media-count{margin-top:7px;color:#8a99ad;font-size:10.5px}
.aftersales-v28 .as-media-count b{color:#5b6f8a}

/* ==== PDS 匹配清单（可手动排除） ==== */
.aftersales-v28 .as-pds-status .as-pds-list{margin:6px 0 0;padding:0;list-style:none}
.aftersales-v28 .as-pds-item{display:flex;align-items:flex-start;gap:8px;margin:4px 0;padding:6px 8px;border-radius:7px;background:rgba(255,255,255,.65);border:1px solid rgba(0,0,0,.05)}
.aftersales-v28 .as-pds-item-name{flex:1;min-width:0;line-height:1.5}
.aftersales-v28 .as-pds-item-name small{color:#8a99ad;font-size:10px}
.aftersales-v28 .as-pds-exclude{flex-shrink:0;width:20px;height:20px;display:grid;place-items:center;border:1px solid #e3cad0;border-radius:50%;background:#fff;color:#c05a5a;font-size:13px;font-weight:900;line-height:1;cursor:pointer;padding:0}
.aftersales-v28 .as-pds-exclude:hover{border-color:#d89595;background:#fdf3f2;color:#b03a3a}
.aftersales-v28 .as-pds-excluded-note{margin-left:6px;color:#b3742c;font-size:11px;font-weight:600}

/* ==== 商品编码 + 检索按钮 ==== */
.aftersales-v28 .as-sku-row{display:flex;gap:8px;align-items:center}
.aftersales-v28 .as-sku-row .as-input{flex:1;min-width:0}
.aftersales-v28 .as-sku-row .as-btn{flex-shrink:0;white-space:nowrap}
.aftersales-v28 .as-pds-status{margin:4px 0 10px;padding:9px 12px;border-radius:9px;font-size:11.5px;line-height:1.65;border:1px solid}
.aftersales-v28 .as-pds-status ul{margin:6px 0 0;padding-left:18px}
.aftersales-v28 .as-pds-status li{margin:2px 0}
.aftersales-v28 .as-pds-status li small{color:#8a99ad;font-size:10px}
.aftersales-v28 .as-pds-status.ok{border-color:#bfe3cd;background:#f2fbf5;color:#2c6e46}
.aftersales-v28 .as-pds-status.warn{border-color:#f0dfae;background:#fdf9ec;color:#8a6d1d}
.aftersales-v28 .as-pds-status.error{border-color:#f3c6c4;background:#fdf3f2;color:#a33c34}
.aftersales-v28 .as-pds-status.loading{border-color:#c9ddfb;background:#f4f9ff;color:#2c517f}

/* ==== 参考文件（文档）瓦片 ==== */
.aftersales-v28 .as-upload-item.as-doc{width:auto;min-width:96px;max-width:170px;height:64px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}
.aftersales-v28 .as-doc-icon{flex-shrink:0;width:34px;height:40px;display:grid;place-items:center;border-radius:6px;background:#eef3fb;color:#2568e8;font-size:9px;font-weight:900;letter-spacing:.5px;border:1px solid #d8e4f5}
.aftersales-v28 .as-doc-meta{min-width:0}
.aftersales-v28 .as-doc-name{color:#1d3049;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}

/* ==== 配置弹窗分隔线 ==== */
.aftersales-v28 .as-config-divider{margin:14px 0 4px;padding-top:12px;border-top:1px dashed #d7e1ed;color:#2568e8;font-size:11px;font-weight:800}

/* ==== 空态 / 加载 ==== */
.aftersales-v28 .as-empty{padding:26px 12px;text-align:center;color:#8a99ad;font-size:12px;border:1px dashed #dbe4ee;border-radius:10px;background:#fafcff}
.aftersales-v28 .as-loading{padding:26px 12px;text-align:center;color:#60728a;font-size:12.5px;border:1px dashed #d7e1ed;border-radius:10px;background:#fafcff}

/* ==== 分析结果块 ==== */
.aftersales-v28 .as-block{border:1px solid var(--line);border-radius:11px;background:#fbfdff;margin-bottom:12px;overflow:hidden}
.aftersales-v28 .as-block-title{padding:9px 13px;background:#f1f6fc;border-bottom:1px solid var(--line);color:#2c517f;font-size:12px;font-weight:800}
.aftersales-v28 .as-block ul{margin:0;padding:10px 13px 12px 28px;color:#3b526e;font-size:12.5px;line-height:1.75}
.aftersales-v28 .as-reply-box{border:1px solid #c9ddfb;border-radius:11px;background:#f4f9ff;padding:12px 14px;margin-top:14px}
.aftersales-v28 .as-reply-label{color:#2568e8;font-size:11.5px;font-weight:800;margin-bottom:6px}
.aftersales-v28 .as-reply-text{color:#233a5c;font-size:12.5px;line-height:1.75;white-space:pre-wrap}
.aftersales-v28 .as-reply-box .as-btn{margin-top:9px}

/* ==== 对话 ==== */
.aftersales-v28 .as-chat{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:2px;min-height:120px}
.aftersales-v28 .as-msg{max-width:88%}
.aftersales-v28 .as-msg.user{align-self:flex-end}
.aftersales-v28 .as-msg.assistant{align-self:flex-start}
.aftersales-v28 .as-msg-role{font-size:10px;color:#8a99ad;margin-bottom:3px}
.aftersales-v28 .as-msg.user .as-msg-role{text-align:right}
.aftersales-v28 .as-msg-text{padding:9px 12px;border-radius:11px;font-size:12.5px;line-height:1.7}
.aftersales-v28 .as-msg.user .as-msg-text{background:var(--p);color:#fff}
.aftersales-v28 .as-msg.assistant .as-msg-text{background:#f1f5fa;color:#31496b;border:1px solid #e2eaf3}
.aftersales-v28 .as-chat-input{display:flex;gap:9px;margin-top:12px;align-items:flex-end}
.aftersales-v28 .as-chat-input textarea{flex:1}
.aftersales-v28 .as-chat-input .as-btn{flex-shrink:0;padding:9px 18px}

/* ==== 历史会话 ==== */
.aftersales-v28 .as-sessions{display:flex;flex-direction:column;gap:9px;overflow-y:auto;max-height:340px;padding-right:3px;min-height:60px}
.aftersales-v28 .as-session{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:10px 13px;background:#fff;flex-shrink:0}
.aftersales-v28 .as-session:hover{border-color:#b9cbe2}
.aftersales-v28 .as-session.active{border-color:#6ea3ef;background:#f4f9ff}
.aftersales-v28 .as-session-main{flex:1;min-width:0;cursor:pointer}
.aftersales-v28 .as-session-actions{display:flex;gap:6px;flex-shrink:0}
.aftersales-v28 .as-session-title{color:#1d3049;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aftersales-v28 .as-session-meta{margin-top:3px;color:#8a99ad;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ==== 弹窗 ==== */
.aftersales-v28 .as-modal{position:fixed;inset:0;background:rgba(15,32,53,.45);display:grid;place-items:center;z-index:900}
.aftersales-v28 .as-modal.hidden{display:none}
.aftersales-v28 .as-dialog{width:min(460px,92vw);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 18px 60px rgba(10,30,60,.3)}
.aftersales-v28 .as-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line)}
.aftersales-v28 .as-dialog-head h3{margin:0;font-size:15px}
.aftersales-v28 .as-dialog-head button{border:none;background:none;font-size:18px;color:#75859d;cursor:pointer}
.aftersales-v28 .as-dialog-body{padding:16px 18px}
.aftersales-v28 .as-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:12px 18px;border-top:1px solid var(--line)}

/* ==== 占位页 ==== */
.aftersales-v28 .as-coming{padding:70px 20px;text-align:center;color:#75859d}
.aftersales-v28 .as-coming-icon{font-size:44px;margin-bottom:12px}
.aftersales-v28 .as-coming h3{margin:0 0 8px;color:#31496b;font-size:18px}
.aftersales-v28 .as-coming p{margin:0;font-size:12.5px}

@media(max-width:1120px){
  .aftersales-v28 .as-shell{grid-template-columns:1fr}
}
