.docking-center-page,.docking-center-page *{box-sizing:border-box;letter-spacing:0}.docking-center-page{min-height:100vh;background:#f5f6f8;color:#303238}.docking-center-hero{display:flex;height:252px;align-items:center;background:#edf4ff;text-align:center}.docking-center-hero h1{margin:0;color:#0874e8;font-size:47px;font-weight:500;line-height:1.25}.docking-center-hero p{margin:22px 0 0;color:#73777d;font-size:22px}.docking-center-content{padding:42px 0 72px}.docking-center-tabs{display:flex;height:78px;align-items:flex-start;gap:26px;border-bottom:1px solid #e3e5e8}.docking-center-tabs a{position:relative;padding:15px 0 17px;color:#a4a6aa;font-size:22px;text-decoration:none}.docking-center-tabs a strong{color:#25282c;font-weight:600}.docking-center-tabs a.is-active{color:#0869ed;font-weight:600}.docking-center-tabs a.is-active::after{position:absolute;right:0;bottom:-1px;left:0;height:3px;background:#0869ed;content:''}.docking-application-list{display:flex;flex-direction:column;gap:20px;margin-top:22px}.docking-application-card{padding:27px 22px 23px;border:1px solid #e8e9eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(23,32,45,.02)}.docking-application-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.docking-application-title{display:flex;min-width:0;align-items:center;gap:13px}.docking-application-title h2{min-width:0;margin:0;overflow:hidden;color:#303238;font-size:24px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.docking-application-head time{flex:none;color:#aaa;font-size:18px}.docking-status-badge{flex:none;padding:5px 10px;border-radius:4px;font-size:16px}.docking-status-badge.is-active{background:#e7f3ff;color:#0871ec}.docking-status-badge.is-waiting{background:#fff5df;color:#e49322}.docking-status-badge.is-ended{background:#f2f2f2;color:#999}.docking-status-badge.is-off{background:#f2f2f2;color:#999}.docking-status-badge.is-done{background:#e7f8ed;color:#1eaa58}.docking-application-parties{margin:11px 0 20px;color:#aaa;font-size:18px}.docking-application-parties span{margin:0 6px}.docking-application-summary{padding:17px 20px;border-radius:6px;background:#f8f9fb;color:#676b71;font-size:17px;line-height:1.8}.docking-application-summary p{margin:0}.docking-application-summary strong{color:#555a60}.docking-stage-row{display:flex;margin:18px 0 17px;padding:0;list-style:none}.docking-stage-row li{position:relative;display:flex;align-items:center;color:#b8b8b8;font-size:17px}.docking-stage-row li:not(:last-child){margin-right:24px}.docking-stage-row li:not(:last-child)::after{width:31px;height:1px;margin-left:8px;background:#d5d5d5;content:''}.docking-stage-row span{display:flex;width:27px;height:27px;align-items:center;justify-content:center;margin-right:7px;border:2px solid #d8d8d8;border-radius:50%;background:#fff;color:#aaa;font-size:15px}.docking-stage-row em{font-style:normal;white-space:nowrap}.docking-stage-row li.is-complete{color:#1fb35a}.docking-stage-row li.is-complete span{border-color:#1fb35a;background:#1fb35a;color:#fff}.docking-stage-row li.is-complete::after{background:#1fb35a}.docking-stage-row li.is-current{color:#0868ee}.docking-stage-row li.is-current span{border-color:#0868ee;background:#0868ee;color:#fff}.docking-application-actions{display:flex;gap:14px}.docking-outline-button,.docking-primary-button{display:inline-flex;height:42px;align-items:center;justify-content:center;padding:0 20px;border-radius:22px;font-size:17px;text-decoration:none;cursor:pointer}.docking-outline-button{border:2px solid #0868ee;background:#fff;color:#0868ee}.docking-primary-button{border:2px solid #0868ee;background:#0868ee;color:#fff}.docking-outline-button:hover,.docking-outline-button:focus-visible{background:#f1f6ff;color:#0868ee}.docking-primary-button:hover,.docking-primary-button:focus-visible{background:#0059db}.docking-center-empty{padding:80px 20px;border:1px solid #e8e9eb;border-radius:8px;background:#fff;color:#999;font-size:18px;text-align:center}.docking-center-content .paged{margin-top:26px}.detail-docking-progress{margin-top:22px;padding:22px 24px;border:1px solid #e1e3e6;border-radius:8px;background:#fff}.detail-docking-progress h3{margin:0 0 20px;padding-top:18px;border-top:1px solid #e2e3e5;color:#292c31;font-size:22px}.detail-docking-progress ol{margin:0;padding:0;list-style:none}.detail-docking-progress li{display:flex;align-items:center;margin:13px 0;color:#aaa;font-size:19px}.detail-docking-progress li span{display:flex;width:32px;height:32px;align-items:center;justify-content:center;margin-right:9px;border:2px solid #d7d7d7;border-radius:50%;font-size:15px}.detail-docking-progress li.is-current{color:#0868ee;font-weight:600}.detail-docking-progress li.is-current span{border-color:#0868ee;background:#0868ee;color:#fff}.detail-docking-progress li.is-complete{color:#1fb35a}.detail-docking-progress li.is-complete span{border-color:#1fb35a;background:#1fb35a;color:#fff}
.docking-panel{padding:28px;background:#fff;border:1px solid #eee}.docking-panel h3{margin:0 0 12px;font-size:20px}.docking-hint{margin:0 0 24px;color:#777;line-height:1.7}.docking-card,.docking-contacts,.docking-progress{margin-top:20px;padding:16px;background:#fafafa}.docking-actions{display:flex;gap:12px;margin:20px 0}.docking-messages{margin-top:20px}.docking-message{max-width:72%;margin:10px 0;padding:10px 12px;background:#f4f5f6;border-radius:4px}.docking-message.is-self{margin-left:auto;background:#eaf5ee}.docking-message small{display:flex;gap:8px}.docking-message-read{color:#999}.docking-message-read.is-read{color:#0862ee}.docking-message.docking-message-revoked{max-width:100%;margin:10px 0;padding:10px 12px;background:#f7f7f7;border:1px dashed #ddd;border-radius:4px;color:#999;font-size:14px;text-align:center}.docking-message.docking-message-revoked p{margin:0}.docking-message.docking-message-system{max-width:100%;margin:10px 0;padding:10px 12px;background:#eafaf0;border:1px solid #bfe9cf;border-radius:4px;color:#1f7a44;font-size:14px;text-align:center}.docking-message.docking-message-system p{margin:0}.docking-message-form{display:flex;gap:10px;margin-top:18px}.docking-message-form textarea{flex:1;min-height:72px;padding:8px;border:1px solid #ddd}
@media(max-width:768px){.docking-center-hero{height:170px}.docking-center-hero h1{font-size:34px}.docking-center-hero p{margin-top:14px;font-size:16px}.docking-center-content{padding:24px 0 48px}.docking-center-tabs{height:auto;gap:18px;overflow-x:auto}.docking-center-tabs a{flex:none;padding:12px 0 14px;font-size:16px}.docking-application-card{padding:20px 16px}.docking-application-head{gap:10px}.docking-application-title{flex-wrap:wrap;gap:7px}.docking-application-title h2{width:100%;font-size:19px;white-space:normal}.docking-application-head time{font-size:14px}.docking-status-badge{font-size:13px}.docking-application-parties,.docking-application-summary{font-size:14px}.docking-stage-row{overflow-x:auto;padding-bottom:4px}.docking-stage-row li{font-size:14px}.docking-stage-row li:not(:last-child){margin-right:12px}.docking-stage-row li:not(:last-child)::after{width:18px}.docking-stage-row span{width:24px;height:24px}.docking-outline-button,.docking-primary-button{height:38px;padding:0 16px;font-size:14px}.detail-docking-progress{padding:16px}.docking-message-form{flex-direction:column}.docking-message{max-width:90%}}
.detail-docking-progress{box-sizing:border-box;width:50%}
@media(max-width:768px){.detail-docking-progress{width:100%}}
.detail-docking-progress{margin-top:12px;padding:12px 14px}.detail-docking-progress h3{margin:0 0 10px;padding-top:10px;font-size:14px}.detail-docking-progress li{margin:7px 0;font-size:13px}.detail-docking-progress li span{width:22px;height:22px;margin-right:6px;border-width:1px;font-size:11px}
.docking-application-summary+.docking-application-actions{margin-top:18px}
.docking-user-content{padding-top:0}.docking-user-content .docking-application-list{margin-top:0}.docking-user-content .paged{margin-top:26px}
.detail-docking-action-row{display:flex;align-items:center;gap:18px;margin-top:18px}.detail-docking-action-row .read-more{flex:none;margin:0}.detail-docking-inline-progress{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:7px}.detail-docking-inline-label{color:#515a63;font-size:13px;font-weight:600;line-height:1}.detail-docking-inline-progress ol{display:flex;align-items:center;margin:0;padding:0;list-style:none}.detail-docking-inline-progress li{display:flex;align-items:center;color:#a0a6ac;font-size:12px;line-height:16px;white-space:nowrap}.detail-docking-inline-progress li:not(:last-child)::after{width:18px;height:1px;margin:0 6px;background:#d7dce1;content:''}.detail-docking-inline-progress li span{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;margin-right:4px;border:1px solid #d7dce1;border-radius:50%;font-size:10px}.detail-docking-inline-progress li.is-complete{color:#1fb35a}.detail-docking-inline-progress li.is-complete span{border-color:#1fb35a;background:#1fb35a;color:#fff}.detail-docking-inline-progress li.is-complete:not(:last-child)::after{background:#1fb35a}.detail-docking-inline-progress li.is-current{color:#0874e8}.detail-docking-inline-progress li.is-current span{border-color:#0874e8;background:#0874e8;color:#fff}@media(max-width:768px){.detail-docking-action-row{align-items:flex-start;gap:12px}.detail-docking-inline-progress{padding-top:2px}.detail-docking-inline-progress ol{flex-wrap:wrap;row-gap:4px}.detail-docking-inline-progress li{font-size:11px}.detail-docking-inline-progress li:not(:last-child)::after{width:8px;margin:0 4px}}
.docking-user .docking-application-list{gap:12px}.docking-user .docking-application-card{padding:18px 18px 16px;border-radius:6px}.docking-user .docking-application-head{gap:16px}.docking-user .docking-application-title{gap:9px}.docking-user .docking-application-title h2{font-size:18px;line-height:1.35}.docking-user .docking-application-head time{font-size:14px}.docking-user .docking-status-badge{padding:4px 8px;font-size:12px}.docking-user .docking-application-parties{margin:8px 0 12px;font-size:14px}.docking-user .docking-application-summary{padding:11px 14px;font-size:14px;line-height:1.65}.docking-user .docking-stage-row{margin:13px 0 12px}.docking-user .docking-stage-row li{font-size:13px}.docking-user .docking-stage-row li:not(:last-child){margin-right:14px}.docking-user .docking-stage-row li:not(:last-child)::after{width:22px;margin-left:6px}.docking-user .docking-stage-row span{width:22px;height:22px;margin-right:5px;border-width:1px;font-size:12px}.docking-user .docking-application-actions{gap:10px}.docking-user .docking-outline-button,.docking-user .docking-primary-button{height:36px;padding:0 16px;border-width:1px;border-radius:18px;font-size:14px}

/* 对接/卡片空态「去发布」文字链接（主色调） */
.docking-publish-link{color:#015eea;font-size:13px;text-decoration:none;cursor:pointer;transition:color .15s ease}
.docking-publish-link:hover{color:#003e9e;text-decoration:underline}
.docking-publish-link:active{color:#003e9e}
.docking-publish-link:focus-visible{outline:2px solid #00c0fa;outline-offset:1px}

/* 始终显示的「去发布新表单」链接容器 */
.docking-publish-row{margin-top:14px;padding-bottom:18px;text-align:center;font-size:13px;line-height:1.8}

/* 转接标记（已转交 / 已转接） */
.docking-transfer-badge{margin-left:8px;padding:3px 9px;border-radius:11px;background:rgba(106,63,214,.09);color:#6a3fd6;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}

/* ===== 转接（需求5/6） ===== */
/* 转接区：退场提示 / 转接按钮 / 子对接人交接提示 */
.project-docking-transfer-zone{display:flex;flex-direction:column;gap:8px;margin:10px 0 0}
.project-docking-transfer-zone:empty{display:none}
.project-docking-transfer-note{padding:10px 12px;border:1px solid #ffe0b2;border-left:3px solid #ff9f43;border-radius:6px;background:#fff8f0;color:#8a5a22;font-size:13px;line-height:1.6}
.project-docking-transfer-note.is-inbound{border-color:#cfe3ff;border-left-color:#0874e8;background:#f2f8ff;color:#1c4f8f}
.project-docking-transfer-button{align-self:flex-start;padding:7px 16px;border:1px solid #0874e8;border-radius:16px;background:#fff;color:#0874e8;font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease}
.project-docking-transfer-button:hover{background:#0874e8;color:#fff}
.project-docking-transfer-button:active{background:#005ec0;color:#fff}
/* 转接卡消息 */
.project-docking-transfer-card{margin:14px 0;padding:12px 14px;border:1px dashed #b9a6ff;border-radius:10px;background:#faf7ff;text-align:center}
.project-docking-transfer-card strong{display:block;color:#6a3fd6;font-size:14px}
.project-docking-transfer-card p{margin:6px 0 0;color:#4b3a86;font-size:13px;line-height:1.6}
.project-docking-transfer-card small{display:block;margin-top:4px;color:#8b7bb8;font-size:12px}
.project-docking-transfer-time{margin-top:6px!important;color:#a396c9!important}
/* 转接弹窗 */
.project-docking-transfer-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.45)}
.project-docking-transfer-dialog{display:flex;width:100%;max-width:460px;max-height:82vh;flex-direction:column;gap:14px;overflow:auto;padding:20px;border-radius:10px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.22)}
.project-docking-transfer-dialog header{display:flex;align-items:center;justify-content:space-between}
.project-docking-transfer-dialog header strong{color:#111827;font-size:16px}
.project-docking-transfer-close{padding:0 6px;border:0;background:transparent;color:#94a3b8;font-size:20px;line-height:1;cursor:pointer}
.project-docking-transfer-tip{margin:0;color:#6b7280;font-size:13px;line-height:1.6}
.project-docking-transfer-label{display:flex;flex-direction:column;gap:8px;color:#374151;font-size:13px;font-weight:600}
.project-docking-transfer-select{padding:9px 10px;border:1px solid #d7dce1;border-radius:6px;background:#fff;font-size:14px}
.project-docking-transfer-msgs{display:flex;max-height:240px;flex-direction:column;gap:6px;overflow:auto;padding:10px;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb}
.project-docking-transfer-msg{display:flex;align-items:flex-start;gap:8px;color:#4b5563;font-size:13px;font-weight:400;line-height:1.5;cursor:pointer}
.project-docking-transfer-msg input{flex:none;margin-top:2px}
.project-docking-transfer-msgs-empty{margin:0;color:#9ca3af;font-size:13px;font-weight:400}
.project-docking-transfer-dialog footer{display:flex;justify-content:flex-end;gap:10px}
.project-docking-transfer-cancel,.project-docking-transfer-confirm{padding:8px 18px;border-radius:18px;font-size:14px;cursor:pointer}
.project-docking-transfer-cancel{border:1px solid #d7dce1;background:#fff;color:#4b5563}
.project-docking-transfer-confirm{border:1px solid #6a3fd6;background:#6a3fd6;color:#fff}
.project-docking-transfer-confirm:disabled{border-color:#d7dce1;background:#e5e7eb;color:#9ca3af;cursor:not-allowed}
.docking-sign-button{display:inline-flex;height:42px;align-items:center;justify-content:center;padding:0 20px;border:2px solid #16a36a;border-radius:22px;background:#fff;color:#14945e;font-size:17px;cursor:pointer}.docking-sign-button:hover,.docking-sign-button:focus-visible{background:#effaf5}.docking-sign-button:disabled{cursor:wait;opacity:.6}.docking-user .docking-sign-button{height:36px;padding:0 16px;border-width:1px;border-radius:18px;font-size:14px}

/* ==========================================================================
 * 转接：入口按钮（外边界优化）
 * 原来 margin 贴住提示条、1px 实心蓝边 + 16px 圆角，看起来像生硬的输入框；
 * 改为与整站一致的浅蓝药丸，并给转接区留出与提示条一致的水平内边距。
 * ======================================================================== */
/* 顶部转接提示区：与下方消息列表留出间距（下边距） */
.project-docking-transfer-zone{margin:0;padding:12px 32px 14px}
/* 转接按钮：位于消息内容正下方、居中（与小程序底部转接条一致） */
/* 上下内边距保持一致，视觉居中 */
.project-docking-transfer-button-zone{display:flex;justify-content:center;padding:12px 32px}
.project-docking-transfer-button-zone:empty{display:none}
/* 多选态隐藏转接入口 */
.project-docking-transfer-button-zone.is-hidden{display:none}
.project-docking-transfer-button{
  align-self:flex-start;
  padding:8px 18px;
  border:1px solid #cfe3ff;
  border-radius:999px;
  background:#f2f8ff;
  color:#0b6ad4;
  font-size:13px;
  font-weight:500;
  line-height:1.2;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.project-docking-transfer-button:hover{background:#e3f0ff;border-color:#a9cffa;box-shadow:0 2px 8px rgba(8,116,232,.12)}
.project-docking-transfer-button:active{background:#d7e8ff}
.project-docking-transfer-button:focus-visible{outline:2px solid #78a9f5;outline-offset:2px}

/* ==========================================================================
 * 转接弹窗：历史消息勾选
 * ⚠️ 全局 style.css 对 button/input 做了 -webkit-appearance:none 重置，
 *    复选框不给显式宽高会塌成 0×0 —— 这就是「看不到勾选框」的原因。
 * ======================================================================== */
.project-docking-transfer-msg input[type="checkbox"]{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:2px 0 0;
  -webkit-appearance:auto;
  appearance:auto;
  accent-color:#0874e8;
  cursor:pointer;
}
.project-docking-transfer-msg{padding:4px 6px;border-radius:4px;transition:background .12s ease}
.project-docking-transfer-msg:hover{background:#eef4ff}
.project-docking-transfer-msgs-tools{display:flex;align-items:center;gap:8px}
.project-docking-transfer-mini{
  padding:4px 12px;
  border:1px solid #d7dce1;
  border-radius:999px;
  background:#fff;
  color:#4b5563;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.project-docking-transfer-mini:hover:not(:disabled){border-color:#a9cffa;background:#f2f8ff;color:#0b6ad4}
.project-docking-transfer-mini:disabled{opacity:.5;cursor:not-allowed}
.project-docking-transfer-msgs-count{margin-left:auto;color:#94a3b8;font-size:12px;font-weight:400}

/* ==========================================================================
 * 会话内多选（仿微信转发）：勾选圈 + 底部操作条
 * ======================================================================== */
.project-docking-message.is-selecting{cursor:pointer;border-radius:10px;transition:background .12s ease}
.project-docking-message.is-selecting:hover{background:rgba(8,98,238,.05)}
.project-docking-message.is-selected{background:rgba(8,98,238,.08)}
.project-docking-select-box{
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-top:16px;
  border:1.5px solid #c3cbd6;
  border-radius:50%;
  background:#fff;
  position:relative;
  transition:background .12s ease,border-color .12s ease;
}
/* 自己发的消息靠右，勾选圈放到气泡右侧 */
.project-docking-message.is-self .project-docking-select-box{order:2;margin-left:6px}
.project-docking-message.is-selected .project-docking-select-box{border-color:#0862ee;background:#0862ee}
.project-docking-message.is-selected .project-docking-select-box::after{
  content:'';
  position:absolute;
  left:6px;
  top:2px;
  width:6px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
/* 底部操作条：整行铺满，横向与提示条对齐 */
.project-docking-select-bar{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:10px;
  padding:12px 32px;
  border-top:1px solid #e5e8ec;
  background:#fff;
}
.project-docking-select-mini{
  padding:5px 14px;
  border:1px solid #d7dce1;
  border-radius:999px;
  background:#fff;
  color:#5b6b7b;
  font-size:13px;
  line-height:1.4;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.project-docking-select-mini:hover{border-color:#a9cffa;background:#f2f8ff;color:#0b6ad4}
.project-docking-select-count{color:#8b95a3;font-size:13px}
.project-docking-select-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.project-docking-select-cancel{padding:7px 18px;border:1px solid #d7dce1;border-radius:999px;background:#fff;color:#5b6b7b;font-size:13px;cursor:pointer}
.project-docking-select-cancel:hover{background:#f7f8fa}
.project-docking-select-next{padding:7px 20px;border:0;border-radius:999px;background:#0862ee;color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.project-docking-select-next:hover{background:#0057d4}
@media(max-width:700px){
  .project-docking-select-bar{padding:10px 16px;gap:8px;flex-wrap:wrap}
  .project-docking-select-actions{width:100%;margin-left:0;justify-content:flex-end}
}
