/* 客户档案页重新设计（2026-10-22，MARK ca-materials-1022）
 * 客户资料表单、记一笔、跟进时间线、补充弹窗（附图片和文件）、全部资料、手动建档弹窗。放在客户助手样式最后。 */

/* ---------- 客户资料：两列卡片，长期备注占整行，保存按钮在右下 ---------- */
#viewCustomers .ca-detail-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:0 0 16px;padding:20px 22px;border:1px solid #ece6df;border-radius:16px;background:#fff}
#viewCustomers .ca-detail-form>label,#viewCustomers .ca-event-form>label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:14px;font-weight:700;color:#4a5160}
#viewCustomers .ca-detail-form input,#viewCustomers .ca-detail-form select,#viewCustomers .ca-detail-form textarea,
#viewCustomers .ca-event-form input,#viewCustomers .ca-event-form select,#viewCustomers .ca-event-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dcd5cd;border-radius:11px;background:#fff;font:inherit;font-size:16px;font-weight:400;color:#1f2430}
#viewCustomers .ca-detail-form textarea{min-height:120px;line-height:1.7}
#viewCustomers .ca-detail-form>label:has(textarea),#viewCustomers .ca-detail-form>.wide{grid-column:1/-1}
#viewCustomers .ca-detail-form>button,#viewCustomers .ca-detail-form>[type="submit"]{grid-column:1/-1;justify-self:end;min-height:46px;padding:0 28px;border:0;border-radius:12px;background:#c8372d;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
#viewCustomers .ca-detail-form input:focus,#viewCustomers .ca-detail-form select:focus,#viewCustomers .ca-detail-form textarea:focus,
#viewCustomers .ca-event-form textarea:focus,#viewCustomers .ca-event-form input:focus{outline:2px solid #e7a99f;border-color:#c8372d}

/* ---------- 记一笔：类型一排按钮、正文整行、时间和按钮一行 ---------- */
#viewCustomers .ca-event-form{display:grid;grid-template-columns:minmax(0,1fr) 230px auto auto;align-items:end;gap:12px;margin:0 0 16px;padding:18px 22px;border:1px solid #f0ddd4;border-radius:16px;background:#fffaf6}
#viewCustomers .ca-event-form::before{content:"记一笔：这次实际发生了什么";grid-column:1/-1;font-size:17px;font-weight:800;color:#1f2430}
#viewCustomers .ca-event-form .cm-chips{grid-column:1/-1}
#viewCustomers .ca-event-form>label:has(textarea){grid-column:1/-1}
#viewCustomers .ca-event-form textarea{min-height:88px;line-height:1.7}
#viewCustomers .ca-event-form .cm-select-hidden{display:none}
#viewCustomers .ca-event-form>button[type="submit"]{min-height:44px;padding:0 24px;border:0;border-radius:12px;background:#c8372d;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
#viewCustomers .cm-chips{display:flex;flex-wrap:wrap;gap:8px}
#viewCustomers .cm-chip{min-height:38px;padding:0 16px;border:1.5px solid #e2d8cf;border-radius:999px;background:#fff;color:#4a5160;font-size:15px;font-weight:600;cursor:pointer}
#viewCustomers .cm-chip.on{border-color:#c8372d;background:#c8372d;color:#fff}
#viewCustomers .cm-attach{min-height:44px;padding:0 16px;border:1.5px solid #c8372d;border-radius:12px;background:#fff;color:#c8372d;font-size:15px;font-weight:700;cursor:pointer}
@media (max-width:760px){
  #viewCustomers .ca-detail-form{grid-template-columns:1fr;padding:16px}
  #viewCustomers .ca-event-form{grid-template-columns:1fr;padding:16px}
  #viewCustomers .ca-detail-form>button,#viewCustomers .ca-event-form>button{width:100%}
}

/* ---------- 跟进记录：时间线 ---------- */
#viewCustomers .ca-fold{margin:0 0 16px;padding:16px 22px;border:1px solid #ece6df;border-radius:16px;background:#fff}
#viewCustomers .ca-fold>summary{cursor:pointer;font-size:16px;font-weight:800;color:#1f2430;list-style:none}
#viewCustomers .ca-fold>summary::-webkit-details-marker{display:none}
#viewCustomers .ca-fold>summary::before{content:"▸ ";color:#c8372d}
#viewCustomers .ca-fold[open]>summary::before{content:"▾ "}
#viewCustomers .ca-timeline{list-style:none;margin:14px 0 0;padding:0 0 0 18px;border-left:2px solid #efe7df}
#viewCustomers .ca-tl-item{position:relative;margin:0 0 14px;padding:12px 14px;border-radius:12px;background:#faf8f5}
#viewCustomers .ca-tl-item::before{content:"";position:absolute;left:-26px;top:16px;width:12px;height:12px;border-radius:50%;background:#bdb3a9;border:2px solid #fff}
#viewCustomers .ca-tl-replied::before,#viewCustomers .ca-tl-passed::before{background:#1f8a57}
#viewCustomers .ca-tl-sent::before,#viewCustomers .ca-tl-guide_copied::before,#viewCustomers .ca-tl-guide_generated::before{background:#2f6fd6}
#viewCustomers .ca-tl-journey_card::before{background:#c8372d}
#viewCustomers .ca-tl-failed::before{background:#9aa1ab}
#viewCustomers .ca-tl-note::before{background:#c97a12}
#viewCustomers .ca-tl-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
#viewCustomers .ca-tl-type{font-size:15px;font-weight:800;color:#1f2430}
#viewCustomers .ca-tl-time{font-size:13px;color:#8a8f98;white-space:nowrap}
#viewCustomers .ca-tl-note{margin:6px 0 0;font-size:15px;line-height:1.7;color:#30353f;white-space:pre-wrap;overflow-wrap:anywhere}
#viewCustomers .ca-tl-note.clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
#viewCustomers .ca-tl-more{margin-top:4px;padding:0;border:0;background:none;color:#c8372d;font-size:14px;font-weight:700;cursor:pointer}
#viewCustomers .ca-tl-attach{display:inline-block;margin-top:8px;padding:2px 10px;border-radius:999px;background:#fff1ec;color:#a8402f;font-size:13px;font-weight:600}
#viewCustomers .ca-tl-sub{margin:18px 0 8px;font-size:15px;font-weight:800;color:#1f2430}
#viewCustomers .ca-old-guide{margin:0 0 10px;padding:12px 14px;border:1px solid #ece6df;border-radius:12px;background:#fff}
#viewCustomers .ca-og-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:#8a8f98}
#viewCustomers .ca-og-status{padding:2px 10px;border-radius:999px;background:#eef0f2;color:#4a5160;font-weight:700}
#viewCustomers .ca-og-passed{background:#e3f4ea;color:#1f7a4d}#viewCustomers .ca-og-sent,#viewCustomers .ca-og-copied{background:#e6efff;color:#2f5fb8}#viewCustomers .ca-og-failed{background:#f1f1f1;color:#6b7280}
#viewCustomers .ca-og-row{display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:start;padding:4px 0;font-size:15px;line-height:1.65}
#viewCustomers .ca-og-label{color:#8a8f98;font-weight:700}
#viewCustomers .ca-og-copy{min-height:32px;padding:0 12px;border:1.5px solid #c8372d;border-radius:9px;background:#fff;color:#c8372d;font-size:13px;font-weight:700;cursor:pointer}

/* ---------- 补充弹窗 ---------- */
.cj-modal.cm-modal{width:min(640px,calc(100vw - 32px))}
.cj-modal.cm-modal .cm-area{min-height:170px;font-size:16px;line-height:1.7}
.cm-tools{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.cm-tools .cm-tool{min-height:42px;font-size:15px;font-weight:700}
.cm-pending{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 10px}
.cm-thumb{position:relative;width:96px;height:96px;border-radius:12px;overflow:hidden;border:1px solid #e5ded6;background:#f6f3ef}
.cm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cm-thumb-size{position:absolute;left:4px;bottom:4px;padding:0 6px;border-radius:6px;background:rgba(0,0,0,.55);color:#fff;font-size:11px}
.cm-file{display:flex;align-items:center;gap:8px;max-width:100%;padding:8px 10px 8px 8px;border:1px solid #e5ded6;border-radius:12px;background:#fff;font-size:14px}
.cm-file-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.cm-file-size{color:#8a8f98;font-size:12px}
.cm-file-icon{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:#fde7e2;color:#b2442f;font-size:14px;font-weight:800}
.cm-x{position:absolute;top:4px;right:4px;width:26px;height:26px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.cm-file .cm-x{position:static;background:#efe9e3;color:#555}
.cm-tip{margin:0 0 14px;font-size:13px;color:#8a8f98}
.cm-save{width:100%;min-height:48px;font-size:16px}

/* ---------- 全部资料 ---------- */
#viewCustomers .cm-pane{padding:16px 18px}
#viewCustomers .cm-h{margin:18px 0 10px;font-size:16px;font-weight:800;color:#1f2430}
#viewCustomers .cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
#viewCustomers .cm-cell{display:flex;flex-direction:column;gap:6px;padding:0;border:1px solid #ece6df;border-radius:12px;background:#fff;overflow:hidden;cursor:zoom-in;text-align:left}
#viewCustomers .cm-cell img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;background:#f6f3ef}
#viewCustomers .cm-cell-meta{padding:0 10px 8px;font-size:12px;color:#8a8f98}
#viewCustomers .cm-file-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin-bottom:10px;border:1px solid #ece6df;border-radius:12px;background:#fff}
#viewCustomers .cm-file-copy{flex:1;min-width:0}
#viewCustomers .cm-file-copy strong{display:block;font-size:15px;overflow-wrap:anywhere}
#viewCustomers .cm-file-copy small{color:#8a8f98;font-size:12px}
#viewCustomers .cm-file-copy p{margin:6px 0 0;font-size:14px;color:#4a5160;line-height:1.6;overflow-wrap:anywhere}
#viewCustomers .cm-empty{padding:24px;border:1px dashed #e2d8cf;border-radius:12px;text-align:center;color:#8a8f98}
.cm-file-text{max-height:60vh;overflow:auto;margin-top:12px;padding:14px;border-radius:12px;background:#faf8f5;font-size:15px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.cm-viewer{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;background:rgba(17,17,17,.82)}
.cm-viewer img{max-width:100%;max-height:calc(100vh - 96px);border-radius:8px;background:#fff}
.cm-viewer-close{position:fixed;top:16px;right:16px;min-height:42px;padding:0 18px;border:0;border-radius:12px;background:#fff;color:#1f2430;font-size:15px;font-weight:700;cursor:pointer}

/* ---------- 手动建档弹窗 ---------- */
body .cc-box.ca-make-box{width:min(600px,calc(100vw - 32px));padding:28px 28px 22px;border-radius:20px}
body .ca-make-box .cc-title{font-size:22px;font-weight:800;color:#1f2430}
body .ca-make-box .cc-sub{margin-top:6px;font-size:15px;color:#6b7280}
body .ca-make-box .ca-make-body{display:grid;gap:18px;margin-top:20px}
body .ca-make-box .ca-make-label{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:700;color:#1f2430}
body .ca-make-box .ca-make-input{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid #dcd5cd;border-radius:12px;font:inherit;font-size:17px;font-weight:400;line-height:1.6}
body .ca-make-box textarea.ca-make-input{min-height:170px}
body .ca-make-box .ca-make-input:focus{outline:2px solid #e7a99f;border-color:#c8372d}
body .ca-make-box .ca-field-hint{font-size:13px;font-weight:400;color:#8a8f98}
body .ca-make-box .cc-row{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
body .ca-make-box .cc-btn{min-height:48px;padding:0 28px;border-radius:12px;font-size:16px;font-weight:700}
