/* Client stage timeline · clean executive reporting layout */
#timelineProgressModuleView{
  --stage-navy:#0b2340;
  --stage-navy-2:#163e62;
  --stage-gold:#c99a45;
  --stage-gold-soft:#f6ecd9;
  --stage-line:#e3e9f0;
  --stage-muted:#718196;
  --stage-soft:#f7f9fb;
  --stage-green:#16755b;
}

#timelineProgressModuleView .stage-timeline-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding:34px 38px;
  border:1px solid rgba(201,154,69,.32);
  border-radius:18px;
  background:
    radial-gradient(620px 220px at 90% -30%,rgba(201,154,69,.18),transparent 60%),
    linear-gradient(125deg,#0a223d 0%,#123b5e 58%,#17486d 100%);
  box-shadow:0 18px 45px rgba(11,35,64,.16);
  color:#fff;
}
#timelineProgressModuleView .stage-timeline-hero::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-125px;
  width:360px;
  height:360px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 60px rgba(255,255,255,.02),0 0 0 120px rgba(255,255,255,.012);
  pointer-events:none;
}
#timelineProgressModuleView .stage-timeline-hero-copy{
  position:relative;
  z-index:1;
  max-width:820px;
}
#timelineProgressModuleView .stage-timeline-hero h2{
  margin:9px 0 11px;
  font-family:Georgia,"Noto Serif SC",serif;
  font-size:34px;
  font-weight:500;
  letter-spacing:-.5px;
}
#timelineProgressModuleView .stage-timeline-hero p{
  margin:0;
  max-width:760px;
  color:#c8d7e4;
  font-size:13.5px;
  line-height:1.8;
}
#timelineProgressModuleView .stage-timeline-hero-actions{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:end;
  gap:12px;
  min-width:230px;
}
#timelineProgressModuleView .stage-timeline-sync{
  color:#b8cad9;
  font-size:11.5px;
  line-height:1.55;
  text-align:right;
}
#timelineProgressModuleView .stage-timeline-hero .btn.gold{
  border:1px solid rgba(255,255,255,.35);
  border-radius:10px;
  background:linear-gradient(135deg,#e7c77f,#c99a45);
  color:#122841;
  box-shadow:0 9px 22px rgba(1,11,23,.24);
  white-space:nowrap;
}
#timelineProgressModuleView .stage-timeline-tabs{
  display:inline-flex;
  gap:4px;
  margin:17px 0 0;
  padding:4px;
  border:1px solid #dfe6ed;
  border-radius:11px;
  background:#edf2f6;
  box-shadow:inset 0 1px 2px rgba(16,35,57,.04);
}
#timelineProgressModuleView .stage-timeline-tab{
  border:0;
  border-radius:8px;
  padding:9px 17px;
  background:transparent;
  color:#748599;
  font-size:11.5px;
  font-weight:760;
  transition:.16s ease;
}
#timelineProgressModuleView .stage-timeline-tab:hover{
  color:#294763;
}
#timelineProgressModuleView .stage-timeline-tab.active{
  background:#fff;
  color:#173c5d;
  box-shadow:0 3px 9px rgba(16,35,57,.08),inset 0 -2px #c99a45;
}

/* Ordered stage strip */
#timelineProgressModuleView .stage-timeline-flow{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}
#timelineProgressModuleView .stage-timeline-flow.integrated-lanes{
  grid-template-columns:1fr;
  gap:12px;
}
#timelineProgressModuleView .integrated-stage-lane{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #e0e7ee;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#f7f9fb);
}
#timelineProgressModuleView .integrated-stage-lane.bank{
  border-color:#d8e5e5;
  background:linear-gradient(180deg,#fff,#f5faf9);
}
#timelineProgressModuleView .integrated-stage-lane>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 2px 9px;
  border-bottom:1px solid #e8edf2;
}
#timelineProgressModuleView .integrated-stage-lane>header>div{display:grid;gap:2px}
#timelineProgressModuleView .integrated-stage-lane>header span{
  color:#a47728;font-size:8px;font-weight:850;letter-spacing:1.3px;
}
#timelineProgressModuleView .integrated-stage-lane.bank>header span{color:#39786d}
#timelineProgressModuleView .integrated-stage-lane>header b{color:#173754;font-size:12px}
#timelineProgressModuleView .integrated-stage-lane>header em{
  color:#7e8d9c;font-size:9px;font-style:normal;font-weight:760;
}
#timelineProgressModuleView .integrated-stage-grid{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;
}
#timelineProgressModuleView .stage-flow-item{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:12px 13px;
  border:1px solid #e1e8ef;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f7f9fb);
  box-shadow:0 6px 18px rgba(16,35,57,.04);
}
#timelineProgressModuleView .stage-flow-item:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:2;
  right:-10px;
  top:50%;
  width:10px;
  border-top:1px solid rgba(201,154,69,.5);
}
#timelineProgressModuleView .stage-flow-number{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border:1px solid rgba(201,154,69,.3);
  border-radius:8px;
  background:rgba(201,154,69,.09);
  color:#a67726;
  font-size:9.5px;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
#timelineProgressModuleView .stage-flow-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
#timelineProgressModuleView .stage-flow-copy b{
  overflow:hidden;
  color:#233650;
  font-size:11.5px;
  font-weight:760;
  white-space:nowrap;
  text-overflow:ellipsis;
}
#timelineProgressModuleView .stage-flow-copy small{
  color:#8492a4;
  font-size:9.5px;
}
#timelineProgressModuleView .stage-flow-count{
  color:#8c6b2e;
  font:650 17px/1 Georgia,serif;
  font-variant-numeric:tabular-nums;
}

/* KPI cards */
#timelineProgressModuleView .stage-timeline-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
#timelineProgressModuleView .stage-kpi{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:6px;
  padding:18px 20px;
  border:1px solid #e2e8ef;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#f7f9fb);
  box-shadow:0 8px 20px rgba(16,35,57,.045);
}
#timelineProgressModuleView .stage-kpi::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#d8b66f,#b9842e);
}
#timelineProgressModuleView .stage-kpi small{
  color:#7c8b9e;
  font-size:10px;
  font-weight:800;
  letter-spacing:.9px;
  text-transform:uppercase;
}
#timelineProgressModuleView .stage-kpi b{
  color:#0b2340;
  font:600 27px/1.1 Georgia,serif;
  font-variant-numeric:tabular-nums;
}
#timelineProgressModuleView .stage-kpi span{
  color:#8190a2;
  font-size:11px;
  line-height:1.45;
}

/* Table shell */
#timelineProgressModuleView .stage-timeline-panel{
  padding:0;
  overflow:hidden;
  border-radius:16px;
  border-color:#dfe6ed;
  box-shadow:0 12px 32px rgba(16,35,57,.06);
}
#timelineProgressModuleView .stage-timeline-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  padding:23px 24px 19px;
  border-bottom:1px solid #e8edf2;
  background:linear-gradient(180deg,#fff,#fbfcfd);
}
#timelineProgressModuleView .stage-timeline-panel-head h3{
  margin:6px 0 4px;
  color:#0b2340;
  font-size:20px;
}
#timelineProgressModuleView .stage-timeline-panel-head p{
  margin:0;
  color:#7b899b;
  font-size:11.5px;
}
#timelineProgressModuleView .stage-timeline-tools{
  display:flex;
  align-items:flex-end;
  gap:10px;
}
#timelineProgressModuleView .stage-timeline-refresh{
  height:38px;
  padding:0 13px;
  border:1px solid #d7e1e9;
  border-radius:9px;
  background:linear-gradient(180deg,#fff,#f4f7fa);
  color:#325674;
  font-size:11px;
  font-weight:760;
  white-space:nowrap;
  box-shadow:0 3px 9px rgba(16,35,57,.04);
}
#timelineProgressModuleView .stage-timeline-refresh:hover{
  border-color:#bdcedc;
  background:#fff;
  color:#173c5d;
}
#timelineProgressModuleView .stage-timeline-refresh:disabled{
  opacity:.55;
  cursor:wait;
}
#timelineProgressModuleView .stage-timeline-tools label{
  display:grid;
  gap:5px;
  color:#8290a2;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.45px;
}
#timelineProgressModuleView .stage-timeline-tools input,
#timelineProgressModuleView .stage-timeline-tools select{
  height:38px;
  border:1px solid #dbe3eb;
  border-radius:9px;
  background:#fff;
  color:#24364d;
  outline:0;
}
#timelineProgressModuleView .stage-timeline-tools input{
  width:220px;
  padding:0 12px;
}
#timelineProgressModuleView .stage-timeline-tools select{
  min-width:135px;
  padding:0 31px 0 11px;
}
#timelineProgressModuleView .stage-timeline-tools input:focus,
#timelineProgressModuleView .stage-timeline-tools select:focus{
  border-color:#86a8c4;
  box-shadow:0 0 0 3px rgba(55,102,143,.09);
}
#timelineProgressModuleView .stage-timeline-count{
  height:38px;
  min-width:72px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid #e2e8ef;
  border-radius:9px;
  background:#f6f8fa;
  color:#586b80;
  font-size:11.5px;
  font-weight:750;
  white-space:nowrap;
}

#timelineProgressModuleView .stage-timeline-scroll{
  overflow:auto;
  max-height:min(68vh,780px);
  scrollbar-width:thin;
  scrollbar-color:#b7c4d1 transparent;
}
#timelineProgressModuleView .stage-timeline-scroll::-webkit-scrollbar{
  width:7px;
  height:7px;
}
#timelineProgressModuleView .stage-timeline-scroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:#b7c4d1;
}
#timelineProgressModuleView .stage-timeline-table{
  width:100%;
  min-width:1620px;
  border-collapse:separate;
  border-spacing:0;
}
#timelineProgressModuleView .stage-timeline-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  min-width:205px;
  padding:14px 15px;
  border-right:1px solid #e5ebf1;
  border-bottom:1px solid #dfe6ed;
  background:#f5f7fa;
  color:#243a54;
  vertical-align:top;
}
#timelineProgressModuleView .stage-timeline-table thead th.stage-timeline-client-col{
  left:0;
  z-index:5;
  width:245px;
  min-width:245px;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th{
  top:0;
  padding:10px 13px;
  border-right:1px solid #dfe6ed;
  border-bottom:1px solid #dfe6ed;
  background:#edf2f6;
  color:#53677a;
  text-align:left;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row+tr th{
  top:57px;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th>span{
  display:block;margin-bottom:3px;font-size:7.5px;font-weight:850;letter-spacing:1.3px;color:#8c9aaa;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th>b{
  display:block;font-size:10.5px;color:#294563;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th>small{
  display:block;margin-top:4px;font-size:8.5px;color:#8795a3;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company{
  background:linear-gradient(90deg,#f9f4e9,#f3eee3);color:#7f6128;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank{
  background:linear-gradient(90deg,#edf8f5,#e9f4f1);color:#346b61;
}
#timelineProgressModuleView .integrated-timeline-table{min-width:3150px}
#timelineProgressModuleView .integrated-timeline-table .stage-bank-col{
  background:#f8fcfb;
}
#timelineProgressModuleView .integrated-timeline-table tbody tr:nth-child(even) .stage-bank-col{
  background:#f4faf8;
}
#timelineProgressModuleView .integrated-timeline-table th.stage-company-end,
#timelineProgressModuleView .integrated-timeline-table td.stage-company-end{
  border-right:2px solid #e3d6b9;
}
#timelineProgressModuleView .integrated-timeline-table th.stage-bank-end{
  border-right:1px solid #dbe7e3;
}
#timelineProgressModuleView .integrated-timeline-table tbody td.stage-company-total{
  min-width:145px;
  background:linear-gradient(135deg,#fffdf8,#faf5e9);
  border-right:1px solid #eadfc7;
}
#timelineProgressModuleView .stage-timeline-table thead th.stage-timeline-total-col{
  min-width:170px;
  border-right:0;
}
#timelineProgressModuleView .stage-timeline-table thead th.stage-timeline-optional-col{
  background:linear-gradient(180deg,#faf7ef,#f5f1e7);
}
#timelineProgressModuleView .stage-table-no{
  width:25px;
  height:19px;
  display:inline-grid;
  place-items:center;
  margin-bottom:7px;
  border:1px solid rgba(201,154,69,.28);
  border-radius:5px;
  background:rgba(201,154,69,.09);
  color:#9d7228;
  font-size:8.5px;
  font-weight:850;
}
#timelineProgressModuleView .stage-table-kicker{
  display:block;
  margin-bottom:6px;
  color:#8b99aa;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:1.2px;
}
#timelineProgressModuleView .stage-timeline-table thead th b{
  display:block;
  font-size:11.5px;
  font-weight:780;
  line-height:1.35;
}
#timelineProgressModuleView .stage-timeline-table thead th small{
  display:block;
  margin-top:4px;
  color:#8b98a8;
  font-size:9px;
  font-weight:520;
  line-height:1.35;
}

#timelineProgressModuleView .stage-timeline-table tbody td{
  min-width:205px;
  padding:14px 15px;
  border-right:1px solid #edf1f5;
  border-bottom:1px solid #e8edf2;
  background:#fff;
  color:#4b5e74;
  vertical-align:middle;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td{
  background:#fbfcfd;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:hover td{
  background:#f8fafc;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-client-col{
  position:sticky;
  left:0;
  z-index:2;
  width:245px;
  min-width:245px;
  background:#fff;
  box-shadow:5px 0 12px rgba(14,36,58,.035);
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-timeline-client-col{
  background:#fbfcfd;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-total-col{
  min-width:170px;
  border-right:0;
  background:linear-gradient(135deg,#fffdf8,#faf8f2);
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-optional-col{
  background:#fffdf8;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-timeline-optional-col{
  background:#fcfaf4;
}
#timelineProgressModuleView .stage-client-main{
  display:grid;
  gap:4px;
}
#timelineProgressModuleView .stage-client-main b{
  color:#172e49;
  font-size:12.5px;
  line-height:1.4;
}
#timelineProgressModuleView .stage-client-main small{
  color:#8896a7;
  font-size:9.5px;
}
#timelineProgressModuleView .stage-client-main .stage-client-company{
  color:#5e7183;
  font-size:9px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
#timelineProgressModuleView .stage-client-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:3px;
}
#timelineProgressModuleView .stage-client-tag{
  padding:2px 7px;
  border-radius:999px;
  background:#eef3f7;
  color:#5f7287;
  font-size:8.5px;
  font-weight:760;
}
#timelineProgressModuleView .stage-client-tag.complete{
  background:#e7f5ee;
  color:#176a52;
}
#timelineProgressModuleView .stage-client-tag.issue{
  background:#fff0ec;
  color:#9b422b;
}

#timelineProgressModuleView .stage-date{
  display:grid;
  gap:6px;
  align-content:center;
  min-height:52px;
}
#timelineProgressModuleView .stage-date button{
  width:max-content;
  border:0;
  padding:0;
  background:none;
  color:#245173;
  font-size:12.5px;
  font-weight:760;
  text-align:left;
  text-decoration:underline dotted rgba(36,81,115,.36);
  text-underline-offset:3px;
}
#timelineProgressModuleView .stage-date button:hover{
  color:#0b2340;
}
#timelineProgressModuleView .stage-estimated-date{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  padding:4px 7px;
  border:1px dashed #d7c49b;
  border-radius:6px;
  background:#fffaf0;
  color:#6d552b;
  font-size:10.5px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
#timelineProgressModuleView .stage-estimated-date em{
  padding:2px 5px;
  border-radius:999px;
  background:#ead9b7;
  color:#7a5a20;
  font-size:7.5px;
  font-style:normal;
  letter-spacing:.04em;
}
#timelineProgressModuleView .stage-estimate-basis{
  max-width:165px;
  color:#9b8a69;
  font-size:8px;
  line-height:1.4;
}
#timelineProgressModuleView .stage-gap{
  width:max-content;
  padding:3px 7px;
  border-radius:999px;
  background:#f4ecdd;
  color:#8d6724;
  font-size:9.5px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
#timelineProgressModuleView .stage-gap.start{
  background:#eef3f7;
  color:#64788c;
}
#timelineProgressModuleView .stage-gap.issue{
  background:#fff0ec;
  color:#a13f27;
}
#timelineProgressModuleView .stage-pending{
  display:grid;
  gap:5px;
  align-content:center;
  min-height:52px;
  color:#9aa7b5;
}
#timelineProgressModuleView .stage-pending b{
  font-size:11px;
  font-weight:650;
}
#timelineProgressModuleView .stage-pending small{
  font-size:8.5px;
  color:#abb5c1;
}
#timelineProgressModuleView .stage-pending.optional b{
  color:#9b8252;
}
#timelineProgressModuleView .stage-pending.optional small{
  color:#b0a184;
}
#timelineProgressModuleView .stage-total{
  display:grid;
  gap:5px;
  align-content:center;
  min-height:52px;
}
#timelineProgressModuleView .stage-total strong{
  color:#0b2340;
  font:600 24px/1 Georgia,serif;
  font-variant-numeric:tabular-nums;
}
#timelineProgressModuleView .stage-total span{
  color:#7f8ea0;
  font-size:10px;
}
#timelineProgressModuleView .stage-total.pending strong{
  color:#a2acb8;
  font:650 12px/1.4 Inter,system-ui,sans-serif;
}

#timelineProgressModuleView .stage-timeline-empty{
  display:grid;
  justify-items:center;
  gap:7px;
  padding:54px 20px;
  color:#8795a7;
  text-align:center;
}
#timelineProgressModuleView .stage-timeline-empty b{
  color:#273d57;
  font-size:15px;
}
#timelineProgressModuleView .stage-timeline-empty span{
  max-width:620px;
  font-size:11.5px;
  line-height:1.7;
}
#timelineProgressModuleView .stage-timeline-note{
  margin:11px 4px 0;
  color:#8391a3;
  font-size:10.5px;
  line-height:1.7;
}

@media(max-width:1180px){
  #timelineProgressModuleView .stage-timeline-flow{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #timelineProgressModuleView .stage-flow-item:nth-child(3)::after{
    display:none;
  }
  #timelineProgressModuleView .stage-timeline-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:900px){
  #timelineProgressModuleView .stage-timeline-hero{
    display:grid;
    padding:28px 25px;
  }
  #timelineProgressModuleView .stage-timeline-hero-actions{
    justify-items:start;
  }
  #timelineProgressModuleView .stage-timeline-sync{
    text-align:left;
  }
  #timelineProgressModuleView .stage-timeline-panel-head{
    display:grid;
  }
  #timelineProgressModuleView .stage-timeline-tools{
    flex-wrap:wrap;
  }
}
@media(max-width:680px){
  #timelineProgressModuleView .stage-timeline-flow,
  #timelineProgressModuleView .stage-timeline-kpis{
    grid-template-columns:1fr;
  }
  #timelineProgressModuleView .stage-flow-item::after{
    display:none;
  }
  #timelineProgressModuleView .stage-timeline-hero h2{
    font-size:28px;
  }
  #timelineProgressModuleView .stage-timeline-panel-head{
    padding:20px 18px;
  }
  #timelineProgressModuleView .stage-timeline-tools label,
  #timelineProgressModuleView .stage-timeline-tools input,
  #timelineProgressModuleView .stage-timeline-tools select{
    width:100%;
  }
}

/* ============================================================================
   时间进度表 v3 · 深蓝表头 + 冷白数据区
   ----------------------------------------------------------------------------
   合作方直接查看数据时，优先保证专业、克制和清晰：
   · 表头使用统一深蓝，公司注册与银行开户仅用金色 / 青蓝细线区分；
   · 数据区取消大面积暖色底，仅保留估算与可选阶段的浅色提示；
   · 客户列固定并加金色识别线，日期和阶段间隔使用统一的数字层级。
   ============================================================================ */

#timelineProgressModuleView .stage-timeline-panel{
  border-color:#d7e1ea;
  border-radius:16px;
  box-shadow:0 16px 38px rgba(12,34,57,.08);
}
#timelineProgressModuleView .stage-timeline-panel-head{
  padding:21px 24px 18px;
  border-bottom:1px solid #dce5ed;
  background:
    radial-gradient(360px 120px at 100% 0,rgba(201,154,69,.07),transparent 70%),
    #fff;
}
#timelineProgressModuleView .stage-timeline-panel-head h3{
  color:#0b2340;
  font-size:20px;
  font-weight:750;
}
#timelineProgressModuleView .stage-timeline-scroll{
  background:#f3f6f9;
}
#timelineProgressModuleView .stage-timeline-table{
  border-collapse:separate;
  border-spacing:0;
}
#timelineProgressModuleView .stage-timeline-table thead th{
  border-right:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid #173a59;
  color:#fff;
}

/* 两个阶段分组：统一深蓝，金色 / 青蓝发丝线区分 */
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th{
  padding:12px 14px;
  border-right:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(201,154,69,.34);
  background:linear-gradient(135deg,#091f36,#123a5b);
  color:#fff;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank{
  background:linear-gradient(135deg,#091f36,#123a5b);
  color:#fff;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company{
  box-shadow:inset 0 -3px #c99a45;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank{
  box-shadow:inset 0 -3px #4f9d91;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th>b{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.25px;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company>b::before{
  content:"01–06";
  color:#e5c680;
  font:700 9px/1 Inter,system-ui,sans-serif;
  letter-spacing:.6px;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank>b::before{
  content:"07–12";
  color:#91c9be;
  font:700 9px/1 Inter,system-ui,sans-serif;
  letter-spacing:.6px;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th.stage-timeline-client-col{
  border-bottom-color:rgba(201,154,69,.52);
  background:#081d32;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th.stage-timeline-client-col>b{
  color:#fff;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th.stage-timeline-total-col{
  border-right:0;
  background:#081d32;
}

/* 第二行阶段表头：冷白底 + 数字章节 */
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th{
  min-width:180px;
  padding:14px 13px 15px;
  border-right:1px solid #dce5ed;
  border-bottom:1px solid #cfdae4;
  background:linear-gradient(180deg,#fbfcfd,#f1f5f8);
  color:#203a53;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-bank-col{
  background:linear-gradient(180deg,#fbfdfd,#eff6f5);
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-timeline-optional-col{
  background:linear-gradient(180deg,#fffdfa,#f7f4ee);
}
#timelineProgressModuleView .stage-table-no{
  width:28px;
  height:21px;
  margin-bottom:7px;
  border:1px solid #d8c49c;
  border-radius:6px;
  background:#fbf5e8;
  color:#8d6523;
  font-size:9px;
  font-weight:850;
}
#timelineProgressModuleView .stage-bank-col .stage-table-no{
  border-color:#c9dfda;
  background:#f0f7f5;
  color:#3f776e;
}
#timelineProgressModuleView .stage-timeline-table thead th b{
  color:#1e3a53;
  font-size:11.5px;
  font-weight:800;
  line-height:1.4;
}

/* 数据区 */
#timelineProgressModuleView .stage-timeline-table tbody td{
  border-right:1px solid #e3eaf1;
  border-bottom:1px solid #dfe7ee;
  background:#fff;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td{
  background:#f9fbfc;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:hover td{
  background:#f5f9fc;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-bank-col{
  background:#fbfdfd;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-bank-col{
  background:#f5f9f8;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-client-col{
  border-left:3px solid #c99a45;
  background:#fff;
  box-shadow:8px 0 18px rgba(12,34,57,.055);
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-timeline-client-col{
  background:#fbfcfd;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-company-end{
  border-right:2px solid #c9a867;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-optional-col{
  background:#fffdf9;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-timeline-optional-col{
  background:#fcfaf6;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-company-total{
  border-right:1px solid #d5e0e9;
  background:#f3f7fa!important;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-total-col{
  border-right:0;
  background:#edf3f7!important;
}

#timelineProgressModuleView .stage-client-main b{
  color:#102b47;
  font-size:13px;
  font-weight:850;
}
#timelineProgressModuleView .stage-client-main small{
  color:#78899b;
  font-size:10.5px;
}
#timelineProgressModuleView .stage-client-main .stage-client-company{
  color:#526a7f;
  font-size:10px;
}
#timelineProgressModuleView .stage-client-tag{
  padding:3px 7px;
  border:1px solid #d6e1ea;
  background:#f2f6f9;
  color:#435f78;
  font-size:9.5px;
  font-weight:800;
}
#timelineProgressModuleView .stage-client-tag.complete{
  border-color:#c8dfd7;
  background:#ecf7f3;
  color:#196750;
}
#timelineProgressModuleView .stage-client-tag.issue{
  border-color:#efc8c4;
  background:#fff2f0;
  color:#9e3f2d;
}

#timelineProgressModuleView .stage-date button{
  color:#174a74;
  font-size:12.5px;
  font-weight:850;
  text-decoration:none;
}
#timelineProgressModuleView .stage-date button:hover{
  color:#9a6d23;
}
#timelineProgressModuleView .stage-gap{
  padding:3px 7px;
  border:1px solid #d9e3eb;
  background:#f4f7fa;
  color:#58708a;
  font-size:9.5px;
}
#timelineProgressModuleView .stage-gap.issue{
  border-color:#efc8c4;
  background:#fff2f0;
  color:#9e3f2d;
}
#timelineProgressModuleView .stage-estimated-date{
  border:1px dashed #d3b77e;
  background:#fffbf2;
  color:#755a2b;
  font-size:10.5px;
}
#timelineProgressModuleView .stage-estimated-date em{
  background:#efe1c2;
  color:#765821;
  font-size:7.5px;
}
#timelineProgressModuleView .stage-pending{
  place-content:center;
  min-height:58px;
}
#timelineProgressModuleView .stage-pending b{
  padding:4px 8px;
  border:1px dashed #cdd8e2;
  border-radius:6px;
  background:#f8fafc;
  color:#8090a1;
  font-size:10px;
  font-weight:750;
}
#timelineProgressModuleView .stage-pending.optional b{
  border-color:#dfd1b5;
  background:#fffbf2;
  color:#927443;
}
#timelineProgressModuleView .stage-total strong{
  color:#123453;
  font:600 26px/1 Georgia,serif;
}
#timelineProgressModuleView .stage-total.pending strong{
  color:#a2acb8;
  font:650 16px/1.4 Inter,system-ui,sans-serif;
}

@media(max-width:900px){
  #timelineProgressModuleView .stage-timeline-panel-head{
    padding:19px;
  }
}

/* Final cascade for the partner-facing timeline table. */
#timelineProgressModuleView .stage-timeline-panel{
  border-color:#d7e1ea!important;
  box-shadow:0 16px 38px rgba(12,34,57,.08)!important;
}
#timelineProgressModuleView .stage-timeline-panel-head{
  border-bottom:1px solid #dce5ed!important;
  background:
    radial-gradient(360px 120px at 100% 0,rgba(201,154,69,.07),transparent 70%),
    #fff!important;
}
#timelineProgressModuleView .stage-timeline-scroll{
  background:#f3f6f9!important;
}
#timelineProgressModuleView .stage-timeline-table{
  min-width:2780px!important;
}
#timelineProgressModuleView .stage-timeline-table thead th.stage-timeline-client-col,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th.stage-timeline-client-col{
  background:#081d32!important;
  color:#fff!important;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank{
  border-right:1px solid rgba(255,255,255,.14)!important;
  border-bottom:1px solid rgba(201,154,69,.34)!important;
  background:linear-gradient(135deg,#091f36,#123a5b)!important;
  color:#fff!important;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company{
  box-shadow:inset 0 -3px #c99a45!important;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank{
  box-shadow:inset 0 -3px #4f9d91!important;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th>b{
  display:flex!important;
  align-items:center;
  gap:8px;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company>b::before{
  content:"01–06";
  color:#e5c680;
  font:700 9px/1 Inter,system-ui,sans-serif;
  letter-spacing:.6px;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank>b::before{
  content:"07–12";
  color:#91c9be;
  font:700 9px/1 Inter,system-ui,sans-serif;
  letter-spacing:.6px;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th{
  min-width:180px!important;
  padding:14px 13px 15px!important;
  border-right:1px solid #dce5ed!important;
  border-bottom:1px solid #cfdae4!important;
  background:linear-gradient(180deg,#fbfcfd,#f1f5f8)!important;
  color:#203a53!important;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-bank-col{
  background:linear-gradient(180deg,#fbfdfd,#eff6f5)!important;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-timeline-optional-col{
  background:linear-gradient(180deg,#fffdfa,#f7f4ee)!important;
}
#timelineProgressModuleView .stage-table-no{
  width:28px!important;
  height:21px!important;
  border-color:#d8c49c!important;
  background:#fbf5e8!important;
  color:#8d6523!important;
}
#timelineProgressModuleView .stage-bank-col .stage-table-no{
  border-color:#c9dfda!important;
  background:#f0f7f5!important;
  color:#3f776e!important;
}
#timelineProgressModuleView .stage-timeline-table thead th b{
  color:#1e3a53!important;
  font-size:11.5px!important;
  font-weight:800!important;
}
#timelineProgressModuleView .stage-timeline-table tbody td{
  border-right:1px solid #e3eaf1!important;
  border-bottom:1px solid #dfe7ee!important;
  background:#fff!important;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td{
  background:#f9fbfc!important;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:hover td{
  background:#f5f9fc!important;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-bank-col{
  background:#fbfdfd!important;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-bank-col{
  background:#f5f9f8!important;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-optional-col{
  background:#fffdf9!important;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-timeline-optional-col{
  background:#fcfaf6!important;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-client-col{
  border-left:3px solid #c99a45!important;
  background:#fff!important;
  box-shadow:8px 0 18px rgba(12,34,57,.055)!important;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-timeline-client-col{
  background:#fbfcfd!important;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-company-end{
  border-right:2px solid #c9a867!important;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-company-total{
  border-right:1px solid #d5e0e9!important;
  background:#f3f7fa!important;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-total-col{
  border-right:0!important;
  background:#edf3f7!important;
}
#timelineProgressModuleView .stage-client-tag{
  border:1px solid #d6e1ea!important;
  background:#f2f6f9!important;
  color:#435f78!important;
}
#timelineProgressModuleView .stage-client-tag.complete{
  border-color:#c8dfd7!important;
  background:#ecf7f3!important;
  color:#196750!important;
}
#timelineProgressModuleView .stage-date button{
  color:#174a74!important;
  text-decoration:none!important;
}
#timelineProgressModuleView .stage-gap{
  border:1px solid #d9e3eb!important;
  background:#f4f7fa!important;
  color:#58708a!important;
}
#timelineProgressModuleView .stage-estimated-date{
  border:1px dashed #d3b77e!important;
  background:#fffbf2!important;
  color:#755a2b!important;
}
#timelineProgressModuleView .stage-pending b{
  padding:4px 8px!important;
  border:1px dashed #cdd8e2!important;
  border-radius:6px;
  background:#f8fafc!important;
  color:#8090a1!important;
}
#timelineProgressModuleView .stage-pending.optional b{
  border-color:#dfd1b5!important;
  background:#fffbf2!important;
  color:#927443!important;
}
#timelineProgressModuleView .stage-total strong{
  color:#123453!important;
}

/* ============================================================================
   时间进度记录 v2 · 2026-10-23
   ----------------------------------------------------------------------------
   目标：减少重复模块，强化“客户 / 公司注册 / 银行开户 / 耗时”的阅读顺序。
   采用深蓝、香槟金和冷白三层色彩；表格保留全部 12 阶段，并提升非全屏可读性。
   ============================================================================ */

#timelineProgressModuleView{
  --timeline-navy:#0a2139;
  --timeline-navy-soft:#173f64;
  --timeline-gold:#c99a45;
  --timeline-gold-light:#e5c680;
  --timeline-surface:#ffffff;
  --timeline-canvas:#f5f7fa;
  --timeline-border:#dfe6ee;
  --timeline-text:#17324e;
  --timeline-muted:#708196;
}

#timelineProgressModuleView .stage-timeline-hero{
  align-items:center;
  min-height:176px;
  padding:30px 34px;
  border:1px solid rgba(226,190,118,.34);
  border-radius:20px;
  background:
    radial-gradient(560px 240px at 92% -34%,rgba(226,190,118,.22),transparent 62%),
    linear-gradient(125deg,#081c31 0%,#0f3151 56%,#174a73 100%);
  box-shadow:0 20px 46px rgba(8,28,49,.18);
}
#timelineProgressModuleView .stage-timeline-hero-copy{
  display:grid;
  gap:2px;
  max-width:720px;
}
#timelineProgressModuleView .stage-timeline-hero h2{
  margin:8px 0 8px;
  font-size:32px;
  font-weight:500;
  letter-spacing:-.55px;
}
#timelineProgressModuleView .stage-timeline-hero p{
  max-width:700px;
  color:#c8d8e7;
  font-size:13px;
  line-height:1.75;
}
#timelineProgressModuleView .stage-timeline-hero-actions{
  align-content:center;
  min-width:238px;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:rgba(5,22,39,.20);
  backdrop-filter:blur(8px);
}
#timelineProgressModuleView .stage-timeline-sync{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  color:#d1dfeb;
  font-size:12px;
  font-weight:650;
}
#timelineProgressModuleView .stage-timeline-sync::before{
  content:"";
  width:7px;
  height:7px;
  flex:none;
  border-radius:50%;
  background:#53c6a7;
  box-shadow:0 0 0 4px rgba(83,198,167,.12);
}
#timelineProgressModuleView .stage-timeline-hero .btn.gold{
  width:100%;
  min-height:40px;
  border-radius:10px;
  background:linear-gradient(135deg,#f0d79f,#d1a651);
  color:#102943;
  font-size:12.5px;
  font-weight:800;
  box-shadow:0 9px 20px rgba(2,13,26,.22);
}

#timelineProgressModuleView .stage-timeline-kpis{
  gap:12px;
  margin:16px 0 18px;
}
#timelineProgressModuleView .stage-kpi{
  min-height:126px;
  gap:7px;
  padding:17px 18px 16px;
  border:1px solid var(--timeline-border);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#f9fbfd);
  box-shadow:0 1px 2px rgba(16,35,57,.04),0 8px 22px rgba(16,35,57,.045);
}
#timelineProgressModuleView .stage-kpi::before{
  width:3px;
  background:linear-gradient(180deg,var(--timeline-gold-light),var(--timeline-gold));
}
#timelineProgressModuleView .stage-kpi-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#timelineProgressModuleView .stage-kpi-head>span{
  width:27px;
  height:21px;
  display:grid;
  place-items:center;
  border:1px solid #e5d5b4;
  border-radius:6px;
  background:#fbf4e6;
  color:#9b722b;
  font-size:9px;
  font-weight:850;
  letter-spacing:.4px;
}
#timelineProgressModuleView .stage-kpi small{
  flex:1;
  color:#718196;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.6px;
}
#timelineProgressModuleView .stage-kpi b{
  margin-top:2px;
  color:var(--timeline-navy);
  font:600 29px/1 Georgia,serif;
}
#timelineProgressModuleView .stage-kpi>span{
  color:#7d8da0;
  font-size:11px;
  line-height:1.5;
}
#timelineProgressModuleView .stage-kpi.accent{
  border-color:rgba(226,190,118,.28);
  background:
    radial-gradient(220px 120px at 100% 0,rgba(226,190,118,.20),transparent 67%),
    linear-gradient(135deg,#0a2139,#173f64);
  box-shadow:0 13px 28px rgba(8,28,49,.16);
}
#timelineProgressModuleView .stage-kpi.accent::before{
  background:linear-gradient(180deg,#f0d79f,#c99a45);
}
#timelineProgressModuleView .stage-kpi.accent .stage-kpi-head>span{
  border-color:rgba(226,190,118,.34);
  background:rgba(255,255,255,.08);
  color:#f0d19a;
}
#timelineProgressModuleView .stage-kpi.accent small,
#timelineProgressModuleView .stage-kpi.accent>span{
  color:#bed0e1;
}
#timelineProgressModuleView .stage-kpi.accent b{color:#fff}

#timelineProgressModuleView .stage-timeline-panel{
  border:1px solid var(--timeline-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,35,57,.04),0 14px 34px rgba(16,35,57,.06);
}
#timelineProgressModuleView .stage-timeline-panel-head{
  align-items:center;
  padding:22px 24px 20px;
  background:linear-gradient(180deg,#fff,#fbfcfd);
}
#timelineProgressModuleView .stage-timeline-panel-head h3{
  margin:5px 0 4px;
  font-size:20px;
  letter-spacing:-.2px;
}
#timelineProgressModuleView .stage-timeline-panel-head p{
  color:#718196;
  font-size:11.5px;
}
#timelineProgressModuleView .stage-timeline-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 15px;
  margin-top:12px;
}
#timelineProgressModuleView .stage-timeline-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#718196;
  font-size:10.5px;
  font-weight:650;
}
#timelineProgressModuleView .stage-timeline-legend i{
  width:7px;
  height:7px;
  border-radius:50%;
}
#timelineProgressModuleView .stage-timeline-legend .actual{background:#2877b5}
#timelineProgressModuleView .stage-timeline-legend .estimated{background:#caa04e}
#timelineProgressModuleView .stage-timeline-legend .pending{background:#c2ccd7}

#timelineProgressModuleView .stage-timeline-tools{
  align-items:end;
  padding:4px;
  border:1px solid #e2e8ef;
  border-radius:13px;
  background:#f6f8fb;
}
#timelineProgressModuleView .stage-timeline-refresh{
  height:40px;
  border-color:#123a63;
  background:linear-gradient(135deg,#0b2340,#16446b);
  color:#fff;
  font-size:11.5px;
  box-shadow:0 7px 16px rgba(11,35,64,.15);
}
#timelineProgressModuleView .stage-timeline-refresh:hover{
  border-color:#164a7d;
  background:linear-gradient(135deg,#123a63,#1b517e);
  color:#fff;
}
#timelineProgressModuleView .stage-timeline-tools label{
  color:#6e8094;
  font-size:10.5px;
  letter-spacing:.25px;
}
#timelineProgressModuleView .stage-timeline-tools input,
#timelineProgressModuleView .stage-timeline-tools select{
  height:40px;
  border-color:#d8e2eb;
  background:#fff;
  font-size:11.5px;
}
#timelineProgressModuleView .stage-timeline-tools input{width:235px}
#timelineProgressModuleView .stage-timeline-count{
  height:40px;
  border-color:#d9e2ea;
  background:#fff;
  color:#345674;
  font-size:11.5px;
}

#timelineProgressModuleView .stage-timeline-scroll{
  max-height:min(66vh,760px);
  overscroll-behavior:contain;
  border-top:1px solid #e8edf2;
}
#timelineProgressModuleView .stage-timeline-table{
  min-width:2780px;
}
#timelineProgressModuleView .stage-timeline-table thead th{
  min-width:180px;
  padding:12px 13px;
  border-right-color:#e1e8ef;
  border-bottom-color:#dbe4ec;
  background:#f3f6f9;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th{
  padding:10px 13px;
  border-bottom-color:#dbe4ec;
  background:#eaf0f5;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row+tr th{
  top:59px;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company{
  background:linear-gradient(90deg,#f9f4e9,#f2ede2);
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank{
  background:linear-gradient(90deg,#eaf4f2,#e4efed);
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th>span{
  margin-bottom:3px;
  font-size:8px;
  letter-spacing:1.15px;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th>b{
  font-size:12px;
  font-weight:800;
}
#timelineProgressModuleView .stage-table-no{
  width:26px;
  height:20px;
  margin-bottom:6px;
  border-color:#e2d1ad;
  background:#faf4e8;
  color:#996f27;
  font-size:9px;
}
#timelineProgressModuleView .stage-table-kicker{
  margin-bottom:4px;
  font-size:8px;
  letter-spacing:1.05px;
}
#timelineProgressModuleView .stage-timeline-table thead th b{
  font-size:11.5px;
  font-weight:800;
  line-height:1.4;
}
#timelineProgressModuleView .stage-timeline-table thead th small{
  margin-top:4px;
  font-size:9.5px;
  line-height:1.45;
}
#timelineProgressModuleView .stage-timeline-table thead th.stage-timeline-client-col{
  width:230px;
  min-width:230px;
  background:#eef3f7;
}
#timelineProgressModuleView .stage-timeline-table tbody td{
  min-width:180px;
  padding:13px 12px;
  border-right-color:#e8edf2;
  border-bottom-color:#e5ebf1;
}
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-client-col{
  width:230px;
  min-width:230px;
  background:#fff;
  box-shadow:7px 0 14px rgba(14,36,58,.045);
}
#timelineProgressModuleView .stage-client-main{
  gap:5px;
}
#timelineProgressModuleView .stage-client-main b{
  font-size:13px;
  font-weight:800;
}
#timelineProgressModuleView .stage-client-main small{
  font-size:10.5px;
  line-height:1.45;
}
#timelineProgressModuleView .stage-client-main .stage-client-company{
  font-size:10px;
}
#timelineProgressModuleView .stage-client-tags{
  gap:5px;
}
#timelineProgressModuleView .stage-client-tag{
  padding:3px 7px;
  background:#edf3f7;
  font-size:9.5px;
}
#timelineProgressModuleView .stage-date{
  gap:7px;
  min-height:58px;
}
#timelineProgressModuleView .stage-date button{
  font-size:12.5px;
  font-weight:800;
}
#timelineProgressModuleView .stage-estimated-date{
  padding:4px 8px;
  font-size:11px;
}
#timelineProgressModuleView .stage-estimate-basis{
  font-size:9px;
}
#timelineProgressModuleView .stage-gap{
  padding:3px 7px;
  font-size:10px;
}
#timelineProgressModuleView .stage-pending{
  min-height:58px;
}
#timelineProgressModuleView .stage-pending b{font-size:11.5px}
#timelineProgressModuleView .stage-pending small{font-size:9.5px}
#timelineProgressModuleView .stage-company-total,
#timelineProgressModuleView .stage-timeline-total-col{
  background:linear-gradient(135deg,#fffdf8,#f8f3e8)!important;
}
#timelineProgressModuleView .stage-total{
  min-height:58px;
}
#timelineProgressModuleView .stage-total strong{
  font-size:26px;
}
#timelineProgressModuleView .stage-total span{
  font-size:10px;
}

@media(max-width:1180px){
  #timelineProgressModuleView .stage-timeline-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #timelineProgressModuleView .stage-timeline-panel-head{
    align-items:flex-start;
    flex-direction:column;
  }
  #timelineProgressModuleView .stage-timeline-tools{
    width:100%;
  }
}
@media(max-width:900px){
  #timelineProgressModuleView .stage-timeline-hero{
    padding:26px 24px;
  }
  #timelineProgressModuleView .stage-timeline-hero-actions{
    width:100%;
    justify-items:start;
  }
  #timelineProgressModuleView .stage-timeline-sync{
    justify-content:flex-start;
    text-align:left;
  }
  #timelineProgressModuleView .stage-timeline-hero .btn.gold{
    width:auto;
  }
  #timelineProgressModuleView .stage-timeline-tools{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:end;
  }
  #timelineProgressModuleView .stage-timeline-refresh{
    grid-column:1/-1;
  }
  #timelineProgressModuleView .stage-timeline-search input{
    width:100%;
  }
  #timelineProgressModuleView .stage-timeline-tools label,
  #timelineProgressModuleView .stage-timeline-tools select{
    width:100%;
  }
}
@media(max-width:680px){
  #timelineProgressModuleView .stage-timeline-hero h2{
    font-size:28px;
  }
  #timelineProgressModuleView .stage-timeline-kpis{
    grid-template-columns:1fr;
  }
  #timelineProgressModuleView .stage-timeline-panel-head{
    padding:19px 17px;
  }
  #timelineProgressModuleView .stage-timeline-tools{
    grid-template-columns:1fr;
  }
  #timelineProgressModuleView .stage-timeline-refresh{
    grid-column:auto;
  }
}

/* Fixed navy stage header: stays visible while customer rows scroll. */
#timelineProgressModuleView .stage-timeline-scroll{
  height:min(64vh,720px)!important;
  max-height:none!important;
  overflow:auto!important;
  scrollbar-gutter:stable both-edges;
}
#timelineProgressModuleView .stage-timeline-table thead{
  position:sticky;
  top:0;
  z-index:8;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th{
  height:42px!important;
  top:0!important;
  z-index:11!important;
  background:#081d32!important;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th{
  top:42px!important;
  z-index:10!important;
  background:linear-gradient(180deg,#123a5b,#0e304d)!important;
  color:#fff!important;
  border-right-color:rgba(255,255,255,.12)!important;
  border-bottom:1px solid rgba(201,154,69,.30)!important;
  box-shadow:0 7px 14px rgba(8,29,50,.10);
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-bank-col{
  background:linear-gradient(180deg,#174663,#123b56)!important;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-timeline-optional-col{
  background:linear-gradient(180deg,#244b66,#1b3e57)!important;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-timeline-client-col{
  top:0!important;
  z-index:12!important;
  background:#081d32!important;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th b{
  color:#fff!important;
  font-weight:750!important;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) .stage-table-no{
  border-color:rgba(226,190,118,.38)!important;
  background:rgba(255,255,255,.09)!important;
  color:#f0d19a!important;
}
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-bank-col .stage-table-no{
  border-color:rgba(145,201,190,.38)!important;
  background:rgba(255,255,255,.08)!important;
  color:#b9dfd7!important;
}
#timelineProgressModuleView .integrated-timeline-table th.stage-company-end{
  border-right:2px solid #c99a45!important;
}
#timelineProgressModuleView .integrated-timeline-table th.stage-bank-end{
  border-right:1px solid rgba(145,201,190,.48)!important;
}

/* Unified table header color: one navy surface across every header cell. */
#timelineProgressModuleView .integrated-timeline-table thead th,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank,
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th,
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-bank-col,
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-timeline-optional-col{
  background:#0d2b47!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:none!important;
  border-right:1px solid rgba(255,255,255,.10)!important;
  border-bottom:1px solid rgba(226,190,118,.24)!important;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th.stage-timeline-client-col,
#timelineProgressModuleView .stage-timeline-table thead tr:not(.stage-table-group-row) th.stage-timeline-client-col,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th.stage-timeline-total-col{
  background:#0d2b47!important;
  background-image:none!important;
}
#timelineProgressModuleView .stage-timeline-table thead th b,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row th>b{
  color:#fff!important;
}
#timelineProgressModuleView .stage-timeline-table thead .stage-table-no,
#timelineProgressModuleView .stage-timeline-table thead th.stage-bank-col .stage-table-no{
  border-color:rgba(226,190,118,.42)!important;
  background:rgba(255,255,255,.07)!important;
  color:#efd29a!important;
}
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-company>b::before,
#timelineProgressModuleView .integrated-timeline-table .stage-table-group-row .stage-group-bank>b::before{
  color:#efd29a!important;
}
#timelineProgressModuleView .integrated-timeline-table th.stage-company-end,
#timelineProgressModuleView .integrated-timeline-table th.stage-bank-end{
  border-right:1px solid rgba(226,190,118,.38)!important;
}

/* One single duration column after stage 12. */
#timelineProgressModuleView .stage-timeline-table{
  min-width:2590px!important;
}
#timelineProgressModuleView .stage-timeline-table th.stage-timeline-total-col,
#timelineProgressModuleView .stage-timeline-table td.stage-timeline-total-col{
  width:180px;
  min-width:180px;
  max-width:180px;
}
#timelineProgressModuleView .stage-timeline-table th.stage-timeline-total-col{
  border-left:1px solid rgba(226,190,118,.46)!important;
}
#timelineProgressModuleView .stage-timeline-table td.stage-timeline-total-col{
  border-left:1px solid #d7e2eb!important;
  border-right:0!important;
  background:#f3f7fa!important;
}
#timelineProgressModuleView .stage-duration{
  display:grid;
  gap:7px;
  align-content:center;
  min-height:58px;
}
#timelineProgressModuleView .stage-duration>span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:6px;
  border-bottom:1px solid #dce5ed;
}
#timelineProgressModuleView .stage-duration>span:last-child{
  padding-bottom:0;
  border-bottom:0;
}
#timelineProgressModuleView .stage-duration small{
  color:#74869a;
  font-size:10px;
  font-weight:750;
}
#timelineProgressModuleView .stage-duration b{
  color:#123453;
  font:700 13px/1.3 Inter,system-ui,sans-serif;
  white-space:nowrap;
}

/* Sticky brand column: ice-blue surface, navy monogram and gold edge. */
#timelineProgressModuleView .stage-timeline-table tbody td.stage-timeline-client-col{
  background:linear-gradient(90deg,#eaf2f9 0%,#f4f8fb 100%)!important;
  border-left:3px solid #c99a45!important;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:nth-child(even) td.stage-timeline-client-col{
  background:linear-gradient(90deg,#e5eef7 0%,#f0f5f9 100%)!important;
}
#timelineProgressModuleView .stage-timeline-table tbody tr:hover td.stage-timeline-client-col{
  background:linear-gradient(90deg,#e1ecf6 0%,#edf4f9 100%)!important;
}
#timelineProgressModuleView .stage-client-main{
  gap:7px;
}
#timelineProgressModuleView .stage-client-heading{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
}
#timelineProgressModuleView .stage-client-heading>div{
  min-width:0;
  display:grid;
  gap:3px;
}
#timelineProgressModuleView .stage-brand-mark{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(226,190,118,.42);
  border-radius:10px;
  background:linear-gradient(145deg,#0a2139,#16466c);
  color:#edcf94;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.4px;
  box-shadow:0 6px 14px rgba(11,35,64,.16);
}
#timelineProgressModuleView .stage-client-heading b{
  overflow:hidden;
  color:#102f4c;
  font-size:13px;
  font-weight:850;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#timelineProgressModuleView .stage-client-heading .stage-client-company{
  overflow:hidden;
  color:#5d748a;
  font-size:9.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#timelineProgressModuleView .stage-client-code{
  width:max-content;
  max-width:100%;
  padding:2px 7px;
  border:1px solid #cfdeea;
  border-radius:5px;
  background:rgba(255,255,255,.66);
  color:#355b7b!important;
  font-family:"SF Mono","Roboto Mono",ui-monospace,monospace;
  font-size:9.5px!important;
  font-weight:750;
  letter-spacing:.25px;
}
