/* 做同款 / 添加产品 overlay —— 白底 + avocado，贴合 avogogo 设计系统 */
.rc-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.rc-backdrop{position:absolute;inset:0;background:rgba(20,28,16,.46);backdrop-filter:blur(3px)}
.rc-panel{position:relative;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(20,28,16,.32);
  max-height:92vh;overflow:hidden;display:flex;flex-direction:column}
/* 尺寸类由 modal(html, cls) 的第二参数带上——.rc-panel 自己不带 width，缺了这条就撑满视口。
   目前只有 rc-md 一档（添加/编辑产品 overlay 在用）。520 是表单该有的宽度：第一步就一个
   输入框 + 一个按钮，720 会让说明文字铺成很长一行，读起来要来回扫。 */
.rc-md .rc-panel{width:min(520px,94vw);padding:28px 32px;max-height:90vh;overflow-y:auto}
.rc-x{position:absolute;top:12px;right:14px;z-index:5;appearance:none;border:none;background:rgba(0,0,0,.06);
  width:30px;height:30px;border-radius:50%;font-size:20px;line-height:1;color:#555;cursor:pointer}
.rc-x:hover{background:rgba(0,0,0,.12)}

.rc-h{font-family:var(--display);font-size:20px;color:var(--avo-900);margin:0 0 4px}
.rc-l{display:block;font-size:12px;font-weight:600;color:var(--avo-800);margin:0 0 6px}
.rc-in{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:10px 12px;
  font-size:14px;font-family:inherit;color:var(--avo-900);background:#fbfcfa;transition:border-color .15s}
.rc-in:focus{outline:none;border-color:var(--avo-600);background:#fff}
.rc-ta{min-height:62px;resize:vertical;line-height:1.45}
.rc-err{color:#c0492b;font-size:13px;min-height:18px;margin:2px 0 6px}
.rc-btn{width:100%;appearance:none;border:none;cursor:pointer;background:var(--avo-600);color:#fff;
  font-family:var(--display);font-size:15px;font-weight:600;padding:12px;border-radius:11px;margin-top:4px;
  transition:background .15s}
.rc-btn:hover{background:var(--avo-700)}
.rc-btn:disabled{opacity:.6;cursor:default}

.rc-sub{font-size:12.5px;color:#9aa987;margin:-4px 0 12px;line-height:1.5}
/* 产品录屏缩略图 */
.ap-recs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:6px}
.ap-rec{position:relative}
.ap-rec video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:7px;border:1px solid var(--line);background:#000;display:block}
.ap-rec button{position:absolute;top:3px;right:3px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(20,28,16,.62);color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ap-recadd{aspect-ratio:9/16}
/* 上传中：本地缩略图 + 百分比气泡（与 avo-composer 附件上传同一套视觉） */
.ap-rec.up video{opacity:.6}
.ap-rec .ap-pct{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);white-space:nowrap;
  background:rgba(20,28,16,.72);color:#fff;font-size:10px;font-weight:700;padding:1px 7px;
  border-radius:999px;pointer-events:none}

/* 添加产品 · 预览确认 */
.ap-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.ap-icon{width:54px;height:54px;border-radius:13px;flex:none;background:#f0f2ec;overflow:hidden;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ap-icon img{width:100%;height:100%;object-fit:cover}
.ap-icon .ap-icoplus{display:none;position:absolute;font-size:20px;line-height:1;color:#7a8567}
.ap-icon.empty{border:1.5px dashed #b9c4a6;background:#f6f8f1}
.ap-icon.empty img{display:none}
.ap-icon.empty .ap-icoplus,.ap-icon.busy .ap-icoplus{display:block}
.ap-icon.busy{opacity:.55;pointer-events:none}
.ap-icon:hover{border-color:#7fae3f}
.ap-head input{flex:1;font-weight:600}
.ap-name{flex:1;font-family:var(--display);font-size:18px;font-weight:600;color:var(--avo-900);line-height:1.3}
.ap-usp{display:flex;gap:8px;align-items:center;margin-bottom:7px}
.ap-usp input{flex:1}
.ap-usp button{appearance:none;border:none;background:#f0f2ec;color:#8a9a78;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:16px;flex:none}
.ap-usp button:hover{background:#e6d6cf;color:var(--brown)}
.ap-addusp{appearance:none;border:1px dashed var(--line);background:none;color:var(--avo-700);cursor:pointer;font-size:13px;font-weight:600;padding:7px 13px;border-radius:9px;margin:2px 0 6px}
.ap-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px;margin-top:6px}
/* 截图缩略图：完整显示不裁（object-fit:contain）——截图要看清内容，裁掉就没意义。
   竖图占一格、横图占两格；横竖由 JS onload 读实际比例后加 .land（不靠 URL 猜）。 */
.ap-shots img{width:100%;aspect-ratio:9/16;object-fit:contain;border-radius:7px;border:1px solid var(--line);background:#f0f2ec}
.ap-shots img.land{aspect-ratio:16/9}
.ap-shot.land{grid-column:span 2}
.ap-shot{position:relative}
.ap-shot button{position:absolute;top:3px;right:3px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(20,28,16,.62);color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ap-shot button:hover{background:rgba(20,28,16,.88)}
.ap-shotadd{display:flex;align-items:center;justify-content:center;aspect-ratio:9/16;border:1.5px dashed var(--line);border-radius:7px;color:var(--avo-600);font-size:22px;cursor:pointer;background:#fafcf7}
.ap-shotadd:hover{border-color:var(--avo-600);background:#fff}
.ap-shotadd.busy{opacity:.55;cursor:default;pointer-events:none}   /* 传完前别让人再点开一个（并发上传会互相抹掉进度块） */
.ap-shottip{font-size:11.5px;color:#9aa987;margin:6px 0 2px;line-height:1.4}
.ap-or{display:flex;align-items:center;color:#9aa987;font-size:12px;margin:14px 0 10px}
.ap-or::before,.ap-or::after{content:"";flex:1;height:1px;background:var(--line)}
.ap-or span{padding:0 12px}
.ap-quote{display:flex;gap:8px;align-items:flex-start;margin-bottom:7px}
.ap-quote textarea{flex:1;min-height:46px;font-size:13px;line-height:1.45}
.ap-quote button{appearance:none;border:none;background:#f0f2ec;color:#8a9a78;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:16px;flex:none;margin-top:4px}
.ap-quote button:hover{background:#e6d6cf;color:var(--brown)}
.ap-actions{display:flex;gap:10px;margin-top:16px}
.ap-actions .rc-btn{margin-top:0;flex:1;width:auto}
.rc-btn.ghost{background:#f0f2ec;color:var(--avo-800)}
.rc-btn.ghost:hover{background:#e6ebe0}
.ap-actions .rc-btn.ghost.del{flex:0 0 auto;width:auto;padding-left:18px;padding-right:18px;background:#fbeeeb;color:#c0492b;border:1px solid #e7c4ba}
.ap-actions .rc-btn.ghost.del:hover{background:#f6e0db}
