@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700;800&display=swap");
:root{--cp-navy:#071d32;--cp-navy2:#0d314d;--cp-teal:#0d7b80;--cp-gold:#d7a843;--cp-gold2:#b78625;--cp-ink:#14283b;--cp-muted:#6b7b8b;--cp-line:#dce5eb;--cp-bg:#f1f5f7;--cp-white:#fff;--cp-danger:#a33a3a;--cp-shadow:0 18px 50px rgba(7,29,50,.10);--cp-radius:18px}
*{box-sizing:border-box}html{min-width:0;background:var(--cp-bg)}body{margin:0;font-family:"Source Sans 3",Arial,sans-serif;color:var(--cp-ink);background:var(--cp-bg);line-height:1.55}a{text-decoration:none;color:inherit}button,input{font:inherit}.client-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.client-alert{margin:0 0 1rem;padding:.85rem 1rem;border-radius:12px;font-weight:700;font-size:.9rem}.client-alert.ok{background:#eaf8f1;border:1px solid #bce7cf;color:#176642}.client-alert.bad{background:#fff0f0;border:1px solid #efc4c4;color:#8d2929}.client-kicker{display:block;color:var(--cp-gold2);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.client-primary-button{min-height:46px;padding:.72rem 1rem;border:0;border-radius:10px;background:linear-gradient(135deg,var(--cp-gold),#e6b746);color:var(--cp-navy);font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(183,134,37,.16)}.client-primary-button:hover{background:linear-gradient(135deg,var(--cp-navy2),var(--cp-navy));color:#fff}.client-auth-shell{min-height:100vh;padding:24px;background:radial-gradient(circle at 13% 13%,rgba(215,168,67,.18),transparent 26%),linear-gradient(135deg,#061828,#0b4650)}.client-auth-brand{width:min(1180px,94vw);margin:0 auto 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.client-brand-link{display:flex;align-items:center;gap:.75rem;color:#fff}.client-brand-link img{width:56px;height:56px;border-radius:50%;object-fit:cover}.client-brand-link span{display:flex;flex-direction:column}.client-brand-link strong{font-size:1.22rem}.client-brand-link small{color:rgba(255,255,255,.62);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.client-back-link{color:#fff;font-weight:700;font-size:.84rem}.client-auth-grid{width:min(1180px,94vw);margin:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);gap:clamp(2rem,5vw,5rem);align-items:center}.client-auth-intro{color:#fff;padding:2rem 0}.client-auth-intro h1{max-width:700px;margin:.4rem 0 1rem;font-size:clamp(2.7rem,5vw,5rem);line-height:.96;letter-spacing:-.045em;font-weight:600}.client-auth-intro p{max-width:660px;color:rgba(255,255,255,.73);font-size:1.02rem}.client-auth-points{margin-top:1.4rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.client-auth-points span{padding:.7rem .8rem;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.06);font-size:.84rem}.client-auth-card{overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.25)}.client-auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--cp-line)}.client-auth-tabs button{min-height:56px;border:0;background:#f7f9fa;color:var(--cp-muted);font-weight:800;cursor:pointer}.client-auth-tabs button.active{background:#fff;color:var(--cp-navy);box-shadow:inset 0 -3px 0 var(--cp-gold)}.client-auth-form{display:none;padding:1.4rem}.client-auth-form.active{display:grid;gap:1rem}.client-auth-form label,.client-panel-body label{display:grid;gap:.35rem;font-size:.78rem;font-weight:800;color:#2a4054}.client-auth-form input,.client-panel-body input{width:100%;min-height:46px;padding:.75rem .85rem;border:1px solid #cbd7df;border-radius:10px;background:#fff;color:var(--cp-ink)}.client-auth-form input:focus,.client-panel-body input:focus{outline:none;border-color:var(--cp-teal);box-shadow:0 0 0 4px rgba(13,123,128,.1)}.client-auth-form label small{color:var(--cp-muted);font-size:.68rem;font-weight:500}.client-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;gap:.65rem!important}.client-check input{width:auto!important;min-height:0!important;margin-top:.2rem}.client-check span{font-weight:500;color:var(--cp-muted);line-height:1.45}.client-form-help{margin:0;color:var(--cp-muted);font-size:.74rem;text-align:center}
.client-app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.client-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.15rem .9rem;background:linear-gradient(180deg,#061828,#0a2942);color:#d8e5ed;box-shadow:18px 0 45px rgba(7,29,50,.12);z-index:30}.client-sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:.35rem .35rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.10)}.client-sidebar-brand img{width:52px;height:52px;border-radius:50%;object-fit:cover}.client-sidebar-brand span{display:flex;flex-direction:column}.client-sidebar-brand strong{color:#fff;font-size:1.12rem}.client-sidebar-brand small{font-size:.64rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.12em}.client-identity{margin:1rem 0;padding:.9rem;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.055)}.client-identity span{display:block;color:#efc768;font-size:.64rem;font-weight:800;letter-spacing:.08em}.client-identity strong{display:block;margin-top:.12rem;color:#fff;font-size:.92rem}.client-identity small{display:block;margin-top:.2rem;color:rgba(255,255,255,.58);font-size:.7rem;overflow-wrap:anywhere}.client-sidebar-nav{display:grid;gap:.35rem}.client-sidebar-nav a{min-height:46px;padding:.7rem .78rem;display:flex;align-items:center;gap:.7rem;border-radius:10px;font-size:.82rem;font-weight:700}.client-sidebar-nav a span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.07);color:#efc768}.client-sidebar-nav a:hover,.client-sidebar-nav a.active{color:#fff;background:linear-gradient(90deg,rgba(215,168,67,.18),rgba(255,255,255,.05));box-shadow:inset 3px 0 0 var(--cp-gold)}.client-sidebar-footer{margin-top:auto;padding:.9rem .45rem 0;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:.5rem}.client-sidebar-footer a{font-size:.76rem;font-weight:700;color:#fff}.client-main{min-width:0}.client-mobile-header{display:none}.client-content{width:min(1240px,calc(100% - 42px));margin:auto;padding:2rem 0 3rem}.client-page-heading{margin-bottom:1.35rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.client-page-heading h1{margin:.2rem 0 .25rem;color:var(--cp-navy);font-size:clamp(2.2rem,4vw,3.7rem);line-height:1;font-weight:600;letter-spacing:-.035em}.client-page-heading p{margin:0;color:var(--cp-muted);font-size:.94rem}.client-total-documents{min-width:120px;padding:.85rem 1rem;border:1px solid var(--cp-line);border-radius:13px;background:#fff;text-align:center}.client-total-documents strong{display:block;color:var(--cp-navy);font-size:1.8rem}.client-total-documents span{color:var(--cp-muted);font-size:.68rem}.client-folder-grid{display:grid;gap:1rem}.client-main-folders{grid-template-columns:repeat(4,minmax(0,1fr))}.client-type-folders{grid-template-columns:repeat(4,minmax(0,1fr))}.client-folder-card{position:relative;min-height:220px;padding:1.15rem;overflow:hidden;border:1px solid var(--cp-line);border-radius:16px;background:linear-gradient(145deg,#fff,#f9fbfc);box-shadow:0 10px 30px rgba(7,29,50,.055);transition:.2s}.client-folder-card:hover{transform:translateY(-4px);border-color:#b7d4d5;box-shadow:var(--cp-shadow)}.client-folder-top{display:flex;justify-content:space-between;gap:1rem;color:var(--cp-muted);font-size:.66rem}.client-folder-top span{color:var(--cp-gold2);font-weight:800}.client-folder-top b{color:var(--cp-teal)}.client-folder-icon{width:72px;height:54px;margin:1.25rem 0 .9rem;position:relative;border-radius:8px 10px 10px 10px;background:linear-gradient(135deg,#e3ba58,#d39d27);box-shadow:0 8px 20px rgba(183,134,37,.16)}.client-folder-icon:before{content:"";position:absolute;left:5px;top:-10px;width:31px;height:13px;border-radius:6px 6px 0 0;background:#e7c36f}.client-folder-card h2{margin:0;color:var(--cp-navy);font-size:1.18rem;line-height:1.15}.client-folder-card p{margin:.3rem 0 0;color:var(--cp-muted);font-size:.78rem}.client-folder-action{position:absolute;right:1rem;bottom:1rem;color:var(--cp-teal);font-size:.72rem;font-weight:800}.client-type-card{min-height:185px}.client-type-card .client-folder-icon{width:58px;height:44px;margin:.85rem 0 .8rem}.client-security-note{margin-top:1.15rem;padding:1rem 1.1rem;display:flex;align-items:center;gap:1rem;border:1px solid #c8dddd;border-radius:14px;background:#eef8f7}.client-security-note strong{color:var(--cp-teal);white-space:nowrap}.client-security-note p{margin:0;color:#526777;font-size:.8rem}.client-breadcrumb{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:var(--cp-muted);font-size:.76rem}.client-breadcrumb a{color:var(--cp-teal);font-weight:700}.client-breadcrumb strong{color:var(--cp-navy)}.client-upload-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.4fr);gap:1rem;align-items:start}.client-upload-card,.client-panel{overflow:hidden;border:1px solid var(--cp-line);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(7,29,50,.055)}.client-upload-card{padding:1rem}.client-dropzone{min-height:300px;padding:1.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px dashed #bfd0da;border-radius:13px;background:#f8fbfc;cursor:pointer;transition:.2s}.client-dropzone:hover{border-color:var(--cp-teal);background:#f1f9f8}.client-dropzone input{position:absolute;opacity:0;pointer-events:none}.client-upload-symbol{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#e7f3f2;color:var(--cp-teal);font-size:1.7rem}.client-dropzone strong{margin-top:.8rem;color:var(--cp-navy);font-size:1.05rem}.client-dropzone p{margin:.2rem 0;color:var(--cp-muted);font-size:.78rem}.client-dropzone small{margin-top:.55rem;color:#9a6d15;font-size:.72rem;font-weight:800}.client-selected-files{width:100%;margin-top:.8rem;display:grid;gap:.35rem}.client-selected-files span{padding:.42rem .55rem;border-radius:8px;background:#fff;border:1px solid var(--cp-line);font-size:.68rem;text-align:left;overflow-wrap:anywhere}.client-upload-card>.client-primary-button{width:100%;margin-top:.75rem}.client-panel-head{padding:1rem 1.1rem;border-bottom:1px solid var(--cp-line);background:linear-gradient(#fff,#fbfcfd)}.client-panel-head h2{margin:0;color:var(--cp-navy);font-size:1.2rem}.client-panel-head p{margin:.1rem 0 0;color:var(--cp-muted);font-size:.72rem}.client-panel-body{padding:1.1rem;display:grid;gap:1rem}.client-file-list{display:grid}.client-file-row{padding:.9rem 1rem;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:.85rem;border-top:1px solid #e6ecef}.client-file-row:first-child{border-top:0}.client-file-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:#eef4f6;color:var(--cp-teal);font-size:.58rem;font-weight:800}.client-file-copy{min-width:0}.client-file-copy strong{display:block;color:var(--cp-navy);font-size:.82rem;overflow-wrap:anywhere}.client-file-copy span{display:block;margin-top:.18rem;color:var(--cp-muted);font-size:.68rem}.client-file-actions{display:flex;align-items:center;gap:.35rem}.client-file-actions a,.client-file-actions button{min-height:32px;padding:.4rem .55rem;border:1px solid #d4dee4;border-radius:8px;background:#fff;color:var(--cp-navy);font-size:.66rem;font-weight:800;cursor:pointer}.client-file-actions a:hover{border-color:var(--cp-teal);color:var(--cp-teal)}.client-file-actions button{color:var(--cp-danger)}.client-file-actions form{margin:0}.client-empty-state{padding:2.2rem;text-align:center;color:var(--cp-muted)}.client-empty-state strong{color:var(--cp-navy)}.client-empty-state p{margin:.3rem 0 0;font-size:.8rem}.client-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.client-profile-grid .client-panel-body>.client-primary-button{justify-self:start}
@media(max-width:1100px){.client-app-shell{grid-template-columns:230px minmax(0,1fr)}.client-main-folders,.client-type-folders{grid-template-columns:repeat(2,minmax(0,1fr))}.client-upload-layout{grid-template-columns:1fr}.client-auth-grid{grid-template-columns:1fr 420px;gap:2rem}.client-auth-intro h1{font-size:clamp(2.5rem,5vw,4rem)}}
@media(max-width:820px){.client-auth-shell{padding:16px}.client-auth-brand{width:100%;margin-bottom:1rem}.client-auth-grid{width:100%;grid-template-columns:1fr}.client-auth-intro{padding:1rem 0}.client-auth-intro h1{font-size:clamp(2.3rem,9vw,3.7rem)}.client-app-shell{display:block}.client-sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;transform:translateX(-105%);transition:.25s}.client-sidebar.open{transform:none}.client-mobile-header{height:64px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--cp-line);position:sticky;top:0;z-index:20}.client-mobile-header>a{display:flex;align-items:center;gap:.55rem}.client-mobile-header img{width:38px;height:38px;border-radius:50%}.client-mobile-header button{width:40px;height:40px;border:1px solid var(--cp-line);border-radius:10px;background:#fff}.client-content{width:calc(100% - 28px);padding:1.25rem 0 2rem}.client-profile-grid{grid-template-columns:1fr}.client-page-heading{align-items:flex-start}.client-security-note{align-items:flex-start;flex-direction:column;gap:.25rem}}
@media(max-width:560px){.client-auth-brand{align-items:flex-start}.client-back-link{font-size:.72rem}.client-auth-points{grid-template-columns:1fr}.client-auth-card{border-radius:15px}.client-main-folders,.client-type-folders{grid-template-columns:1fr}.client-folder-card{min-height:170px}.client-page-heading{flex-direction:column;gap:.8rem}.client-total-documents{width:100%;display:flex;align-items:baseline;justify-content:center;gap:.5rem}.client-file-row{grid-template-columns:42px minmax(0,1fr);align-items:start}.client-file-actions{grid-column:1/-1;justify-content:flex-end;flex-wrap:wrap}.client-dropzone{min-height:250px}.client-content{width:calc(100% - 20px)}.client-auth-form{padding:1rem}}


/* EOI downloadable client form */
.client-template-card{
  margin:0 0 1rem;
  padding:1rem 1.1rem;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  border:1px solid #c9dce2;
  border-left:4px solid var(--cp-gold);
  border-radius:14px;
  background:linear-gradient(135deg,#fff,#f6fafb);
  box-shadow:0 8px 24px rgba(7,29,50,.055)
}
.client-template-card.compact{margin-top:-.15rem}
.client-template-icon{
  width:56px;height:56px;display:grid;place-items:center;
  border-radius:12px;background:#e9f1fb;color:#245f9b;
  font-size:.67rem;font-weight:800;letter-spacing:.03em
}
.client-template-copy h2{margin:.08rem 0 .2rem;color:var(--cp-navy);font-size:1.15rem}
.client-template-copy p{margin:0;color:var(--cp-muted);font-size:.78rem;line-height:1.5}
.client-template-download{
  min-height:42px;padding:.65rem .85rem;
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  border:1px solid #c3d4dc;border-radius:9px;background:#fff;
  color:var(--cp-teal);font-size:.74rem;font-weight:800;white-space:nowrap
}
.client-template-download:hover{border-color:var(--cp-teal);background:#eef8f7}
.client-template-download span{font-size:1rem}
@media(max-width:720px){
  .client-template-card{grid-template-columns:48px minmax(0,1fr)}
  .client-template-icon{width:46px;height:46px}
  .client-template-download{grid-column:1/-1;width:100%}
}


/* Three balanced main client stages */
.client-main-folders{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:900px){
  .client-main-folders{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:620px){
  .client-main-folders{grid-template-columns:1fr!important;}
}


/* =========================================================
   FINAL EQUINOX CLIENT PORTAL — THREE-STAGE RESPONSIVE UI
   ========================================================= */

:root{
  --cp-content:1320px;
  --cp-sidebar:268px;
  --cp-mobile-head:66px;
}

html,body{max-width:100%;overflow-x:hidden}
body{min-width:0}
img,svg,video{max-width:100%}
button,a,input{outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid rgba(13,123,128,.28);
  outline-offset:2px;
}

.client-app-shell{grid-template-columns:var(--cp-sidebar) minmax(0,1fr)!important}
.client-content{
  width:min(var(--cp-content),calc(100% - 48px))!important;
  padding:2rem 0 3.25rem!important;
}

.client-sidebar-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:24;
  border:0;
  background:rgba(2,16,29,.56);
  backdrop-filter:blur(2px);
}
.client-sidebar-overlay.show{display:block}
.client-menu-open{overflow:hidden}

.client-stage-nav{
  margin-bottom:1.35rem;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.client-stage-nav>a{
  position:relative;
  min-width:0;
  min-height:82px;
  padding:.8rem .85rem .7rem;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:.7rem;
  overflow:hidden;
  border:1px solid var(--cp-line);
  border-radius:13px;
  background:rgba(255,255,255,.88);
  box-shadow:0 6px 20px rgba(7,29,50,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.client-stage-nav>a:hover,
.client-stage-nav>a.active{
  transform:translateY(-2px);
  border-color:#a8cfd0;
  box-shadow:0 12px 28px rgba(7,29,50,.08);
}
.client-stage-nav>a.active{background:linear-gradient(135deg,#fff,#eef8f7)}
.client-stage-number{
  width:38px;height:38px;
  grid-row:1/3;
  display:grid;place-items:center;
  border-radius:10px;
  background:#e7f3f2;
  color:var(--cp-teal);
  font-size:.72rem;font-weight:800;
}
.client-stage-nav>a.active .client-stage-number{
  background:var(--cp-teal);
  color:#fff;
}
.client-stage-copy{min-width:0;display:grid}
.client-stage-copy strong{
  color:var(--cp-navy);
  font-size:.78rem;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.client-stage-copy small{margin-top:.12rem;color:var(--cp-muted);font-size:.61rem}
.client-stage-meter{
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:#e8eef1;
}
.client-stage-meter i{
  display:block;height:100%;
  background:linear-gradient(90deg,var(--cp-teal),var(--cp-gold));
}

.client-stage-card{min-height:285px!important}
.client-stage-card .client-folder-icon{margin-top:1.05rem!important}
.client-stage-description{
  max-width:340px;
  margin:.55rem 0 1rem!important;
  color:#5e7180!important;
  font-size:.76rem!important;
  line-height:1.5!important;
}
.client-stage-card-progress{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  color:#6c7d8a;
  font-size:.65rem;
}
.client-stage-card-progress b{color:var(--cp-navy)}
.client-progress-track{
  position:absolute;
  left:1.15rem;
  right:1.15rem;
  bottom:.85rem;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:#e5ecef;
}
.client-progress-track i{
  display:block;height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--cp-teal),#42a19c);
}
.client-stage-card{padding-bottom:1.55rem!important}

.client-stage-summary{
  min-width:125px;
  padding:.75rem .9rem;
  border:1px solid #d8e4e9;
  border-radius:12px;
  background:#fff;
  text-align:center;
}
.client-stage-summary strong{display:block;color:var(--cp-navy);font-size:1.35rem}
.client-stage-summary span{display:block;color:var(--cp-muted);font-size:.62rem}

.client-type-folders{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.client-type-card{
  min-height:230px!important;
  display:flex!important;
  flex-direction:column;
}
.client-type-card.has-files{
  border-color:#bddbd4;
  background:linear-gradient(145deg,#fff,#f3fbf8);
}
.client-type-guidance{
  margin:.48rem 0 .9rem!important;
  color:#667986!important;
  font-size:.7rem!important;
  line-height:1.48!important;
}
.client-type-card-bottom{
  margin-top:auto;
  padding-top:.65rem;
  display:flex;
  justify-content:space-between;
  gap:.6rem;
  border-top:1px solid #e6ecef;
  color:var(--cp-muted);
  font-size:.64rem;
}
.client-type-card-bottom b{color:var(--cp-teal)}
.client-folder-action{display:none!important}

.client-guidance-card{
  margin:-.2rem 0 1rem;
  padding:.95rem 1rem;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:.85rem;
  border:1px solid #cbdfe2;
  border-left:4px solid var(--cp-teal);
  border-radius:13px;
  background:linear-gradient(135deg,#f8fcfc,#fff);
}
.client-guidance-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#e4f2f1;
  color:var(--cp-teal);
  font-family:Georgia,serif;
  font-weight:700;
}
.client-guidance-card strong{color:var(--cp-navy);font-size:.84rem}
.client-guidance-card p{margin:.16rem 0 0;color:#5f7381;font-size:.74rem;line-height:1.55}
.client-guidance-card ul{
  margin:.45rem 0 0;
  padding-left:1.05rem;
  color:#5b6e7b;
  font-size:.72rem;
  line-height:1.55;
}
.client-guidance-card li+li{margin-top:.18rem}

.client-dropzone.dragging{
  border-color:var(--cp-teal)!important;
  background:#eaf7f5!important;
  box-shadow:inset 0 0 0 2px rgba(13,123,128,.07);
}
.client-selected-files span{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
}
.client-selected-files span b{
  min-width:0;
  color:var(--cp-navy);
  font-size:.66rem;
  overflow-wrap:anywhere;
}
.client-selected-files span small{
  margin:0!important;
  flex:0 0 auto;
  color:var(--cp-muted)!important;
  font-size:.61rem!important;
}
.client-selected-files span.invalid{
  border-color:#efbdbd!important;
  background:#fff3f3!important;
}
.client-selected-files span.invalid small{color:#9d3030!important}
.client-upload-feedback{
  min-height:20px;
  margin-top:.55rem;
  font-size:.7rem;
  font-weight:700;
  text-align:center;
}
.client-upload-feedback.bad{color:#963636}
.client-upload-feedback.ok{color:#1e7554}
.client-primary-button:disabled{
  opacity:.5;
  cursor:not-allowed;
  box-shadow:none;
}

.client-template-card{
  position:relative;
  overflow:hidden;
}
.client-template-card:after{
  content:"";
  position:absolute;
  right:-28px;top:-30px;
  width:95px;height:95px;
  border:16px solid rgba(36,95,155,.05);
  border-radius:50%;
  pointer-events:none;
}

.client-auth-shell{
  min-height:100svh!important;
  display:flex;
  flex-direction:column;
}
.client-auth-grid{flex:1}
.client-auth-card{border:1px solid rgba(255,255,255,.18)}
.client-auth-points span:before{
  content:"✓";
  margin-right:.45rem;
  color:#efc768;
  font-weight:800;
}

@media(min-width:1600px){
  :root{--cp-content:1440px;--cp-sidebar:286px}
  .client-content{width:min(var(--cp-content),calc(100% - 72px))!important}
  .client-auth-grid,.client-auth-brand{width:min(1320px,92vw)!important}
}

@media(max-width:1180px){
  :root{--cp-sidebar:235px}
  .client-content{width:calc(100% - 36px)!important}
  .client-type-folders{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:900px){
  .client-stage-nav{grid-template-columns:1fr}
  .client-stage-nav>a{min-height:70px}
  .client-main-folders{grid-template-columns:1fr!important}
  .client-stage-card{min-height:235px!important}
}

@media(max-width:820px){
  .client-sidebar{z-index:30!important}
  .client-mobile-header{
    height:var(--cp-mobile-head)!important;
    padding-left:max(14px,env(safe-area-inset-left));
    padding-right:max(14px,env(safe-area-inset-right));
  }
  .client-content{
    width:calc(100% - 28px)!important;
    padding:1.15rem 0 2.2rem!important;
  }
  .client-page-heading h1{font-size:clamp(2rem,8vw,3.2rem)!important}
}

@media(max-width:620px){
  .client-content{width:calc(100% - 20px)!important}
  .client-type-folders{grid-template-columns:1fr!important}
  .client-type-card{min-height:200px!important}
  .client-stage-nav>a{grid-template-columns:34px minmax(0,1fr);padding:.72rem}
  .client-stage-number{width:34px;height:34px}
  .client-page-heading{gap:.65rem!important}
  .client-stage-summary{width:100%;display:flex;align-items:baseline;justify-content:center;gap:.45rem}
  .client-stage-summary strong{font-size:1.2rem}
  .client-template-card{grid-template-columns:44px minmax(0,1fr)!important;padding:.85rem!important}
  .client-template-icon{width:44px!important;height:44px!important}
  .client-guidance-card{grid-template-columns:34px minmax(0,1fr);padding:.8rem}
  .client-guidance-icon{width:32px;height:32px}
  .client-file-actions{justify-content:flex-start!important}
  .client-file-actions a,.client-file-actions button{min-height:36px!important}
}

@media(max-width:420px){
  .client-auth-shell{padding:12px!important}
  .client-auth-brand{gap:.5rem}
  .client-brand-link img{width:48px!important;height:48px!important}
  .client-back-link{max-width:92px;text-align:right}
  .client-auth-intro h1{font-size:clamp(2rem,11vw,2.9rem)!important}
  .client-auth-form{padding:.9rem!important}
  .client-folder-card{padding:1rem!important}
}

@media(max-height:580px) and (orientation:landscape) and (max-width:900px){
  .client-auth-shell{min-height:auto!important}
  .client-auth-intro{padding:.5rem 0!important}
  .client-auth-intro h1{font-size:2.15rem!important}
}

@media(prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* =========================================================
   EQUINOX CLIENT LOGIN — WARM WELCOME LAYOUT
   ========================================================= */

.client-auth-shell{
  min-height:100svh!important;
  padding:22px!important;
  display:flex!important;
  flex-direction:column!important;
  background:
    radial-gradient(circle at 14% 16%,rgba(215,168,67,.15),transparent 25%),
    radial-gradient(circle at 92% 82%,rgba(13,123,128,.14),transparent 28%),
    linear-gradient(135deg,#061827 0%,#073342 52%,#074650 100%)!important;
}

.client-auth-brand{
  width:min(1240px,94vw)!important;
  margin:0 auto!important;
  min-height:72px;
}

.client-auth-grid{
  width:min(1240px,94vw)!important;
  flex:1;
  margin:0 auto!important;
  padding:clamp(1.5rem,4vh,3rem) 0 clamp(2rem,5vh,4rem)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.72fr)!important;
  gap:clamp(2.5rem,6vw,6.5rem)!important;
  align-items:center!important;
}

.client-auth-intro{
  max-width:720px;
  padding:0!important;
}

.client-auth-intro .client-kicker{
  margin-bottom:.7rem;
  color:#efc768!important;
  font-size:.77rem!important;
  letter-spacing:.13em!important;
}

.client-auth-intro h1{
  max-width:690px!important;
  margin:0 0 1rem!important;
  color:#fff!important;
  font-size:clamp(3.15rem,5.2vw,5.65rem)!important;
  line-height:.96!important;
  letter-spacing:-.046em!important;
  font-weight:600!important;
  text-wrap:balance;
}

.client-welcome-lead{
  max-width:640px!important;
  margin:0!important;
  color:rgba(255,255,255,.90)!important;
  font-size:clamp(1.05rem,1.35vw,1.2rem)!important;
  line-height:1.58!important;
  font-weight:500;
}

.client-welcome-copy{
  max-width:630px!important;
  margin:.75rem 0 0!important;
  color:rgba(255,255,255,.68)!important;
  font-size:.96rem!important;
  line-height:1.62!important;
}

.client-auth-points{
  display:none!important;
}

.client-welcome-note{
  max-width:620px;
  margin-top:1.5rem;
  padding:1rem 1.05rem;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:.9rem;
  align-items:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.client-welcome-mark{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(239,199,104,.5);
  border-radius:50%;
  color:#efc768;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.15rem;
  font-weight:700;
}

.client-welcome-note strong{
  display:block;
  color:#fff;
  font-size:.86rem;
}

.client-welcome-note p{
  margin:.12rem 0 0!important;
  color:rgba(255,255,255,.62)!important;
  font-size:.76rem!important;
  line-height:1.5!important;
}

.client-auth-card{
  width:100%;
  max-width:460px;
  justify-self:end;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:18px!important;
  box-shadow:0 26px 70px rgba(0,0,0,.23)!important;
}

.client-auth-tabs button{
  min-height:54px!important;
  font-size:.84rem!important;
}

.client-auth-form{
  padding:1.35rem!important;
}

.client-auth-form.active{
  gap:.9rem!important;
}

.client-auth-form label{
  font-size:.76rem!important;
}

.client-auth-form input{
  min-height:45px!important;
}

.client-auth-form .client-primary-button{
  min-height:46px!important;
  margin-top:.1rem;
}

.client-form-help{
  margin:.1rem 0 0!important;
  font-size:.72rem!important;
  line-height:1.45!important;
}

/* Tablet */
@media(max-width:1000px){
  .client-auth-grid{
    grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)!important;
    gap:2.25rem!important;
  }

  .client-auth-intro h1{
    font-size:clamp(2.8rem,5.8vw,4.35rem)!important;
  }
}

/* Mobile/tablet stack */
@media(max-width:820px){
  .client-auth-shell{
    padding:14px!important;
  }

  .client-auth-brand{
    width:100%!important;
    min-height:58px;
    margin-bottom:.25rem!important;
  }

  .client-auth-grid{
    width:100%!important;
    padding:.75rem 0 1.5rem!important;
    grid-template-columns:1fr!important;
    gap:1.35rem!important;
  }

  .client-auth-intro{
    max-width:100%;
    text-align:left;
  }

  .client-auth-intro h1{
    max-width:620px!important;
    font-size:clamp(2.45rem,9vw,3.85rem)!important;
  }

  .client-welcome-lead,
  .client-welcome-copy{
    max-width:680px!important;
  }

  .client-welcome-note{
    max-width:680px;
    margin-top:1rem;
  }

  .client-auth-card{
    max-width:100%;
    justify-self:stretch;
  }
}

/* Small phones */
@media(max-width:520px){
  .client-auth-shell{
    padding:11px!important;
  }

  .client-auth-brand{
    align-items:center!important;
  }

  .client-brand-link img{
    width:46px!important;
    height:46px!important;
  }

  .client-brand-link strong{
    font-size:1.05rem!important;
  }

  .client-brand-link small{
    font-size:.58rem!important;
  }

  .client-back-link{
    max-width:92px;
    text-align:right;
    font-size:.66rem!important;
    line-height:1.2;
  }

  .client-auth-grid{
    gap:1rem!important;
  }

  .client-auth-intro .client-kicker{
    font-size:.68rem!important;
  }

  .client-auth-intro h1{
    margin-bottom:.7rem!important;
    font-size:clamp(2.15rem,10.5vw,3rem)!important;
    line-height:.98!important;
  }

  .client-welcome-lead{
    font-size:.94rem!important;
  }

  .client-welcome-copy{
    margin-top:.55rem!important;
    font-size:.82rem!important;
  }

  .client-welcome-note{
    grid-template-columns:38px minmax(0,1fr);
    gap:.7rem;
    padding:.78rem;
    border-radius:11px;
  }

  .client-welcome-mark{
    width:36px;
    height:36px;
    font-size:1rem;
  }

  .client-welcome-note strong{
    font-size:.78rem;
  }

  .client-welcome-note p{
    font-size:.69rem!important;
  }

  .client-auth-card{
    border-radius:14px!important;
  }

  .client-auth-tabs button{
    min-height:50px!important;
    font-size:.77rem!important;
  }

  .client-auth-form{
    padding:1rem!important;
  }
}

/* Short landscape screens */
@media(max-height:620px) and (orientation:landscape) and (max-width:1000px){
  .client-auth-shell{
    min-height:auto!important;
  }

  .client-auth-grid{
    padding:.7rem 0 1rem!important;
    align-items:start!important;
  }

  .client-auth-intro h1{
    font-size:2.5rem!important;
  }

  .client-welcome-note{
    margin-top:.75rem;
  }
}
