:root{--brand:#821623;--soft:#f7e9ec;--brand-soft:#f7e9ec;--text:#20242c;--muted:#6b7280;--line:#dfe3e8;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:#fff}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.login{min-height:100vh;display:grid;grid-template-columns:44% 56%}.login-brand-panel{background:var(--brand);color:#fff;padding:64px;display:flex;flex-direction:column;justify-content:space-between}.brand,.mini-brand,.profile,.topbar-left{display:flex;align-items:center;gap:12px}.logo,.mini-logo{display:grid;place-items:center;background:#fff;color:var(--brand);font-weight:900}.logo{width:54px;height:54px;border-radius:8px}.mini-logo{width:38px;height:38px;background:var(--brand);color:#fff;border-radius:6px}.brand small{display:block;opacity:.72;margin-top:3px}.login-copy h1{font-size:58px;line-height:1.04;letter-spacing:-.05em;margin:0}.login-copy p{max-width:540px;line-height:1.7;opacity:.78;font-size:17px}.login-form-panel{display:grid;place-items:center;padding:48px}.login-form{width:100%;max-width:460px}.login-form h2{font-size:38px;letter-spacing:-.04em;margin:0}.login-form p{color:var(--muted);margin-bottom:28px}.login-form label{display:block;font-size:13px;font-weight:700;margin:18px 0 8px}.login-form input{width:100%;padding:14px;border:1px solid #cfd5dc;border-radius:8px}.login-form button{width:100%;margin-top:22px;padding:14px;background:var(--brand);color:#fff;border:0;border-radius:8px;font-weight:800}.practice,.error{margin-top:18px;padding:14px;border-radius:8px;font-size:12px;line-height:1.6}.practice{background:#f7f8fa;border:1px solid var(--line);color:var(--muted)}.error{background:#fff0f3;color:var(--brand)}
.topbar{min-height:74px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}.topbar-left{gap:34px}.topbar nav{display:flex;gap:22px}.topbar nav a{padding:27px 0 22px;color:var(--muted);font-weight:700;border-bottom:3px solid transparent}.topbar nav a.active{color:var(--brand);border-color:var(--brand)}.profile .initials{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--brand);font-weight:800}.profile strong,.profile small{display:block}.profile small{font-size:11px;color:var(--muted);margin-top:2px}
.page{max-width:1400px;margin:auto;padding:42px 38px 60px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:28px;border-bottom:1px solid var(--line)}.intro h1{font-size:40px;letter-spacing:-.045em;margin:0}.intro p{color:var(--muted);margin:9px 0 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.metrics>div{padding:24px;border-right:1px solid var(--line)}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics span{display:block;color:var(--muted);font-size:12px;font-weight:700}.metrics strong{display:block;font-size:30px;margin-top:6px}.section{padding:34px 0;border-bottom:1px solid var(--line)}.section-title h2{margin:0}.section-title p{color:var(--muted);font-size:13px;margin:6px 0 20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding:12px 14px;border-bottom:1px solid var(--line)}td{padding:19px 14px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}td small{display:block;color:var(--muted);margin-top:5px}.status{display:inline-flex;align-items:center;gap:7px;font-weight:800}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand)}.progress{height:5px;background:#edf0f3;margin-top:10px;min-width:140px}.progress i{display:block;height:100%;background:var(--brand)}.link-button{border:0;background:transparent;color:var(--brand);font-weight:800;padding:0}.timeline>div{display:grid;grid-template-columns:180px 1fr;gap:24px}.timeline time{color:var(--muted);font-size:12px}.timeline article{border-left:1px solid var(--line);padding:0 0 26px 28px;position:relative}.timeline article:before{content:"";position:absolute;left:-5px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--brand)}.timeline article p{color:var(--muted);font-size:12px}.received{color:#1f7a4d;font-weight:800}.file-link{color:var(--brand);font-weight:700}
@media(max-width:900px){.login{grid-template-columns:1fr}.login-brand-panel{min-height:350px;padding:38px 28px}.login-form-panel{padding:38px 22px}.topbar nav{display:none}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.login-copy h1{font-size:40px}.page{padding:28px 20px}.metrics{grid-template-columns:1fr}.metrics>div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.timeline>div{grid-template-columns:1fr;gap:6px}}

.success{margin-top:18px;padding:14px;border-radius:8px;font-size:12px;line-height:1.6;background:#eaf8f0;color:#1f7a4d}
.center-page{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px}
.center-page>div{max-width:520px}
.center-page h1{font-size:38px;letter-spacing:-.04em;margin:22px 0 10px}
.center-page p{color:var(--muted);line-height:1.6}
.primary-link{display:inline-block;margin-top:16px;background:var(--brand);color:#fff;padding:12px 16px;border-radius:8px;font-weight:800}

.setup-page>div{width:100%;max-width:650px;text-align:left}
.setup-page h1{text-align:left}
.setup-page>div>p{text-align:left}
.setup-table{margin:24px 0;width:100%}
.setup-table th{width:45%;text-transform:none;letter-spacing:0;font-size:13px;color:var(--text)}
.setup-table td{font-size:13px}
.setup-page form{margin:22px 0}
.setup-note{font-size:12px!important}

.lookup-form{margin:28px 0;padding-top:24px;border-top:1px solid var(--line)}
.lookup-form label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}
.lookup-form input{width:100%;padding:13px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}
.secondary{border:1px solid var(--line);background:#fff;color:var(--text);padding:13px;border-radius:8px;font-weight:800}
.setup-table small{color:var(--muted)}

.application-list{border-top:1px solid var(--line)}
.application-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.application-row h3{font-size:21px;margin:5px 0 8px;letter-spacing:-.02em}
.client-name{display:block;color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.application-meta,.application-header-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.application-row .progress{max-width:520px}
.application-action{text-align:right;display:grid;gap:10px;justify-items:end}
.action-required{color:var(--brand);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.compact{padding:10px 13px;margin-top:0}
.empty-state{padding:40px 0;color:var(--muted)}
.application-header{padding-bottom:30px;border-bottom:1px solid var(--line)}
.application-header h1{font-size:42px;letter-spacing:-.045em;margin:8px 0 12px}
.back-link{display:inline-block;margin-bottom:28px;color:var(--muted);font-weight:700;font-size:13px}
.stage-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.stage{position:relative;padding:30px 14px 0 0;color:var(--muted);font-size:12px}
.stage:before{content:"";position:absolute;top:8px;left:0;right:0;height:2px;background:var(--line)}
.stage-marker{position:absolute;top:2px;left:0;width:14px;height:14px;border-radius:50%;background:#cfd5dc;z-index:2;box-shadow:0 0 0 4px #fff}
.stage.completed{color:var(--text)}
.stage.completed:before,.stage.completed .stage-marker{background:var(--brand)}
.stage.current{color:var(--brand)}
.stage.current .stage-marker{background:var(--brand);box-shadow:0 0 0 5px var(--soft)}
.detail-table{width:100%;border-collapse:collapse}
.detail-table th{width:220px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--text)}
.activity-timeline{max-width:900px}
.muted{color:var(--muted)}
@media(max-width:700px){
  .application-row{grid-template-columns:1fr}
  .application-action{justify-items:start;text-align:left}
  .stage-timeline{grid-template-columns:1fr}
  .stage{padding:0 0 22px 30px}
  .stage:before{top:0;bottom:0;left:6px;right:auto;width:2px;height:auto}
  .stage-marker{top:0;left:0}
}

/* Polished candidate dashboard */
.dashboard-page{
  max-width:1400px;
  margin:0 auto;
  padding:38px 38px 70px;
}

.dashboard-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  padding:34px 0 30px;
  border-bottom:1px solid var(--line);
}

.dashboard-eyebrow,
.section-kicker{
  display:block;
  color:var(--brand);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.dashboard-hero h1{
  margin:8px 0 10px;
  font-size:46px;
  letter-spacing:-.05em;
  line-height:1.03;
}

.dashboard-hero p{
  max-width:720px;
  margin:0;
  color:var(--muted);
  line-height:1.65;
  font-size:15px;
}

.dashboard-hero-meta{
  text-align:right;
  color:var(--text);
}

.dashboard-hero-meta span{
  display:block;
  font-weight:800;
  font-size:14px;
}

.dashboard-hero-meta small{
  display:block;
  color:var(--muted);
  margin-top:6px;
}

.dashboard-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
}

.dashboard-summary>div{
  padding:22px 24px;
  border-right:1px solid var(--line);
}

.dashboard-summary>div:first-child{
  padding-left:0;
}

.dashboard-summary>div:last-child{
  border-right:0;
}

.dashboard-summary span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.dashboard-summary strong{
  display:block;
  margin-top:5px;
  font-size:30px;
  letter-spacing:-.04em;
}

.next-step-section,
.dashboard-section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
}

.section-heading-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-end;
  margin-bottom:20px;
}

.section-heading-row h2{
  margin:6px 0 0;
  font-size:27px;
  letter-spacing:-.03em;
}

.section-heading-row p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
}

.next-step-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:26px;
  padding:22px 0;
  border-top:1px solid var(--line);
}

.next-step-row:last-child{
  border-bottom:1px solid var(--line);
}

.next-step-client{
  display:block;
  color:var(--brand);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}

.next-step-row strong{
  display:block;
  margin-top:4px;
  font-size:18px;
}

.next-step-row p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
}

.next-step-row small{
  display:block;
  margin-top:5px;
  color:var(--brand);
  font-weight:800;
}

.dashboard-button{
  display:inline-block;
  background:var(--brand);
  color:#fff;
  padding:12px 16px;
  border-radius:8px;
  font-weight:800;
  white-space:nowrap;
}

.no-action-row{
  display:flex;
  gap:14px;
  align-items:center;
  padding:22px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.no-action-check{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eaf8f0;
  color:#1f7a4d;
  font-weight:900;
}

.no-action-row p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:13px;
}

.dashboard-applications{
  border-top:1px solid var(--line);
}

.dashboard-application{
  padding:26px 0 30px;
  border-bottom:1px solid var(--line);
}

.dashboard-application-top{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
}

.application-client{
  display:block;
  color:var(--brand);
  text-transform:uppercase;
  font-weight:900;
  font-size:11px;
  letter-spacing:.09em;
}

.dashboard-application h3{
  margin:5px 0 9px;
  font-size:22px;
  letter-spacing:-.025em;
}

.application-status-line{
  display:flex;
  gap:8px 14px;
  flex-wrap:wrap;
  align-items:center;
  color:var(--muted);
  font-size:12px;
}

.application-status-line strong{
  color:var(--text);
}

.application-status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--brand);
}

.application-detail-link{
  color:var(--brand);
  font-weight:900;
  font-size:13px;
  white-space:nowrap;
}

.application-progress-bar{
  height:7px;
  margin-top:20px;
  background:#edf0f3;
  border-radius:999px;
  overflow:hidden;
}

.application-progress-bar span{
  display:block;
  height:100%;
  background:var(--brand);
  border-radius:inherit;
}

.application-stage-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin-top:16px;
}

.application-stage{
  position:relative;
  padding-top:18px;
  color:#9aa1aa;
  font-size:11px;
}

.application-stage:before{
  content:"";
  position:absolute;
  top:6px;
  left:8px;
  right:0;
  height:2px;
  background:#dfe3e8;
}

.application-stage:last-child:before{
  display:none;
}

.application-stage-marker{
  position:absolute;
  top:1px;
  left:0;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#cfd5dc;
  z-index:2;
  box-shadow:0 0 0 4px #fff;
}

.application-stage.completed,
.application-stage.current{
  color:var(--text);
}

.application-stage.completed:before,
.application-stage.completed .application-stage-marker{
  background:var(--brand);
}

.application-stage.current .application-stage-marker{
  background:var(--brand);
  box-shadow:0 0 0 5px var(--soft);
}

.dashboard-activity{
  max-width:960px;
}

.dashboard-activity-row{
  display:grid;
  grid-template-columns:150px 24px 1fr;
  gap:12px;
  min-height:78px;
}

.dashboard-activity-date{
  color:var(--muted);
  font-size:12px;
  padding-top:3px;
}

.dashboard-activity-line{
  position:relative;
}

.dashboard-activity-line:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:8px;
  width:1px;
  background:var(--line);
}

.dashboard-activity-line span{
  position:absolute;
  top:3px;
  left:4px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--brand);
}

.dashboard-activity-row strong{
  display:block;
  font-size:14px;
}

.dashboard-activity-row p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.dashboard-empty{
  padding:28px 0;
  color:var(--muted);
}

.dashboard-empty p{
  margin:6px 0 0;
}

@media(max-width:900px){
  .dashboard-summary{
    grid-template-columns:repeat(2,1fr);
  }

  .dashboard-summary>div:nth-child(2){
    border-right:0;
  }

  .dashboard-summary>div:nth-child(3),
  .dashboard-summary>div:nth-child(4){
    border-top:1px solid var(--line);
  }

  .dashboard-hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .dashboard-hero-meta{
    text-align:left;
  }
}

@media(max-width:650px){
  .dashboard-page{
    padding:24px 20px 48px;
  }

  .dashboard-hero h1{
    font-size:36px;
  }

  .dashboard-summary{
    grid-template-columns:1fr;
  }

  .dashboard-summary>div{
    padding:18px 0;
    border-right:0;
    border-top:1px solid var(--line);
  }

  .dashboard-summary>div:first-child{
    border-top:0;
  }

  .next-step-row,
  .dashboard-application-top{
    align-items:flex-start;
    flex-direction:column;
  }

  .application-stage-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .application-stage{
    padding:0 0 0 25px;
    min-height:22px;
  }

  .application-stage:before{
    top:10px;
    bottom:-12px;
    left:5px;
    right:auto;
    width:2px;
    height:auto;
  }

  .application-stage:last-child:before{
    display:none;
  }

  .application-stage-marker{
    top:3px;
  }

  .dashboard-activity-row{
    grid-template-columns:1fr;
    gap:5px;
    padding-bottom:22px;
  }

  .dashboard-activity-line{
    display:none;
  }
}

/* Application detail refinement */
.application-detail-page{
  max-width:1300px;
  margin:0 auto;
  padding:38px 38px 70px;
}

.application-detail-header{
  padding:22px 0 30px;
  border-bottom:1px solid var(--line);
}

.application-detail-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
}

.application-detail-client{
  display:block;
  color:var(--brand);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}

.application-detail-title-row h1{
  margin:7px 0 12px;
  font-size:43px;
  line-height:1.07;
  letter-spacing:-.045em;
}

.application-detail-meta{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:12px;
}

.detail-status-badge{
  display:inline-flex;
  padding:9px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.detail-status-badge.active{
  background:var(--soft);
  color:var(--brand);
}

.detail-status-badge.attention{
  background:#fff6df;
  color:#8a6500;
}

.detail-status-badge.completed{
  background:#f1f3f5;
  color:#5b6470;
}

.detail-status-badge.success{
  background:#eaf8f0;
  color:#1f7a4d;
}

.application-status-overview{
  display:grid;
  grid-template-columns:1fr minmax(260px,.45fr);
  gap:34px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}

.application-status-overview h2{
  margin:7px 0 9px;
  font-size:27px;
  letter-spacing:-.03em;
}

.application-status-overview p{
  max-width:750px;
  margin:0;
  color:var(--muted);
  line-height:1.65;
  font-size:14px;
}

.application-next-step{
  padding-left:28px;
  border-left:3px solid var(--brand);
}

.application-next-step span{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}

.application-next-step strong{
  display:block;
  margin-top:7px;
  font-size:14px;
  line-height:1.5;
}

.application-status-overview.completed .application-next-step{
  border-left-color:#9aa1aa;
}

.application-status-overview.attention .application-next-step{
  border-left-color:#b27a00;
}

.application-status-overview.success .application-next-step{
  border-left-color:#1f7a4d;
}

.application-detail-section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
}

.detail-stage-timeline{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin-top:28px;
}

.detail-stage{
  position:relative;
  padding:34px 15px 0 0;
  color:#9aa1aa;
  font-size:12px;
}

.detail-stage:before{
  content:"";
  position:absolute;
  top:11px;
  left:16px;
  right:0;
  height:2px;
  background:var(--line);
}

.detail-stage:last-child:before{
  display:none;
}

.detail-stage-marker{
  position:absolute;
  top:2px;
  left:0;
  width:20px;
  height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#d6dbe1;
  color:#fff;
  font-size:11px;
  font-weight:900;
  z-index:2;
  box-shadow:0 0 0 5px #fff;
}

.detail-stage.completed,
.detail-stage.current{
  color:var(--text);
}

.detail-stage.completed:before,
.detail-stage.completed .detail-stage-marker{
  background:var(--brand);
}

.detail-stage.current .detail-stage-marker{
  background:var(--brand);
  box-shadow:0 0 0 6px var(--soft);
}

.application-activity{
  max-width:980px;
}

.detail-document-list{
  border-top:1px solid var(--line);
}

.detail-document-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.detail-document-row strong{
  display:block;
  font-size:14px;
}

.detail-document-row span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
}

.document-availability{
  margin-top:0!important;
}

@media(max-width:760px){
  .application-detail-page{
    padding:24px 20px 50px;
  }

  .application-detail-title-row,
  .application-status-overview{
    grid-template-columns:1fr;
    flex-direction:column;
    align-items:flex-start;
  }

  .application-detail-title-row h1{
    font-size:35px;
  }

  .application-status-overview{
    display:grid;
  }

  .application-next-step{
    padding-left:16px;
  }

  .detail-stage-timeline{
    grid-template-columns:1fr;
  }

  .detail-stage{
    padding:0 0 24px 34px;
    min-height:24px;
  }

  .detail-stage:before{
    top:18px;
    bottom:-6px;
    left:9px;
    right:auto;
    width:2px;
    height:auto;
  }

  .detail-stage-marker{
    top:0;
  }

  .detail-document-row{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Real candidate document experience */
.documents-page{
  max-width:1300px;
  margin:0 auto;
  padding:42px 38px 70px;
}

.documents-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.documents-header h1{
  margin:7px 0 9px;
  font-size:43px;
  letter-spacing:-.045em;
}

.documents-header p{
  margin:0;
  color:var(--muted);
}

.documents-total{
  text-align:right;
}

.documents-total strong{
  display:block;
  font-size:32px;
  letter-spacing:-.04em;
}

.documents-total span{
  display:block;
  color:var(--muted);
  font-size:12px;
}

.documents-group{
  padding:32px 0;
  border-bottom:1px solid var(--line);
}

.documents-group-heading span{
  display:block;
  color:var(--brand);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.documents-group-heading h2{
  margin:6px 0 18px;
  font-size:24px;
  letter-spacing:-.03em;
}

.documents-list{
  border-top:1px solid var(--line);
}

.document-row-new{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:15px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}

.document-type-icon{
  width:40px;
  height:40px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:var(--soft);
  color:var(--brand);
  font-weight:900;
}

.document-copy strong{
  display:block;
  font-size:14px;
}

.document-copy span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}

.document-copy small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
}

.document-open-link{
  color:var(--brand);
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}

.documents-empty{
  padding:42px 0;
  border-bottom:1px solid var(--line);
}

.documents-empty p{
  margin:7px 0 0;
  color:var(--muted);
}

.documents-security-note{
  margin-top:26px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}

.document-error-page{
  min-height:calc(100vh - 74px);
  display:grid;
  place-items:center;
  padding:40px;
  text-align:center;
}

.document-error-page>div{
  max-width:600px;
}

.document-error-page h1{
  margin:22px 0 10px;
  font-size:38px;
  letter-spacing:-.04em;
}

.document-error-page p{
  color:var(--muted);
  line-height:1.7;
}

@media(max-width:650px){
  .documents-page{
    padding:28px 20px 50px;
  }

  .documents-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .documents-total{
    text-align:left;
  }

  .document-row-new{
    grid-template-columns:42px 1fr;
  }

  .document-open-link{
    grid-column:2;
  }
}

.documents-empty small{
  display:block;
  margin-top:10px;
  color:var(--muted);
  font-size:11px;
}

/* Interview details */
.interview-list{
  border-top:1px solid var(--line);
}

.interview-entry{
  padding:26px 0;
  border-bottom:1px solid var(--line);
}

.interview-entry-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.interview-entry-heading h3{
  margin:6px 0 0;
  font-size:22px;
  letter-spacing:-.025em;
}

.interview-status{
  display:block;
  color:var(--brand);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.interview-details-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin:22px 0 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.interview-details-grid>div{
  padding:18px 18px 18px 0;
  border-right:1px solid var(--line);
}

.interview-details-grid>div:not(:first-child){
  padding-left:18px;
}

.interview-details-grid>div:last-child{
  border-right:0;
}

.interview-details-grid dt{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.interview-details-grid dd{
  margin:7px 0 0;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
}

.interview-details-grid dd small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  font-weight:500;
}

.interview-extra{
  margin-top:18px;
}

.interview-extra strong{
  display:block;
  font-size:13px;
}

.interview-extra p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.interview-join-button{
  margin-top:20px;
}

@media(max-width:850px){
  .interview-details-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .interview-details-grid>div:nth-child(2){
    border-right:0;
  }

  .interview-details-grid>div:nth-child(3),
  .interview-details-grid>div:nth-child(4){
    border-top:1px solid var(--line);
  }
}

@media(max-width:600px){
  .interview-entry-heading{
    flex-direction:column;
  }

  .interview-details-grid{
    grid-template-columns:1fr;
  }

  .interview-details-grid>div,
  .interview-details-grid>div:not(:first-child){
    padding:15px 0;
    border-right:0;
    border-top:1px solid var(--line);
  }

  .interview-details-grid>div:first-child{
    border-top:0;
  }
}

/* Version 0.6 notifications */
.notification-nav-link{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
}

.notification-badge{
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:var(--brand);
  color:#fff;
  font-size:10px;
  font-weight:900;
}

.dashboard-notification-list{
  border-top:1px solid var(--line);
}

.dashboard-notification-row{
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:14px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}

.dashboard-notification-row.unread{
  background:linear-gradient(90deg,var(--soft),transparent 70%);
}

.dashboard-notification-icon,
.notification-center-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--soft);
  color:var(--brand);
  font-size:12px;
  font-weight:900;
}

.dashboard-notification-row strong{
  display:block;
  font-size:14px;
}

.dashboard-notification-row p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12px;
}

.dashboard-notification-row small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}

.notification-open-button{
  border:0;
  background:transparent;
  color:var(--brand);
  padding:0;
  font-weight:900;
  white-space:nowrap;
}

.notifications-page{
  max-width:1200px;
  margin:0 auto;
  padding:42px 38px 70px;
}

.notifications-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.notifications-header h1{
  margin:7px 0 9px;
  font-size:43px;
  letter-spacing:-.045em;
}

.notifications-header p{
  margin:0;
  color:var(--muted);
}

.notification-center-list{
  border-top:0;
}

.notification-center-row{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:16px;
  align-items:flex-start;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.notification-center-row.unread{
  background:linear-gradient(90deg,var(--soft),transparent 72%);
}

.notification-center-title-row{
  display:flex;
  gap:10px;
  align-items:center;
}

.notification-center-title-row strong{
  font-size:15px;
}

.notification-center-title-row span{
  color:var(--brand);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.notification-center-copy p{
  margin:6px 0 0;
  color:var(--muted);
  line-height:1.55;
  font-size:13px;
}

.notification-center-copy small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:11px;
}

.notifications-empty{
  padding:46px 0;
  text-align:center;
}

.notifications-empty p{
  color:var(--muted);
}

.admin-notification-form{
  margin:24px 0;
}

.admin-notification-form label{
  display:block;
  margin:16px 0 7px;
  font-size:13px;
  font-weight:800;
}

.admin-notification-form input,
.admin-notification-form select,
.admin-notification-form textarea{
  width:100%;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.admin-notification-form textarea{
  min-height:120px;
  resize:vertical;
}

.admin-checkbox{
  display:flex!important;
  align-items:center;
  gap:8px;
}

.admin-checkbox input{
  width:auto;
}

@media(max-width:650px){
  .notifications-page{
    padding:28px 20px 50px;
  }

  .notifications-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .dashboard-notification-row,
  .notification-center-row{
    grid-template-columns:40px 1fr;
  }

  .dashboard-notification-row form,
  .notification-center-row form{
    grid-column:2;
  }
}

/* Version 0.7 career profile */
.career-profile-page{
  max-width:1200px;
  margin:0 auto;
  padding:42px 38px 70px;
}

.career-profile-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.career-profile-header h1{
  margin:7px 0 9px;
  font-size:43px;
  letter-spacing:-.045em;
}

.career-profile-header p{
  margin:0;
  color:var(--muted);
}

.profile-completeness-summary{
  text-align:right;
}

.profile-completeness-summary strong{
  display:block;
  font-size:34px;
  letter-spacing:-.04em;
}

.profile-completeness-summary span{
  color:var(--muted);
  font-size:12px;
}

.profile-message{
  margin-top:22px;
  padding:14px 16px;
  border-radius:8px;
  font-size:13px;
}

.profile-completeness-section{
  padding:24px 0 30px;
  border-bottom:1px solid var(--line);
}

.profile-completeness-bar{
  height:9px;
  background:#edf0f3;
  border-radius:999px;
  overflow:hidden;
}

.profile-completeness-bar span{
  display:block;
  height:100%;
  background:var(--brand);
  border-radius:inherit;
}

.profile-completeness-section p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:12px;
}

.career-profile-section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
}

.career-profile-section-heading{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  margin-bottom:22px;
}

.career-profile-section-heading>span{
  color:var(--brand);
  font-size:12px;
  font-weight:900;
}

.career-profile-section-heading h2{
  margin:0;
  font-size:25px;
  letter-spacing:-.03em;
}

.career-profile-section-heading p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
}

.profile-field-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin:0 0 18px 56px;
}

.profile-field-grid.three{
  grid-template-columns:repeat(3,1fr);
}

.profile-field-grid.four{
  grid-template-columns:repeat(4,1fr);
}

.profile-field-grid label{
  display:block;
  font-size:12px;
  font-weight:800;
}

.profile-field-grid input{
  width:100%;
  margin-top:8px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.profile-field-grid input:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px var(--soft);
}

.profile-field-grid input:disabled{
  background:#f5f6f8;
  color:var(--muted);
}

.profile-field-grid small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:10px;
  font-weight:500;
}

.full-field{
  grid-column:1/-1;
}

.profile-save-row{
  display:flex;
  justify-content:flex-end;
  padding:26px 0 0;
}



.profile-audit-list{
  margin-left:56px;
  border-top:1px solid var(--line);
}

.profile-audit-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}

.profile-audit-row strong{
  display:block;
  font-size:13px;
}

.profile-audit-row span,
.profile-audit-row small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}

.profile-audit-row>div:last-child{
  text-align:right;
}

.profile-audit-status{
  display:inline-block!important;
  margin:0!important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.profile-audit-status.completed{
  color:#1f7a4d;
}

.profile-audit-status.failed{
  color:var(--brand);
}

@media(max-width:850px){
  .profile-field-grid.three,
  .profile-field-grid.four{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:650px){
  .career-profile-page{
    padding:28px 20px 50px;
  }

  .career-profile-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .profile-completeness-summary{
    text-align:left;
  }

  .profile-field-grid,
  .profile-field-grid.three,
  .profile-field-grid.four{
    grid-template-columns:1fr;
    margin-left:0;
  }

  .profile-audit-list{
    margin-left:0;
  }

  .profile-audit-row{
    flex-direction:column;
  }

  .profile-audit-row>div:last-child{
    text-align:left;
  }
}

/* Candidate Tasks */
.tasks-page{
  max-width:1200px;
  margin:0 auto;
  padding:42px 38px 70px;
}

.tasks-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.tasks-header h1{
  margin:7px 0 9px;
  font-size:43px;
  letter-spacing:-.045em;
}

.tasks-header p{
  margin:0;
  color:var(--muted);
}

.tasks-summary{
  text-align:right;
}

.tasks-summary strong{
  display:block;
  font-size:32px;
  letter-spacing:-.04em;
}

.tasks-summary span{
  display:block;
  color:var(--muted);
  font-size:12px;
}

.task-list{
  border-top:0;
}

.task-row{
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:16px;
  align-items:flex-start;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.task-status-marker{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--brand-soft);
  color:var(--brand);
  font-weight:900;
}

.task-row.completed .task-status-marker{
  background:#eaf8f0;
  color:#1f7a4d;
}

.task-row.overdue .task-status-marker{
  background:#fff0f3;
  color:var(--brand);
}

.task-title-row span{
  display:block;
  color:var(--brand);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.task-title-row strong{
  display:block;
  margin-top:4px;
  font-size:15px;
}

.task-copy p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.task-copy small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:11px;
}

.task-overdue-text{
  color:var(--brand)!important;
  font-weight:800;
}

.task-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.task-completed-label{
  color:#1f7a4d;
  font-size:12px;
  font-weight:900;
}

.tasks-empty{
  padding:46px 0;
  text-align:center;
}

.tasks-empty p{
  color:var(--muted);
}

@media(max-width:650px){
  .tasks-page{
    padding:28px 20px 50px;
  }

  .tasks-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .tasks-summary{
    text-align:left;
  }

  .task-row{
    grid-template-columns:40px 1fr;
  }

  .task-actions{
    grid-column:2;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}

/* Communication Preferences */
.preferences-page{
  max-width:1100px;
  margin:0 auto;
  padding:42px 38px 70px;
}

.preferences-header{
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.preferences-header h1{
  margin:7px 0 9px;
  font-size:43px;
  letter-spacing:-.045em;
}

.preferences-header p{
  margin:0;
  color:var(--muted);
}

.preferences-section{
  padding:32px 0;
  border-bottom:1px solid var(--line);
}

.preferences-section-heading{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  margin-bottom:18px;
}

.preferences-section-heading>span{
  color:var(--brand);
  font-size:12px;
  font-weight:900;
}

.preferences-section-heading h2{
  margin:0;
  font-size:25px;
  letter-spacing:-.03em;
}

.preferences-section-heading p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
}

.preference-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:17px 0 17px 56px;
  border-top:1px solid var(--line);
}

.preference-row strong{
  display:block;
  font-size:14px;
}

.preference-row p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.preference-row input[type="checkbox"]{
  width:20px;
  height:20px;
  accent-color:var(--brand);
  flex:0 0 auto;
}

.preferences-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-left:56px;
}

.preferences-fields label{
  font-size:12px;
  font-weight:800;
}

.preferences-fields select,
.preferences-fields input{
  width:100%;
  margin-top:8px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.preferences-save-row{
  display:flex;
  justify-content:flex-end;
  padding-top:26px;
}

@media(max-width:650px){
  .preferences-page{
    padding:28px 20px 50px;
  }

  .preference-row{
    padding-left:0;
  }

  .preferences-fields{
    grid-template-columns:1fr;
    margin-left:0;
  }

  .preferences-save-row{
    justify-content:flex-start;
  }
}

/* Version 1.0 Automation Operations */
.automation-admin-page{
  max-width:1400px;
  margin:0 auto;
  padding:42px 38px 70px;
}

.automation-admin-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.automation-admin-header h1{
  margin:18px 0 8px;
  font-size:40px;
  letter-spacing:-.04em;
}

.automation-admin-header p{
  margin:0;
  color:var(--muted);
}

.automation-admin-header>div:last-child{
  text-align:right;
}

.automation-admin-header>div:last-child strong,
.automation-admin-header>div:last-child span{
  display:block;
}

.automation-admin-header>div:last-child span{
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
}

.automation-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
}

.automation-summary>div{
  padding:22px 20px;
  border-right:1px solid var(--line);
}

.automation-summary>div:last-child{
  border-right:0;
}

.automation-summary span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}

.automation-summary strong{
  display:block;
  margin-top:6px;
  font-size:15px;
}

.automation-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:25px 0;
  border-bottom:1px solid var(--line);
}

.automation-jobs,
.automation-history{
  padding:30px 0;
  border-bottom:1px solid var(--line);
  overflow-x:auto;
}

.automation-jobs h2,
.automation-history h2{
  margin:0 0 16px;
  font-size:24px;
}

.automation-jobs table,
.automation-history table{
  min-width:900px;
}

.automation-footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  padding-top:25px;
}

@media(max-width:800px){
  .automation-admin-page{
    padding:28px 20px 50px;
  }

  .automation-admin-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .automation-admin-header>div:last-child{
    text-align:left;
  }

  .automation-summary{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:500px){
  .automation-summary{
    grid-template-columns:1fr;
  }

  .automation-summary>div{
    border-right:0;
    border-top:1px solid var(--line);
  }
}

/* Client Portal Phase 2 */
.client-activity-list{border-top:1px solid var(--line)}
.client-activity-row{display:flex;justify-content:space-between;gap:22px;padding:17px 0;border-bottom:1px solid var(--line)}
.client-activity-row strong{display:block;font-size:13px}
.client-activity-row p{margin:5px 0 0;color:var(--muted);font-size:12px}
.client-activity-row small{color:var(--muted);font-size:10px;white-space:nowrap}
.client-search-overview{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.client-search-overview>div{padding:20px;border-right:1px solid var(--line)}
.client-search-overview>div:first-child{padding-left:0}
.client-search-overview>div:last-child{border-right:0}
.client-search-overview span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.client-search-overview strong{display:block;margin-top:6px;font-size:24px}

.client-select-box input{width:18px;height:18px;accent-color:var(--brand)}

.client-compare-action span{color:var(--muted);font-size:11px}
.client-compare-grid{display:grid;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:28px;overflow-x:auto}
.client-compare-grid.count-2{grid-template-columns:repeat(2,minmax(360px,1fr))}
.client-compare-grid.count-3{grid-template-columns:repeat(3,minmax(340px,1fr))}
.client-compare-grid.count-4{grid-template-columns:repeat(4,minmax(320px,1fr))}
.client-compare-column{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.client-compare-heading h2{margin:0 0 7px;font-size:21px}
.client-compare-heading span{color:var(--brand);font-size:11px;font-weight:800}
.client-compare-column dl{margin:22px 0}
.client-compare-column dl>div{padding:12px 0;border-top:1px solid var(--line)}
.client-compare-column dt{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.client-compare-column dd{margin:5px 0 0;font-size:13px;font-weight:700}
.client-compare-section{padding:18px 0;border-top:1px solid var(--line)}
.client-compare-section h3{margin:0 0 12px;font-size:15px}
.client-compare-section p,.client-compare-section pre{color:var(--muted);font-size:11px;white-space:pre-wrap}
@media(max-width:800px){
  .client-search-overview{grid-template-columns:repeat(2,1fr)}
  
  .client-candidate-select-row>div:nth-child(3),.client-candidate-select-row>a{grid-column:2}
}
@media(max-width:520px){
  .client-search-overview{grid-template-columns:1fr}
  .client-activity-row{flex-direction:column}
}

/* Spark Hire Client Setup */
.client-setup-page{
  max-width:1400px;
  margin:0 auto;
  padding:42px 38px 70px;
}

.client-setup-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
}

.client-setup-header .mini-logo{
  display:block;
  margin-bottom:26px;
}

.client-setup-header h1{
  margin:7px 0 9px;
  font-size:43px;
  letter-spacing:-.045em;
}

.client-setup-header p{
  max-width:720px;
  margin:0;
  color:var(--muted);
  line-height:1.6;
}

.client-setup-message{
  margin-top:22px;
}

.client-setup-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line);
}

.client-setup-summary>div{
  padding:22px 22px;
  border-right:1px solid var(--line);
}

.client-setup-summary>div:first-child{
  padding-left:0;
}

.client-setup-summary>div:last-child{
  border-right:0;
}

.client-setup-summary span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.client-setup-summary strong{
  display:block;
  margin-top:7px;
  font-size:22px;
}

.client-setup-section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
}

.client-setup-section .section-heading-row p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
}

.client-setup-form{
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr 1fr auto;
  gap:16px;
  align-items:end;
  margin-top:22px;
}



.client-setup-form label{
  display:block;
  font-size:11px;
  font-weight:800;
}

.client-setup-form input,
.client-setup-form select{
  width:100%;
  min-height:43px;
  margin-top:8px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.client-setup-form input:focus,
.client-setup-form select:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px var(--brand-soft);
}

.client-admin-list{
  margin-top:22px;
  border-top:1px solid var(--line);
}

.client-admin-row{
  display:grid;
  grid-template-columns:minmax(250px,.8fr) 1fr 1.5fr;
  gap:28px;
  align-items:start;
  padding:23px 0;
  border-bottom:1px solid var(--line);
}

.client-admin-identity{
  display:flex;
  align-items:center;
  gap:13px;
}

.client-admin-initial{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--brand-soft);
  color:var(--brand);
  font-weight:900;
}

.client-admin-identity h3{
  margin:0;
  font-size:16px;
}

.client-admin-identity p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:11px;
}

.client-admin-detail>span{
  display:block;
  margin-bottom:9px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.client-admin-detail strong,
.client-admin-detail small{
  display:block;
}

.client-admin-detail strong{
  margin-top:7px;
  font-size:12px;
}

.client-admin-detail small{
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}

.client-admin-detail em,
.client-setup-empty{
  color:var(--muted);
  font-size:12px;
  font-style:normal;
}

.client-setup-empty{
  padding:24px 0;
}

.client-setup-footer{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  padding-top:25px;
}

.client-setup-footer a{
  color:var(--brand);
  font-size:12px;
  font-weight:900;
}

@media(max-width:1000px){
  .client-setup-form{
    grid-template-columns:repeat(2,1fr);
  }

  .client-setup-form button{
    justify-self:start;
  }

  .client-admin-row{
    grid-template-columns:1fr 1fr;
  }

  .client-admin-identity{
    grid-column:1/-1;
  }
}

@media(max-width:650px){
  .client-setup-page{
    padding:28px 20px 50px;
  }

  .client-setup-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .client-setup-summary{
    grid-template-columns:1fr;
  }

  .client-setup-summary>div{
    padding:17px 0;
    border-right:0;
    border-top:1px solid var(--line);
  }

  .client-setup-form,
  .client-admin-row{
    grid-template-columns:1fr;
  }

  .client-admin-identity{
    grid-column:auto;
  }
}

.primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  padding:11px 16px;
  border:1px solid var(--brand);
  border-radius:8px;
  background:var(--brand);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.primary:hover{
  background:#68111c;
  border-color:#68111c;
}

/* Polished Client Login */
.client-login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(420px,44%) 1fr;
  background:#fff;
}

.client-login-brand{
  min-height:100vh;
  padding:58px 62px;
  background:var(--brand);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.client-login-brand-top{
  display:flex;
  align-items:center;
  gap:13px;
}

.client-login-logo{
  width:54px;
  height:54px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--brand);
  font-size:17px;
  font-weight:900;
}

.client-login-brand-top strong,
.client-login-brand-top small{
  display:block;
}

.client-login-brand-top strong{
  font-size:16px;
}

.client-login-brand-top small{
  margin-top:4px;
  color:rgba(255,255,255,.7);
  font-size:12px;
}

.client-login-brand-copy{
  max-width:590px;
}

.client-login-brand-copy>span{
  display:block;
  margin-bottom:15px;
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.client-login-brand-copy h1{
  margin:0;
  max-width:560px;
  font-size:58px;
  line-height:1.04;
  letter-spacing:-.055em;
}

.client-login-brand-copy p{
  max-width:560px;
  margin:24px 0 0;
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.7;
}

.client-login-brand-footer{
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:700;
}

.client-login-form-panel{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:52px;
}

.client-login-form-wrap{
  width:min(500px,100%);
}

.client-login-form-wrap h2{
  margin:8px 0 10px;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-.045em;
}

.client-login-form-wrap>p{
  margin:0 0 28px;
  color:var(--muted);
  line-height:1.65;
  font-size:14px;
}

.client-login-form-wrap form{
  margin-top:22px;
}

.client-login-form-wrap label{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  font-weight:800;
}

.client-login-form-wrap input{
  width:100%;
  min-height:52px;
  padding:13px 14px;
  border:1px solid #cfd5dc;
  border-radius:9px;
  background:#fff;
}

.client-login-form-wrap input:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px var(--soft);
}

.client-login-submit{
  width:100%;
  min-height:52px;
  margin-top:16px;
  font-size:14px;
}

.client-login-message{
  margin:18px 0 0;
}

.client-login-development{
  margin-top:22px;
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.client-login-development strong{
  display:block;
  font-size:13px;
}

.client-login-development p{
  margin:6px 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.client-login-development a{
  color:var(--brand);
  font-size:12px;
  font-weight:900;
}

.client-login-security-note{
  display:grid;
  gap:5px;
  margin-top:24px;
}

.client-login-security-note strong{
  font-size:12px;
}

.client-login-security-note span{
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}

@media(max-width:900px){
  .client-login-shell{
    grid-template-columns:1fr;
  }

  .client-login-brand{
    min-height:390px;
    padding:38px 28px;
  }

  .client-login-brand-copy h1{
    font-size:42px;
  }

  .client-login-brand-copy p{
    font-size:15px;
  }

  .client-login-form-panel{
    min-height:auto;
    padding:46px 24px;
  }
}

@media(max-width:520px){
  .client-login-brand{
    min-height:350px;
  }

  .client-login-brand-copy h1{
    font-size:36px;
  }

  .client-login-form-wrap h2{
    font-size:34px;
  }
}

/* Logged-in Client Portal — polished */
.client-topbar{
  min-height:74px;
  padding:0 34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:20;
  background:#fff;
}

.client-topbar-left{
  display:flex;
  align-items:center;
  gap:36px;
}

.client-topbar-brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:15px;
  font-weight:900;
}

.client-topbar-nav{
  display:flex;
  align-items:center;
  gap:22px;
}

.client-topbar-nav a{
  min-height:74px;
  display:flex;
  align-items:center;
  padding-top:3px;
  border-bottom:3px solid transparent;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}

.client-topbar-nav a.active{
  color:var(--brand);
  border-bottom-color:var(--brand);
}

.client-topbar-account{
  display:flex;
  align-items:center;
  gap:11px;
}

.client-account-initial{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--soft);
  color:var(--brand);
  font-weight:900;
  text-transform:uppercase;
}

.client-topbar-account strong,
.client-topbar-account small{
  display:block;
}

.client-topbar-account strong{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}

.client-topbar-account small{
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}

.client-topbar-account>a{
  margin-left:8px;
  color:var(--brand);
  font-size:11px;
  font-weight:900;
}

.client-dashboard-page{
  max-width:1400px;
  margin:0 auto;
  padding:38px 38px 70px;
}

.client-dashboard-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  padding:34px 0 30px;
  border-bottom:1px solid var(--line);
}

.client-dashboard-hero h1{
  margin:8px 0 10px;
  font-size:46px;
  line-height:1.04;
  letter-spacing:-.05em;
}

.client-dashboard-hero p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}

.client-dashboard-user{
  text-align:right;
}

.client-dashboard-user strong,
.client-dashboard-user span{
  display:block;
}

.client-dashboard-user strong{
  font-size:14px;
}

.client-dashboard-user span{
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}

.client-dashboard-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
}

.client-dashboard-metrics>div{
  min-height:112px;
  padding:23px 24px;
  border-right:1px solid var(--line);
}

.client-dashboard-metrics>div:first-child{
  padding-left:0;
}

.client-dashboard-metrics>div:last-child{
  border-right:0;
}

.client-dashboard-metrics span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}

.client-dashboard-metrics strong{
  display:block;
  margin-top:7px;
  font-size:31px;
  line-height:1;
  letter-spacing:-.04em;
}

.client-dashboard-section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
}

.client-activity-list,
.client-search-list{
  border-top:1px solid var(--line);
}

.client-activity-row{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:13px;
  align-items:flex-start;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}

.client-activity-marker{
  width:9px;
  height:9px;
  margin-top:4px;
  border-radius:50%;
  background:var(--brand);
}

.client-activity-row strong{
  display:block;
  font-size:13px;
}

.client-activity-row p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.client-activity-row small{
  color:var(--muted);
  font-size:10px;
  white-space:nowrap;
}

.client-dashboard-empty{
  display:flex;
  align-items:center;
  gap:14px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}

.client-dashboard-empty strong{
  display:block;
  font-size:13px;
}

.client-dashboard-empty p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:12px;
}

.client-empty-check{
  width:38px;
  height:38px;
  flex:0 0 auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eaf8f0;
  color:#1f7a4d;
  font-weight:900;
}

.client-search-row{
  display:grid;
  grid-template-columns:minmax(270px,1fr) minmax(470px,1.2fr) auto;
  gap:30px;
  align-items:center;
  padding:25px 0;
  border-bottom:1px solid var(--line);
}

.client-search-organization{
  display:block;
  color:var(--brand);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.client-search-copy h3{
  margin:6px 0 8px;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.025em;
}

.client-search-copy p{
  margin:0;
  color:var(--muted);
  font-size:12px;
}

.client-search-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.client-search-stats span{
  color:var(--muted);
  font-size:10px;
  line-height:1.3;
}

.client-search-stats strong{
  display:block;
  margin-bottom:5px;
  color:var(--text);
  font-size:18px;
  line-height:1;
}

.client-search-link{
  color:var(--brand);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

/* Shared logged-in client pages */
.client-page{
  max-width:1400px;
  margin:0 auto;
  padding:38px 38px 70px;
}

.client-page-header{
  padding:24px 0 29px;
  border-bottom:1px solid var(--line);
}

.client-page-header h1{
  margin:7px 0 9px;
  font-size:43px;
  line-height:1.06;
  letter-spacing:-.045em;
}

.client-page-header p{
  margin:0;
  color:var(--muted);
}

.client-section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
}

.client-candidate-list{
  border-top:1px solid var(--line);
}

.client-candidate-row{
  display:grid;
  grid-template-columns:minmax(250px,1fr) minmax(260px,.7fr) auto;
  gap:24px;
  align-items:center;
  padding:21px 0;
  border-bottom:1px solid var(--line);
}

.client-candidate-row h3{
  margin:0 0 6px;
  font-size:18px;
}

.client-candidate-row p{
  margin:0;
  color:var(--muted);
  font-size:12px;
}

.client-candidate-row>div:nth-child(2) strong,
.client-candidate-row>div:nth-child(2) span{
  display:block;
}

.client-candidate-row>div:nth-child(2) span{
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}

.client-candidate-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.client-candidate-summary>div{
  padding:18px;
  border-right:1px solid var(--line);
}

.client-candidate-summary>div:first-child{
  padding-left:0;
}

.client-candidate-summary>div:last-child{
  border-right:0;
}

.client-candidate-summary span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.client-candidate-summary strong{
  display:block;
  margin-top:7px;
  font-size:13px;
}

.client-profile-section{
  padding:20px 0;
  border-top:1px solid var(--line);
}

.client-profile-section h3{
  margin:0 0 12px;
}

.client-profile-section p{
  color:var(--muted);
}

.client-profile-section pre{
  white-space:pre-wrap;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-family:inherit;
  font-size:12px;
}

.client-evaluation-form{
  max-width:960px;
}

.client-rating-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.client-evaluation-form label{
  display:block;
  margin-bottom:16px;
  font-size:12px;
  font-weight:800;
}

.client-evaluation-form select,
.client-evaluation-form textarea{
  width:100%;
  margin-top:8px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.client-evaluation-form textarea{
  min-height:130px;
  resize:vertical;
}

@media(max-width:1050px){
  .client-search-row{
    grid-template-columns:1fr;
    gap:18px;
  }

  .client-search-stats{
    max-width:700px;
  }
}

@media(max-width:850px){
  .client-topbar-nav{
    display:none;
  }

  .client-dashboard-metrics{
    grid-template-columns:repeat(2,1fr);
  }

  .client-dashboard-metrics>div:nth-child(2){
    border-right:0;
  }

  .client-dashboard-metrics>div:nth-child(3),
  .client-dashboard-metrics>div:nth-child(4){
    border-top:1px solid var(--line);
  }

  .client-dashboard-hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .client-dashboard-user{
    text-align:left;
  }

  .client-rating-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:650px){
  .client-topbar{
    padding:0 20px;
  }

  .client-topbar-account>div{
    display:none;
  }

  .client-topbar-account>a{
    margin-left:0;
  }

  .client-dashboard-page,
  .client-page{
    padding:24px 20px 48px;
  }

  .client-dashboard-hero h1,
  .client-page-header h1{
    font-size:36px;
  }

  .client-dashboard-metrics{
    grid-template-columns:1fr;
  }

  .client-dashboard-metrics>div{
    min-height:auto;
    padding:18px 0;
    border-right:0;
    border-top:1px solid var(--line);
  }

  .client-dashboard-metrics>div:first-child{
    border-top:0;
  }

  .client-search-stats{
    grid-template-columns:repeat(2,1fr);
  }

  .client-activity-row{
    grid-template-columns:16px 1fr;
  }

  .client-activity-row small{
    grid-column:2;
  }

  .client-candidate-row{
    grid-template-columns:1fr;
  }

  .client-candidate-summary{
    grid-template-columns:1fr;
  }

  .client-candidate-summary>div{
    padding:15px 0;
    border-right:0;
    border-top:1px solid var(--line);
  }

  .client-rating-grid{
    grid-template-columns:1fr;
  }
}

/* Global Portal Switcher */
.portal-switcher{
  min-height:34px;
  padding:0 28px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  border-bottom:1px solid #3f281d;
  background:#4a2d20;
  color:#fff;
  position:relative;
  z-index:50;
}

.portal-switcher a{
  padding:9px 0 8px;
  color:rgba(255,255,255,.76);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.portal-switcher a:hover,
.portal-switcher a.active{
  color:#fff;
}

/* Admin Portal */
.admin-portal-page{
  max-width:1400px;
  margin:0 auto;
  padding:42px 38px 70px;
}

.admin-portal-header{
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
}

.admin-portal-header .mini-logo{
  display:block;
  margin-bottom:25px;
}

.admin-portal-header h1{
  margin:7px 0 9px;
  font-size:44px;
  line-height:1.05;
  letter-spacing:-.05em;
}

.admin-portal-header p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.admin-portal-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
}

.admin-portal-metrics>div{
  padding:23px 24px;
  border-right:1px solid var(--line);
}

.admin-portal-metrics>div:first-child{
  padding-left:0;
}

.admin-portal-metrics>div:last-child{
  border-right:0;
}

.admin-portal-metrics span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}

.admin-portal-metrics strong{
  display:block;
  margin-top:7px;
  font-size:30px;
  letter-spacing:-.04em;
}

.admin-portal-section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
}

.admin-tool-list{
  border-top:1px solid var(--line);
}

.admin-tool-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.admin-tool-row span{
  display:block;
  color:var(--brand);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.admin-tool-row strong{
  display:block;
  margin-top:5px;
  font-size:17px;
}

.admin-tool-row p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
}

.admin-tool-row b{
  color:var(--brand);
  font-size:12px;
  white-space:nowrap;
}

.admin-portal-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

@media(max-width:750px){
  .portal-switcher{
    padding:0 16px;
    justify-content:center;
    gap:13px;
  }

  .portal-switcher a{
    font-size:9px;
  }

  .admin-portal-page{
    padding:28px 20px 50px;
  }

  .admin-portal-metrics{
    grid-template-columns:repeat(2,1fr);
  }

  .admin-portal-metrics>div:nth-child(2){
    border-right:0;
  }

  .admin-portal-metrics>div:nth-child(3),
  .admin-portal-metrics>div:nth-child(4){
    border-top:1px solid var(--line);
  }
}

@media(max-width:500px){
  .admin-portal-metrics{
    grid-template-columns:1fr;
  }

  .admin-portal-metrics>div{
    padding:17px 0;
    border-right:0;
    border-top:1px solid var(--line);
  }

  .admin-portal-metrics>div:first-child{
    border-top:0;
  }

  .admin-tool-row{
    align-items:flex-start;
  }
}

/* Client User Access Removal */
.client-user-admin-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:9px 0;
  border-bottom:1px solid var(--line);
}

.client-user-admin-row:last-child{
  border-bottom:0;
}

.client-user-admin-row strong{
  margin-top:0;
}

.client-user-admin-row form{
  flex:0 0 auto;
}

.client-user-remove-button{
  padding:7px 10px;
  border:1px solid #d7a8af;
  border-radius:7px;
  background:#fff;
  color:var(--brand);
  font-size:10px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

.client-user-remove-button:hover{
  background:#fff0f3;
  border-color:var(--brand);
}

.client-user-inactive{
  display:block;
  margin-top:5px;
  color:var(--brand);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

@media(max-width:650px){
  .client-user-admin-row{
    flex-direction:column;
  }
}


/* Global Portal Switcher Branding Override */
.portal-switcher,
.global-portal-nav,
.portal-bar,
.top-portal-nav{
    background:linear-gradient(180deg,#8d1726 0%,#821623 100%) !important;
}

.portal-switcher a,
.global-portal-nav a,
.portal-bar a,
.top-portal-nav a{
    color:#fff !important;
    opacity:.92;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-size:11px;
}

.portal-switcher a:hover,
.global-portal-nav a:hover,
.portal-bar a:hover,
.top-portal-nav a:hover{
    opacity:1;
}

.portal-switcher a.active,
.global-portal-nav a.active,
.portal-bar a.active,
.top-portal-nav a.active{
    border-bottom:2px solid rgba(255,255,255,.95);
}

/* Admin Password Modal */
.admin-login-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  place-items:center;
  padding:24px;
}

.admin-login-modal.open{
  display:grid;
}

.admin-login-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,12,14,.62);
  backdrop-filter:blur(3px);
}

.admin-login-dialog{
  position:relative;
  z-index:1;
  width:min(460px,100%);
  padding:32px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.25);
}

.admin-login-dialog .mini-logo{
  margin-bottom:22px;
}

.admin-login-dialog h2{
  margin:7px 0 9px;
  font-size:31px;
  letter-spacing:-.04em;
}

.admin-login-dialog>p{
  margin:0 0 23px;
  color:var(--muted);
  line-height:1.55;
}

.admin-login-dialog label,
.admin-login-page label{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  font-weight:800;
}

.admin-login-dialog input,
.admin-login-page input{
  width:100%;
  min-height:49px;
  margin-bottom:15px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:8px;
}

.admin-login-dialog input:focus,
.admin-login-page input:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px var(--soft);
}

.admin-login-close{
  position:absolute;
  top:15px;
  right:16px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f4f5f6;
  color:var(--text);
  font-size:22px;
  cursor:pointer;
}

.admin-modal-open{
  overflow:hidden;
}

.full{
  width:100%;
}

.admin-login-page-body{
  background:#f6f7f8;
}

.admin-login-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:30px;
}

.admin-login-page>div{
  width:min(470px,100%);
  padding:36px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}

.admin-login-page h1{
  margin:22px 0 9px;
  font-size:39px;
  letter-spacing:-.045em;
}

.admin-login-page>div>p{
  margin:0 0 24px;
  color:var(--muted);
}

.admin-login-page .back-link{
  margin:22px 0 0;
}

.admin-signout-link{
  display:block;
  max-width:1400px;
  margin:0 auto 50px;
  padding:0 38px;
  color:var(--brand);
  font-size:12px;
  font-weight:900;
}

/* Candidate Comparison Interaction Fix */
.client-compare-action .primary:disabled{
  background:#c6c9ce;
  border-color:#c6c9ce;
  color:#fff;
  cursor:not-allowed;
  opacity:.8;
}

.client-candidate-select-row:has(
  .candidate-compare-checkbox:checked
){
  background:linear-gradient(
    90deg,
    var(--soft),
    transparent 72%
  );
}

.candidate-compare-checkbox{
  cursor:pointer;
}

.candidate-compare-checkbox:disabled{
  cursor:not-allowed;
  opacity:.45;
}

/* Separated Candidate Task Sections */
.tasks-section{
  padding:32px 0;
  border-bottom:1px solid var(--line);
}

.tasks-section-count{
  min-width:38px;
  height:38px;
  padding:0 11px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:var(--soft);
  color:var(--brand);
  font-size:14px;
}

.completed-tasks-section{
  padding-top:38px;
}

.completed-tasks-section .task-row{
  opacity:.88;
}

.completed-tasks-section .task-title-row strong{
  color:var(--text);
}

@media(max-width:650px){
  .tasks-section .section-heading-row{
    align-items:flex-start;
  }
}

/* Candidate Profile Country Code Fix */
.profile-field-grid select{
  width:100%;
  margin-top:8px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font:inherit;
}

.profile-field-grid select:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px var(--soft);
}

/* Simplified Candidate Navigation */
.topbar nav a[target="_blank"]{
  color:var(--brand);
}
.topbar nav a[target="_blank"]:hover{
  border-bottom-color:var(--brand);
}

/* Single Candidate Metric */
.dashboard-summary.single-metric{
  grid-template-columns:1fr;
}

.dashboard-summary.single-metric>div{
  padding:24px 0;
  border-right:0;
}

.dashboard-summary.single-metric small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
}

/* Spark Hire Circle Status */
.application-current-status{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:13px;
  font-size:15px;
  font-weight:800;
}

.application-status-circle{
  width:11px;
  height:11px;
  border-radius:50%;
  display:inline-block;
  flex:0 0 auto;
  background:#821623;
}

.application-status-circle.status-in-progress{
  background:#821623;
}

.application-status-circle.status-on-hold{
  background:#c59d2f;
}

.application-status-circle.status-rejected{
  background:#5a5a5a;
}

.application-status-circle.status-withdrawn{
  background:#bfc4cc;
}

.application-status-circle.status-hired{
  background:#2e8b57;
}

.application-applied-date{
  margin-top:15px;
}

.application-applied-date span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.application-applied-date strong{
  display:block;
  margin-top:5px;
  font-size:12px;
  font-weight:700;
}

/* Application Document Uploads */
.application-document-upload{
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.application-document-upload h3{
  margin:6px 0 0;
  font-size:20px;
  letter-spacing:-.025em;
}
.application-document-upload-form{
  display:grid;
  grid-template-columns:1fr 2fr auto;
  gap:16px;
  align-items:end;
  margin-top:20px;
}
.application-document-upload-form label{
  display:block;
  font-size:11px;
  font-weight:800;
}
.application-document-upload-form input,
.application-document-upload-form select{
  width:100%;
  min-height:43px;
  margin-top:8px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.application-document-upload-note{
  display:block;
  margin-top:10px;
  color:var(--muted);
  font-size:11px;
}
@media(max-width:760px){
  .application-document-upload-form{
    grid-template-columns:1fr;
  }
}

/* Client Candidate Location Map */
.client-location-section{padding:34px 0;border-bottom:1px solid var(--line)}
.client-location-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:24px;margin-top:20px}
.client-map-panel,.client-state-table-panel{border:1px solid var(--line);border-radius:12px;background:#fff}
.client-map-panel{position:relative;min-width:0;padding:14px}
.client-state-map{width:100%;min-height:470px;border-radius:8px;background:#f5f6f8;overflow:hidden}
.client-map-key{position:absolute;left:30px;bottom:30px;z-index:500;display:grid;gap:7px;min-width:155px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.client-map-key strong{margin-bottom:2px;font-size:11px}
.client-map-key span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}
.map-key-color{width:17px;height:17px;border-radius:3px;display:inline-block}
.map-key-color.count-high{background:#821623}.map-key-color.count-medium{background:#b75b68}.map-key-color.count-low{background:#dbaab1}.map-key-color.count-one{background:#f1dfe2}.map-key-color.count-zero{background:#e5e7eb}
.client-state-table-panel{padding:22px}
.client-state-table-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.client-state-table-heading h3{margin:6px 0 0;font-size:20px;letter-spacing:-.025em}
.client-state-table-heading>strong{font-size:28px;letter-spacing:-.04em}
.client-state-table{display:grid}
.client-state-table-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}
a.client-state-table-row:hover,a.client-state-table-row.active{color:var(--brand)}
.client-state-table-row.unmapped{color:var(--muted)}
.client-state-table-row.total{padding-top:16px;border-bottom:0;color:var(--brand);font-weight:900}
.client-state-empty,.client-map-error{padding:28px 0;color:var(--muted);font-size:12px}
.client-map-error{min-height:470px;display:grid;place-items:center;text-align:center}
@media(max-width:950px){.client-location-layout{grid-template-columns:1fr}}
@media(max-width:650px){.client-state-map{min-height:360px}.client-map-key{position:static;margin-top:14px;box-shadow:none}}

/* Locked Client Map and State Percentages */
.client-state-table-row span small{
  margin-left:7px;
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}

.client-state-map{
  cursor:default;
}

.client-state-map .leaflet-interactive{
  cursor:pointer;
}

.client-state-map .leaflet-control-container{
  display:none;
}

/* Client Referral Source Pie Chart */
.client-referral-section{
  padding:34px 0;
  border-bottom:1px solid var(--line);
}

.client-referral-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:24px;
  margin-top:20px;
}

.client-referral-chart-panel,
.client-referral-table-panel{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.client-referral-chart-panel{
  min-height:430px;
  padding:24px;
  display:grid;
  place-items:center;
}

.client-referral-chart-wrap{
  width:min(100%,620px);
  height:380px;
}

.client-referral-table-panel{
  padding:22px;
}

@media(max-width:950px){
  .client-referral-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .client-referral-chart-panel{
    min-height:360px;
    padding:16px;
  }

  .client-referral-chart-wrap{
    height:330px;
  }
}


/* Leaflet Header Stacking Fix */
.client-topbar,
.topbar{
  position:sticky;
  top:0;
  z-index:3000;
  background:#fff;
  isolation:isolate;
}

.client-location-section{
  position:relative;
  z-index:0;
  margin-top:0;
}

.client-location-layout{
  position:relative;
  z-index:0;
}

.client-map-panel{
  position:relative;
  isolation:isolate;
  z-index:0;
  overflow:hidden;
}

.client-state-map{
  position:relative;
  z-index:0;
  overflow:hidden;
  contain:paint;
}

.client-state-map .leaflet-map-pane,
.client-state-map .leaflet-pane,
.client-state-map .leaflet-control-container{
  z-index:auto!important;
}

.client-state-map .leaflet-top,
.client-state-map .leaflet-bottom{
  z-index:10!important;
}

/* Candidate State Hover Interaction */
.client-state-map .leaflet-interactive{
  cursor:pointer;
  transition:fill-opacity .15s ease;
}

.candidate-state-tooltip{
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--text);
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:12px;
  line-height:1.45;
}

.candidate-state-tooltip:before{
  border-top-color:#fff!important;
}

/* Single Client Search Metric */
.client-search-overview.single-metric{
  grid-template-columns:1fr;
}

.client-search-overview.single-metric>div{
  padding:20px 0;
  border-right:0;
}

/* Leaflet Map Layer Repair */
.client-map-panel{
  position:relative;
  isolation:isolate;
  z-index:0;
  overflow:hidden;
}

.client-state-map{
  position:relative;
  z-index:0;
  overflow:hidden;
  contain:paint;
}

.client-state-map .leaflet-map-pane{
  z-index:1;
}

.client-state-map .leaflet-overlay-pane{
  z-index:400;
}

.client-state-map .leaflet-tooltip-pane{
  z-index:650;
}

.client-state-map .leaflet-control-container{
  z-index:700;
}

/* Candidate Tooltip Layer Fix */
.client-state-map .leaflet-overlay-pane{
  z-index:400!important;
}

.client-state-map .leaflet-shadow-pane{
  z-index:500!important;
}

.client-state-map .leaflet-marker-pane{
  z-index:600!important;
}

.client-state-map .leaflet-tooltip-pane{
  z-index:1200!important;
  pointer-events:none;
}

.client-state-map .leaflet-popup-pane{
  z-index:1300!important;
}

.candidate-state-tooltip{
  position:relative;
  z-index:1400!important;
  min-width:125px;
  text-align:left;
  white-space:nowrap;
  pointer-events:none;
}

.candidate-state-tooltip strong{
  display:block;
  margin-bottom:2px;
}

.candidate-state-tooltip.leaflet-tooltip-top:before{
  border-top-color:#fff!important;
}

/* Client Candidate List and Filters */
.client-candidate-filters{
  display:grid;
  grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(150px,.75fr)) auto;
  gap:14px;
  align-items:end;
  margin:20px 0 26px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fafbfc;
}
.client-candidate-filters label{display:block;font-size:11px;font-weight:800}
.client-candidate-filters input,.client-candidate-filters select{
  width:100%;min-height:43px;margin-top:8px;padding:10px 12px;
  border:1px solid var(--line);border-radius:8px;background:#fff
}
.candidate-filter-actions{display:flex;gap:9px;align-items:center}
.candidate-filter-actions button,.candidate-filter-clear{
  min-height:43px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap
}
.client-candidate-column-headings{
  display:grid;
  grid-template-columns:minmax(280px,1.5fr) minmax(180px,.65fr) auto;
  gap:24px;
  padding:0 0 11px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  border-bottom:1px solid var(--line);
}

.client-candidate-identity h3{margin:0;font-size:16px}
.client-candidate-identity p{margin:5px 0 0;color:var(--muted);font-size:12px}
.client-candidate-identity small{display:block;margin-top:6px;color:var(--muted);font-size:11px}
.client-candidate-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.client-candidate-tags span{
  display:inline-flex;padding:5px 8px;border:1px solid var(--line);border-radius:999px;
  color:var(--muted);background:#fff;font-size:9px;font-weight:800
}
.client-candidate-status{display:flex;align-items:center;gap:10px;font-size:13px}
.client-candidate-status strong{font-size:13px}
.client-candidate-action{justify-self:end;white-space:nowrap}
@media(max-width:1100px){
  .client-candidate-filters{grid-template-columns:repeat(2,1fr)}
  .candidate-filter-actions{grid-column:1/-1}
}
@media(max-width:800px){
  .client-candidate-column-headings{display:none}
  
  .client-candidate-status,.client-candidate-action{grid-column:2;justify-self:start}
}
@media(max-width:620px){
  .client-candidate-filters{grid-template-columns:1fr}
  .candidate-filter-actions{grid-column:auto;flex-wrap:wrap}
}

/* Simplified Client Candidate Rows */
.client-candidate-simple-row{
  display:grid;
  grid-template-columns:minmax(280px,1.5fr) minmax(180px,.65fr) auto;
  gap:24px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

@media(max-width:800px){
  .client-candidate-column-headings{
    display:none;
  }

  .client-candidate-simple-row{
    grid-template-columns:1fr;
    gap:12px;
  }

  .client-candidate-status,
  .client-candidate-action{
    justify-self:start;
  }
}

/* Updated Client Candidate Detail */
.candidate-detail-summary{
  grid-template-columns:repeat(3,1fr);
}

.candidate-detail-status{
  display:flex!important;
  align-items:center;
  gap:9px;
}

.client-document-viewer-list{
  display:grid;
  gap:24px;
}

.client-document-viewer{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.client-document-viewer-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
}

.client-document-viewer-heading strong,
.client-document-viewer-heading span{
  display:block;
}

.client-document-viewer-heading span{
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}

.client-document-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.client-document-frame{
  display:block;
  width:100%;
  height:720px;
  border:0;
  background:#f5f6f8;
}

.client-document-preview-unavailable{
  padding:48px 24px;
  text-align:center;
  background:#f7f8fa;
}

.client-document-preview-unavailable p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:12px;
}

.client-notes-form{
  max-width:980px;
}

.client-notes-form label{
  display:block;
  font-size:12px;
  font-weight:800;
}

.client-notes-form textarea{
  width:100%;
  min-height:180px;
  margin-top:9px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:9px;
  resize:vertical;
  font:inherit;
}

.client-notes-form textarea:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px var(--soft);
}

.client-notes-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:14px;
}

.client-notes-form-footer small{
  color:var(--muted);
}

@media(max-width:760px){
  .candidate-detail-summary{
    grid-template-columns:1fr;
  }

  .client-document-viewer-heading,
  .client-notes-form-footer{
    align-items:flex-start;
    flex-direction:column;
  }

  .client-document-frame{
    height:520px;
  }
}

/* Office Document Preview */
.client-document-conversion-note{
  padding:10px 20px;
  border-bottom:1px solid var(--line);
  background:#f7f8fa;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}


/* Candidate List Final Divider Fix */
.client-candidate-list{
  border-bottom:0!important;
}

.client-candidate-list .client-candidate-row:last-child,
.client-candidate-list .client-candidate-simple-row:last-child{
  border-bottom:0!important;
}

.client-candidate-list + *,
.client-candidate-list::after{
  border-top:0;
}

/* Simplified Main Client Dashboard */
.client-dashboard-metrics.simplified{
  grid-template-columns:repeat(2,1fr);
}

.client-dashboard-metrics.simplified>div:nth-child(2){
  border-right:0;
}

.client-search-stats.simplified{
  grid-template-columns:repeat(2,minmax(110px,1fr));
}

.client-dashboard-page{
  border-bottom:0!important;
  padding-bottom:40px;
}

.client-dashboard-page::after,
.client-dashboard-section:last-child::after,
.client-search-list::after{
  content:none!important;
  display:none!important;
  border:0!important;
}

.client-dashboard-section:last-child,
.client-search-list,
.client-search-row:last-child{
  border-bottom:0!important;
}

@media(max-width:700px){
  .client-dashboard-metrics.simplified{
    grid-template-columns:1fr;
  }

  .client-dashboard-metrics.simplified>div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .client-dashboard-metrics.simplified>div:last-child{
    border-bottom:0;
  }

  .client-search-stats.simplified{
    grid-template-columns:repeat(2,1fr);
  }
}

/* Single Client Search Statistic */
.client-search-stats.simplified.single-stat{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:140px;
}

.client-search-stats.simplified.single-stat span{
  min-width:110px;
}

.client-search-row{
  grid-template-columns:minmax(420px,1.8fr) minmax(140px,.45fr) auto;
}

@media(max-width:800px){
  .client-search-row{
    grid-template-columns:1fr;
  }
}

/* Client Candidate Note Thread */
.client-note-thread{
  max-width:980px;
  margin:4px 0 34px;
  border-top:1px solid var(--line);
}

.client-note-entry{
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.client-note-entry-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.client-note-author{
  display:flex;
  align-items:center;
  gap:12px;
}

.client-note-author>span{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:var(--soft);
  color:var(--brand);
  font-size:13px;
  font-weight:900;
}

.client-note-author strong,
.client-note-author small{
  display:block;
}

.client-note-author strong{
  font-size:13px;
}

.client-note-author small{
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
}

.client-note-entry time{
  color:var(--muted);
  font-size:11px;
  white-space:nowrap;
}

.client-note-entry>p{
  margin:14px 0 0 50px;
  color:var(--text);
  font-size:13px;
  line-height:1.65;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.client-note-thread-empty{
  padding:24px 0;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
}

.client-note-form-heading{
  max-width:980px;
  margin:0 0 20px;
}

.client-note-form-heading h3{
  margin:6px 0 0;
  font-size:22px;
  letter-spacing:-.025em;
}

.client-note-form-heading p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

@media(max-width:650px){
  .client-note-entry-header{
    flex-direction:column;
    gap:10px;
  }

  .client-note-entry>p{
    margin-left:0;
  }
}


/* Candidate List Final Divider and Filter Anchor Fix */
#candidate-filters{
  scroll-margin-top:120px;
}

.client-candidate-list{
  border-bottom:0!important;
}

.client-candidate-list .client-candidate-row:last-child,
.client-candidate-list .client-candidate-simple-row:last-child{
  border-bottom:0!important;
  margin-bottom:0!important;
}

.client-candidate-list::after,
.client-candidate-list + hr,
.client-candidate-list + .divider{
  content:none!important;
  display:none!important;
  border:0!important;
}


/* Candidate Showcase Link */
.client-showcase-link-section{
  margin:34px 0 10px;
  padding:22px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.client-showcase-link-section>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}

.client-showcase-link{
  color:var(--brand);
  font-size:17px;
  font-weight:850;
  line-height:1.4;
  text-decoration:none;
  overflow-wrap:anywhere;
}

.client-showcase-link:hover{
  text-decoration:underline;
}



/* Candidate List Note and Document Indicators */
.client-candidate-name-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.client-candidate-name-line h3{
  margin:0;
}

.client-candidate-indicators{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.client-candidate-indicator{
  width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--brand);
}

.client-candidate-indicator svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* Client User Search Access */
.client-user-access-card{
  display:block;
}

.client-user-access-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.client-user-search-access-form{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.client-user-search-access-form>span{
  display:block;
  margin-bottom:10px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}

.client-user-search-options{
  display:grid;
  gap:7px;
  max-height:260px;
  margin-bottom:12px;
  padding:10px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fafbfc;
}

.client-user-search-options label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:8px;
  border-radius:7px;
  background:#fff;
  cursor:pointer;
}

.client-user-search-options input{
  margin-top:3px;
}

.client-user-search-options strong,
.client-user-search-options small{
  display:block;
}

.client-user-search-options strong{
  font-size:11px;
}

.client-user-search-options small{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}


/* Client User Search Access Modal */
.client-user-access-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.client-user-access-actions form{
  margin:0;
}

.client-user-access-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}

.client-user-access-summary span{
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.client-user-access-summary strong{
  font-size:11px;
}

.client-search-access-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.client-search-access-modal.open{
  display:flex;
}

.client-search-access-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,24,33,.55);
}

.client-search-access-dialog{
  position:relative;
  z-index:1;
  width:min(680px, 100%);
  max-height:min(760px, calc(100vh - 48px));
  padding:30px;
  overflow:auto;
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 70px rgba(20,24,33,.22);
}

.client-search-access-dialog h2{
  margin:7px 0 6px;
}

.client-search-access-dialog>p{
  margin:0 40px 22px 0;
  color:var(--muted);
}

.client-search-access-close{
  position:absolute;
  top:16px;
  right:18px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:#f3f4f6;
  color:var(--ink);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.client-search-access-options{
  display:grid;
  gap:8px;
  max-height:420px;
  padding:4px;
  overflow:auto;
}

.client-search-access-options label{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}

.client-search-access-options label:hover{
  border-color:#c9cdd5;
  background:#fafbfc;
}

.client-search-access-options input{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--brand);
}

.client-search-access-options strong,
.client-search-access-options small{
  display:block;
}

.client-search-access-options strong{
  font-size:12px;
  line-height:1.4;
}

.client-search-access-options small{
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}

.client-search-access-empty{
  padding:22px;
  border:1px dashed var(--line);
  border-radius:10px;
  color:var(--muted);
  text-align:center;
}

.client-search-access-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}

.client-search-modal-open{
  overflow:hidden;
}

@media (max-width:720px){
  .client-search-access-modal{
    padding:12px;
  }

  .client-search-access-dialog{
    max-height:calc(100vh - 24px);
    padding:22px;
  }

  .client-user-access-actions{
    align-items:stretch;
    flex-direction:column;
  }
}


/* Refined Client User Search Access */
.client-search-access-manage-button{
  width:auto!important;
  min-width:0!important;
  padding:9px 13px!important;
  font-size:11px!important;
  line-height:1.1!important;
  white-space:nowrap;
}

.client-user-access-actions{
  align-items:flex-start;
}

.client-user-assigned-searches{
  align-self:start;
}

.client-user-assigned-search-group{
  display:grid;
  gap:7px;
  margin-top:10px;
}

.client-user-assigned-search-group+ .client-user-assigned-search-group{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.client-user-assigned-search-group>small{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.client-user-assigned-search-group>strong{
  display:block;
  font-size:11px;
  line-height:1.4;
}


/* Equal Client User Access Buttons */
.client-user-access-actions{
  display:flex;
  align-items:stretch;
  gap:9px;
  flex-wrap:wrap;
}

.client-user-access-actions form{
  display:flex;
  margin:0;
}

.client-user-access-button{
  width:148px!important;
  min-width:148px!important;
  min-height:38px!important;
  padding:9px 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap;
}

@media (max-width:720px){
  .client-user-access-button{
    width:100%!important;
    min-width:0!important;
  }

  .client-user-access-actions,
  .client-user-access-actions form{
    width:100%;
  }
}


/* Client Portal Access Audit */
.client-access-audit-section{
  margin-top:34px;
}

.client-access-audit-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.client-access-audit-table{
  width:100%;
  min-width:1050px;
  border-collapse:collapse;
}

.client-access-audit-table th,
.client-access-audit-table td{
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  text-align:left;
}

.client-access-audit-table th{
  background:#fafbfc;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.client-access-audit-table td{
  font-size:10px;
  line-height:1.45;
}

.client-access-audit-table tbody tr:last-child td{
  border-bottom:0;
}

.client-access-audit-table td strong,
.client-access-audit-table td small{
  display:block;
}

.client-access-audit-table td small{
  margin-top:3px;
  color:var(--muted);
}

.client-access-audit-action{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
}

.client-access-audit-action.granted{
  background:#e8f6ef;
  color:#207a50;
}

.client-access-audit-action.removed{
  background:#fff0f1;
  color:var(--brand);
}


/* Spark Hire Five-Status Application Detail */
.detail-stage-timeline{
  grid-template-columns:repeat(
    var(--application-stage-count, 3),
    minmax(0, 1fr)
  );
}

.detail-stage-timeline .detail-stage:last-child{
  min-width:0;
}


/* Dashboard Application List — Remove Trailing Divider */
.dashboard-application-list,
.application-list,
.dashboard-applications{
  border-bottom:0!important;
}

.dashboard-application-list::after,
.application-list::after,
.dashboard-applications::after{
  content:none!important;
  display:none!important;
  border:0!important;
}

.dashboard-application-row:last-child,
.application-card:last-child,
.dashboard-application-item:last-child{
  border-bottom:0!important;
  margin-bottom:0!important;
}

.dashboard-application-list + hr,
.application-list + hr,
.dashboard-applications + hr,
.dashboard-application-list + .divider,
.application-list + .divider,
.dashboard-applications + .divider{
  display:none!important;
  border:0!important;
}


/* Client Document Permission Notice */
.client-document-permission-note{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}


/* Candidate Job Description and Requirements */
.application-job-information-grid{
  display:grid;
  gap:26px;
}

.application-job-information-block{
  padding:0;
}

.application-job-information-block + .application-job-information-block{
  padding-top:26px;
  border-top:1px solid var(--line);
}

.application-job-information-block h3{
  margin:0 0 13px;
  font-size:19px;
  line-height:1.25;
}

.application-job-rich-text{
  max-width:1100px;
  color:var(--text);
  font-size:12px;
  line-height:1.75;
  white-space:pre-line;
}

@media (max-width:720px){
  .application-job-information-block h3{
    font-size:17px;
  }
}


/* Candidate State Map — Fixed Height and Sortable State List */
.client-location-layout{
  align-items:start;
}

.client-map-panel{
  height:560px;
  min-height:560px;
  display:block;
}

.client-state-map{
  height:100%;
  min-height:0;
}

.client-map-key{
  left:30px;
  bottom:30px;
}

.client-state-table-panel{
  height:560px;
  min-height:560px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.client-state-sort{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

.client-state-sort label{
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.client-state-sort select{
  min-height:36px;
  padding:7px 30px 7px 10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--text);
  font-size:10px;
  font-weight:700;
}

.client-state-table-shell{
  min-height:0;
  flex:1;
  display:flex;
  flex-direction:column;
}

.client-state-sortable-rows{
  min-height:0;
  flex:1;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-right:4px;
}

.client-state-table-footer{
  flex:0 0 auto;
  background:#fff;
  border-top:1px solid var(--line);
}

.client-state-table-footer .client-state-table-row:first-child{
  border-top:0;
}

.client-state-table-footer .client-state-table-row.total{
  padding-bottom:0;
}

@media(max-width:950px){
  .client-map-panel,
  .client-state-table-panel{
    height:auto;
    min-height:0;
  }

  .client-map-panel{
    height:500px;
  }

  .client-state-table-panel{
    max-height:560px;
  }
}

@media(max-width:650px){
  .client-map-panel{
    height:390px;
  }

  .client-map-key{
    position:absolute;
    left:20px;
    bottom:20px;
    margin-top:0;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
  }

  .client-state-table-panel{
    max-height:520px;
  }

  .client-state-sort{
    align-items:stretch;
    flex-direction:column;
  }

  .client-state-sort select{
    width:100%;
  }
}


/* Client Candidate Previous and Next Navigation */
.client-candidate-navigation{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:30px;
}

.client-candidate-navigation-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
}

.client-candidate-navigation-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  color:var(--brand);
  background:#fff;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}

.client-candidate-navigation-link:hover{
  border-color:var(--brand);
}

.client-candidate-navigation-link.disabled{
  color:#a2a8b1;
  background:#f7f8fa;
  cursor:not-allowed;
}

.client-candidate-navigation-position{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

@media(max-width:760px){
  .client-candidate-navigation{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:24px;
  }

  .client-candidate-navigation-links{
    width:100%;
    justify-content:space-between;
    gap:8px;
  }

  .client-candidate-navigation-link{
    flex:1;
    padding:8px;
    font-size:9px;
  }

  .client-candidate-navigation-position{
    flex:0 0 auto;
  }
}


/* Compact Candidate State Summary */
.client-state-table-panel.compact-state-list{
  height:auto;
  min-height:560px;
}

.client-state-table-panel.compact-state-list .client-state-table-shell{
  flex:0 0 auto;
  min-height:0;
}

.client-state-table-panel.compact-state-list .client-state-sortable-rows{
  flex:0 0 auto;
  overflow:visible;
}

.client-state-table-panel.compact-state-list .client-state-table-row{
  min-height:54px;
}

.client-state-table-panel.compact-state-list .client-state-table-footer{
  margin-top:0;
}

.client-state-table-panel.compact-state-list .client-state-table-footer::before{
  content:none;
}

@media(max-width:950px){
  .client-state-table-panel.compact-state-list{
    min-height:0;
  }
}


/* Searchable Help Center */
.help-search-panel{
  margin:22px 0 30px;
  padding:18px;
  border:1px solid var(--line, #e3e5e8);
  border-radius:10px;
  background:#fafbfc;
}

.help-search-panel label{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.help-search-field{
  display:flex;
  gap:8px;
}

.help-search-field input{
  flex:1;
  min-width:0;
  min-height:42px;
  padding:10px 13px;
  border:1px solid var(--line, #d9dde3);
  border-radius:8px;
  background:#fff;
  font:inherit;
}

.help-search-field input:focus{
  outline:2px solid rgba(130,22,35,.18);
  border-color:#821623;
}

.help-search-field button{
  min-width:72px;
  padding:10px 14px;
  border:1px solid #821623;
  border-radius:8px;
  background:#fff;
  color:#821623;
  font-weight:800;
  cursor:pointer;
}

.help-search-status{
  margin:9px 0 0;
  color:var(--muted, #6b7280);
  font-size:11px;
}

.help-no-results{
  padding:28px;
  border:1px dashed var(--line, #d9dde3);
  border-radius:10px;
  color:var(--muted, #6b7280);
  text-align:center;
}

#portal-faq details[hidden],
#portal-faq li[hidden],
#portal-faq .help-section-heading[hidden],
#portal-faq ul[hidden]{
  display:none!important;
}

@media(max-width:640px){
  .help-search-field{
    flex-direction:column;
  }

  .help-search-field button{
    width:100%;
  }
}

/* Admin Email and Authentication */
.admin-email-settings-form{display:grid;gap:12px}.admin-setting-toggle{display:flex;gap:12px;padding:15px;border:1px solid var(--line);border-radius:9px}.admin-setting-toggle input{width:18px;height:18px;accent-color:var(--brand)}.admin-setting-toggle strong,.admin-setting-toggle small{display:block}.admin-setting-toggle small{margin-top:4px;color:var(--muted)}.admin-email-provider-grid,.admin-email-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-email-provider-grid>div,.admin-email-stats>div{padding:15px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.admin-email-provider-grid span,.admin-email-provider-grid strong,.admin-email-stats span,.admin-email-stats strong{display:block}.admin-email-provider-grid span,.admin-email-stats span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.admin-test-email-form{margin-top:20px}.admin-test-email-form>div{display:flex;gap:9px;margin-top:8px}.admin-test-email-form input{flex:1;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:8px}.admin-email-log-wrap{margin-top:18px;overflow-x:auto;border:1px solid var(--line);border-radius:10px}.admin-email-log{width:100%;min-width:900px;border-collapse:collapse}.admin-email-log th,.admin-email-log td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-email-log th{background:#fafbfc;color:var(--muted);font-size:9px;text-transform:uppercase}.email-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.email-status.sent{background:#e8f6ef;color:#207a50}.email-status.failed{background:#fff0f1;color:var(--brand)}.email-status.disabled{background:#f0f1f3;color:#626a75}@media(max-width:760px){.admin-email-provider-grid,.admin-email-stats{grid-template-columns:1fr}.admin-test-email-form>div{flex-direction:column}}


/* Searchable Portal Help Center */
.help-center-section{display:grid;gap:28px}
.help-search-panel{padding:18px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}
.help-search-panel label{display:block;margin-bottom:8px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.help-search-field{display:flex;gap:8px}
.help-search-field input{flex:1;min-width:0;min-height:43px;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}
.help-search-field input:focus{outline:2px solid rgba(130,22,35,.16);border-color:var(--brand)}
.help-search-field button{padding:10px 15px;border:1px solid var(--brand);border-radius:8px;background:#fff;color:var(--brand);font-weight:800;cursor:pointer}
.help-search-status{margin:9px 0 0;color:var(--muted);font-size:11px}
.help-section{display:grid;gap:10px}
.help-section-heading{margin-bottom:4px}
.help-section-heading h2{margin:4px 0 0}
.help-item{border:1px solid var(--line);border-radius:9px;background:#fff}
.help-item summary{padding:15px 17px;font-weight:800;cursor:pointer;list-style-position:inside}
.help-item p{margin:0;padding:0 17px 17px;color:var(--muted);line-height:1.65}
.help-status-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.help-status-item{padding:16px;border:1px solid var(--line);border-radius:9px;background:#fff}
.help-status-item h3{margin:0 0 7px;font-size:15px}
.help-status-item p{margin:0;color:var(--muted);line-height:1.6}
.help-no-results{padding:28px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center}
.help-page [hidden]{display:none!important}
@media(max-width:720px){.help-search-field{flex-direction:column}.help-search-field button{width:100%}.help-status-list{grid-template-columns:1fr}}


/* Portal Help Centers */
.portal-help-page{
  max-width:1100px;
  margin:0 auto;
}

.help-topic-section{
  margin-top:30px;
}

.help-topic-section h2{
  margin:0 0 14px;
  font-size:20px;
}

.portal-help-page details{
  margin-bottom:10px;
  border:1px solid var(--line, #e1e4e8);
  border-radius:9px;
  background:#fff;
}

.portal-help-page summary{
  padding:15px 17px;
  color:var(--text, #20242c);
  font-weight:800;
  cursor:pointer;
}

.portal-help-page details p{
  margin:0;
  padding:0 17px 17px;
  color:var(--muted, #687180);
  line-height:1.65;
}

.help-status-list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.help-status-list li{
  padding:15px 17px;
  border:1px solid var(--line, #e1e4e8);
  border-radius:9px;
  background:#fff;
}

.help-status-list strong,
.help-status-list span{
  display:block;
}

.help-status-list span{
  margin-top:5px;
  color:var(--muted, #687180);
  line-height:1.55;
}

.portal-help-page [hidden]{
  display:none!important;
}


/* Admin Google Drive Candidate Documents */
.admin-drive-sync-form{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  gap:14px;
  align-items:end;
}

.admin-drive-sync-form label{
  grid-column:1/-1;
  font-weight:800;
}

.admin-drive-sync-form select{
  min-height:46px;
  padding:10px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font:inherit;
}

.admin-drive-folder-guide{
  margin-top:22px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fafbfc;
}

.admin-drive-folder-guide strong,
.admin-drive-folder-guide code{
  display:block;
}

.admin-drive-folder-guide code{
  margin-top:8px;
  white-space:normal;
}

.admin-drive-naming-examples{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
}

.admin-drive-naming-examples code{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fafbfc;
}

@media(max-width:760px){
  .admin-drive-sync-form{
    grid-template-columns:1fr;
  }
}


/* Standalone Admin Candidate Documents */
.admin-page-links{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}

.admin-page-links a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--text);
  font-size:10px;
  font-weight:800;
  text-decoration:none;
}

.admin-page-links a:hover,
.admin-page-links a.active{
  border-color:var(--brand);
  color:var(--brand);
}

.admin-drive-config-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.admin-drive-config-list code{
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fafbfc;
}


/* Candidate Document Progress Modal */
body.admin-progress-open{
  overflow:hidden;
}

.admin-progress-modal[hidden]{
  display:none!important;
}

.admin-progress-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:20px;
}

.admin-progress-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(22,26,32,.58);
  backdrop-filter:blur(2px);
}

.admin-progress-modal-panel{
  position:relative;
  z-index:1;
  width:min(680px, 100%);
  max-height:90vh;
  overflow-y:auto;
  padding:26px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}

.admin-progress-modal-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.admin-progress-modal-header h2{
  margin:4px 0 0;
}

.admin-progress-close{
  width:38px;
  height:38px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.admin-progress-job,
.admin-progress-current{
  margin-top:18px;
}

.admin-progress-job span,
.admin-progress-current span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.admin-progress-job strong,
.admin-progress-current strong{
  display:block;
  overflow-wrap:anywhere;
}

.admin-progress-bar-shell{
  height:14px;
  margin-top:24px;
  overflow:hidden;
  border-radius:999px;
  background:#eceef1;
}

.admin-progress-bar{
  height:100%;
  min-width:0;
  border-radius:999px;
  background:var(--brand);
  transition:width .3s ease;
}

.admin-progress-modal.complete .admin-progress-bar{
  background:#257956;
}

.admin-progress-modal.failed .admin-progress-bar{
  background:#a92235;
}

.admin-progress-percent{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
}

.admin-progress-percent span{
  color:var(--muted);
  font-size:10px;
}

.admin-progress-status{
  margin:20px 0 0;
  padding:13px 15px;
  border-radius:8px;
  background:#f7f8fa;
  color:var(--text);
  line-height:1.55;
}

.admin-progress-totals{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}

.admin-progress-totals>div{
  padding:13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.admin-progress-totals span,
.admin-progress-totals strong{
  display:block;
}

.admin-progress-totals span{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.admin-progress-totals strong{
  margin-top:5px;
  font-size:19px;
}

.admin-progress-errors{
  margin-top:18px;
  padding:14px;
  border:1px solid #edc7cd;
  border-radius:8px;
  background:#fff5f6;
}

.admin-progress-errors ul{
  margin:10px 0 0;
  padding-left:20px;
}

.admin-progress-errors li{
  margin-top:6px;
  overflow-wrap:anywhere;
}

@media(max-width:650px){
  .admin-progress-modal-panel{
    padding:20px;
  }

  .admin-progress-totals{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Missing Candidate Documents */
.admin-missing-documents{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}

.admin-missing-documents-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.admin-missing-documents-header h3{
  margin:3px 0 0;
}

.admin-missing-documents-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:9px;
}

.admin-missing-documents-table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
}

.admin-missing-documents-table th,
.admin-missing-documents-table td{
  padding:12px 13px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}

.admin-missing-documents-table th{
  background:#fafbfc;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
}

.admin-missing-documents-table td small{
  display:block;
  margin-top:4px;
  color:var(--muted);
}

.admin-missing-documents-table td:last-child{
  text-align:right;
}

.admin-missing-documents-table a{
  color:var(--brand);
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

@media(max-width:650px){
  .admin-missing-documents-header{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Candidate Document Download History */
.admin-download-history-wrap{
  margin-top:18px;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:10px;
}

.admin-download-history{
  width:100%;
  min-width:1100px;
  border-collapse:collapse;
}

.admin-download-history th,
.admin-download-history td{
  padding:13px 14px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}

.admin-download-history th{
  background:#fafbfc;
  color:var(--muted);
  font-size:9px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.admin-download-history td small{
  display:block;
  margin-top:4px;
  color:var(--muted);
}

.admin-download-history a,
.admin-progress-folder-link{
  color:var(--brand);
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

.admin-progress-folder-link{
  display:inline-flex;
  margin-top:14px;
  padding:10px 13px;
  border:1px solid var(--brand);
  border-radius:8px;
}

.admin-progress-folder-link[hidden]{
  display:none!important;
}


/* Redesigned Client Access Management */
.client-user-filter{
  max-width:560px;
  margin:0 0 22px;
}

.client-user-filter label{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.client-user-filter input{
  width:100%;
  min-height:44px;
  padding:10px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font:inherit;
}

.client-admin-list-redesigned{
  display:grid;
  gap:22px;
}

.client-organization-panel{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}

.client-organization-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:22px 24px;
  border-bottom:1px solid var(--line);
  background:#fafbfc;
}

.client-organization-header .client-admin-identity{
  min-width:0;
}

.client-organization-header h3{
  margin:3px 0 0;
}

.client-organization-header p{
  margin:4px 0 0;
  color:var(--muted);
}

.client-organization-counts{
  display:flex;
  flex-shrink:0;
  gap:12px;
}

.client-organization-counts>div{
  min-width:105px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.client-organization-counts span,
.client-organization-counts strong{
  display:block;
}

.client-organization-counts span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.client-organization-counts strong{
  margin-top:5px;
  font-size:18px;
}

.client-organization-users{
  padding:0 24px;
}

.client-user-access-panel{
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.client-user-access-panel:last-child{
  border-bottom:0;
}

.client-user-primary{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}

.client-user-avatar{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:50%;
  background:#f8e9ec;
  color:var(--brand);
  font-size:16px;
  font-weight:900;
  text-transform:uppercase;
}

.client-user-identity{
  min-width:0;
}

.client-user-name-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
}

.client-user-name-line h4{
  margin:0;
}

.client-user-identity p{
  margin:4px 0 0;
  overflow-wrap:anywhere;
  color:var(--muted);
}

.client-user-identity small{
  display:block;
  margin-top:3px;
  color:var(--muted);
}

.client-user-status{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}

.client-user-status.active{
  background:#e8f6ef;
  color:#257956;
}

.client-user-status.inactive{
  background:#f1f2f4;
  color:#687180;
}

.client-user-access-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.client-user-access-actions form{
  margin:0;
}

.client-user-access-button{
  min-width:112px;
  min-height:38px;
  padding:8px 12px;
  font-size:9px;
}

.client-user-searches{
  margin:18px 0 0 58px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fafbfc;
}

.client-user-searches-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}

.client-user-searches-heading>div{
  display:flex;
  align-items:center;
  gap:8px;
}

.client-user-searches-heading .section-kicker{
  margin:0;
}

.client-user-searches-heading>div>strong{
  display:inline-flex;
  min-width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  color:var(--brand);
  font-size:10px;
}

.client-search-list-toggle{
  padding:0;
  border:0;
  background:transparent;
  color:var(--brand);
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}

.client-user-search-list{
  display:grid;
  gap:8px;
}

.client-user-search-list[data-collapsed="true"] [data-extra-search]{
  display:none;
}

.client-user-search-item{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:9px 10px;
  border-radius:7px;
  background:#fff;
}

.client-user-search-item strong,
.client-user-search-item small{
  display:block;
}

.client-user-search-item small{
  margin-top:3px;
  color:var(--muted);
}

.client-search-check{
  display:grid;
  flex:0 0 20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  background:#e8f6ef;
  color:#257956;
  font-size:10px;
  font-weight:900;
}

.client-user-no-searches{
  padding:10px;
  color:var(--muted);
  font-style:italic;
}

.client-organization-empty{
  margin:22px 0;
}

[data-client-organization][hidden],
[data-client-user][hidden]{
  display:none!important;
}

@media(max-width:900px){
  .client-organization-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .client-organization-counts{
    width:100%;
  }

  .client-organization-counts>div{
    flex:1;
  }
}

@media(max-width:700px){
  .client-organization-users{
    padding:0 16px;
  }

  .client-user-primary{
    grid-template-columns:44px minmax(0,1fr);
  }

  .client-user-access-actions{
    grid-column:1/-1;
    margin-left:58px;
  }

  .client-user-searches{
    margin-left:0;
  }
}

@media(max-width:500px){
  .client-organization-counts{
    flex-direction:column;
  }

  .client-user-access-actions{
    align-items:stretch;
    flex-direction:column;
    margin-left:0;
  }

  .client-user-access-actions form,
  .client-user-access-button{
    width:100%;
  }
}


/* Multi-Client Portal Selection */
.client-selection-page{
  max-width:1100px;
  margin:0 auto;
  padding:48px 28px 80px;
}

.client-selection-header{
  max-width:700px;
}

.client-selection-header h1{
  margin:7px 0 10px;
}

.client-selection-header p{
  color:var(--muted);
  line-height:1.6;
}

.client-selection-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:30px;
}

.client-selection-option{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  padding:21px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.client-selection-option.active{
  border-color:var(--brand);
  box-shadow:0 0 0 2px rgba(130,22,35,.08);
}

.client-selection-initial{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border-radius:50%;
  background:#f8e9ec;
  color:var(--brand);
  font-size:18px;
  font-weight:900;
  text-transform:uppercase;
}

.client-selection-details{
  min-width:0;
}

.client-selection-details h2{
  margin:3px 0 5px;
  font-size:18px;
}

.client-selection-details p{
  margin:0;
  color:var(--muted);
}

.client-selection-active{
  display:inline-flex;
  margin-top:8px;
  padding:4px 7px;
  border-radius:999px;
  background:#e8f6ef;
  color:#257956;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}

.client-account-switcher{
  display:grid;
  gap:3px;
}

.client-account-switcher label,
.client-active-organization span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.client-account-switcher select{
  max-width:270px;
  min-height:36px;
  padding:7px 30px 7px 10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  font:inherit;
  font-size:10px;
  font-weight:800;
}

.client-active-organization{
  display:grid;
  gap:3px;
  max-width:260px;
}

.client-active-organization strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.client-account-person{
  min-width:0;
}

@media(max-width:900px){
  .client-selection-grid{
    grid-template-columns:1fr;
  }

  .client-topbar-account{
    flex-wrap:wrap;
    justify-content:flex-end;
  }
}

@media(max-width:650px){
  .client-selection-page{
    padding:32px 18px 60px;
  }

  .client-selection-option{
    grid-template-columns:44px minmax(0,1fr);
  }

  .client-selection-option button{
    grid-column:1/-1;
    width:100%;
  }

  .client-account-switcher{
    width:100%;
    order:3;
  }

  .client-account-switcher select{
    width:100%;
    max-width:none;
  }
}


/* Client Access Accordion — replaces all prior three-column layouts */
.client-admin-list,
.client-admin-row,
.client-admin-detail,
.client-user-assigned-searches{
  display:initial;
}

.client-access-accordion{
  display:grid;
  gap:12px;
}

.client-access-group{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.client-access-group[hidden]{
  display:none!important;
}

.client-access-group-header{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 20px;
  border:0;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}

.client-access-group-header:hover{
  background:#fafbfc;
}

.client-access-group-title{
  display:flex;
  min-width:0;
  align-items:center;
  gap:13px;
}

.client-access-group-title h3{
  margin:0;
  font-size:16px;
}

.client-access-group-title p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:10px;
}

.client-access-group-summary{
  display:flex;
  flex-shrink:0;
  align-items:center;
  gap:14px;
  color:var(--muted);
  font-size:10px;
}

.client-access-group-summary strong{
  color:var(--text);
}

.client-access-chevron{
  display:inline-block;
  font-size:18px;
  transition:transform .2s ease;
}

.client-access-group-header[aria-expanded="true"]
.client-access-chevron{
  transform:rotate(180deg);
}

.client-access-group-body{
  border-top:1px solid var(--line);
  padding:0 20px;
}

.client-access-group-body[hidden]{
  display:none!important;
}

.client-access-user-row{
  padding:18px 0;
  border-bottom:1px solid var(--line);
}

.client-access-user-row:last-child{
  border-bottom:0;
}

.client-access-user-main{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
}

.client-access-user-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.client-access-user-actions form{
  margin:0;
}

.client-access-user-actions button{
  min-width:112px;
  min-height:36px;
  padding:7px 11px;
  font-size:9px;
}

.client-access-searches{
  margin:13px 0 0 53px;
}

.client-access-searches-header{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.client-access-searches-header strong{
  display:inline-grid;
  min-width:22px;
  height:22px;
  place-items:center;
  border-radius:999px;
  background:#f5e7ea;
  color:var(--brand);
  font-size:9px;
}

.client-access-search-pills{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:9px;
}

.client-access-search-pill{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fafbfc;
  font-size:9px;
  font-weight:800;
}

.client-access-empty-searches{
  margin:8px 0 0;
  color:var(--muted);
  font-size:10px;
}

.client-access-no-users{
  padding:17px 0;
  color:var(--muted);
  font-size:11px;
}

@media(max-width:700px){
  .client-access-user-main{
    grid-template-columns:40px minmax(0,1fr);
  }

  .client-access-user-actions{
    grid-column:1/-1;
    margin-left:53px;
  }

  .client-access-searches{
    margin-left:0;
  }
}

@media(max-width:500px){
  .client-access-group-header{
    padding:15px;
  }

  .client-access-group-body{
    padding:0 15px;
  }

  .client-access-user-actions{
    align-items:stretch;
    flex-direction:column;
    margin-left:0;
  }

  .client-access-user-actions form,
  .client-access-user-actions button{
    width:100%;
  }
}


/* Compact Client Directory */
.client-directory-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.client-directory-search{
  width:min(520px,100%);
}

.client-directory-search span{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.client-directory-search input{
  width:100%;
  min-height:42px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  font:inherit;
}

.client-directory-legend{
  display:flex;
  gap:18px;
  color:var(--muted);
  font-size:10px;
}

.client-directory-legend b{
  color:var(--text);
}

.client-directory{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
}

.client-directory-head,
.client-directory-summary{
  display:grid;
  grid-template-columns:minmax(320px,1fr) 90px 90px 90px;
  gap:14px;
  align-items:center;
}

.client-directory-head{
  padding:10px 16px;
  border-bottom:1px solid var(--line);
  background:#fafbfc;
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.client-directory-row{
  border-bottom:1px solid var(--line);
}

.client-directory-row:last-child{
  border-bottom:0;
}

.client-directory-row[hidden]{
  display:none!important;
}

.client-directory-summary{
  width:100%;
  padding:13px 16px;
  border:0;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}

.client-directory-summary:hover{
  background:#fafbfc;
}

.client-directory-name{
  display:flex;
  min-width:0;
  align-items:center;
  gap:11px;
}

.client-directory-name strong,
.client-directory-name small{
  display:block;
}

.client-directory-name strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.client-directory-name small{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}

.client-directory-initial,
.client-directory-user-initial{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  border-radius:50%;
  background:#f8e9ec;
  color:var(--brand);
  font-weight:900;
  text-transform:uppercase;
}

.client-directory-initial{
  width:34px;
  height:34px;
  font-size:12px;
}

.client-directory-user-initial{
  width:32px;
  height:32px;
  font-size:11px;
}

.client-directory-count{
  color:var(--text);
  font-size:11px;
  font-weight:800;
}

.client-directory-toggle{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  color:var(--brand);
  font-size:9px;
  font-weight:900;
}

.client-directory-toggle b{
  font-size:14px;
  transition:transform .2s ease;
}

.client-directory-summary[aria-expanded="true"]
.client-directory-toggle b{
  transform:rotate(180deg);
}

.client-directory-details{
  padding:0 16px 0 61px;
  border-top:1px solid var(--line);
  background:#fcfcfd;
}

.client-directory-details[hidden]{
  display:none!important;
}

.client-directory-user{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(300px,1.2fr) auto;
  gap:18px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}

.client-directory-user:last-child{
  border-bottom:0;
}

.client-directory-user-info{
  display:flex;
  min-width:0;
  align-items:center;
  gap:10px;
}

.client-directory-user-info strong,
.client-directory-user-info small{
  display:block;
}

.client-directory-user-info small{
  margin-top:2px;
  overflow-wrap:anywhere;
  color:var(--muted);
  font-size:9px;
}

.client-directory-user-title{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
}

.client-directory-status{
  padding:3px 6px;
  border-radius:999px;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
}

.client-directory-status.active{
  background:#e8f6ef;
  color:#257956;
}

.client-directory-status.inactive{
  background:#f1f2f4;
  color:#687180;
}

.client-directory-user-searches>span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.client-directory-search-list{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:6px;
}

.client-directory-search-list span{
  display:inline-flex;
  max-width:100%;
  padding:5px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:8px;
  font-weight:800;
}

.client-directory-user-searches em{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
}

.client-directory-user-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}

.client-directory-user-actions form{
  margin:0;
}

.client-directory-user-actions button{
  min-width:78px;
  min-height:34px;
  padding:6px 9px;
  font-size:8px;
}

.client-directory-empty{
  padding:14px 0;
  color:var(--muted);
  font-size:10px;
}

@media(max-width:900px){
  .client-directory-head{
    display:none;
  }

  .client-directory-summary{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .client-directory-summary
  .client-directory-count{
    display:none;
  }

  .client-directory-user{
    grid-template-columns:1fr;
    gap:10px;
  }

  .client-directory-user-actions{
    justify-content:flex-start;
  }
}

@media(max-width:650px){
  .client-directory-toolbar{
    align-items:stretch;
    flex-direction:column;
  }

  .client-directory-legend{
    justify-content:space-between;
  }

  .client-directory-details{
    padding:0 14px;
  }

  .client-directory-summary{
    padding:12px 14px;
  }

  .client-directory-user-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .client-directory-user-actions form,
  .client-directory-user-actions button{
    width:100%;
  }
}


/* Admin Workspace Navigation */
.admin-workspace-nav{
  display:flex;
  align-items:center;
  gap:7px;
  margin:20px 0 26px;
  padding:8px;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fafbfc;
  scrollbar-width:thin;
}

.admin-workspace-nav a{
  display:inline-flex;
  min-height:36px;
  flex:0 0 auto;
  align-items:center;
  padding:8px 11px;
  border:1px solid transparent;
  border-radius:7px;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none;
  white-space:nowrap;
}

.admin-workspace-nav a:hover{
  border-color:var(--line);
  background:#fff;
  color:var(--text);
}

.admin-workspace-nav a.active{
  border-color:var(--brand);
  background:#fff;
  color:var(--brand);
}

@media(max-width:700px){
  .admin-workspace-nav{
    margin:16px 0 22px;
  }
}


/* Live Client Access Revocation */
.client-directory-user{
  transition:opacity .18s ease, transform .18s ease;
}

.client-directory-user.client-user-row-removing{
  opacity:0;
  transform:translateX(8px);
}

.client-revoke-access-form button:disabled{
  cursor:wait;
  opacity:.65;
}


/* Shared Admin Top Bar */
.admin-workspace-nav,
.admin-page-links{
  display:none!important;
}

.admin-topbar{
  position:sticky;
  top:0;
  z-index:900;
  width:100%;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);
}

.admin-topbar-inner{
  display:flex;
  width:min(1500px,calc(100% - 40px));
  min-height:68px;
  margin:0 auto;
  align-items:center;
  gap:24px;
}

.admin-topbar-brand{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:10px;
  color:var(--text);
  text-decoration:none;
}

.admin-topbar-brand>span:last-child{
  display:grid;
  gap:2px;
}

.admin-topbar-brand strong{
  font-size:12px;
}

.admin-topbar-brand small{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.admin-topbar-nav{
  display:flex;
  min-width:0;
  flex:1 1 auto;
  align-items:center;
  gap:3px;
  overflow-x:auto;
  scrollbar-width:thin;
}

.admin-topbar-nav a{
  display:inline-flex;
  min-height:38px;
  flex:0 0 auto;
  align-items:center;
  padding:8px 10px;
  border-radius:7px;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}

.admin-topbar-nav a:hover{
  background:#f6f7f9;
  color:var(--text);
}

.admin-topbar-nav a.active{
  background:#f8e9ec;
  color:var(--brand);
}

.admin-topbar-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:12px;
}

.admin-topbar-actions a{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.03em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
}

.admin-topbar-actions a:hover{
  color:var(--brand);
}

.admin-topbar-actions .admin-signout-link{
  padding-left:12px;
  border-left:1px solid var(--line);
  color:var(--brand);
}

/* Keep content close to the shared header. */
.admin-topbar + .admin-portal-page,
.admin-topbar + .automation-admin-page{
  padding-top:34px;
}

@media(max-width:1050px){
  .admin-topbar-inner{
    width:calc(100% - 24px);
    flex-wrap:wrap;
    gap:8px 16px;
    padding:10px 0;
  }

  .admin-topbar-nav{
    order:3;
    width:100%;
    flex-basis:100%;
  }

  .admin-topbar-actions{
    margin-left:auto;
  }
}

@media(max-width:650px){
  .admin-topbar-actions a:not(.admin-signout-link){
    display:none;
  }

  .admin-topbar-brand small{
    display:none;
  }
}


/* Header logo sizing */
.site-logo img,
.navbar-brand img,
.brand-logo img,
.logo img{
    height:40px !important;
    width:auto !important;
    object-fit:contain;
}


/* SGR Image Logo */
.sgr-brand-logo{
  display:block;
  width:auto;
  height:42px;
  flex:0 0 auto;
  object-fit:contain;
}

.topbar .sgr-brand-logo,
.client-topbar .sgr-brand-logo,
.admin-topbar .sgr-brand-logo{
  height:38px;
}

.login-shell .sgr-brand-logo,
.client-login-shell .sgr-brand-logo,
.admin-login-dialog .sgr-brand-logo,
.login-card .sgr-brand-logo{
  height:52px;
  margin-bottom:14px;
}

.admin-topbar-brand .sgr-brand-logo,
.client-topbar-brand .sgr-brand-logo,
.mini-brand .sgr-brand-logo{
  margin-right:8px;
}

@media(max-width:650px){
  .sgr-brand-logo{
    height:36px;
  }

  .login-shell .sgr-brand-logo,
  .client-login-shell .sgr-brand-logo,
  .admin-login-dialog .sgr-brand-logo,
  .login-card .sgr-brand-logo{
    height:46px;
  }
}


/* Sign-in Screen Logo */
.sgr-login-logo{
  display:block;
  width:auto;
  height:58px;
  max-width:240px;
  margin:0 0 22px;
  object-fit:contain;
}

.login-card .sgr-login-logo,
.client-login-card .sgr-login-logo,
.admin-login-dialog .sgr-login-logo,
.login-panel .sgr-login-logo{
  margin-left:0;
}

@media(max-width:650px){
  .sgr-login-logo{
    height:48px;
    max-width:200px;
    margin-bottom:18px;
  }
}


/* Portal Sign-in Full Logo */
.login-brand-panel .brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.portal-signin-logo{
  display:block;
  width:auto;
  height:54px;
  max-width:180px;
  object-fit:contain;
}

.login-brand-panel .brand>div{
  display:grid;
  gap:2px;
}

@media(max-width:650px){
  .portal-signin-logo{
    height:46px;
    max-width:150px;
  }
}


/* Minimized Candidate Document Progress */
.admin-progress-banner{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1200;
  display:grid;
  grid-template-columns:34px minmax(180px,1fr) auto;
  gap:11px;
  width:min(430px,calc(100vw - 32px));
  align-items:center;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--text);
  box-shadow:0 16px 45px rgba(24,29,39,.18);
  text-align:left;
  cursor:pointer;
}

.admin-progress-banner[hidden]{
  display:none!important;
}

.admin-progress-banner-icon{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  background:#f8e9ec;
  color:var(--brand);
  font-size:17px;
  font-weight:900;
}

.admin-progress-banner-copy{
  display:grid;
  min-width:0;
  gap:3px;
}

.admin-progress-banner-copy strong,
.admin-progress-banner-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.admin-progress-banner-copy strong{
  font-size:10px;
}

.admin-progress-banner-copy small{
  color:var(--muted);
  font-size:9px;
}

.admin-progress-banner-percent{
  color:var(--brand);
  font-size:13px;
  font-weight:900;
}

.admin-progress-banner.complete
.admin-progress-banner-icon{
  background:#e8f6ef;
  color:#257956;
}

.admin-progress-banner.failed
.admin-progress-banner-icon{
  background:#fbe9eb;
  color:#a21c2a;
}

@media(max-width:650px){
  .admin-progress-banner{
    right:16px;
    bottom:16px;
    grid-template-columns:30px minmax(0,1fr) auto;
    width:calc(100vw - 32px);
  }
}


/* Candidate Document Cancellation */
.admin-progress-header-actions{
  display:flex;
  align-items:center;
  gap:9px;
}

.admin-progress-cancel-button{
  min-height:34px;
  padding:7px 11px;
  border:1px solid #b42318;
  border-radius:7px;
  background:#fff;
  color:#b42318;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}

.admin-progress-cancel-button:hover{
  background:#fff4f2;
}

.admin-progress-cancel-button:disabled{
  cursor:wait;
  opacity:.6;
}

.admin-progress-banner{
  grid-template-columns:
    34px minmax(180px,1fr) auto auto;
}

.admin-progress-banner-cancel{
  padding:6px 8px;
  border-radius:6px;
  color:#b42318;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}

.admin-progress-banner-cancel:hover{
  background:#fff4f2;
}

.admin-progress-banner.cancelled
.admin-progress-banner-icon{
  background:#f1f2f4;
  color:#687180;
}

.admin-progress-modal.cancelled
.admin-progress-bar{
  background:#687180;
}

@media(max-width:650px){
  .admin-progress-banner{
    grid-template-columns:30px minmax(0,1fr) auto;
  }

  .admin-progress-banner-cancel{
    grid-column:2/4;
    justify-self:end;
  }

  .admin-progress-header-actions{
    align-items:flex-end;
    flex-direction:column-reverse;
  }
}


/* Global Admin Document Progress */
.global-document-progress{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1250;
  display:flex;
  width:min(470px,calc(100vw - 32px));
  align-items:stretch;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  box-shadow:0 16px 45px rgba(24,29,39,.2);
}

.global-document-progress[hidden]{
  display:none!important;
}

.global-document-progress-main{
  display:grid;
  min-width:0;
  flex:1 1 auto;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 14px;
  border:0;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}

.global-document-progress-main:hover{
  background:#fafbfc;
}

.global-document-progress-icon{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  background:#f8e9ec;
  color:var(--brand);
  font-size:17px;
  font-weight:900;
}

.global-document-progress-copy{
  display:grid;
  min-width:0;
  gap:3px;
}

.global-document-progress-copy strong,
.global-document-progress-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.global-document-progress-copy strong{
  font-size:10px;
}

.global-document-progress-copy small{
  color:var(--muted);
  font-size:9px;
}

.global-document-progress-track{
  display:block;
  height:3px;
  margin-top:4px;
  overflow:hidden;
  border-radius:999px;
  background:#eceef2;
}

.global-document-progress-bar{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--brand);
  transition:width .25s ease;
}

.global-document-progress-percent{
  color:var(--brand);
  font-size:12px;
  font-weight:900;
}

.global-document-progress-cancel{
  flex:0 0 auto;
  padding:0 13px;
  border:0;
  border-left:1px solid var(--line);
  background:#fff;
  color:#b42318;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}

.global-document-progress-cancel:hover{
  background:#fff4f2;
}

.global-document-progress-cancel:disabled{
  cursor:wait;
  opacity:.55;
}

.global-document-progress.complete
.global-document-progress-icon{
  background:#e8f6ef;
  color:#257956;
}

.global-document-progress.failed
.global-document-progress-icon{
  background:#fbe9eb;
  color:#a21c2a;
}

.global-document-progress.cancelled
.global-document-progress-icon{
  background:#f1f2f4;
  color:#687180;
}

.global-document-progress.cancelled
.global-document-progress-bar{
  background:#687180;
}

@media(max-width:650px){
  .global-document-progress{
    right:16px;
    bottom:16px;
    width:calc(100vw - 32px);
  }

  .global-document-progress-main{
    grid-template-columns:30px minmax(0,1fr) auto;
    padding:11px 12px;
  }

  .global-document-progress-cancel{
    padding:0 10px;
  }
}


/* Smart Document Sync and Maroon Minimize Control */
.admin-progress-close{
  border-color:#821623!important;
  background:#821623!important;
  color:#fff!important;
}

.admin-progress-close:hover{
  border-color:#68111c!important;
  background:#68111c!important;
  color:#fff!important;
}


/* Candidate Document History Details */
.history-detail-panel{
  max-height:min(88vh,900px);
  overflow-y:auto;
}

.history-detail-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}

.history-detail-summary>div{
  padding:11px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fafbfc;
}

.history-detail-summary span,
.history-detail-summary strong{
  display:block;
}

.history-detail-summary span{
  margin-bottom:4px;
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.history-detail-summary strong{
  overflow-wrap:anywhere;
  font-size:11px;
}

.history-detail-section{
  margin-top:22px;
}

.history-detail-section h3{
  margin:0 0 10px;
  color:var(--brand);
  font-size:14px;
}

.history-detail-list{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.history-detail-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 13px;
  border-bottom:1px solid var(--line);
  font-size:10px;
}

.history-detail-item:last-child{
  border-bottom:0;
}

.history-detail-item strong,
.history-detail-item small{
  display:block;
}

.history-detail-item small{
  margin-top:3px;
  color:var(--muted);
}

.history-detail-item a{
  flex:0 0 auto;
  color:var(--brand);
  font-weight:900;
  text-decoration:none;
}

.history-detail-item.error{
  justify-content:flex-start;
  color:#a21c2a;
}

.history-detail-empty{
  margin:0;
  padding:13px;
  color:var(--muted);
  font-size:10px;
}

@media(max-width:900px){
  .history-detail-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:600px){
  .history-detail-summary{
    grid-template-columns:1fr;
  }

  .history-detail-item{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Completion Reconnect Hard Close */
.global-document-progress,
.admin-progress-banner{
  transition: opacity .25s ease, transform .25s ease;
}
.global-document-progress.auto-closing,
.admin-progress-banner.auto-closing{
  opacity:0!important;
  transform:translateY(12px);
  pointer-events:none;
}


/* Client Candidate Interest */
.client-interest-panel{
  display:grid;
  gap:14px;
  margin-top:16px;
  padding:18px 0 4px;
  border-top:1px solid var(--line);
}

.client-interest-copy{
  display:grid;
  gap:5px;
}

.client-interest-copy strong{
  font-size:14px;
}

.client-interest-copy small{
  max-width:760px;
  color:var(--muted);
  line-height:1.45;
}

.client-interest-form{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.client-interest-choice{
  min-height:38px;
  padding:9px 16px;
  border:1px solid #cfd5df;
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.client-interest-choice:hover{
  border-color:#821623;
  color:#821623;
}

.client-interest-choice.selected{
  border-color:#821623;
  background:#821623;
  color:#fff;
}

.client-interest-choice.not-interested.selected{
  border-color:#9f1c2a;
  background:#9f1c2a;
  color:#fff;
}

.client-interest-current{
  margin:0;
  color:var(--muted);
  font-size:10px;
}

.client-interest-current strong{
  color:#821623;
}

@media(max-width:650px){
  .client-interest-form{
    display:grid;
    grid-template-columns:1fr;
  }

  .client-interest-choice{
    width:100%;
  }
}


/* Client Search Analytics */
.client-analytics-pdf-button{
  margin-top:16px;
  width:max-content;
}

.client-tier-section{
  margin-top:28px;
}

.client-tier-section .client-referral-chart-wrap{
  min-height:330px;
}

#downloadAnalyticsPdf:disabled{
  opacity:.65;
  cursor:wait;
}


/* Client Portal Setup - per-job candidate listing */
.client-job-visibility-section{
  padding:18px 20px;
  border-bottom:1px solid var(--line);
  background:#fbfbfc;
}

.client-job-visibility-heading{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}

.client-job-visibility-heading h3{
  margin:3px 0 4px;
  font-size:15px;
}

.client-job-visibility-heading p{
  margin:0;
  max-width:720px;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}

.client-job-visibility-list{
  display:grid;
  gap:8px;
}

.client-job-visibility-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}

.client-job-visibility-info{
  display:grid;
  gap:2px;
  min-width:0;
}

.client-job-visibility-info strong{
  font-size:11px;
  overflow-wrap:anywhere;
}

.client-job-visibility-info small{
  color:var(--muted);
  font-size:9px;
}

.client-job-list-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
}

.client-job-list-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.client-job-list-toggle-track{
  position:relative;
  width:38px;
  height:22px;
  border-radius:999px;
  background:#cbd0d8;
  transition:background .18s ease;
}

.client-job-list-toggle-track span{
  position:absolute;
  width:16px;
  height:16px;
  top:3px;
  left:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition:transform .18s ease;
}

.client-job-list-toggle input:checked + .client-job-list-toggle-track{
  background:#821623;
}

.client-job-list-toggle input:checked + .client-job-list-toggle-track span{
  transform:translateX(16px);
}

.client-job-list-toggle strong{
  min-width:42px;
  color:var(--muted);
  font-size:9px;
}

.client-job-list-toggle input:checked
  ~ strong{
  color:#821623;
}

@media(max-width:700px){
  .client-job-visibility-row{
    grid-template-columns:1fr;
  }

  .client-job-list-toggle{
    justify-self:start;
  }
}


/* Client candidate detail - tags beside candidate name */
.client-detail-candidate-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-top:8px;
}

.client-detail-candidate-tags span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border:1px solid #ead4d8;
  border-radius:999px;
  background:#f8e9ec;
  color:#821623;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
}

.client-recruiter-access-option{margin:0 0 18px;padding:14px 16px;border:1px solid #e2e6ec;border-radius:12px;background:#f8f9fb}
.client-recruiter-access-option label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.client-recruiter-access-option span{display:grid;gap:3px}.client-recruiter-access-option small{color:#667085}
.client-notes-report-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-left:8px}


/* Manage Search Access - Recruiter access control */
.client-recruiter-access-option{
  margin: 20px 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
}

.client-recruiter-access-label{
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start !important;
  gap: 12px !important;
  width: 100%;
  margin: 0;
  padding: 16px 18px;
  box-sizing: border-box;
  border: 1px solid #dfe3e8;
  border-radius: 12px;
  background: #f8f9fb;
  cursor: pointer;
}

.client-recruiter-access-label > input{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none;
}

.client-recruiter-access-check{
  position: relative;
  display: block;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  box-sizing: border-box;
  border: 2px solid #bcc4cf;
  border-radius: 5px;
  background: #fff;
  transition:
    background .16s ease,
    border-color .16s ease;
}

.client-recruiter-access-label > input:checked
  + .client-recruiter-access-check{
  border-color: #8f1724;
  background: #8f1724;
}

.client-recruiter-access-label > input:checked
  + .client-recruiter-access-check::after{
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.client-recruiter-access-label > input:focus-visible
  + .client-recruiter-access-check{
  outline: 3px solid rgba(143, 23, 36, .18);
  outline-offset: 2px;
}

.client-recruiter-access-copy{
  display: grid !important;
  gap: 4px !important;
  min-width: 0;
}

.client-recruiter-access-copy strong{
  display: block;
  margin: 0;
  color: #20242c;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}

.client-recruiter-access-copy small{
  display: block;
  margin: 0;
  color: #687080;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}

.client-search-access-options{
  margin-top: 4px;
}

@media (max-width: 640px){
  .client-recruiter-access-label{
    padding: 14px;
  }
}


/* Client Portal Setup - recruiter badge */
.client-directory-status.recruiter{
  background:#f6e8eb;
  color:#821623;
  border:1px solid #e8c9cf;
}

.client-directory-user-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}


/* Client dashboard confidentiality notice */
.client-confidentiality-notice{
  margin:56px 0 12px;
  padding-top:32px;
  border-top:1px solid #dfe3e8;
}

.client-confidentiality-notice-inner{
  padding:24px 28px;
  border:1px solid #e3e6eb;
  border-radius:14px;
  background:#fafafb;
}

.client-confidentiality-notice h2{
  margin:5px 0 14px;
  color:#20242c;
  font-size:20px;
  line-height:1.25;
}

.client-confidentiality-notice p{
  max-width:1200px;
  margin:0 0 12px;
  color:#667085;
  font-size:12px;
  line-height:1.65;
}

.client-confidentiality-notice p:last-child{
  margin-bottom:0;
}

@media(max-width:640px){
  .client-confidentiality-notice{
    margin-top:36px;
    padding-top:24px;
  }

  .client-confidentiality-notice-inner{
    padding:20px;
  }
}


/* Email & Authentication - editable SMTP configuration */
.admin-smtp-settings-form{
  margin-top:18px;
}

.admin-smtp-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
}

.admin-smtp-grid label{
  display:grid;
  gap:7px;
  min-width:0;
}

.admin-smtp-grid label > span{
  color:#20242c;
  font-size:11px;
  font-weight:800;
}

.admin-smtp-grid input{
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid #d8dde5;
  border-radius:8px;
  background:#fff;
  color:#20242c;
  font:inherit;
}

.admin-smtp-grid input:focus{
  outline:none;
  border-color:#821623;
  box-shadow:0 0 0 3px rgba(130,22,35,.10);
}

.admin-smtp-grid small{
  color:#6b7280;
  font-size:9px;
  line-height:1.45;
}

.smtp-tls-toggle{
  margin-top:18px;
}

.admin-smtp-actions{
  display:flex;
  justify-content:flex-start;
  margin-top:18px;
}

@media(max-width:760px){
  .admin-smtp-grid{
    grid-template-columns:1fr;
  }
}


/* Client candidate detail - current employment */
.client-current-employment-section{
  margin:24px 0;
  padding:22px 24px;
  border:1px solid #e2e5ea;
  border-radius:12px;
  background:#fff;
}

.client-current-employment-section .section-heading-row{
  margin-bottom:14px;
}

.client-current-employment-section h2{
  margin:4px 0 0;
  font-size:18px;
  line-height:1.25;
}

.client-current-employment-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.client-current-employment-item{
  display:grid;
  gap:5px;
  min-width:0;
  padding:14px 16px;
  border:1px solid #e7e9ee;
  border-radius:9px;
  background:#f8f9fb;
}

.client-current-employment-item span{
  color:#687080;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.client-current-employment-item strong{
  color:#20242c;
  font-size:14px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

@media(max-width:640px){
  .client-current-employment-grid{
    grid-template-columns:1fr;
  }
}


/* Client dashboard confidentiality notice alignment */
.client-confidentiality-notice{
  width:min(100% - 48px, 1500px);
  max-width:1500px;
  box-sizing:border-box;
  margin:32px auto 40px !important;
  padding:28px 30px !important;
  border:1px solid #e1e5eb !important;
  border-radius:12px;
  background:#fafbfc;
}

.client-confidentiality-notice::before,
.client-confidentiality-notice::after{
  display:none !important;
  content:none !important;
}

@media(max-width:720px){
  .client-confidentiality-notice{
    width:calc(100% - 28px);
    margin:24px auto 28px !important;
    padding:22px 20px !important;
  }
}


/* Confidentiality notice - open layout, no bordered card */
.client-confidentiality-notice{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}


/* SMTP runtime configuration status */
.admin-smtp-status{
  display:flex;
  align-items:flex-start;
  margin:16px 0 4px;
  padding:13px 15px;
  border:1px solid #d9dee6;
  border-radius:10px;
  background:#f8f9fb;
}

.admin-smtp-status > div{
  display:grid;
  gap:3px;
}

.admin-smtp-status strong{
  font-size:11px;
}

.admin-smtp-status span{
  color:#667085;
  font-size:10px;
  line-height:1.45;
}

.admin-smtp-status.ready{
  border-color:#cfe7da;
  background:#f1faf5;
}

.admin-smtp-status.ready strong{
  color:#24734d;
}

.admin-smtp-status.warning{
  border-color:#eed9dd;
  background:#fff7f8;
}

.admin-smtp-status.warning strong{
  color:#821623;
}


/* SGR maintenance page */
.maintenance-page{
  margin:0;
  min-height:100vh;
  background:#fff;
  color:#20242c;
}
.maintenance-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  padding:40px 24px;
}
.maintenance-content{
  width:min(100%,620px);
  text-align:center;
}
.maintenance-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:42px;
}
.maintenance-brand > div{
  display:grid;
  gap:2px;
  text-align:left;
}
.maintenance-brand strong{
  font-size:13px;
}
.maintenance-brand span{
  color:#737b89;
  font-size:10px;
}
.maintenance-logo{
  width:46px;
  height:46px;
  object-fit:contain;
}
.maintenance-icon{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  margin:0 auto 22px;
  border-radius:50%;
  background:#f7e7ea;
  color:#8f1724;
  font-size:30px;
  font-weight:900;
}
.maintenance-content .section-kicker{
  display:block;
  margin-bottom:8px;
  color:#8f1724;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.maintenance-content h1{
  margin:0 0 16px;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.maintenance-message{
  max-width:530px;
  margin:0 auto;
  color:#667085;
  font-size:16px;
  line-height:1.65;
}
.maintenance-status-line{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:28px 0 22px;
  padding:9px 13px;
  border-radius:999px;
  background:#faf3f4;
  color:#8f1724;
  font-size:12px;
}
.maintenance-status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#8f1724;
}
.maintenance-footer{
  margin:0;
  color:#8a919d;
  font-size:12px;
  line-height:1.5;
}
@media(max-width:640px){
  .maintenance-content h1{font-size:34px}
  .maintenance-brand{margin-bottom:34px}
}


/* =========================================================
   Admin - Portal Maintenance
   ========================================================= */
.admin-maintenance-card{
  margin-top:22px;
  padding:24px;
  border:1px solid #e0e4ea;
  border-radius:14px;
  background:#fff;
}

.admin-maintenance-status-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  padding-bottom:20px;
  border-bottom:1px solid #e7e9ee;
}

.admin-maintenance-status-row h2{
  margin:4px 0 5px;
  font-size:21px;
}

.admin-maintenance-status-row p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}

.admin-maintenance-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.admin-maintenance-status-pill.on{
  background:#f8e9ec;
  color:#8f1724;
}

.admin-maintenance-status-pill.off{
  background:#eaf7ef;
  color:#24734d;
}

.admin-maintenance-form{
  display:grid;
  gap:20px;
  margin-top:22px;
}

.admin-maintenance-toggle{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:13px;
  cursor:pointer;
}

.admin-maintenance-toggle > input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.admin-maintenance-toggle-track{
  position:relative;
  display:block;
  width:44px;
  height:25px;
  border-radius:999px;
  background:#cbd1da;
  transition:.18s ease;
}

.admin-maintenance-toggle-track > span{
  position:absolute;
  top:3px;
  left:3px;
  width:19px;
  height:19px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition:.18s ease;
}

.admin-maintenance-toggle > input:checked
  + .admin-maintenance-toggle-track{
  background:#8f1724;
}

.admin-maintenance-toggle > input:checked
  + .admin-maintenance-toggle-track > span{
  transform:translateX(19px);
}

.admin-maintenance-toggle-copy{
  display:grid;
  gap:3px;
}

.admin-maintenance-toggle-copy strong{
  font-size:13px;
}

.admin-maintenance-toggle-copy small{
  color:#667085;
  font-size:10px;
  line-height:1.45;
}

.admin-maintenance-message-field{
  display:grid;
  gap:7px;
}

.admin-maintenance-message-field > span{
  font-size:11px;
  font-weight:800;
}

.admin-maintenance-message-field textarea{
  width:100%;
  box-sizing:border-box;
  resize:vertical;
  min-height:108px;
  padding:12px 14px;
  border:1px solid #d8dde5;
  border-radius:9px;
  background:#fff;
  color:#20242c;
  font:inherit;
  line-height:1.5;
}

.admin-maintenance-message-field textarea:focus{
  outline:none;
  border-color:#8f1724;
  box-shadow:0 0 0 3px rgba(143,23,36,.10);
}

.admin-maintenance-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.admin-maintenance-preview-section{
  margin-top:28px;
}

.admin-maintenance-preview-frame{
  display:block;
  width:100%;
  height:620px;
  margin-top:14px;
  border:1px solid #e0e4ea;
  border-radius:14px;
  background:#fff;
}

@media(max-width:720px){
  .admin-maintenance-status-row{
    flex-direction:column;
  }

  .admin-maintenance-preview-frame{
    height:700px;
  }
}


/* Client dashboard confidentiality - use exact dashboard content grid */
.client-dashboard-page > .client-confidentiality-notice{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
  margin:44px 0 28px !important;
  padding:28px 0 0 !important;
  border:0 !important;
  border-top:1px solid #e1e5eb !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.client-dashboard-page > .client-confidentiality-notice .client-confidentiality-notice-inner{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.client-dashboard-page > .client-confidentiality-notice p{
  width:100% !important;
  max-width:none !important;
}

@media(max-width:720px){
  .client-dashboard-page > .client-confidentiality-notice{
    margin:32px 0 22px !important;
    padding:24px 0 0 !important;
  }
}


/* Confidentiality Notice - remove extra divider line */
.client-dashboard-page > .client-confidentiality-notice{
  border-top:0 !important;
  padding-top:0 !important;
}


/* =========================================================
   Admin Portal Maintenance - polished admin layout
   ========================================================= */
.admin-maintenance-page{
  max-width:1400px;
}

.admin-maintenance-header{
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.admin-maintenance-control-section{
  margin-top:0;
}

.admin-maintenance-control-section,
.admin-maintenance-preview-section{
  padding-top:30px;
  padding-bottom:30px;
}

.admin-maintenance-status-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:28px;
  padding:0 0 22px;
  border-bottom:1px solid var(--line);
}

.admin-maintenance-status-row h2{
  margin:5px 0 6px;
  font-size:24px;
  letter-spacing:-.025em;
}

.admin-maintenance-status-row p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.admin-maintenance-status-pill{
  flex:0 0 auto;
}

.admin-maintenance-form{
  margin-top:0;
}

.admin-maintenance-toggle-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:15px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
  cursor:pointer;
}

.admin-maintenance-toggle-control{
  display:block;
  line-height:0;
}

.admin-maintenance-toggle-control > input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.admin-maintenance-toggle-copy strong{
  display:block;
  color:var(--text);
  font-size:13px;
}

.admin-maintenance-toggle-copy small{
  display:block;
  max-width:760px;
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.admin-maintenance-message-field{
  padding:22px 0 0;
}

.admin-maintenance-message-field > span{
  display:block;
  margin-bottom:7px;
  color:var(--text);
  font-size:11px;
  font-weight:800;
}

.admin-maintenance-message-field textarea{
  min-height:120px;
}

.admin-maintenance-message-field > small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}

.admin-maintenance-actions{
  margin-top:20px;
}

.admin-maintenance-preview-section{
  margin-top:0;
}

.admin-maintenance-preview-section .section-heading-row{
  align-items:flex-end;
}

.admin-maintenance-preview-shell{
  margin-top:16px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8f9fb;
}

.admin-maintenance-preview-frame{
  display:block;
  width:100%;
  height:500px;
  margin:0;
  border:0;
  border-radius:0;
  background:#fff;
}

.admin-maintenance-preview-section .secondary.compact{
  min-height:auto;
  padding:8px 11px;
  font-size:10px;
}

@media(max-width:760px){
  .admin-maintenance-status-row{
    flex-direction:column;
  }

  .admin-maintenance-preview-section .section-heading-row{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }

  .admin-maintenance-preview-frame{
    height:560px;
  }
}

/* Public maintenance branding */
.maintenance-logo{
  width:54px;
  height:54px;
  object-fit:contain;
  object-position:center;
}


/* Candidate detail: remove the extra divider immediately above Current Employment. */
.current-employment-section,
.candidate-current-employment,
.current-position-section {
  border-top: 0 !important;
}
.current-employment-section::before,
.candidate-current-employment::before,
.current-position-section::before {
  display: none !important;
  content: none !important;
}


/* Candidate detail: no divider between summary and Current Employment */
.client-candidate-summary-section{
  border-bottom:0 !important;
  padding-bottom:0 !important;
  margin-bottom:28px !important;
}

.client-candidate-summary-section + .client-current-employment-section{
  margin-top:0 !important;
}


/* Client Portal sign-in confidentiality notice */
.client-login-confidentiality{
  margin-top:32px;
  padding-top:26px;
  border-top:1px solid #e1e5eb;
  color:#667085;
  font-size:14px;
  line-height:1.65;
}

.client-login-confidentiality .section-kicker{
  display:block;
  margin-bottom:6px;
}

.client-login-confidentiality h2{
  margin:0 0 16px;
  color:#20242c;
  font-size:22px;
  line-height:1.2;
}

.client-login-confidentiality p{
  margin:0 0 14px;
}

.client-login-confidentiality p:last-child{
  margin-bottom:0;
}


/* Client Portal expired-session message */
.client-login-session-message{
  margin:0 0 20px;
  padding:14px 16px;
  border-radius:9px;
  background:#fff4f5;
  color:#8f1724;
  font-size:13px;
  line-height:1.5;
}

.admin-link-time-grid,.admin-direct-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.admin-link-time-field,.admin-direct-link-grid label,.admin-generated-link label{display:block}
.admin-link-time-field>span,.admin-direct-link-grid label>span,.admin-generated-link label>span{display:block;font-weight:800;margin-bottom:8px}
.admin-link-time-field>div{display:flex;align-items:center;gap:10px}
.admin-link-time-field input,.admin-direct-link-grid input,.admin-generated-link input{width:100%}
.admin-link-time-field small,.admin-generated-link small{display:block;color:#667085;margin-top:7px}
.admin-direct-link-grid{align-items:end}
.admin-generated-link{margin-top:18px;padding:18px;border:1px solid #d9dfe7;border-radius:12px;background:#f8f9fb}
.admin-generated-link button{margin-top:12px}
@media(max-width:760px){.admin-link-time-grid,.admin-direct-link-grid{grid-template-columns:1fr}}


/* Email & Authentication — polished secure-link controls */
.admin-link-expiration-section{
  margin:18px 0;
  padding:22px 24px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fafbfc;
}

.admin-link-expiration-heading{
  margin-bottom:16px;
}

.admin-link-expiration-heading h3{
  margin:5px 0 5px;
  font-size:18px;
  letter-spacing:-.02em;
}

.admin-link-expiration-heading p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.admin-link-time-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 !important;
}

.admin-link-time-card{
  display:block;
  padding:16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}

.admin-link-time-label{
  display:block;
  margin-bottom:9px;
  color:var(--text);
  font-size:12px;
  font-weight:800;
}

.admin-link-time-input-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.admin-link-time-input-row input{
  width:105px !important;
  height:42px;
  box-sizing:border-box;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:14px;
  font-weight:700;
}

.admin-link-time-input-row span{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.admin-link-time-card small{
  display:block;
  margin-top:9px;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}

.admin-direct-link-section{
  padding-top:34px !important;
  padding-bottom:34px !important;
}

.admin-direct-link-header{
  margin-bottom:18px;
}

.admin-direct-link-header h2{
  margin:7px 0 8px;
  font-size:28px;
  letter-spacing:-.03em;
}

.admin-direct-link-header p{
  max-width:900px;
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.admin-direct-link-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:14px;
  max-width:900px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fafbfc;
}

.admin-direct-link-email > span{
  display:block;
  margin-bottom:7px;
  color:var(--text);
  font-size:11px;
  font-weight:800;
}

.admin-direct-link-email input{
  width:100% !important;
  height:44px;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:13px;
}

.admin-direct-link-generate{
  min-width:190px;
  height:44px;
  margin:0 !important;
  white-space:nowrap;
}

.admin-generated-link{
  max-width:900px;
  margin-top:16px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.admin-generated-link-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:14px;
}

.admin-generated-link-heading strong{
  display:block;
  margin-top:4px;
  font-size:14px;
}

.admin-generated-link-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  background:#eaf7ef;
  color:#24734d;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.admin-generated-link-field > span{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  font-weight:800;
}

.admin-generated-link-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}

.admin-generated-link-row input{
  width:100% !important;
  min-width:0;
  height:42px;
  box-sizing:border-box;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8f9fb;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:11px;
}

.admin-generated-link-row button{
  height:42px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font-weight:800;
  cursor:pointer;
}

.admin-generated-link > small{
  display:block;
  margin-top:9px;
  color:var(--muted);
  font-size:10px;
}

@media(max-width:760px){
  .admin-link-time-grid{
    grid-template-columns:1fr !important;
  }

  .admin-direct-link-card{
    grid-template-columns:1fr;
  }

  .admin-direct-link-generate{
    width:100%;
  }

  .admin-generated-link-row{
    grid-template-columns:1fr;
  }
}


/* Client View Search access protection */
.client-dashboard-access-alert{
  display:grid;
  gap:4px;
  margin:0 0 22px;
  padding:14px 16px;
  border:1px solid #efc7cd;
  border-radius:10px;
  background:#fff4f5;
  color:#8f1724;
}
.client-dashboard-access-alert strong{font-size:12px}
.client-dashboard-access-alert span{font-size:11px;line-height:1.5}

/* Admin Client Portal access diagnostics */
.client-directory-status.access-health.healthy{
  background:#eaf7ef;
  color:#24734d;
}
.client-directory-status.access-health.issue{
  background:#fff0f1;
  color:#9a1b2a;
}
.client-access-diagnostic-detail{
  display:block;
  margin-top:4px;
  color:#9a1b2a !important;
  font-weight:700;
}

.client-directory-status.instant-link{background:#eef2ff;color:#4656a8}
.client-magic-link-mode-form{margin:18px 0}
.client-magic-link-mode-option{padding:16px;border:1px solid #dfe3ea;border-radius:10px;background:#f8f9fb}
.client-magic-link-mode-title{display:block;margin-bottom:4px;color:#20242c;font-size:12px;font-weight:800}
.client-magic-link-mode-option>p{margin:0 0 12px;color:#667085;font-size:10px;line-height:1.5}
.client-magic-link-mode-option label{display:flex;align-items:flex-start;gap:9px;padding:10px 0;cursor:pointer}
.client-magic-link-mode-option label+label{border-top:1px solid #e4e7ec}
.client-magic-link-mode-option input[type="radio"]{margin-top:3px}
.client-magic-link-mode-option label span{display:grid;gap:2px}
.client-magic-link-mode-option label strong{font-size:11px}
.client-magic-link-mode-option label small{color:#667085;font-size:9px;line-height:1.4}
.client-magic-link-mode-option button{margin-top:10px}

.admin-magic-link-priority-note{
  margin:12px 0 18px;
  padding:14px 16px;
  border-left:3px solid #8f1724;
  border-radius:0 8px 8px 0;
  background:#faf8f8;
}
.admin-magic-link-priority-note p{
  margin:5px 0 0;
  color:#667085;
  font-size:10px;
  line-height:1.55;
}


/* Client Search Detail - Recruiter ranking guidance */
.client-recruiter-ranking-notice{
  margin:28px 0 30px;
  padding:22px 24px;
  border-left:4px solid #8f1724;
  border-radius:0 10px 10px 0;
  background:#faf8f8;
}

.client-recruiter-ranking-notice .section-kicker{
  display:block;
  margin-bottom:5px;
}

.client-recruiter-ranking-notice h3{
  margin:0 0 12px;
  color:#20242c;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.015em;
}

.client-recruiter-ranking-notice p{
  margin:0 0 12px;
  color:#667085;
  font-size:11px;
  line-height:1.7;
}

.client-recruiter-ranking-notice p:last-child{
  margin-bottom:0;
}

@media(max-width:720px){
  .client-recruiter-ranking-notice{
    margin:22px 0 24px;
    padding:18px;
  }
}


/* Client dashboard candidate count loading state */
.candidate-count-loading{
  color:#667085;
  font-size:.62em;
  font-weight:700;
  letter-spacing:0;
}


/* Portal Automation - candidate sync batch controls */
.automation-summary > div small{
  display:block;
  margin-top:4px;
  color:#687184;
  font-size:10px;
  font-weight:600;
}

.candidate-sync-batch-note{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:22px 0 14px;
  padding:14px 16px;
  border-left:3px solid #8f1724;
  border-radius:0 9px 9px 0;
  background:#faf8f8;
}

.candidate-sync-batch-note strong{
  font-size:11px;
  color:#20242c;
}

.candidate-sync-batch-note span{
  color:#687184;
  font-size:10px;
  line-height:1.5;
}

.automation-actions{
  align-items:flex-end;
}

.candidate-sync-control{
  display:flex;
  align-items:flex-end;
  gap:12px;
  padding:14px;
  border:1px solid #dde2e8;
  border-radius:10px;
  background:#f8f9fb;
}

.candidate-sync-control label{
  display:grid;
  gap:5px;
  min-width:240px;
}

.candidate-sync-control label > span{
  font-size:10px;
  font-weight:800;
  color:#20242c;
}

.candidate-sync-control input{
  width:120px;
  height:42px;
  box-sizing:border-box;
  padding:8px 10px;
  border:1px solid #d6dce5;
  border-radius:8px;
  background:#fff;
  color:#20242c;
  font:inherit;
  font-weight:700;
}

.candidate-sync-control small{
  max-width:340px;
  color:#687184;
  font-size:9px;
  line-height:1.4;
}

@media(max-width:820px){
  .candidate-sync-control{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .candidate-sync-control label{
    min-width:0;
  }

  .candidate-sync-control button{
    width:100%;
  }
}


/* Tier explanation: always displayed with Tier analytics and captured in analytics PDF */
.client-tier-guidance-wrap{
  margin-top:24px;
}

#analyticsTier .client-recruiter-ranking-notice{
  display:block !important;
  margin:0;
  padding:20px 22px;
  border-left:4px solid #8f1724;
  border-radius:0 10px 10px 0;
  background:#faf8f8;
}

#analyticsTier .client-recruiter-ranking-notice h3{
  margin:5px 0 11px;
  font-size:17px;
  line-height:1.3;
}

#analyticsTier .client-recruiter-ranking-notice p{
  margin:0 0 10px;
  color:#667085;
  font-size:10.5px;
  line-height:1.6;
}

#analyticsTier .client-recruiter-ranking-notice p:last-child{
  margin-bottom:0;
}


/* Group job-level candidate controls into a single job card */
.client-job-settings-card{
  border:1px solid #d9dee7;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  margin-bottom:14px;
}

.client-job-settings-card-header{
  padding:17px 20px 14px;
  background:#fafbfc;
  border-bottom:1px solid #e5e8ee;
}

.client-job-settings-card-header > div{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.client-job-settings-card-header strong{
  font-size:16px;
  color:#202631;
}

.client-job-settings-card-header small{
  color:#667085;
  font-size:13px;
}

.client-job-setting-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:15px 20px;
  margin:0;
}

.client-job-setting-row + .client-job-setting-row{
  border-top:1px solid #e7eaf0;
}

.client-job-setting-label{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.client-job-setting-label strong{
  font-size:15px;
  color:#202631;
}

.client-job-setting-label small{
  color:#667085;
  font-size:12px;
  line-height:1.4;
}

.client-job-setting-row .client-job-list-toggle{
  flex:0 0 auto;
}

@media (max-width:760px){
  .client-job-setting-row{
    align-items:flex-start;
    flex-direction:column;
  }
}


.client-candidate-total-note{
  margin:4px 0 0;
  color:#667085;
  font-size:13px;
  font-weight:500;
  line-height:1.4;
}


/* Client Portal - job shared documents */
.client-job-documents-button{ text-decoration:none; }

.client-shared-document-upload,
.client-shared-documents-list-section{ margin-top:28px; }

.client-shared-document-upload{
  border:1px solid #d9dee7;
  border-radius:14px;
  padding:22px;
  background:#fafbfc;
}

.client-shared-document-upload-form{
  display:flex;
  align-items:flex-end;
  gap:18px;
  margin-top:16px;
}

.client-shared-document-upload-form label{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:8px;
  font-weight:700;
}

.client-shared-document-upload-form input[type="file"]{
  width:100%;
  padding:12px;
  border:1px solid #cfd5df;
  border-radius:10px;
  background:#fff;
}

.client-shared-document-upload-form small{
  color:#667085;
  font-weight:500;
}

.client-shared-document-count{
  display:flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f3f4f6;
  color:#202631;
}

.client-shared-documents-list{
  border:1px solid #d9dee7;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.client-shared-document-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:17px 18px;
}

.client-shared-document-row + .client-shared-document-row{
  border-top:1px solid #e6e9ef;
}

.client-shared-document-icon{
  display:flex;
  width:38px;
  height:38px;
  flex:0 0 38px;
  align-items:center;
  justify-content:center;
  border:1px solid #e0e4ea;
  border-radius:50%;
  background:#fafbfc;
  font-size:17px;
}

.client-shared-document-info{
  display:flex;
  min-width:0;
  flex:1 1 auto;
  flex-direction:column;
  gap:4px;
}

.client-shared-document-info a{
  color:#8f1522;
  font-weight:800;
  overflow-wrap:anywhere;
  text-decoration:none;
}

.client-shared-document-info a:hover{ text-decoration:underline; }

.client-shared-document-info small{ color:#667085; }

.client-shared-document-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
}

.client-shared-document-actions form{ margin:0; }

@media (max-width:720px){
  .client-shared-document-upload-form{
    align-items:stretch;
    flex-direction:column;
  }

  .client-shared-document-row{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .client-shared-document-actions{
    width:100%;
    padding-left:52px;
  }
}


.client-shared-document-heading-actions{
  display:flex;
  align-items:center;
  gap:10px;
}


/* Client Portal - view-only shared document preview */
.client-document-preview-header{
  margin-bottom:20px;
}

.client-document-preview-header h1{
  margin-bottom:6px;
  overflow-wrap:anywhere;
}

.client-document-preview-shell{
  min-height:70vh;
  border:1px solid #d9dee7;
  border-radius:14px;
  overflow:hidden;
  background:#f7f8fa;
}

.client-document-preview-frame{
  display:block;
  width:100%;
  height:76vh;
  min-height:620px;
  border:0;
  background:#fff;
}

.client-document-preview-image-wrap{
  display:flex;
  min-height:70vh;
  align-items:flex-start;
  justify-content:center;
  padding:24px;
  overflow:auto;
}

.client-document-preview-image-wrap img{
  display:block;
  max-width:100%;
  height:auto;
  box-shadow:0 2px 12px rgba(16,24,40,.12);
}

.client-document-preview-unavailable{
  margin:24px;
}


.client-job-documents-button{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.client-job-documents-badge{
  display:inline-flex;
  min-width:22px;
  height:22px;
  padding:0 7px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#8f1522;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
}


/* Themed file picker for recruiter shared-document uploads */
.client-shared-document-upload-form input[type="file"]{
  color:#202631;
  font-weight:600;
  cursor:pointer;
}

.client-shared-document-upload-form input[type="file"]::file-selector-button{
  margin-right:12px;
  padding:10px 16px;
  border:1px solid #8f1522;
  border-radius:8px;
  background:#8f1522;
  color:#fff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .15s ease;
}

.client-shared-document-upload-form input[type="file"]::file-selector-button:hover{
  background:#76111c;
  border-color:#76111c;
}

.client-shared-document-upload-form input[type="file"]::file-selector-button:active{
  transform:translateY(1px);
}

/* Safari/older WebKit fallback */
.client-shared-document-upload-form input[type="file"]::-webkit-file-upload-button{
  margin-right:12px;
  padding:10px 16px;
  border:1px solid #8f1522;
  border-radius:8px;
  background:#8f1522;
  color:#fff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}


/* Secure shared-document PDF viewer - matches candidate resume protection */
.client-secure-pdf-viewer{
  min-height:70vh;
  background:#eef0f3;
  user-select:none;
  -webkit-user-select:none;
}

.client-secure-pdf-toolbar{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:8px 12px;
  border-bottom:1px solid #d9dee7;
  background:#fff;
}

.client-secure-pdf-toolbar button{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border:1px solid #d4d9e2;
  border-radius:8px;
  background:#fff;
  color:#202631;
  font-size:20px;
  font-weight:800;
  cursor:pointer;
}

.client-secure-pdf-toolbar button:hover{
  border-color:#8f1522;
  color:#8f1522;
}

.client-secure-pdf-toolbar span{
  min-width:54px;
  color:#475467;
  font-size:13px;
  font-weight:800;
  text-align:center;
}

.client-secure-pdf-pages{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  min-height:65vh;
  padding:22px;
  overflow:auto;
}

.client-secure-pdf-page{
  max-width:100%;
  overflow:auto;
  background:#fff;
  box-shadow:0 2px 12px rgba(16,24,40,.14);
}

.client-secure-pdf-page canvas{
  display:block;
  max-width:none;
  pointer-events:none;
}

.client-xlsx-preview-frame{background:#f4f5f7;height:86vh;min-height:760px;}
.client-document-preview-page:has(.client-xlsx-preview-frame){max-width:none;width:calc(100% - 32px);margin-left:auto;margin-right:auto;}
.client-document-preview-page:has(.client-xlsx-preview-frame) .client-document-preview-shell{min-height:82vh;}
