/* Finition d'interface : navigation aérée et actions proportionnées. */

@media (min-width:1021px){
  .topbar{
    display:grid!important;
    grid-template-columns:minmax(210px,var(--workspace-side,270px)) minmax(0,1fr)!important;
    column-gap:clamp(22px,2.4vw,42px)!important;
    height:80px!important;
    padding:0 clamp(22px,2vw,34px)!important;
  }
  .topbar>.brand{
    min-width:0!important;
    justify-self:start;
  }
  .header-actions{
    min-width:0;
    gap:clamp(10px,1vw,18px)!important;
    justify-content:flex-end;
  }
  .global-search{
    order:-1;
    flex:1 1 300px!important;
    width:auto!important;
    min-width:190px;
    max-width:410px!important;
  }
  .app-nav,.public-nav{flex:0 0 auto}
  .app-nav button,.public-nav button,.jobs-link{padding-inline:9px!important}
  .account-button b{max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@media (min-width:1021px) and (max-width:1520px){
  .support{display:none!important}
}

@media (min-width:1021px) and (max-width:1370px){
  #nav-blog{display:none!important}
  .topbar{column-gap:16px!important}
}

@media (min-width:1021px) and (max-width:1220px){
  #nav-activity{display:none!important}
  .global-search{min-width:150px}
}

/* Les boutons principaux restent francs, sans occuper plus de place que le contenu. */
:root{
  --button-height:42px;
  --button-radius:10px;
}

:where(.continue,.auth-submit,.home-primary,#submit-application,#confirm-payment,
#request-contact,#schedule,.job-search button,.new-campaign,.save-button,
.rail-callout button,.rail-newsletter button,.target-banner button,
.blog-newsletter button,.article-copy>button){
  min-height:42px!important;
  padding-inline:18px!important;
  border-radius:10px!important;
  font-size:10.5px!important;
  letter-spacing:0!important;
}

/* Les actions contenues dans une carte ou une ligne ne ressemblent plus à de gros CTA. */
:where(.compact-apply,.unlock,.profile-completion button,
.invitation-actions button,.recruiter-response-actions button,
.published-offer-list article button,.sent-response button,.letter-helper,
.signature-logo-actions button,.campaign-actions button){
  min-height:34px!important;
  height:auto!important;
  padding:8px 12px!important;
  border-radius:9px!important;
  font-size:9px!important;
  line-height:1.15!important;
}

:where(.secondary-action,.home-secondary,.outline-action,.price-option,.export-button,.cancel-button){
  min-height:38px!important;
  padding-inline:15px!important;
  border-radius:9px!important;
  font-size:10px!important;
}

.target-banner button{min-width:max-content}
.job-search button{min-width:112px}

/* Garde-fou pour les anciens écrans conservés en mémoire par le navigateur. */
.dashboard-kpis,.job-board-stats,.recruiter-metrics{display:none!important}

/* La fin du questionnaire précède le tableau de bord : aucune barre latérale ici. */
.onboarding-complete{
  min-height:calc(100vh - 80px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:32px clamp(18px,4vw,64px)!important;
}
.onboarding-complete>.complete-card{
  width:min(100%,680px)!important;
  max-width:680px!important;
  margin:0 auto!important;
  padding:42px 48px!important;
  border-radius:18px!important;
}
.completion-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:24px;
}
.completion-actions .continue,
.completion-actions .secondary-action{
  width:auto!important;
  min-width:190px;
  margin:0!important;
}
.completion-actions .continue{min-width:250px}

@media(max-width:720px){
  .onboarding-complete{min-height:calc(100vh - 60px)!important;padding:18px 12px!important}
  .onboarding-complete>.complete-card{padding:28px 20px!important}
  .completion-actions{flex-direction:column}
  .completion-actions .continue,.completion-actions .secondary-action{width:100%!important;min-width:0}
}

@media (max-width:720px){
  :root{--button-height:40px}
  :where(.continue,.auth-submit,.home-primary,.home-secondary,.secondary-action,.outline-action){
    font-size:10px!important;
  }
}
