/*
 * E-JOBA — Registre moderne de l'emploi
 * Direction institutionnelle inspirée des dossiers administratifs imprimés.
 */

:root{
  --ej-bg:#f1ede3;
  --ej-surface:#fffdf7;
  --ej-surface-muted:#f6f2e8;
  --ej-text:#252b27;
  --ej-text-strong:#18251e;
  --ej-text-secondary:#666b65;
  --ej-border:#c9c5b9;
  --ej-input-border:#aaa99f;
  --ej-orange:#985045;
  --ej-coral:#985045;
  --ej-blue:#315c46;
  --ej-success:#315c46;
  --ej-warning:#9a712e;
  --ej-error:#973f3f;
  --ej-gradient:#315c46;
  --ej-radius-sm:1px;
  --ej-radius-md:2px;
  --ej-radius-lg:3px;
  --ej-radius-xl:4px;
  --ej-shadow:none;
  --ink:#252b27;
  --muted:#666b65;
  --green:#315c46;
  --lime:#75866a;
  --cream:#f1ede3;
  --line:#c9c5b9;
  --surface:#fffdf7;
  --soft:#ebe7dc;
  --button-primary:#315c46;
  --button-primary-hover:#254b38;
  --button-primary-active:#1b3e2d;
  --button-neutral:#ece8dd;
  --button-neutral-hover:#e2ddd0;
  --button-disabled:#e5e1d8;
  --button-disabled-text:#99988f;
  --button-radius:2px;
  --button-height:38px;
}

/* Accès CV : une action stable, compacte et clairement distincte de la consultation. */
.cv-dashboard-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:18px;
}
.cv-dashboard-actions .continue,
.cv-dashboard-actions .outline-action{
  width:auto!important;
  min-width:150px!important;
  max-width:220px!important;
  margin:0!important;
}
.cv-dashboard-actions .continue{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:16px;
}
.cv-dashboard-actions .continue span{float:none;margin-left:auto}
@media (max-width:680px){
  .cv-dashboard-actions{align-items:stretch;flex-direction:column-reverse}
  .cv-dashboard-actions .continue,
  .cv-dashboard-actions .outline-action{width:100%!important;max-width:none!important}
}

html,body{background:var(--ej-bg)!important;color:var(--ej-text)!important}
body,button,input,select,textarea{font-family:Arial,"Helvetica Neue",sans-serif!important}
body{font-size:14px!important;line-height:1.5!important}
h1,h2,.official-hero h1,.auth-copy h2,.auth-aside h2,.question-card h2,.complete-card h2,
.verify-card h2,.dashboard-head h2,.profile-detail-head h2,.jobs-hero h1,.blog-hero h1,
.hr-diagnostic-page h1,.cv-builder-head h2,.company-cover h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:700!important;
  letter-spacing:-.018em!important;
}
h1,.official-hero h1,.jobs-hero h1,.blog-hero h1,.hr-diagnostic-page h1{font-size:clamp(30px,3.3vw,46px)!important;line-height:1.08!important}
h2,.question-card h2,.complete-card h2,.dashboard-head h2,.profile-detail-head h2,.auth-copy h2,.auth-aside h2{font-size:clamp(24px,2.3vw,33px)!important;line-height:1.14!important}
h3,.section-title-row h3,.detail-card h3,.main-dashboard-card h3,.side-dashboard-card h3{font-size:18px!important;line-height:1.25!important}
p{line-height:1.58}
small{line-height:1.4}

/* Entête : barre d'application calme et structurée */
.topbar{border-bottom:3px double #315c46!important;background:#fffdf7!important;box-shadow:none!important}
.brand{font-family:Georgia,"Times New Roman",serif!important;font-size:20px!important;font-weight:700!important}
.brand-mark,.journey-logo .brand-mark{border:1px solid #315c46!important;border-radius:2px!important;background-color:#fff!important}
.header-actions{gap:8px!important}
.global-search{height:38px!important;border:1px solid #aaa99f!important;border-radius:2px!important;background:#fffef9!important;box-shadow:none!important}
.global-search:focus-within{border-color:#315c46!important;box-shadow:inset 3px 0 0 #315c46!important}
.global-search input{font-size:13px!important}
.app-nav button,.public-nav button,.jobs-link{font-size:12px!important;font-weight:600!important;color:#4e554f!important}
.app-nav button.active,.jobs-link.active{color:#315c46!important}
.app-nav button.active:after,.jobs-link.active:after{height:3px!important;background:#315c46!important}
.support{font-size:11px!important}.support strong{color:#315c46!important}
.notification-button,.account-button>span,.login-link{border-radius:2px!important}
.account-button>span{background:#315c46!important}.account-button b{font-size:12px!important}
.login-link{font-size:12px!important;border-color:#315c46!important;color:#315c46!important;background:#fffdf7!important}

/* Boutons : compacts, rectangulaires, lisibles */
: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,.hr-primary){
  min-height:38px!important;padding:0 17px!important;border:1px solid #254b38!important;border-radius:2px!important;
  background:#315c46!important;background-image:none!important;color:#fff!important;font-size:13px!important;
  font-weight:700!important;box-shadow:none!important;text-transform:none!important;
}
:where(.continue,.auth-submit,.home-primary,#submit-application,#confirm-payment,#request-contact,#schedule,
.job-search button,.new-campaign,.save-button,.hr-primary):hover:not(:disabled){background:#254b38!important;border-color:#1b3e2d!important}
:where(.secondary-action,.home-secondary,.outline-action,.price-option,.export-button,.cancel-button,
.profile-completion button,.letter-helper,.signature-logo-actions button,.hr-secondary){
  min-height:36px!important;padding:0 15px!important;border:1px solid #8d8d83!important;border-radius:2px!important;
  background:#ece8dd!important;color:#28362d!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important;
}
:where(.compact-apply,.unlock,.invitation-actions button,.recruiter-response-actions button,
.published-offer-list article button,.sent-response button,.campaign-actions button){
  min-height:32px!important;padding:6px 12px!important;border-radius:2px!important;font-size:11px!important;box-shadow:none!important
}
.text-action,.card-link,.back,.hr-text-button{color:#315c46!important;font-size:12px!important;text-decoration:underline!important;text-underline-offset:2px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #315c46!important;outline-offset:2px!important}

/* Formulaires : aspect dossier administratif */
#screen input:not([type="checkbox"]):not([type="radio"]),#screen select,#screen textarea,
.ads-app input:not([type="checkbox"]):not([type="radio"]),.ads-app select,.ads-app textarea{
  min-height:40px!important;border:1px solid #aaa99f!important;border-radius:1px!important;background:#fffef9!important;
  color:#252b27!important;box-shadow:inset 0 1px 0 rgba(49,92,70,.05)!important;font-size:13px!important;
}
#screen textarea,.ads-app textarea{padding:11px 12px!important}
#screen input:focus,#screen select:focus,#screen textarea:focus,.ads-app input:focus,.ads-app select:focus,.ads-app textarea:focus{
  border-color:#315c46!important;box-shadow:inset 4px 0 0 #315c46!important
}
#screen label,.ads-app label{font-size:12px!important;font-weight:700!important;color:#303a33!important}
input[type="checkbox"],input[type="radio"]{accent-color:#315c46!important}
.check-row input[type="checkbox"]{border-radius:0!important}

/* Fiches, panneaux et séparateurs */
:where(.question-card,.complete-card,.verify-card,.payment-card,.interview-card,.response-form,
.profile-completion,.target-banner,.main-dashboard-card,.side-dashboard-card,.candidate-opportunity-section,
.published-offers-panel,.candidate-result,.detail-card,.company-cover,.recruiter-application-card,
.cv-entry-form,.cv-entry-list,.cv-skill-columns>section,.extras-card,.blog-featured,.blog-grid article,
.blog-newsletter,.identity-verification-card,.identity-status-card,.panel,.kpi-card,.form-section){
  border:1px solid #c9c5b9!important;border-radius:2px!important;background:#fffdf7!important;box-shadow:none!important
}
.question-card,.complete-card,.verify-card,.payment-card,.interview-card,.response-form{border-top:4px solid #315c46!important}
.question-eyebrow,.aside-step,.blog-section-title span,.hr-kicker{
  color:#315c46!important;font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase
}
.verified-badge,.count-badge,.match-score,.boost-badge,.identity-private-badge,.identity-check{
  border:1px solid #93a698!important;border-radius:1px!important;background:#edf1ea!important;color:#315c46!important
}

/* Navigation latérale */
.product-sidebar{border-right:1px solid #aaa99f!important;background:#f8f4ea!important}
.side-identity{border-bottom:3px double #c9c5b9!important;background:#fffdf7!important}
.side-identity img,.side-account-avatar{border-radius:2px!important}.side-account-avatar{background:#315c46!important}
.side-identity b{font-size:13px!important}.side-identity span{font-size:11px!important}
.side-promo{border:1px solid #254b38!important;border-radius:2px!important;background:#315c46!important}
.side-promo span{color:#d9e4d9!important;font-size:10px!important}.side-promo h3{font-family:Georgia,"Times New Roman",serif!important;font-size:20px!important}.side-promo p{font-size:11px!important;color:#e4eadf!important}
.product-sidebar nav{gap:0!important;padding:10px 0!important}
.product-sidebar nav button{min-height:42px!important;padding:8px 16px!important;border:0!important;border-bottom:1px solid #ddd8cc!important;border-radius:0!important;color:#3f4a43!important}
.product-sidebar nav button:hover{background:#eee9dd!important;color:#26382e!important}
.product-sidebar nav button.active{background:#dfe6dc!important;color:#234a36!important;box-shadow:inset 5px 0 0 #315c46!important}
.product-sidebar nav b{font-size:12px!important}.product-sidebar nav small{font-size:10px!important}
.product-sidebar nav em{border-radius:1px!important;background:#985045!important}
.side-account-footer{border-top:3px double #c9c5b9!important;background:#f1ede3!important}
.side-signout{border-radius:1px!important;background:#fffdf7!important}
.workspace-content{background:#f1ede3!important}
.workspace-rail{border-left:1px solid #aaa99f!important;background:#ece7dc!important}
.rail-callout{border:1px solid #254b38!important;border-radius:2px!important;background:#315c46!important}
.rail-callout>span{color:#dce9df!important}.rail-callout h3{font-family:Georgia,"Times New Roman",serif!important;font-size:20px!important}
.rail-newsletter{border:1px solid #b5ac99!important;border-radius:2px!important;background:#fff9ed!important}

/* Questionnaire et progression */
.guided-question-page,.question-stage,.dashboard-page,.jobs-page,.auth-page,.identity-verification-page{background:#f1ede3!important}
.journey-brand-rail{border-right:1px solid #aaa99f!important;background:#e9e3d5!important}
.journey-brand-rail>p{font-family:Georgia,"Times New Roman",serif!important;color:#315c46!important}
.journey-stepper::before{background:#9e9c92!important}
.journey-stepper li>span{border-radius:1px!important;border-color:#aaa99f!important;background:#f7f3e9!important}
.journey-stepper li.active>span,.journey-stepper li.done>span{border-color:#315c46!important;background:#315c46!important;color:#fff!important}
.journey-stepper li b{font-size:12px!important}.journey-stepper li small{font-size:10px!important}
.guided-question-page .question-card{border-top-color:#315c46!important}
.options{gap:0!important;border:1px solid #c9c5b9!important}
.option{min-height:44px!important;padding:10px 13px!important;border:0!important;border-bottom:1px solid #d8d3c7!important;border-radius:0!important;background:#fffdf7!important;font-size:13px!important}
.option:last-child{border-bottom:0!important}.option:hover{background:#f3f0e7!important}
.option.selected{background:#e5ebe2!important;color:#254b38!important;box-shadow:inset 5px 0 0 #315c46!important}
.option i{border-radius:0!important;background:#315c46!important}
.journey-summary{border-radius:2px!important;background:#f8f4ea!important}
.journey-summary h3{font-family:Georgia,"Times New Roman",serif!important;font-size:18px!important}
.journey-summary li{border-radius:0!important}.journey-summary li.active{background:#e5ebe2!important}.journey-summary li.active i{background:#315c46!important}
.summary-progress span,.progress-track span,.cv-progress span,.profile-completion em{background:#315c46!important}

/* Tableaux de bord, listes et profils */
.dashboard-head{border-bottom:3px double #8e948c!important}.dashboard-head p{font-size:13px!important}
.target-banner{border-left:5px solid #315c46!important;background:#ebe8dc!important}
.target-banner>span{border-radius:1px!important;background:#315c46!important;color:#fff!important}
.target-banner h3{font-family:Georgia,"Times New Roman",serif!important;font-size:18px!important}.target-banner p{font-size:12px!important}
.section-title-row{border-bottom:1px solid #aaa99f;padding-bottom:8px}
.invitation-list,.candidate-application-list,.published-offer-list,.job-list,.campaign-list{border-color:#aaa99f!important;border-radius:1px!important}
.invitation-card,.candidate-application-status,.published-offer-list article,.job-row,.campaign-card{border-bottom-color:#d5d0c4!important;background:#fffdf7!important}
.invitation-card:hover,.candidate-application-status:hover,.published-offer-list article:hover,.job-row:hover,.campaign-card:hover{background:#f3f0e7!important}
.candidate-result{border-top:4px solid #75866a!important}.candidate-result:hover{border-top-color:#315c46!important;box-shadow:none!important}
.company-logo,.result-avatar,.cv-avatar,.joba-mark{border-radius:2px!important;background:#315c46!important}
.result-tags span,.job-meta span,.job-skills span,.mission-tags span,.acquired-tags span,.interest-tags span,.trait-tags span{border:1px solid #d0ccc0!important;border-radius:1px!important;background:#ece9e0!important}
.result-tags span.matched,.mission-tags span.matched,.matched-tags span.matched{border-color:#a5b5a9!important;background:#e4ebe2!important;color:#315c46!important}
.score-row em{background:#315c46!important}

/* Offres et blog */
.jobs-hero,.blog-hero{border:1px solid #7d857e!important;border-top:5px solid #315c46!important;border-radius:2px!important;background:#fffdf7!important;color:#252b27!important}
.jobs-hero p,.blog-hero p{color:#666b65!important}.jobs-back,.blog-hero .back{color:#315c46!important}
.job-search{border-radius:1px!important;border-color:#8d8d83!important}
.featured-job,.ad-card,.joba-section{border-radius:2px!important;box-shadow:none!important}
.joba-section{border:1px solid #aab4aa!important;background:#e7ece4!important}
.jobs-footer,.official-footer{
  background:#315c46!important;
  color:#fffdf7!important;
  border-top:5px solid #244533!important;
}
.jobs-footer .footer-brand,.official-footer .footer-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:11px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#fffdf7!important;
  box-shadow:none!important;
}
.jobs-footer .footer-brand>span:last-child,.official-footer .footer-brand>span:last-child{
  color:#fffdf7!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:22px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}
.jobs-footer .footer-brand .brand-mark{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  border:1px solid rgba(255,253,247,.35)!important;
  border-radius:3px!important;
  background-color:#202924!important;
  background-image:url("/assets/e-joba-logo.png")!important;
  background-repeat:no-repeat!important;
  background-size:190% 190%!important;
  background-position:center 20%!important;
}
.official-footer .footer-brand img{
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border:1px solid rgba(255,253,247,.35)!important;
  border-radius:3px!important;
  background:#202924!important;
  object-fit:cover!important;
}
.jobs-footer b,.official-footer b{color:#fffdf7!important}
.jobs-footer p,.official-footer p,
.jobs-footer button:not(.footer-brand),.official-footer a,.official-footer div>button:not(.footer-brand),.official-footer div>span{
  color:#e1e4dc!important;
}
.jobs-footer button:not(.footer-brand):hover,.official-footer a:hover,.official-footer div>button:not(.footer-brand):hover{
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.jobs-footer>small,.official-footer>small{
  color:#c7cec5!important;
  border-color:rgba(255,255,255,.24)!important;
}
.blog-filters{border-bottom:1px solid #aaa99f!important}
.blog-filters button{border-radius:1px!important;background:#f8f4ea!important}.blog-filters button.active{border-color:#315c46!important;background:#315c46!important;color:#fff!important}
.blog-card-visual{border-radius:1px!important;background:#75866a!important}

/* Authentification */
.auth-layout{border:1px solid #8f9189!important;border-radius:2px!important;box-shadow:none!important}
.auth-aside{background:#315c46!important}.auth-aside h2{color:#fff!important}.auth-aside li i{border-radius:1px!important;background:#e0e8df!important;color:#315c46!important}
.auth-panel{background:#fffdf7!important}.auth-tabs{border-bottom:1px solid #8f9189!important;background:#f1ede3!important}
.auth-tabs button{border-radius:0!important;font-size:12px!important}.auth-tabs button.active{border-bottom:4px solid #315c46!important;color:#315c46!important;background:#fffdf7!important}
.auth-trust-panel{border-left:1px solid #aaa99f!important;background:#eae5da!important}
.auth-trust-panel:after{display:none!important}.auth-trust-brand img,.auth-trust-visual,.auth-trust-visual>span,.auth-trust-points,.auth-trust-points i{border-radius:2px!important}
.auth-trust-visual{border-color:#b7b2a7!important;background:#fffdf7!important}.auth-trust-visual>span{background:#315c46!important}

/* Diagnostic RH */
.hr-diagnostic-page{background:#f1ede3!important}
.hr-landing-grid,.hr-summary-grid,.hr-appointment-grid,.hr-confirmation-card{border:1px solid #8f9189!important;border-top:5px solid #315c46!important;border-radius:2px!important;box-shadow:none!important;background:#fffdf7!important}
.hr-landing-panel,.hr-summary-grid>aside,.hr-appointment-copy{background:#315c46!important}
.hr-offer-benefits,.hr-landing-panel ol,.hr-theme-list,.hr-appointment-ticket{border-radius:1px!important}
.hr-offer-benefits article,.hr-theme-list article,.hr-appointment-ticket>span{background:#fffdf7!important}
.hr-section-nav button{font-size:11px!important}.hr-section-nav i{border-radius:1px!important}
.hr-section-nav button.active i{background:#315c46!important;border-color:#315c46!important}
.hr-progress i{background:#315c46!important}
.hr-section-card{border:1px solid #8f9189!important;border-top:5px solid #315c46!important;border-radius:2px!important;background:#fffdf7!important;box-shadow:none!important}
.hr-section-copy>span{color:#315c46!important;font-size:11px!important}.hr-section-copy p{font-size:13px!important}
.hr-field>span,.hr-choice-group legend{font-size:12px!important}.hr-choice-grid{gap:0!important;border:1px solid #c9c5b9!important}
.hr-choice{min-height:42px!important;border:0!important;border-bottom:1px solid #d5d0c4!important;border-radius:0!important;background:#fffdf7!important;font-size:12px!important}
.hr-choice:nth-last-child(-n+2){border-bottom:0!important}.hr-choice.selected{background:#e4ebe2!important;color:#315c46!important}
.hr-choice i{border-radius:0!important}.hr-choice.selected i{background:#315c46!important;border-color:#315c46!important}
.hr-confirmation-icon{border-radius:1px!important;background:#e4ebe2!important;color:#315c46!important}

/* Administration publicitaire */
.ads-app{background:#f1ede3!important}.ads-sidebar{background:#315c46!important}.ads-sidebar nav button{border-radius:0!important}
.ads-sidebar nav button.active{background:#244c37!important;box-shadow:inset 5px 0 0 #d8d0b8!important}
.sidebar-note{border-left-color:#d8d0b8!important;background:#244c37!important}
.ads-main{background:#f1ede3!important}.ads-topbar{border-bottom:3px double #8f9189!important}
.kpi-card{border-top:4px solid #75866a!important}.kpi-card.accent{border-top-color:#315c46!important}
.campaign-form{background:#f1ede3!important}

/* Barreaux et formes inutiles supprimés */
.context-ad,.identity-assurance,.identity-privacy-panel,.identity-visibility-note{border-radius:2px!important;box-shadow:none!important}
.context-ad{border:1px solid #aaa99f!important;background:#fffdf7!important}
.pagination button{border-radius:1px!important}.pagination button.active{background:#315c46!important;border-color:#315c46!important}

@media(max-width:1020px){
  body{font-size:13px!important}
  .product-sidebar nav button{border-bottom:0!important}
}
@media(max-width:720px){
  h1,.official-hero h1,.jobs-hero h1,.blog-hero h1,.hr-diagnostic-page h1{font-size:30px!important}
  h2,.question-card h2,.complete-card h2,.dashboard-head h2,.profile-detail-head h2,.auth-copy h2,.auth-aside h2{font-size:24px!important}
  .product-sidebar{border:1px solid #8f9189!important;border-radius:2px!important;background:#fffdf7!important;box-shadow:none!important}
  .product-sidebar nav button{border-right:1px solid #ddd8cc!important}
  .product-sidebar nav button:last-child{border-right:0!important}
  :where(.continue,.auth-submit,.home-primary,.home-secondary,.secondary-action,.outline-action,.hr-primary,.hr-secondary){font-size:12px!important}
}

@media print{
  body{background:#fff!important;color:#000!important}
  .generated-cv{font-family:Arial,sans-serif!important}
}

/* Vérification e-mail : hiérarchie et actions compactes */
.verify-card{
  width:min(100%,840px)!important;
  margin-inline:auto!important;
  padding:42px clamp(28px,5vw,64px)!important;
}
.verify-card #verify-form{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.verify-card #verify-form .continue{
  width:auto!important;
  min-width:230px!important;
  max-width:100%!important;
  min-height:40px!important;
  margin:22px auto 0!important;
  padding:9px 20px!important;
}
.verify-card #verify-form .continue span{
  float:none!important;
  margin-left:18px!important;
}
.verify-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}
.verify-actions .secondary-action,
.verify-actions .text-action{
  width:auto!important;
  min-height:36px!important;
  margin:0!important;
  padding:8px 14px!important;
}
@media(max-width:580px){
  .verify-card{padding:30px 18px!important}
  .verify-card #verify-form .continue{width:100%!important;min-width:0!important}
  .verify-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px}
  .verify-actions .secondary-action,.verify-actions .text-action{width:100%!important}
}
/* Supabase authentication feedback */
.auth-feedback {
  min-height: 1.25rem;
  margin: .65rem 0 0;
  color: #315c46;
  font-size: .82rem;
  line-height: 1.45;
}

.auth-feedback.error {
  color: #a83b31;
}

.email-verification-note {
  display: grid;
  gap: .25rem;
  max-width: 38rem;
  margin: 1.25rem auto;
  padding: 1rem 1.1rem;
  border: 1px solid #d7ddcf;
  background: #f5f6ef;
  color: #46524a;
  text-align: left;
}

.email-verification-note b {
  color: #172a21;
}
