/* Customer company full-file download workspace. */
#companyFilesModuleView{
  --cf-navy:#0b2340;
  --cf-navy-2:#16466d;
  --cf-gold:#c99a45;
  --cf-gold-soft:#f8f0df;
  --cf-line:#dfe6ee;
  --cf-muted:#74869a;
  --cf-surface:#ffffff;
  --cf-canvas:#f5f8fb;
}

#companyFilesModuleView .cf-hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:136px;
  padding:24px 30px;
  overflow:hidden;
  border:1px solid rgba(226,190,118,.30);
  border-radius:20px;
  background:
    radial-gradient(560px 230px at 92% -34%,rgba(226,190,118,.20),transparent 64%),
    linear-gradient(125deg,#081d32 0%,#0f3151 56%,#174a73 100%);
  box-shadow:0 20px 46px rgba(8,28,49,.18);
}
#companyFilesModuleView .cf-hero::after{
  content:"";
  position:absolute;
  right:-72px;
  bottom:-138px;
  width:340px;
  height:340px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 58px rgba(255,255,255,.02),0 0 0 116px rgba(255,255,255,.012);
  pointer-events:none;
}
#companyFilesModuleView .cf-hero-main{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
#companyFilesModuleView .cf-hero-mark{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  flex:none;
  border:1px solid rgba(226,190,118,.38);
  border-radius:15px;
  background:rgba(255,255,255,.08);
  color:#f0d19a;
  font:800 10px/1 Inter,system-ui,sans-serif;
  letter-spacing:1.5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
#companyFilesModuleView .cf-hero-copy{display:grid;gap:4px;min-width:0}
#companyFilesModuleView .cf-hero h2{
  margin:2px 0 0;
  color:#fff;
  font-family:Georgia,"Noto Serif SC",serif;
  font-size:31px;
  font-weight:500;
  letter-spacing:-.5px;
}
#companyFilesModuleView .cf-hero-actions{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:end;
  gap:12px;
  min-width:230px;
}
#companyFilesModuleView .cf-hero .timeline-sync-state{
  max-width:290px;
  color:#cad9e6;
  font-size:11.5px;
  line-height:1.55;
  text-align:right;
}
#companyFilesModuleView .cf-hero .btn.gold{
  min-height:40px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:10px;
  background:linear-gradient(135deg,#efd49a,#ce9e49);
  color:#10263e;
  font-size:12.5px;
  box-shadow:0 9px 20px rgba(2,13,26,.22);
}

/* Client and package control bar */
#companyFilesModuleView .cf-control-bar{
  display:grid;
  grid-template-columns:minmax(280px,340px) minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-top:16px;
  padding:17px 20px;
  border:1px solid var(--cf-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,35,57,.04),0 10px 28px rgba(16,35,57,.055);
}
#companyFilesModuleView .cf-picker{
  display:grid;
  gap:6px;
  min-width:0;
}
#companyFilesModuleView .cf-picker-label{
  color:#74869a;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.7px;
}
#companyFilesModuleView .cf-picker select{
  width:100%;
  min-width:0;
  height:42px;
  padding:0 36px 0 12px;
  border:1px solid #d8e2eb;
  border-radius:10px;
  background:#fbfcfd;
  color:#173b5d;
  font-size:12.5px;
  font-weight:700;
  outline:0;
}
#companyFilesModuleView .cf-picker select:focus{
  border-color:#6f94b3;
  box-shadow:0 0 0 3px rgba(18,58,99,.10);
}
#companyFilesModuleView .cf-selection{
  display:grid;
  gap:5px;
  min-width:0;
  padding-left:19px;
  border-left:1px solid #e1e8ef;
}
#companyFilesModuleView .cf-meta{
  overflow:hidden;
  color:#3f5970;
  font-size:12px;
  font-weight:650;
  line-height:1.55;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#companyFilesModuleView .cf-toolbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
}
#companyFilesModuleView .cf-toolbar-actions .btn{
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  white-space:nowrap;
}
#companyFilesModuleView #companyFilesBuildBtn{
  border:1px solid transparent;
  background:linear-gradient(135deg,#0b2340,#16466d);
  color:#fff;
  box-shadow:0 9px 20px rgba(11,35,64,.20);
}
#companyFilesModuleView #companyFilesBuildBtn:hover{
  background:linear-gradient(135deg,#123a63,#1b517e);
}
#companyFilesModuleView #companyFilesZipLink{
  border-color:#cbd9e5;
  background:#fff;
  color:#244c6e;
}

/* Source and copy cards */
#companyFilesModuleView .cf-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:18px;
  margin-top:18px;
  align-items:stretch;
}
#companyFilesModuleView .cf-card{
  position:relative;
  min-width:0;
  height:100%;
  padding:0;
  overflow:hidden;
  border:1px solid var(--cf-line);
  border-radius:17px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,35,57,.04),0 13px 32px rgba(16,35,57,.055);
}
#companyFilesModuleView .cf-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,transparent,#d9b66d 24%,#efdaa7 50%,#d9b66d 76%,transparent);
}
#companyFilesModuleView .cf-card>.panel-head{
  min-height:76px;
  margin:0;
  padding:18px 21px 16px;
  border-bottom:1px solid #e8edf2;
  background:linear-gradient(180deg,#fff,#fbfcfd);
}
#companyFilesModuleView .cf-card>.panel-head h3{
  font-size:18px;
}
#companyFilesModuleView .cf-count{
  min-width:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border:1px solid #d9e3eb;
  border-radius:999px;
  background:#f4f7fa;
  color:#526b82;
  font-size:10.5px;
  font-weight:800;
}
#companyFilesModuleView .cf-source{
  margin:18px 20px 0;
  padding:0;
  gap:0;
  overflow:hidden;
  border:1px solid #dce5ed;
  border-radius:12px;
  background:#f7fafc;
}
#companyFilesModuleView .cf-source-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  border-bottom:1px solid #e4ebf1;
  background:#eef4f8;
}
#companyFilesModuleView .cf-source-head span{
  color:#536d84;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.35px;
}
#companyFilesModuleView .cf-source-head b{
  padding:3px 8px;
  border:1px solid #c8e2d9;
  border-radius:999px;
  background:#eaf6f1;
  color:#176b54;
  font-size:9.5px;
  font-weight:850;
}
#companyFilesModuleView .cf-source-line{
  grid-template-columns:88px minmax(0,1fr);
  padding:10px 13px;
  border-top:1px solid #e7edf3;
}
#companyFilesModuleView .cf-source-line:first-of-type{
  border-top:0;
}
#companyFilesModuleView .cf-source-line span{
  color:#7a8c9e;
  font-size:10.5px;
}
#companyFilesModuleView .cf-source-line b{
  color:#25445f;
  font-size:11.5px;
}
#companyFilesModuleView .cf-link{
  color:#18557e;
  font-size:11.5px;
  text-decoration:none;
}
#companyFilesModuleView .cf-link:hover{
  color:#9b6e22;
  text-decoration:underline;
}
#companyFilesModuleView .cf-source-empty{
  padding:16px;
}
#companyFilesModuleView .cf-source-empty b{
  color:#5a6573;
  font-size:12px;
}
#companyFilesModuleView .cf-stage{
  min-height:18px;
  margin:12px 20px 0;
  color:#718398;
  font-size:11px;
}
#companyFilesModuleView .cf-files{
  margin:13px 20px 20px;
  border-color:#dce5ed;
  border-radius:12px;
  background:#fff;
}
#companyFilesModuleView .cf-files li{
  min-height:45px;
  padding:9px 12px;
  transition:background .15s ease;
}
#companyFilesModuleView .cf-files li:hover{
  background:#f7fafc;
}
#companyFilesModuleView .cf-file-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
#companyFilesModuleView .cf-file-main i{
  min-width:35px;
  padding:3px 5px;
  border:1px solid #d9e3eb;
  border-radius:5px;
  background:#f2f6f9;
  color:#3f6583;
  font-size:8px;
  font-style:normal;
  font-weight:850;
  letter-spacing:.4px;
  text-align:center;
}
#companyFilesModuleView .cf-file-main>span{
  overflow:hidden;
  color:#29445e;
  font-size:11.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
/* Company information copy table */
#companyFilesModuleView .cf-panel-body{
  margin:18px 20px 20px;
  border-color:#dce5ed;
  border-radius:12px;
}
#companyFilesModuleView .cf-row{
  grid-template-columns:128px minmax(0,1fr) auto;
  min-height:52px;
  padding:10px 12px;
  border-top-color:#e8edf3;
  transition:background .15s ease;
}
#companyFilesModuleView .cf-row:hover{
  background:#f8fafc;
}
#companyFilesModuleView .cf-row-indent .cf-label{
  padding-left:0;
}
#companyFilesModuleView .cf-label{
  color:#75879a;
  font-size:10.5px;
  font-weight:700;
}
#companyFilesModuleView .cf-value{
  color:#183b59;
  font-size:12.5px;
  font-weight:750;
  line-height:1.55;
}
#companyFilesModuleView .cf-copy{
  min-height:30px;
  padding:0 10px;
  border-color:#d4e0e9;
  border-radius:7px;
  background:#f1f6fa;
  color:#315d7d;
  font-size:10px;
}
#companyFilesModuleView .cf-copy:hover{
  border-color:#a9c1d3;
  background:#e9f2f8;
}
#companyFilesModuleView .cf-panel-actions{
  display:flex;
  justify-content:flex-end;
  padding:8px 12px;
  border-top-color:#e8edf3;
  background:#fbfcfd;
}
#companyFilesModuleView .cf-panel-actions .cf-link{
  padding:2px 0;
  font-size:10.5px;
}

@media(max-width:1180px){
  #companyFilesModuleView .cf-control-bar{
    grid-template-columns:minmax(260px,330px) minmax(0,1fr);
  }
  #companyFilesModuleView .cf-toolbar-actions{
    grid-column:1/-1;
    justify-content:flex-end;
    padding-top:13px;
    border-top:1px solid #e8edf2;
  }
}
@media(max-width:900px){
  #companyFilesModuleView .cf-hero{
    align-items:flex-start;
    padding:26px 24px;
  }
  #companyFilesModuleView .cf-hero-actions{
    justify-items:start;
    min-width:180px;
  }
  #companyFilesModuleView .cf-hero .timeline-sync-state{
    text-align:left;
  }
  #companyFilesModuleView .cf-control-bar{
    grid-template-columns:1fr;
  }
  #companyFilesModuleView .cf-selection{
    padding:12px 0 0;
    border-top:1px solid #e8edf2;
    border-left:0;
  }
  #companyFilesModuleView .cf-toolbar-actions{
    grid-column:auto;
  }
  #companyFilesModuleView .cf-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  #companyFilesModuleView .cf-hero{
    display:grid;
    gap:18px;
  }
  #companyFilesModuleView .cf-hero-main{
    align-items:flex-start;
  }
  #companyFilesModuleView .cf-hero-mark{
    width:48px;
    height:48px;
    border-radius:13px;
    font-size:9px;
  }
  #companyFilesModuleView .cf-hero h2{
    font-size:26px;
  }
  #companyFilesModuleView .cf-hero-actions{
    width:100%;
  }
  #companyFilesModuleView .cf-toolbar-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  #companyFilesModuleView .cf-toolbar-actions .btn{
    width:100%;
  }
  #companyFilesModuleView .cf-card>.panel-head{
    padding:17px;
  }
  #companyFilesModuleView .cf-source,
  #companyFilesModuleView .cf-files,
  #companyFilesModuleView .cf-panel-body{
    margin-left:14px;
    margin-right:14px;
  }
  #companyFilesModuleView .cf-row{
    grid-template-columns:1fr auto;
    gap:5px 10px;
  }
  #companyFilesModuleView .cf-row .cf-label{
    grid-column:1/-1;
  }
}
